bmeurer@chromium.org
f60bc89083
[turbofan] Make VisitBranch and friends to backend specific.
...
This is required to fix a tricky branch fusion bug on ARM, which was
caused by the interaction between the architecture-independent and
architecture-specific parts of the InstructionSelector. In the end it
wasn't worth sharing a few common lines of code for the additional
complexity, especially if we also want to properly support architectures
without any dedicated flags register (i.e. MIPS).
TEST=mjsunit,unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/651783003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24546 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 08:15:03 +00:00
dcarney@chromium.org
657052e87f
[turbofan] remove graph from InstructionSequence
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/652643002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24545 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 08:09:27 +00:00
yangguo@chromium.org
f92dc9a1fd
Fix build failure.
...
TBR=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/650823002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24544 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 07:57:40 +00:00
yangguo@chromium.org
33dc53f9cc
Always include full reloc info to stubs for serialization.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/641643006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24543 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 07:50:21 +00:00
dcarney@chromium.org
907ad65dce
[turbofan]IA: ChangeFloat32ToFloat64 supports mem operand
...
BUG=
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/641153003
Patch from Jing Bao <jing.bao@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24542 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 07:42:35 +00:00
dcarney@chromium.org
3396c2badd
[turbofan] IA: TruncateFloat64ToFloat32 supports mem operand
...
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/639283003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24541 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 07:12:57 +00:00
weiliang.lin@intel.com
52e156a866
X87: Introduce FeedbackVectorSlot type - better than int.
...
port r24528.
original commit message:
Introduce FeedbackVectorSlot type - better than int.
It's good to have typing around this value.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/645323002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24540 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 01:54:44 +00:00
weiliang.lin@intel.com
ed5f2f814c
X87: Teach TurboFan to call vector-based ICs.
...
port r24519.
original commit message:
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
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/645273002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24537 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-11 06:00:44 +00:00
dusan.milosavljevic@imgtec.com
8e092181ae
MIPS: Fix loading Float64 constants in turbofan.
...
TEST=ctest/test-run-machops/RunFloat64SubImm1,
RunFloat64SubImm2, RunFloat64MulImm, RunFloat64Compare
BUG=
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/646923003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24536 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 18:00:58 +00:00
adamk@chromium.org
9595c6104e
Add test case for SparseJoin misbehavior with getters
...
BUG=v8:3621
LOG=N
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/645703003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24535 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 17:17:00 +00:00
balazs.kilvady@imgtec.com
f7afce6aea
MIPS: Introduce FeedbackVectorSlot type - better than int.
...
Port r24528 (f7b7e5a)
Original commit message:
It's good to have typing around this value.
BUG=
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/644583004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24534 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 16:17:10 +00:00
yangguo@chromium.org
ba6e17c494
Split off remaining runtime functions in runtime.cc.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/638423003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24533 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 14:59:53 +00:00
balazs.kilvady@imgtec.com
396008387b
MIPS: Teach TurboFan to call vector-based ICs.
...
Port r24519 (842debf)
Original commit message:
Additional static information needs to be passed to Load and KeyedLoad calls if
--vector-ics is turned on.
BUG=
R=dusan.milosavljevic@imgtec.com
Review URL: https://codereview.chromium.org/645883002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24532 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 13:56:34 +00:00
mstarzinger@chromium.org
a56c3ce06c
Use phase-local zone in the graph builder.
...
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/640423005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 13:40:08 +00:00
ishell@chromium.org
3647fe8016
Disable webkit/array-iterate-backwards test in --gc-stress mode for turbofan
...
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/647743002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24530 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 13:36:54 +00:00
jkummerow@chromium.org
ed585c083c
Fix type feedback for name-keyed stores
...
BUG=chromium:422212
LOG=n
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/648703002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24529 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 13:27:52 +00:00
mvstanton@chromium.org
d04617b2db
Introduce FeedbackVectorSlot type - better than int.
...
It's good to have typing around this value.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/641373002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24528 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 13:22:10 +00:00
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