Commit Graph

19248 Commits

Author SHA1 Message Date
mvstanton@chromium.org
8f983e7672 Bogus assert caused turbofan failure.
TBR=ishell@chromium.org

Review URL: https://codereview.chromium.org/643913002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24527 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 13:09:41 +00:00
mstarzinger@chromium.org
2d29390448 Improve comments and readability of scheduler.
R=jarin@chromium.org

Review URL: https://codereview.chromium.org/642803003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24526 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 11:57:55 +00:00
mstarzinger@chromium.org
6490b9a656 Remove fixpoint workaround from schedule early phase.
R=jarin@chromium.org

Review URL: https://codereview.chromium.org/646613002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24525 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 11:49:53 +00:00
svenpanne@chromium.org
b17d131779 AST nodes have at most one bailout/typefeedback ID now, saving lots of memory.
This is basically https://codereview.chromium.org/569573002/ done right:

During construction, each node type tells its parent how many IDs it
needs in addition to the parent's ones. This is done all the way up in
the class hierarchy until a node's parent doesn't need any ID. At that
point we know how many IDs in summary are needed, and we reserve the
whole range at once, saving only the base ID of that range. All IDs
are now calculated via simple offsets to that base ID. To all
performaniacs: The C++ compiler simplifies the constant calculation to
a simple load and the addition of a single constant.

Note that the actual code is much simpler than all that prose above. :-)
It's basically how compilers for OO languages figure out vtable entries.

We still have lots of holes due to padding in the AST nodes, but this
will be addressed in a separate CL.

BUG=chromium:417697
LOG=y
R=mvstanton@chromium.org

Review URL: https://codereview.chromium.org/643633003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24524 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 10:52:31 +00:00
yangguo@chromium.org
6ca8f782aa Reset code age when serializing code objects.
R=mvstanton@chromium.org

Review URL: https://codereview.chromium.org/642283002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24523 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 10:51:34 +00:00
dslomov@chromium.org
c9049c0325 Keyed loads from super with numeric keys.
R=ishell@chromium.org, arv@chromium.org
BUG=v8:3330
LOG=N

Review URL: https://codereview.chromium.org/638193004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24522 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 10:40:29 +00:00
ulan@chromium.org
1adc1565b2 Set output representation of HIsStringAndBranch to tagged.
BUG=chromium:421877
LOG=N
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/641313003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24521 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 10:35:30 +00:00
bmeurer@chromium.org
059e4c206e [turbofan] Optimize Uint32LessThan with Word32Sar.
TEST=unittests
R=jarin@chromium.org

Review URL: https://codereview.chromium.org/648663002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24520 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 10:23:04 +00:00
mvstanton@chromium.org
52575220d4 Teach TurboFan to call vector-based ICs.
Additional static information needs to be passed to Load and KeyedLoad calls if
--vector-ics is turned on.

R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/633423002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24519 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 09:49:43 +00:00
akos.palfi@imgtec.com
b9cc56dd34 MIPS: Fix for r24501.
BUG=
R=akos.palfi@imgtec.com

Review URL: https://codereview.chromium.org/646863003

Patch from Paul Lind <paul.lind@imgtec.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24516 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 09:06:55 +00:00
yangguo@chromium.org
8b70ca75aa Update .gitignore with test/test262-es6/data.
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/646933002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24515 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 08:48:39 +00:00
bmeurer@chromium.org
cb37b6c54e [turbofan] Fix typed lowering of typed array loads/stores.
R=jarin@chromium.org

Review URL: https://codereview.chromium.org/646483003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24514 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 08:10:29 +00:00
yangguo@chromium.org
889d1e540c Conform to the unittest naming convention.
R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/644973002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24513 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 08:06:21 +00:00
jochen@chromium.org
5a4578ccde Fix typo in Mac GetCurrentThreadId
BUG=none
TBR=svenpanne@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/642223003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24512 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 07:27:33 +00:00
jochen@chromium.org
3c7e440391 Sync OS::GetCurrentThreadId with chromium's/blink's implementation
Compare third_party/WebKit/Source/wtf/ThreadingPthreads.cpp

BUG=v8:3620
R=svenpanne@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/649553002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24511 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 07:22:57 +00:00
yangguo@chromium.org
0dd69ec439 Allow identifier code points from supplementary multilingual planes.
ES5.1 section 6 ("Source Text"):
"Throughout the rest of this document, the phrase “code unit” and the
word “character” will be used to refer to a 16-bit unsigned value
used to represent a single 16-bit unit of text."

This changed in ES6 draft section 10.1 ("Source Text"):
"The ECMAScript code is expressed using Unicode, version 5.1 or later.
ECMAScript source text is a sequence of code points. All Unicode code
point values from U+0000 to U+10FFFF, including surrogate code points,
may occur in source text where permitted by the ECMAScript grammars."

This patch is to reflect this spec change.

BUG=v8:3617
LOG=Y
R=jochen@chromium.org

Review URL: https://codereview.chromium.org/640193002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24510 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 07:13:46 +00:00
machenbach@chromium.org
bb117b4dde Make benchmark runner understand chromium perf output.
BUG=406405
LOG=n
TEST=python -m unittest run_benchmarks_test
R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/498163002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24509 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 07:12:38 +00:00
weiliang.lin@intel.com
c493ac26be X87: Fix uninitialized FixedArray potentially being left behind by ElementsTransitionGenerator::Generate.
port r24498.

original commit message:
  Fix uninitialized FixedArray potentially being left behind by ElementsTransitionGenerator::Generate.

BUG=
R=weiliang.lin@intel.com

Review URL: https://codereview.chromium.org/643793002

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24508 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 06:04:31 +00:00
weiliang.lin@intel.com
35ab21900c X87: Keyed stores to super where key is a name.
port r24490.

original commit message:
   Keyed stores to super where key is a name.

BUG=
R=weiliang.lin@intel.com

Review URL: https://codereview.chromium.org/649533002

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24507 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 05:44:13 +00:00
weiliang.lin@intel.com
e0e844b490 X87: Add MEGAMORPHIC state support for KeyedStoreIC
port r24500.

original commit message:

  Add MEGAMORPHIC state support for KeyedStoreIC

BUG=
R=weiliang.lin@intel.com

Review URL: https://codereview.chromium.org/642843004

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24506 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 05:40:44 +00:00
balazs.kilvady@imgtec.com
980cc41238 MIPS: Add MEGAMORPHIC state support for KeyedStoreIC.
Port r24500 (e10f342)

BUG=
R=paul.lind@imgtec.com

Review URL: https://codereview.chromium.org/645593006

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24503 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 18:09:14 +00:00
balazs.kilvady@imgtec.com
d6013e940c MIPS: Fix uninitialized FixedArray potentially being left behind by ElementsTransitionGenerator::GenerateDoubleToObject.
Port r24498 (eeef8c0)

BUG=chromium:421843
LOG=n
R=paul.lind@imgtec.com

Review URL: https://codereview.chromium.org/645633002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24502 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 17:06:17 +00:00
balazs.kilvady@imgtec.com
69cc49ce46 MIPS: Keyed stores to super where key is a name.
Port r24490 (839f44c)

BUG=v:3330
LOG=N
R=paul.lind@imgtec.com

Review URL: https://codereview.chromium.org/641093002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 15:33:10 +00:00
jkummerow@chromium.org
01206ad5bd Add MEGAMORPHIC state support for KeyedStoreIC
R=mvstanton@chromium.org

Review URL: https://codereview.chromium.org/584043002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24500 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 14:30:44 +00:00
ulan@chromium.org
29296d7e50 Fix computation of UTC time from local time at DST change points.
This also reverts r23606, which was an incorrect fix.

BUG=v8:3116,chromium:417640,chromium:415424
LOG=Y
TEST=mjsunit/regress/regress-3116.js
R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/639383002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24499 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 14:17:33 +00:00
jkummerow@chromium.org
e604df037c Fix uninitialized FixedArray potentially being left behind by ElementsTransitionGenerator::GenerateDoubleToObject
BUG=chromium:421843
LOG=n
R=ishell@chromium.org

Review URL: https://codereview.chromium.org/636313003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24498 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 14:12:05 +00:00
mstarzinger@chromium.org
2514113887 Remove deprecated verification for context separation.
R=hpayer@chromium.org

Review URL: https://codereview.chromium.org/636173002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24497 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 14:01:59 +00:00
machenbach@chromium.org
8e54052b10 Remove perf tests that are moved to another location.
TBR=dslomov@chromium.org, bmeurer@chromium.org

Review URL: https://codereview.chromium.org/645583002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24496 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 13:25:42 +00:00
dslomov@chromium.org
2fd8a7f6b8 Convert obj ToObject in Object.keys()
BUG=v8:3587
LOG=Y
R=arv@chromium.org, dslomov@chromium.org

Review URL: https://codereview.chromium.org/585373003

Patch from Caitlin Potter <caitpotter88@gmail.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24495 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 13:19:02 +00:00
bmeurer@chromium.org
2cdb96d7bf [ia32] Use more efficient encoding when loading integer constants.
R=titzer@chromium.org

Review URL: https://codereview.chromium.org/642053002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24494 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 12:50:13 +00:00
machenbach@chromium.org
75f665d203 Move js perf test to another directory.
TBR=dslomov@chromium.org, bmeurer@chromium.org

Review URL: https://codereview.chromium.org/641033003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 12:41:36 +00:00
bmeurer@chromium.org
c95ba9bd04 [turbofan] Eliminate redundant masking operations for word8/word16 stores.
There's no need to apply 0xff when storing 8-bit values or 0xffff when
storing 16-bit values.

TEST=unittests
R=titzer@chromium.org

Review URL: https://codereview.chromium.org/642033002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24492 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 12:20:45 +00:00
bmeurer@chromium.org
52ec8a702f [ia32] Fix for no SSE4.1.
TBR=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/645553002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24491 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 12:16:27 +00:00
dslomov@chromium.org
53c9f0bb3d Keyed stores to super where key is a name.
R=arv@chromium.org, ishell@chromium.org
BUG=v:3330
LOG=N

Review URL: https://codereview.chromium.org/638623002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 11:36:22 +00:00
rmcilroy@chromium.org
61b68155c3 Remove default NOP implementation of MonotonicallyIncreasingTime.
BUG=417668
LOG=N
R=jochen@chromium.org

Review URL: https://codereview.chromium.org/641653002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24489 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 10:44:30 +00:00
dslomov@chromium.org
49e5b0d60c Simplify Scope and ScopePtr conversions.
R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/643603002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 10:40:18 +00:00
jochen@chromium.org
1369a8367a Add link to tsan bug to suppression
TBR=machenbach@chromium.org
LOG=n
BUG=none

Review URL: https://codereview.chromium.org/646493002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24487 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 09:51:21 +00:00
dusan.milosavljevic@imgtec.com
3758fceca9 MIPS: Improve runtime detection and compatibility wrt arch. revisions.
TEST=
BUG=
R=jkummerow@chromium.org, paul.lind@imgtec.com

Review URL: https://codereview.chromium.org/618193005

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24486 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 09:39:23 +00:00
bmeurer@chromium.org
d143beb658 [ia32] Better code generation for materialization of float/double constants.
TEST=cctest,mjsunit
R=mstarzinger@chromium.org, jarin@chromium.org

Review URL: https://codereview.chromium.org/645493002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24485 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 09:32:59 +00:00
jochen@chromium.org
d50ba88bfd Introduce a tsan suppressions file
Also suppress a deliberate lock cycle in test-lockers

BUG=none
R=glider@chromium.org, machenbach@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/642023002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24484 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 09:32:04 +00:00
jochen@chromium.org
c5ee3ae511 Store local copies of flags needed on the background thread
BUG=none
R=yangguo@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/639353002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24483 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 09:21:46 +00:00
bmeurer@chromium.org
f0452e2193 [turbofan] Add support for ARM64 Ubfx
Support selecting Ubfx for shift-mask and mask-shift operations. Also, rename
the shifts to match the instruction names.

BUG=
R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/633123002

Patch from Martyn Capewell <m.m.capewell@googlemail.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 09:18:31 +00:00
svenpanne@chromium.org
b09998f13c Simplify AST ID generation.
Every CompilationInfo has an ID generator now, and it is never
reset/copied/assigned. Simplified FunctionState.

R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/633373003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 08:16:13 +00:00
jochen@chromium.org
0fae280e4a Make Profiler::running_ atomic.
It's used from multiple threads

BUG=none
R=yangguo@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/640773002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24480 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 07:51:35 +00:00
weiliang.lin@intel.com
c09abc87ab X87: Updates to maintain flag --vector-ics
port r24548.

original commit message:

   Updates to maintain flag --vector-ics

BUG=
R=weiliang.lin@intel.com

Review URL: https://codereview.chromium.org/642603004

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24479 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 07:05:20 +00:00
bmeurer@chromium.org
0ed74a6e26 Fix tools/run-llprof.sh to work with newer perf.
R=jarin@chromium.org

Review URL: https://codereview.chromium.org/641973002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 06:01:41 +00:00
akos.palfi@imgtec.com
d39fc16a4b MIPS64: Fix TruncatingDiv.
- Fix the Macroassembler::TruncatingDiv to compute
  the correct result even when the magic number is negative.
- Fix the MULT instruction in the simulator.

TEST=mjsunit/compiler/division-by-constant
BUG=
R=dusan.milosavljevic@imgtec.com

Review URL: https://codereview.chromium.org/637273002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24475 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-08 16:15:28 +00:00
titzer@chromium.org
c605a8c1da Smarter representation selection for phis.
R=jarin@chromium.org
BUG=

Review URL: https://codereview.chromium.org/641713002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24474 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-08 16:01:18 +00:00
yangguo@chromium.org
8659e50723 Update unicode to 7.0.0.
And do not use code points with PATTERN_* property for identifier start.
Maintain that \u180E is a white space character.

BUG=v8:2892
LOG=Y
R=dpino@igalia.com, mathias@qiwi.be

Review URL: https://codereview.chromium.org/638643002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24473 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-08 14:55:03 +00:00
arv@chromium.org
c8b1c3e784 Classes: Add support for toString
BUG=v8:3330
LOG=Y
R=dslomov@chromium.org

Review URL: https://codereview.chromium.org/624013005

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-08 14:48:48 +00:00