titzer@chromium.org
849a226d38
Move some methods from OperatorProperties into Scheduler that are only related to scheduling. Now these methods take a Node* parameter, as decisions relating floating control need distinguish not just operators but nodes.
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/474983003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23160 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 13:09:06 +00:00
dslomov@chromium.org
65ae6e92ab
Parse 'super' keyword.
...
BUG=v8:3330
LOG=N
R=arv@chromium.org , marja@chromium.org
Review URL: https://codereview.chromium.org/480543002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23157 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 12:35:34 +00:00
bmeurer@chromium.org
d9fe1e71c3
[turbofan] Add new ControlEffect and Finish operators.
...
Fix the ChangeLowering to properly use ControlEffect nodes
to turn the control output of IfTrue nodes into an effect
input for the Load nodes, and to properly use Finish nodes
to ensure that allocation and store were both performed
prior to actually using the allocated heap number.
TEST=compiler-unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/479163002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23149 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 11:36:06 +00:00
bmeurer@chromium.org
e4db78e705
[arm] Recognize comparisons of shifts with zero.
...
For example, recognize
0 == r1 << r2
and generate a single
MOVS rt, r1, lsl r2
instruction.
TEST=cctest,compiler-unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/478233002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 11:10:01 +00:00
machenbach@chromium.org
8da9f23d44
[Auto-roll] Bump up version to 3.29.4.0
...
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/482693002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 09:34:17 +00:00
bmeurer@chromium.org
0664127dba
Work-around weird GCC 4.6 linker issue with SmiTagging template.
...
TBR=rossberg@chromium.org
Review URL: https://codereview.chromium.org/485653002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23146 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 09:12:12 +00:00
titzer@chromium.org
ee8b9805b5
Remove dead data structure in Scheduler.
...
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/478253002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23145 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 08:59:55 +00:00
jkummerow@chromium.org
dacca11cb9
Correctly handle holes when concat()ing double arrays
...
BUG=chromium:403409
LOG=y
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/468863003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23144 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 08:51:35 +00:00
yangguo@chromium.org
cf75a0b6e6
Fix PromiseHasRejectHandler.
...
The odd-numbered items in the queue are deferred objects, not promises.
R=aandrey@chromium.org
Review URL: https://codereview.chromium.org/473803003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23143 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 08:43:11 +00:00
bmeurer@chromium.org
669305c50a
[arm] Shorter test names for parameterized tests.
...
See https://codereview.chromium.org/475823002 for the discussion.
TEST=compiler-unittests
R=jarin@chromium.org
BUG=v8:3489
LOG=n
Review URL: https://codereview.chromium.org/483643002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23142 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 07:56:14 +00:00
yangguo@chromium.org
84edfa3d0c
Purge unused internalized string accessors.
...
R=marja@chromium.org
Review URL: https://codereview.chromium.org/471923002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23141 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 07:54:19 +00:00
bmeurer@chromium.org
d32fa64d33
Refactor ChangeLowering class to avoid template specialization.
...
Also refactor the unit tests and add support to easily
match DAGs using CaptureEq() matcher.
TEST=compiler-unittests
BUG=v8:3489
LOG=n
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/480863002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 06:54:07 +00:00
machenbach@chromium.org
e5a24048f6
[Auto-roll] Bump up version to 3.29.3.0
...
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/482523002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23138 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-16 21:34:13 +00:00
jarin@chromium.org
bf5114736c
During graph scheduling, traverse the roots in one go.
...
This makes the scheduler more than 30x faster on zlib.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/474963002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23137 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-16 18:58:13 +00:00
machenbach@chromium.org
f32b9ca516
[Auto-roll] Bump up version to 3.29.2.0
...
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/479563004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23135 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-15 17:04:18 +00:00
rmcilroy@chromium.org
ee26e273cb
[turbofan]: Fix TurboFan for out-of-line constant pool on Arm.
...
Use LeaveFrame so that the constant pool pointer register is correctly restored
when using the out-of-line constant pool. Also clean up duplicate code in
builtins-arm.cc.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/469283002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23134 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-15 14:35:00 +00:00
machenbach@chromium.org
10b0c6d36a
[Auto-roll] Bump up version to 3.29.1.0
...
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/473943002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23132 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 15:34:12 +00:00
dusan.milosavljevic@imgtec.com
6dee88849a
MIPS: Fix deoptimization entry table when branch cannot reach.
...
This fixes failures when table has more than 8192 entries, and preserves
optimization to have 2 instructions per entry.
TEST=mozilla/regress-398085-01
BUG=
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/477623002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23131 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 15:23:01 +00:00
mstarzinger@chromium.org
5c7edb7e2b
Enable access check tests that no longer fail with TF.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/473873002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23130 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 13:24:57 +00:00
verwaest@chromium.org
5bbb3a236d
Rewrite GetAccessor using the LookupIterator
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/467293003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23129 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 13:02:49 +00:00
mstarzinger@chromium.org
3adac582b0
Deprecate LoweringBuilder in favor of Reducer.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/476733002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23128 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 12:24:37 +00:00
jarin@chromium.org
0caf06dbd2
Remove the flaky store buffer test for maps.
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/471953002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23127 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 11:31:42 +00:00
dslomov@chromium.org
eebb61a3f9
Fix OrderedHashTabelIterator accessors.
...
They might be undefined for uninitialized iterators.
The rest of the code is ready for this eventuality.
R=arv@chromium.org , adamk@chromium.org
BUG=403292
LOG=N
Review URL: https://codereview.chromium.org/468813003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23126 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 10:24:19 +00:00
titzer@chromium.org
8741997982
Enable more tests for simplified lowering after assuming signed for word32.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/461933002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23125 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 09:52:21 +00:00
bmeurer@chromium.org
bf56be001e
Really fix windows now.
...
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/472783002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23124 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 09:31:52 +00:00
bmeurer@chromium.org
964ec21e53
Fix MSVC build.
...
And while we are at it, use the stupid MSVC compiler intrinsics.
TEST=base-unittests/BitTest
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/473773003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23123 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 09:24:40 +00:00
titzer@chromium.org
9803a72417
Unify MachineType and RepType.
...
MachineType now tracks both the representation and the value type of machine quantities and is used uniformly throughout TurboFan.
These types can now express uint8, int8, uint16, and int16, i.e. signed and unsigned smallish integers. Note that currently only uint8 and uint16 are implemented in the TF backends.
R=bmeurer@chromium.org , mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/470593002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 09:19:54 +00:00
bmeurer@chromium.org
ae7d781d8b
[turbofan] Introduce WordRor machine operator.
...
Move recognition of rotate-right operations to the
MachineOperatorReducer, so we don't need to repeat that in the
InstructionSelector for every backend.
TEST=base-unittests,compiler-unittests,cctests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/469213002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23121 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 09:07:58 +00:00
jochen@chromium.org
d9e671b5e4
Fast-forward version number on bleeding_edge to 3.29.0
...
BUG=none
LOG=n
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/470083002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23120 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 09:05:28 +00:00
jochen@chromium.org
2de0692a6e
Revert 23058 - "Allow externalizing cons and sliced string."
...
Reason for revert: broke inspector
| Fulfill overdue TODO.
|
| R=mstarzinger@chromium.org
|
| Review URL: https://codereview.chromium.org/460643002
TBR=yangguo@chromium.org ,mstarzinger@chromium.org
BUG=403521
LOG=n
Review URL: https://codereview.chromium.org/470913002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23115 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 08:40:11 +00:00
jarin@chromium.org
18a10e3482
Fix pointer iteration for maps.
...
BUG=
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/475463003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23114 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 07:41:33 +00:00
yangguo@chromium.org
efde48fb30
Fix test expectations.
...
TBR=jochen@chromium.org
Review URL: https://codereview.chromium.org/461233003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23113 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 07:11:44 +00:00
yangguo@chromium.org
0ae0b81cdb
Ignore default reject handler when looking for reject handlers.
...
LOG=N
BUG=v8:3093
R=aandrey@chromium.org
Review URL: https://codereview.chromium.org/461023002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23112 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 06:57:48 +00:00
bmeurer@chromium.org
f4b5224ae9
[turbofan] Refactor the InstructionSelector tests.
...
Also fix some issues and improve test coverage.
TEST=compiler-unittests
BUG=v8:3489
LOG=y
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/469743002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23111 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 06:33:50 +00:00
mstarzinger@chromium.org
76a49573f3
Fix non-TF target build after r23107.
...
TBR=jarin@chromium.org
TEST=cctest/test-run-deopt
Review URL: https://codereview.chromium.org/473453002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23110 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-13 14:47:32 +00:00
dusan.milosavljevic@imgtec.com
c9879cfb34
MIPS: Fix DCHECK failure in simulator for fp32 mode.
...
TEST=mjsunit tests in debug
BUG=
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/467203002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23109 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-13 14:43:22 +00:00
arv@chromium.org
fdd094abcf
ES6: Make Map/Set constructors support iterable values
...
Same for WeakMap/WeakSet
https://bugs.ecmascript.org/show_bug.cgi?id=3111
The change from the reverted version is that LoadIC_Miss now uses Name
instead of String.
BUG=v8:3508
LOG=Y
R=adamk@chromium.org , dslomov@chromium.org
Review URL: https://codereview.chromium.org/464093002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23108 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-13 14:34:15 +00:00
mstarzinger@chromium.org
8b7dd630da
Move %IsOptimized runtime helper into test case.
...
R=jarin@chromium.org
TEST=cctest/test-run-deopt
Review URL: https://codereview.chromium.org/468153002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23107 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-13 14:09:50 +00:00
mstarzinger@chromium.org
e3d028f5df
Simplify public pipeline interface.
...
R=sigurds@chromium.org
Review URL: https://codereview.chromium.org/471563002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23106 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-13 14:05:37 +00:00
aandrey@chromium.org
3a3d6bd4f6
Expose Value::IsArgumentsObject in V8 API.
...
R=yangguo@chromium.org , svenpanne@chromium.org , yangguo
Review URL: https://codereview.chromium.org/460333002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23105 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-13 13:06:30 +00:00
mstarzinger@chromium.org
a240fd6296
Temporary workaround for scheduler running OOM.
...
R=titzer@chromium.org
TEST=benchmarks/octane/zlib
Review URL: https://codereview.chromium.org/468863002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23104 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-13 12:38:22 +00:00
mstarzinger@chromium.org
2dfa9f97ae
Allow use of phase-local zone in GenericGraphVisit.
...
R=titzer@chromium.org , bmeurer@chromium.org
Review URL: https://codereview.chromium.org/467103003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23103 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-13 12:36:09 +00:00
jarin@chromium.org
b80e76841e
Remove a brittle assertion from Turbofan lazy deoptimization handling.
...
As discussed in person with Benedikt, it is better to remove the assertion because it is too brittle. The assertion says that the continuation block should immediately follow the call. However, there are exceptions - such as nop or constant pool in-between being fine - that make the assertion brittle.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/471523002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23102 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-13 11:46:05 +00:00
yangguo@chromium.org
1b17f59b5d
Move Promise tracking from debug to isolate.
...
This prepares for tracking promise rejections when debugger is off.
R=aandrey@chromium.org
Review URL: https://codereview.chromium.org/462413003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23101 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-13 11:14:35 +00:00
titzer@chromium.org
07ab6791a1
Add FOR_INT32_SHIFTS to value-helper.h
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/470533002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23100 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-13 10:30:00 +00:00
rodolph.perfetta@arm.com
b5b4e2c0b9
ARM64: unit tests for instruction selection.
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/464773004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23099 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-13 10:29:22 +00:00
mstarzinger@chromium.org
7f628527d8
Disable some deoptimization tests on ARM64 no-snap.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/471483002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23098 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-13 10:23:17 +00:00
jarin@chromium.org
e0c1ee1591
Revert "Refactor building of lazy bailouts in AstGraphBuilder."
...
This reverts commit r23096.
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/470573002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23097 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-13 10:22:53 +00:00
jarin@chromium.org
89984f7241
Refactor building of lazy bailouts in AstGraphBuilder.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/464033002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23096 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-13 09:23:35 +00:00
arv@chromium.org
0a35d53f7d
Revert "ES6: Make Map/Set constructors support iterable values"
...
Reason for revert:
TestSetConstructorIterableValue(WeakSet) fails on x64.debug
TBR=adamk@chromium.org ,dslomov@chromium.org
LOG=Y
BUG=
Review URL: https://codereview.chromium.org/461193002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23093 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 21:42:27 +00:00