baptiste.afsa@arm.com
573ca15f48
[turbofan] Add support for shifted and rotated operands on ARM64.
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/642923003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24591 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-14 09:28:53 +00:00
dcarney@chromium.org
c469dcbc61
build fix
...
TBR=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/652163002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24590 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-14 09:22:21 +00:00
machenbach@chromium.org
4158c7b76a
Switch chromium roll script to git.
...
BUG=chromium:418923,chromium:410721
LOG=n
TEST=script_test.py
TBR=tandrii@chromium.org
Review URL: https://codereview.chromium.org/657483002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24589 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-14 09:00:16 +00:00
sigurds@chromium.org
b0596e9e44
Add control input to LoadField.
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/649183003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24588 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-14 08:59:27 +00:00
dcarney@chromium.org
75d15894f6
[turbofan] remove some of the dependency of Instruction on Schedule
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/646393002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24584 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-14 08:51:22 +00:00
jarin@chromium.org
173b07faa9
[turbofan] Output schedule, instructions and register allocator in C1 visualizer format when --turbo-trace is specified.
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/637313002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24583 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-14 08:43:33 +00:00
jarin@chromium.org
d75f736c11
[turbofan] Use register for instruction operands when SameAsFirst is specified.
...
As the register allocator cannot reuse spill slots, SameAsFirst
constraint means that we would have to do an expensive move to a
differen spill slot if we choose to spill. Forcing the operand
to a register is cheaper.
In zlib, we get >10% speed-up for ia32, >25% for x64.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/650083003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24580 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-14 08:34:20 +00:00
hpayer@chromium.org
2c18a51c72
Increase final idle time in idle notifcation of test test-api/Regress2107.
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/653863002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24579 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-14 08:10:41 +00:00
bmeurer@chromium.org
8a00950303
[arm] Drop SMMLS support.
...
Apparently
SMMLS r, b, c, a
computes
r = ((a << 32) - b * c) >> 32
while the documentation is kinda misleading and states that it should
compute
r = a - ((b * c) >> 32)
The actual behavior is kinda useless, so we drop the instruction again.
TEST=cctest,unittests
TBR=dcarney@chromium.org
Review URL: https://codereview.chromium.org/654653004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24577 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-14 07:47:27 +00:00
bmeurer@chromium.org
8950e0a3de
[arm] Add support for SMMLA, SMMLS and SMMUL.
...
TEST=cctest,unittests
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/648283002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24575 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-14 05:03:04 +00:00
bmeurer@chromium.org
b472d9a045
MIPS: Add OWNERS file for compiler unittests.
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/648413003
Patch from Paul Lind <paul.lind@imgtec.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24574 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-14 03:55:43 +00:00
bmeurer@chromium.org
a433541a65
Fix non-TF targets after r24546.
...
Fix mips64 and x87 builds.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/644463005
Patch from Paul Lind <paul.lind@imgtec.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24573 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-14 03:46:37 +00:00
weiliang.lin@intel.com
c704369eab
X87: Support for super assignments in for..in.
...
port r24560.
original commit message:
Support for super assignments in for..in.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/653823002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24572 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-14 02:55:29 +00:00
paul.lind@imgtec.com
d9cda16c6a
MIPS: [turbofan] Make VisitBranch and friends to backend specific.
...
Port r24546 (c3443cd)
Original commit message:
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
BUG=
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/644973003
Patch from Balazs Kilvady <balazs.kilvady@imgtec.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24571 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 23:31:59 +00:00
balazs.kilvady@imgtec.com
55f77c28ac
MIPS: Support for super assignments in for..in.
...
Port r24560 (ef1070b)
BUG=v8:3330
LOG=N
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/641803003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24570 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 19:28:25 +00:00
hpayer@chromium.org
c7149e50a3
Fix IdleNotificationFinishMarking test on slow devices.
...
BUG=
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/641533004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24569 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 18:54:20 +00:00
mstarzinger@chromium.org
25dbc2476c
Switch schedule early phase to basic blocks.
...
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/649203002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24568 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 16:32:12 +00:00
hpayer@chromium.org
d1e693a43a
Check if there is still time before finalizing an incremental collection.
...
BUG=
R=erik.corry@gmail.com , ulan@chromium.org
Review URL: https://codereview.chromium.org/629903003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24567 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 16:27:55 +00:00
sigurds@chromium.org
aa67d12f09
Revert "Fix scheduler to correctly schedule nested diamonds."
...
This reverts commit 0ab306041a6eba99fe5e2ef78251de137321f559.
"Fix" make scheduler run out of memory.
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/656473002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24566 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 16:08:29 +00:00
rmcilroy@chromium.org
08941c0140
Refactor FrameAndConstantPoolScope and ConstantPoolUnavailableScope to be architecture independent
...
Move the FrameAndConstantPoolScope and ConstantPoolUnavailableScope out of the arm architecture directory to enable them to be used on all architectures.
R=rmcilroy@chromium.org
Review URL: https://codereview.chromium.org/609843002
Patch from André Baixo <baixo@google.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24565 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 14:41:33 +00:00
dusan.milosavljevic@imgtec.com
403dc88519
MIPS: Unbreak gn build, missing source files for MIPS tf.
...
TEST=
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/654583002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24564 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 14:18:10 +00:00
sigurds@chromium.org
0f5949d605
Fix scheduler to correctly schedule nested diamonds.
...
The scheduler rewires control based on the last *control*
node that appears in the schedule of a block. This is not
sufficient to account for dependencies.
This patch adds additional dependencies to floating control
nodes. Given a floating control node A, every non-control
dependency of every node B that depends on A is introduces
as an additional dependency of A.
This allows the scheduler to correctly schedule two
diamonds A, B, if their only correct schedule is to
schedule B into the ifTrue successor in A.
TEST=cctest/test-scheduler/NestedFloatingDiamonds
R=mstarzinger@chromium.org , titzer@chromium.org
Review URL: https://codereview.chromium.org/602083003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24561 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 13:07:49 +00:00
dslomov@chromium.org
952690a148
Support for super assignments in for..in.
...
R=ishell@chromium.org , arv@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/639243003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 12:46:46 +00:00
machenbach@chromium.org
791a3c4309
Make releases script ready for the new git workflow.
...
BUG=chromium:410721
LOG=n
TEST=script_test.py
TBR=tandrii@chromium.org
Review URL: https://codereview.chromium.org/646383002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24558 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 12:34:53 +00:00
mstarzinger@chromium.org
6d6d727cd4
Mark some test262 cases as known failures after r24495.
...
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/650863002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24555 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 11:11:15 +00:00
bmeurer@chromium.org
5c1f7b5aa1
[turbofan] Optimize Int32Mod by power-of-two.
...
TEST=mjsunit/asm/int32-tmod,unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/649083005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24554 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 11:09:32 +00:00
neis@chromium.org
a2f4963abd
Revert "Refine expression typing, esp. by propagating range information."
...
This reverts commit 24552.
TBR=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/648163002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24553 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 10:48:01 +00:00
neis@chromium.org
5a0ff8e656
Refine expression typing, esp. by propagating range information.
...
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/618803003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24552 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 10:40:29 +00:00
dslomov@chromium.org
c0504eeffd
Fix typedarray tests.
...
1. Fixed typo. lenght -> length. Arbitary -> Arbitrary.
2. TypedArray DataView property getters should throw TypeError when called on
incompatible types.
3. Should not use integers as keys in the arbitrary-properties test.
R=dslomov@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/652603002
Patch from Xueqiao Xu <xuq@google.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24551 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 09:48:50 +00:00
rmcilroy@chromium.org
03f4956744
v8_external_snapshot target visible only when using v8_use_external_startup_data
...
Prevent snapshot_blob.bin from being unnecessarily generated when building all targets.
When such file exists, chrome_tests assumes we will load V8's initial snapshot from
external files, even when such feature is turned off, which prevents the tests from
being successfully compiled.
BUG=421063
LOG=N
R=rmcilroy@chromium.org
Review URL: https://codereview.chromium.org/643163002
Patch from André Baixo <baixo@google.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24550 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 09:36:12 +00:00
bmeurer@chromium.org
3dae2a0d3f
Run benchmarks tests with --turbo-asm flag.
...
R=machenbach@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/646373002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24549 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 09:30:27 +00:00
bmeurer@chromium.org
4a5055174b
[turbofan] Embed the actual backing store address for typed loads/stores.
...
TEST=unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/650843002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24548 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 09:17:33 +00:00
marja@chromium.org
363ac55a5d
Script streaming: UTF-8 handling fix.
...
The problem was that there can be several multi-byte UTF-8 characters near the
splitting point of the data chunks, and the code didn't handle it properly.
This was also the source of crbug.com/417891 - I thought the crash can only
happen when V8 is passed invalid UTF-8 data, but it can also happen in the
abovementioned case. After the fix, we handle the valid UTF-8 case and also
guard against invalid UTF-8 data.
R=yangguo@chromium.org
BUG=chromium:417891
LOG=N
Review URL: https://codereview.chromium.org/654503002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 09:01:54 +00:00
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