mstarzinger
a6388878da
Fix loop information computation for floating loops.
...
R=jarin@chromium.org
TEST=cctest/test-scheduler/LoopedFloatingDiamond3
Review URL: https://codereview.chromium.org/726953002
Cr-Commit-Position: refs/heads/master@{#25399}
2014-11-18 14:56:00 +00:00
Michael Stanton
47f55baeaf
Re-land r25392 Use a stub in crankshaft for grow store arrays.
...
Code was vulnerable to different evaluation order in Clang.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/726693004
Cr-Commit-Position: refs/heads/master@{#25397}
2014-11-18 14:31:00 +00:00
Michael Stanton
77ee440af1
Revert "Use a stub in crankshaft for grow store arrays."
...
This reverts commit d40204f84c
.
TBR=danno@chromium.org
Review URL: https://codereview.chromium.org/735653003
Cr-Commit-Position: refs/heads/master@{#25393}
2014-11-18 13:08:07 +00:00
Michael Stanton
d40204f84c
Use a stub in crankshaft for grow store arrays.
...
We were deopting without learning anything.
BUG=v8:3417
LOG=N
R=danno@chromium.org
Review URL: https://codereview.chromium.org/368263003
Cr-Commit-Position: refs/heads/master@{#25392}
2014-11-18 12:32:24 +00:00
Benedikt Meurer
1d4dfd9ac4
[turbofan] Push JSToNumber conversions into Phis.
...
This essentially performs the following transformation
JSToNumber(phi(x1,...,xn,control):primitive)
=> phi(JSToNumber(x1),...,JSToNumber(xn),control):number
which is similar to what we already do for JSToBoolean.
TEST=mjsunit/asm
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/732463003
Cr-Commit-Position: refs/heads/master@{#25390}
2014-11-18 11:34:21 +00:00
aandrey
407d1dfb87
Allow stepping into Promise handlers.
...
BUG=chromium:432468
R=yangguo@chromium.org , adamk@chromium.org , arv@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/734163002
Cr-Commit-Position: refs/heads/master@{#25389}
2014-11-18 09:50:32 +00:00
Benedikt Meurer
048d37017d
[turbofan] Avoid useless sign extension after sign extended load.
...
TEST=unittests
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/735623002
Cr-Commit-Position: refs/heads/master@{#25388}
2014-11-18 09:28:11 +00:00
Adam Klein
58839390c3
Add a cctest for using a C++ FunctionCallback as an Object.observe observer
...
R=rossberg@chromium.org
BUG=v8:3076
LOG=n
Review URL: https://codereview.chromium.org/733483003
Cr-Commit-Position: refs/heads/master@{#25384}
2014-11-17 20:29:10 +00:00
dslomov
d7e3697ddc
harmony-scoping: Implement debugger support for script scope.
...
We add a new ScopeType, ScopeType.Script. The scope with
ScopeType.Script is always present in the scope chain (ScopeIterator
fakes it if neededi - i.e. if ScriptContext for a script has not been
allocated since that script has no lexical declarations).
ScriptScope reflects ScriptContextTable.
R=yurys@chromium.org ,yangguo@chromium.org
BUG=v8:3690
LOG=N
Review URL: https://codereview.chromium.org/726643002
Cr-Commit-Position: refs/heads/master@{#25383}
2014-11-17 17:58:12 +00:00
Dan Carney
e01f34b5cc
[turbofan] add ForTesting to pipeline entry points that are for testing only.
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/727373002
Cr-Commit-Position: refs/heads/master@{#25382}
2014-11-17 14:46:54 +00:00
jarin
e130d01aee
[turbofan] More useful typing for And, Or and Shr.
...
BUG=
Review URL: https://codereview.chromium.org/714413004
Cr-Commit-Position: refs/heads/master@{#25381}
2014-11-17 13:55:40 +00:00
Andrey Adaikin
685bc04a01
Expose internal properties of map/set iterators via mirrors.
...
R=yangguo@chromium.org , vsevik
LOG=Y
Committed: https://code.google.com/p/v8/source/detail?r=d5f5d38f73f43eba9658d91ffbe511af8c340d78
Review URL: https://codereview.chromium.org/710273002
Cr-Commit-Position: refs/heads/master@{#25380}
2014-11-17 12:48:29 +00:00
Dan Carney
032191e9be
[turbofan] move register allocation phases to pipeline
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/727323002
Cr-Commit-Position: refs/heads/master@{#25379}
2014-11-17 12:37:11 +00:00
yangguo
7e2ebd4c00
Reland "Soft fail for invalid cache data."
...
Review URL: https://codereview.chromium.org/733023003
Cr-Commit-Position: refs/heads/master@{#25378}
2014-11-17 12:16:40 +00:00
Benedikt Meurer
5934656921
[turbofan] Smartify the GraphReducer.
...
Don't use the generic algorithm, but instead start going into the
direction of ControlReducer, using a stack plus a revisit queue to
not miss any more possibilities for reductions anymore.
TEST=cctest,unittests
R=dcarney@chromium.org
Committed: f047507370
Committed: 6e148989a4
Review URL: https://codereview.chromium.org/726513002
Cr-Commit-Position: refs/heads/master@{#25377}
2014-11-17 12:12:35 +00:00
Daniel Clifford
f173937cdf
Generalize ScaledWithOffsetMatcher to support 64 bits
...
Preparation for supporting more addressing modes in instruction selection.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/729853005
Cr-Commit-Position: refs/heads/master@{#25373}
2014-11-17 10:53:30 +00:00
Michael Starzinger
e9a3d153ed
Remove left-over generated runtime test from mjsunit.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/734633002
Cr-Commit-Position: refs/heads/master@{#25372}
2014-11-17 10:50:57 +00:00
Jakob Kummerow
bf22724e0d
Fix one more missing c0_ < 0 check in scanner
...
BUG=chromium:433766
LOG=n
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/731953003
Cr-Commit-Position: refs/heads/master@{#25371}
2014-11-17 09:43:31 +00:00
Jaroslav Sevcik
c3af691e72
[turbofan] Remove int32 narrowing during typed lowering.
...
With Int32Add we lose the int/uint distinction, so later, in simplified lowering we can make a wrong decision. E.g., see the attached test case, where we lower NumberAdd -> Int32Add because inputs are Uint32, but during simplified lowering we change the inputs to Int32, so we get a wrong result.
Simplified lowering will lower the NumberAdd operations anyway, so we should lose performance.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/721723004
Cr-Commit-Position: refs/heads/master@{#25368}
2014-11-17 09:04:52 +00:00
arv
ef41de10db
Classes: Add support for stepping through default constructors
...
If a class extends another class and it doesn't provide a constructor,
one is created for them. We therefore need to ensure that stepping into
the constructor steps into the super class constructor.
BUG=v8:3674
LOG=Y
R=dslomov@chromium.org , aandrey , yurys
Review URL: https://codereview.chromium.org/725983002
Cr-Commit-Position: refs/heads/master@{#25366}
2014-11-15 19:48:39 +00:00
adamk
4a4158f363
Throw as per spec when modifying an Array with builtin methods
...
BUG=v8:3684
LOG=n
Review URL: https://codereview.chromium.org/726773002
Cr-Commit-Position: refs/heads/master@{#25364}
2014-11-14 19:42:15 +00:00
adamk
b17eaaa575
Fix desugaring of let bindings in for loops to handle continue properly
...
This requires putting the original loop's body inside an inner for loop (with
the same labels as the original loop) and re-binding the temp variables in its
"next" expression. A second flag is added to the desugared code to ensure the
loop body executes at most once per loop.
BUG=v8:3683
LOG=y
Review URL: https://codereview.chromium.org/720863002
Cr-Commit-Position: refs/heads/master@{#25363}
2014-11-14 19:33:23 +00:00
caitpotter88
353b696467
Implement ES6 Template Literals
...
BUG=v8:3230
Review URL: https://codereview.chromium.org/663683006
Cr-Commit-Position: refs/heads/master@{#25362}
2014-11-14 18:53:52 +00:00
dcarney
c97a7acf65
[turbofan] refactor pipeline to use hydrogen like Run calls
...
BUG=
Review URL: https://codereview.chromium.org/727733002
Cr-Commit-Position: refs/heads/master@{#25361}
2014-11-14 16:44:45 +00:00
arv
f3d5b13e04
Classes: Implement correct name binding
...
Named class declarations and class expression have a const binding for
the name that is in TDZ for the extends expression.
BUG=v8:3330
LOG=Y
R=dslomov@chromium.org , adamk
Review URL: https://codereview.chromium.org/722793005
Cr-Commit-Position: refs/heads/master@{#25360}
2014-11-14 15:05:20 +00:00
Michael Starzinger
a210f36846
Extend typed lowering to cover JSStrictEqual on differing types.
...
R=rossberg@chromium.org , titzer@chromium.org
TEST=unittests/JSTypedLoweringTest.JSStrictEqualWithTheHole
Review URL: https://codereview.chromium.org/722223003
Cr-Commit-Position: refs/heads/master@{#25359}
2014-11-14 14:25:19 +00:00
Dmitry Lomov
7e69b2f996
Implement 'setVariableValue' for debugger block scopes.
...
R=aandrey@chromium.org , rossberg@chromium.org , yurys@chromium.org
BUG=v8:3690
LOG=N
Review URL: https://codereview.chromium.org/732543002
Cr-Commit-Position: refs/heads/master@{#25358}
2014-11-14 13:39:20 +00:00
Andy Wingo
4faa0ae88a
Remove AstConstructionVisitor/AstNullVisitor
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/679943004
Cr-Commit-Position: refs/heads/master@{#25357}
2014-11-14 13:13:33 +00:00
Benedikt Meurer
27cc3c685c
Revert "[turbofan] Smartify the GraphReducer."
...
This reverts commit 6e148989a4
for
breaking Massive/Embenchen.
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/727743002
Cr-Commit-Position: refs/heads/master@{#25356}
2014-11-14 11:48:50 +00:00
Ben L. Titzer
cf85209035
Do not do field type tracking with GC stress.
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/718393004
Cr-Commit-Position: refs/heads/master@{#25355}
2014-11-14 11:36:44 +00:00
Ben L. Titzer
3bcea483a7
Remove arguments arity check in mjsunit because it vastly slows down the tests.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/724133004
Cr-Commit-Position: refs/heads/master@{#25353}
2014-11-14 10:30:25 +00:00
Andy Wingo
1503d0e78c
Move feedback slot allocation to post-pass
...
R=mvstanton@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/670953003
Cr-Commit-Position: refs/heads/master@{#25348}
2014-11-14 08:21:33 +00:00
Benedikt Meurer
45ff9d53c5
[turbofan] Optimize remainder of integer division by unknown power of two.
...
Drive-by-Fix: minint % 0 was broken on ARM, but we didn't notice because
there was no test covering that case...
TEST=msjunit
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/727673002
Cr-Commit-Position: refs/heads/master@{#25347}
2014-11-14 08:21:18 +00:00
Benedikt Meurer
6e148989a4
[turbofan] Smartify the GraphReducer.
...
Don't use the generic algorithm, but instead start going into the
direction of ControlReducer, using a stack plus a revisit queue to
not miss any more possibilities for reductions anymore.
TEST=cctest,unittests
R=dcarney@chromium.org
Committed: f047507370
Review URL: https://codereview.chromium.org/726513002
Cr-Commit-Position: refs/heads/master@{#25345}
2014-11-14 08:00:36 +00:00
Daniel Vogelheim
f83f10973e
Revert "Soft fail for invalid cache data."
...
This reverts commit eafce666f4
.
Original commit failed some tests w/ memory leaks.
TBR=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/724053004
Cr-Commit-Position: refs/heads/master@{#25336}
2014-11-13 16:47:05 +00:00
Yang Guo
eafce666f4
Soft fail for invalid cache data.
...
API=ScriptCompiler::CachedData::rejected
LOG=Y
R=vogelheim@google.com , vogelheim@chromium.org
Review URL: https://codereview.chromium.org/724023002
Cr-Commit-Position: refs/heads/master@{#25335}
2014-11-13 15:42:47 +00:00
ishell@chromium.org
2e38f33911
Revert "TransitionArray now uses <is_data_property, name, attributes> tuple as a key, which allows to have several entries for the same property name."
...
Revert "Fix for an assertion failure in Map::FindTransitionToField(...). Appeared after r25136."
This revert is made in order to revert r25099 which potentially causes renderer hangs.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/722873004
Cr-Commit-Position: refs/heads/master@{#25332}
2014-11-13 15:31:04 +00:00
Michael Starzinger
78332973e2
Revert "[turbofan] Smartify the GraphReducer."
...
This reverts commit f047507370
due to mjsunit/numops-fuzz-part2 hitting an
assertion in the ARM assembler.
TBR=bmeurer@chromium.org
TEST=mjsunit/numops-fuzz-part2
Review URL: https://codereview.chromium.org/724053002
Cr-Commit-Position: refs/heads/master@{#25327}
2014-11-13 14:07:04 +00:00
Benedikt Meurer
f047507370
[turbofan] Smartify the GraphReducer.
...
Don't use the generic algorithm, but instead start going into the
direction of ControlReducer, using a stack plus a revisit queue to
not miss any more possibilities for reductions anymore.
TEST=cctest,unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/726513002
Cr-Commit-Position: refs/heads/master@{#25326}
2014-11-13 11:34:15 +00:00
Adrian Perez
ddcd08b1d1
Implement .of() on typed arrays
...
BUG=v8:3578
LOG=Y
R=dslomov@chromium.org , wingo@igalia.com
Review URL: https://codereview.chromium.org/660863003
Patch from Adrian Perez <aperez@igalia.com>.
Cr-Commit-Position: refs/heads/master@{#25325}
2014-11-13 11:20:13 +00:00
ishell@chromium.org
bc8c41c08d
Avoid fast short-cut in Map::GeneralizeRepresentation() for literals with non-simple transitions.
...
It started showing after r25253.
BUG=v8:3687
LOG=N
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/715313003
Cr-Commit-Position: refs/heads/master@{#25324}
2014-11-13 10:56:31 +00:00
Michael Starzinger
d7169a7311
Enable breakpoint tests that now pass in TurboFan.
...
R=jarin@chromium.org
TEST=cctest/test-debug
Review URL: https://codereview.chromium.org/726453004
Cr-Commit-Position: refs/heads/master@{#25323}
2014-11-13 10:54:53 +00:00
Michael Starzinger
2f09dcbd20
Enable harmony tests for TurboFan that now pass.
...
R=jarin@chromium.org
TEST=mjsunit/harmony
Review URL: https://codereview.chromium.org/723983002
Cr-Commit-Position: refs/heads/master@{#25320}
2014-11-13 09:44:00 +00:00
Dan Carney
0042363714
[turbofan] add some registerallocator unittests
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/700753003
Cr-Commit-Position: refs/heads/master@{#25319}
2014-11-13 09:42:09 +00:00
Jaroslav Sevcik
2d075e2298
Reland "[turbofan] Weakening of types must weaken ranges inside unions."
...
This relands commit 4c1f4b796d
.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/723023002
Cr-Commit-Position: refs/heads/master@{#25317}
2014-11-13 09:02:14 +00:00
Yang Guo
b96309b776
Move public symbols to the root set.
...
This allows serializing public symbols that are embedded in code.
BUG=v8:3689
LOG=N
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/722723002
Cr-Commit-Position: refs/heads/master@{#25315}
2014-11-13 08:48:08 +00:00
Benedikt Meurer
7205f6ee9b
[turbofan] Avoid useless bit masking in typed lowering.
...
There's no need to apply the 0x1f mask to right hand sides of shifts if
the input is already in range [0,31].
TEST=cctest,unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/718193003
Cr-Commit-Position: refs/heads/master@{#25313}
2014-11-13 07:40:56 +00:00
Jaroslav Sevcik
c513297f9f
Revert "[turbofan] Weakening of types must weaken ranges inside unions."
...
This reverts commit 4c1f4b796d
.
TBR=rossberg@chromium.org
Review URL: https://codereview.chromium.org/722943003
Cr-Commit-Position: refs/heads/master@{#25312}
2014-11-13 06:10:42 +00:00
Jaroslav Sevcik
4c1f4b796d
[turbofan] Weakening of types must weaken ranges inside unions.
...
BUG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/712623002
Cr-Commit-Position: refs/heads/master@{#25311}
2014-11-13 05:31:47 +00:00
dslomov@chromium.org
8970ade1cf
Fix Context::declaration_context to account for script contexts.
...
R=rossberg@chromium.org
BUG=v8:3690
LOG=N
Review URL: https://codereview.chromium.org/715263003
Cr-Commit-Position: refs/heads/master@{#25303}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25303 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-12 16:46:24 +00:00
jkummerow@chromium.org
fd9a4df561
Skip regress-crbug-137689.js when running with GC stress
...
It depends on maps not disappearing prematurely.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/720853002
Cr-Commit-Position: refs/heads/master@{#25302}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25302 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-12 16:06:24 +00:00
dcarney@chromium.org
fdab306aa2
[turbofan] add gap move verifier
...
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/704193007
Cr-Commit-Position: refs/heads/master@{#25300}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25300 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-12 14:53:51 +00:00
wingo@igalia.com
757f400246
Leaving a generator via an exception causes it to close
...
R=rossberg@chromium.org
BUG=v8:3096
LOG=Y
Review URL: https://codereview.chromium.org/717123002
Cr-Commit-Position: refs/heads/master@{#25297}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-12 14:29:22 +00:00
yangguo@chromium.org
e201eb9a9e
Temporarily disable test due to not being compatible with the serializer.
...
TBR=dslomov@chromium.org
BUG=v8:3689
LOG=N
Review URL: https://codereview.chromium.org/697893004
Cr-Commit-Position: refs/heads/master@{#25296}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25296 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-12 14:27:08 +00:00
bmeurer@chromium.org
24d288cb8a
Fix copyright headers.
...
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/720793002
Cr-Commit-Position: refs/heads/master@{#25295}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25295 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-12 13:29:57 +00:00
dslomov@chromium.org
0e2f7e3c35
Re-enable serialization under harmony-scoping.
...
R=yangguo@chromium.org
BUG=v8:3689
LOG=N
Review URL: https://codereview.chromium.org/717153002
Cr-Commit-Position: refs/heads/master@{#25294}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25294 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-12 13:12:50 +00:00
dslomov@chromium.org
eacdfa0b7a
Various clean-ups after top-level lexical declarations are done.
...
1. Global{Context,Scope}=>Script{Context,Scope}
2. Enable fixed tests
3. Update comments
R=rossberg@chromium.org
BUG=v8:2198
LOG=N
Review URL: https://codereview.chromium.org/716833002
Cr-Commit-Position: refs/heads/master@{#25291}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25291 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-12 11:35:18 +00:00
yangguo@chromium.org
1dbd6369b1
Correctly compute line numbers in functions from the function constructor.
...
R=aandrey@chromium.org
BUG=chromium:109362
LOG=Y
Review URL: https://codereview.chromium.org/701093003
Cr-Commit-Position: refs/heads/master@{#25289}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-12 10:06:47 +00:00
baptiste.afsa@arm.com
ad815be7d5
[turbofan] Use cbz/cbnz when possible on arm64.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/715433004
Cr-Commit-Position: refs/heads/master@{#25288}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25288 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-12 10:06:46 +00:00
ishell@chromium.org
f0cde2f925
Double unboxing tests fixed.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/715263002
Cr-Commit-Position: refs/heads/master@{#25286}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25286 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-12 09:47:47 +00:00
mstarzinger@chromium.org
5712592331
Fix bug in graph copy while inlining loops.
...
R=titzer@chromium.org
TEST=cctest/test-run-inlining/InlineLoop
Review URL: https://codereview.chromium.org/712403003
Cr-Commit-Position: refs/heads/master@{#25285}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25285 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-12 09:47:17 +00:00
mstarzinger@chromium.org
434f2ebb5b
Fix scheduler for floating non-naked non-empty loops.
...
R=jarin@chromium.org
TEST=cctest/test-scheduler/NestedFloatingDiamondWithLoop
Review URL: https://codereview.chromium.org/709753002
Cr-Commit-Position: refs/heads/master@{#25283}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25283 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-12 09:39:13 +00:00
mstarzinger@chromium.org
e1c9e732d3
Scheduler checks that end block doesn't have successors.
...
R=jarin@chromium.org
TEST=cctest/test-scheduler/RPOLoop
Review URL: https://codereview.chromium.org/710333002
Cr-Commit-Position: refs/heads/master@{#25281}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25281 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-12 09:20:22 +00:00
yangguo@chromium.org
4fd9ba9042
Reland "Fix stepping in for-loops."
...
BUG=v8:3634
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/688243005
Cr-Commit-Position: refs/heads/master@{#25279}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25279 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-12 08:26:42 +00:00
aandrey@chromium.org
dc416ef328
Rename v8::Exception::GetMessage to CreateMessage.
...
This is to avoid renaming to GetMessageW/GetMessageA on Windows.
API=v8::Exception::CreateMessage
R=yangguo@chromium.org , loislo
LOG=Y
Review URL: https://codereview.chromium.org/711353002
Cr-Commit-Position: refs/heads/master@{#25273}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25273 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-11 21:45:30 +00:00
arv@chromium.org
aa6815c79a
Classes: Add support for arguments in default constructor
...
This is currently done by generating a default constructor that looks
like this:
constructor() {
%DefaultConstructorSuperCall();
}
The a runtime function implements the logic which is pretty similar to
Runtime_Apply except that it uses the [[Prototype]] of the current
function.
This is the second try. The first failed because the test was using a
array that was too large for Function.prototype.apply.
Revert "Revert "Classes: Add support for arguments in default constructor""
This reverts commit 43aa7e541df56a132608b8b4217e9da84575e4f8.
BUG=v8:3672
LOG=Y
TBR=dslomov@chromium.org
Review URL: https://codereview.chromium.org/716853003
Cr-Commit-Position: refs/heads/master@{#25272}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25272 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-11 21:36:16 +00:00
arv@chromium.org
84741e76a3
ES6: Add support for super in object literals
...
This only available under --harmony-classes
BUG=v8:3571
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/718473002
Cr-Commit-Position: refs/heads/master@{#25271}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-11 19:54:56 +00:00
adamk@chromium.org
1386257c55
Correctly handle Array unshift/splices that move elements past the max length of an Array
...
BUG=v8:2615
LOG=n
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/679113003
Cr-Commit-Position: refs/heads/master@{#25270}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25270 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-11 19:08:14 +00:00
arv@chromium.org
6a5cd94676
Revert "Classes: Add support for arguments in default constructor"
...
This reverts commit 3f4ea6c91a962a04407c79f08e5c86ce9ff2911a.
Broke tests on Mac64
http://build.chromium.org/p/client.v8/builders/V8%20Mac64/builds/923/steps/Check/logs/classes
BUG=v8:3672
TBR=dslomov@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/712333003
Cr-Commit-Position: refs/heads/master@{#25269}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-11 16:22:47 +00:00
arv@chromium.org
3a91adaec8
Classes: Add support for arguments in default constructor
...
This is currently done by generating a default constructor that looks
like this:
constructor() {
%DefaultConstructorSuperCall();
}
The a runtime function implements the logic which is pretty similar to
Runtime_Apply except that it uses the [[Prototype]] of the current
function.
BUG=v8:3672
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/692333011
Cr-Commit-Position: refs/heads/master@{#25268}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-11 15:55:30 +00:00
jkummerow@chromium.org
3b3929fdc7
Reland "Avoid some unnecessary fast-properties map creations."
...
This relands commit ea74f0f85a
.
The revert was due to failures in cctest/test-heap/ReleaseOverReservedPages,
caused by apparent changes to memory layout and fragmentation of the
first page. Eliminating a situation in messages.js where this CL has had
an effect on map transitions seems to solve the issue.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/714883003
Cr-Commit-Position: refs/heads/master@{#25266}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25266 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-11 15:41:30 +00:00
mstarzinger@chromium.org
1d17f826b3
Simplify scheduler API by removing zone scopes.
...
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/711413002
Cr-Commit-Position: refs/heads/master@{#25265}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25265 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-11 15:29:42 +00:00
dslomov@chromium.org
480fbfeb2a
harmony-scoping: Implement StoreIC handler for stores to global contexts.
...
R=ishell@chromium.org , adamk@chromium.org , rossberg@chromium.org , verwaest@chromium.org
BUG=v8:2198
LOG=N
Review URL: https://codereview.chromium.org/712973002
Cr-Commit-Position: refs/heads/master@{#25264}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25264 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-11 15:16:20 +00:00
titzer@chromium.org
21cf5bb249
Remove PhiReducer.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/684993006
Cr-Commit-Position: refs/heads/master@{#25262}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25262 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-11 12:03:12 +00:00
dslomov@chromium.org
e4d1839612
harmony-scoping: Implement LoadIC handler for loads from global contexts.
...
R=ishell@chromium.org , adamk@chromium.org , rossberg@chromium.org , verwaest@chromium.org
BUG=v8:2198
LOG=N
Review URL: https://codereview.chromium.org/696783005
Cr-Commit-Position: refs/heads/master@{#25259}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-11 11:16:43 +00:00
ishell@chromium.org
c5a492961f
Reland "In-object double fields unboxing (for 64-bit only)."
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/711313002
Cr-Commit-Position: refs/heads/master@{#25258}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25258 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-11 10:25:46 +00:00
aandrey@chromium.org
4984224af2
Add optional max elements limit for Map/Set mirror iterator preview.
...
R=yangguo@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/712083002
Cr-Commit-Position: refs/heads/master@{#25257}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25257 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-11 09:47:19 +00:00
ishell@chromium.org
18cf6c9ac9
MapCache simplification. It is now a FixedArray that maps number of properties to a WeakCell with a Map.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/712943002
Cr-Commit-Position: refs/heads/master@{#25253}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25253 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 18:04:17 +00:00
verwaest@chromium.org
2d9079ca1d
Revert "In-object double fields unboxing (for 64-bit only)."
...
Revert "Fixes for Windows and Mac builds after r25250."
TBR=ishell@chromium.org
Review URL: https://codereview.chromium.org/699613004
Cr-Commit-Position: refs/heads/master@{#25252}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 17:44:51 +00:00
ishell@chromium.org
f133ac501b
In-object double fields unboxing (for 64-bit only).
...
This CL introduces LayoutDescriptor which is responsible for tracking which in-object fields are tagged and which are not.
LayoutDescriptor field added to Map. Currently unboxing is disabled.
R=hpayer@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/391693002
Cr-Commit-Position: refs/heads/master@{#25250}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25250 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 16:35:22 +00:00
jkummerow@chromium.org
d3b68cf370
Fix has_constant_parameter_count() confusion in LReturn
...
BUG=chromium:431602
LOG=y
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/714663002
Cr-Commit-Position: refs/heads/master@{#25249}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25249 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 15:25:50 +00:00
titzer@chromium.org
b9886ae9ff
Fix bugs in simplified lowering relating to int32/uint32 signs.
...
Lowering of NumberToUint32 and NumberToInt32 was not correctly accounting for the sign of the input and the sign of the output, emitting the wrong representation changes.
Along the way, I've found cases where MachineOperatorBuilder would break if fed a machine type for loads or stores that was not cached, requiring MachineOperatorBuilder to take zone to allocate operators for these cases.
R=bmeurer@chromium.org , jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/714613002
Cr-Commit-Position: refs/heads/master@{#25247}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25247 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 14:28:42 +00:00
bmeurer@chromium.org
4446e8fe50
Reland "[turbofan] Fix select lowering" with fix.
...
Select lowering must not merge Select nodes that depend on each other,
because the resulting graph is not schedulable.
TEST=unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/709423003
Cr-Commit-Position: refs/heads/master@{#25245}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25245 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 11:55:47 +00:00
rossberg@chromium.org
5ec10fc997
More tests for toplevel lexical scope
...
R=dslomov@chromium.org
BUG=v8:2198
LOG=N
Review URL: https://codereview.chromium.org/716523002
Cr-Commit-Position: refs/heads/master@{#25240}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25240 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 10:47:10 +00:00
bmeurer@chromium.org
9ac7ee2d22
Revert "[turbofan] Fix select lowering."
...
This reverts commit cf08e8d70f
for
breaking Embenchen bullet.
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/684413003
Cr-Commit-Position: refs/heads/master@{#25238}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25238 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 10:43:41 +00:00
bmeurer@chromium.org
cf08e8d70f
[turbofan] Fix select lowering.
...
Select lowering must not merge Select nodes that depend on each other,
because the resulting graph is not schedulable.
TEST=unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/717473002
Cr-Commit-Position: refs/heads/master@{#25236}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25236 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 10:30:17 +00:00
yangguo@chromium.org
4a6d092fdf
Revert "Fix stepping in for-loops."
...
TBR=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/713813002
Cr-Commit-Position: refs/heads/master@{#25233}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25233 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 09:36:16 +00:00
yangguo@chromium.org
3bed0a171a
Fix stepping in for-loops.
...
R=ulan@chromium.org
BUG=v8:3634
LOG=N
Review URL: https://codereview.chromium.org/682413004
Cr-Commit-Position: refs/heads/master@{#25231}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25231 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 09:08:11 +00:00
bmeurer@chromium.org
8977e3d5e4
[arm] Recognize SXTB, SXTH, UXTB and UXTH.
...
TEST=cctest,msjunit/asm,unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/709123005
Cr-Commit-Position: refs/heads/master@{#25228}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25228 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 05:49:17 +00:00
arv@chromium.org
c24ebcd387
Revert "Avoid some unnecessary fast-properties map creations."
...
This reverts commit e1f23eab4255d63344011dfb885b8e8962cb60e2.
Broke cctest/test-heap/ReleaseOverReservedPages on a bunch of builders
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20debug/builds/928/steps/Check/logs/ReleaseOverReservedPa ..
BUG=None
LOG=N
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/709123002
Cr-Commit-Position: refs/heads/master@{#25224}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25224 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 18:49:45 +00:00
danno@chromium.org
9a58807030
[turbofan] Optimize add operations to use 'leal' instruction on x64
...
Add MemoryOperandMatcher that recognizes node clusters in the form
[%r1 + %r2*SCALE + OFFSET] and explicit support in the x64 Int32Add
selector to use it to translate complex adds to 'leal' instructions.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/704713003
Cr-Commit-Position: refs/heads/master@{#25223}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25223 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 16:47:45 +00:00
arv@chromium.org
b86c30a2b3
Classes: Partial fix for constructor not calling super
...
Introduce two new function kind, one for default constructor and one
for default constructor call super. Then when we are about to pares
these we just generate the correct AST in source.
BUG=v8:3661, v8:3672
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/700523003
Cr-Commit-Position: refs/heads/master@{#25222}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25222 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 16:39:27 +00:00
jkummerow@chromium.org
ea74f0f85a
Avoid some unnecessary fast-properties map creations.
...
(1) When we have just normalized and re-fastified a map, we don't need to copy it again to set the is_prototype bit.
(2) When defining accessors causes a non-prototype object to go slow, don't force re-fastification.
BUG=v8:3267
LOG=n
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/706243002
Cr-Commit-Position: refs/heads/master@{#25221}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25221 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 16:33:47 +00:00
dslomov@chromium.org
1a64b02dcf
harmony_scoping: Implement lexical bindings at top level
...
This implements correct semantics for "extensible" top level lexical scope.
The entire lexical scope is represented at runtime by GlobalContextTable, reachable from native context and accumulating global contexts from every script loaded into the context.
When the new script starts executing, it does the following validation:
- checks the GlobalContextTable and global object (non-configurable own) properties against the set of declarations it introduces and reports potential conflicts.
- invalidates the conflicting PropertyCells on global object, so that any code depending on them will miss/deopt causing any contextual lookups to be reexecuted under the new bindings
- adds the lexical bindings it introduces to the GlobalContextTable
Loads and stores for contextual lookups are modified so that they check the GlobalContextTable before looking up properties on global object, thus implementing the shadowing of global object properties by lexical declarations.
R=adamk@chromium.org , rossberg@chromium.org
Review URL: https://codereview.chromium.org/705663004
Cr-Commit-Position: refs/heads/master@{#25220}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25220 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 16:29:45 +00:00
mstarzinger@chromium.org
9e555db8fb
Make scheduler handle floating non-naked loops.
...
R=jarin@chromium.org
TEST=cctest/test-scheduler/NestedFloatingDiamondWithLoop
Review URL: https://codereview.chromium.org/706123003
Cr-Commit-Position: refs/heads/master@{#25217}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25217 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 16:01:49 +00:00
marja@chromium.org
2b026851ac
Scanner: disallow unicode escapes in regexp flags.
...
The spec explicitly forbids them. V8 never handled them properly either, just
the Scanner accepted them (it had code to add them literally to the
LiteralBuffer) and later on, Regexp constructor disallowed them.
According to the spec, unicode escapes in regexp flags should be an early error
("It is a Syntax Error if IdentifierPart contains a Unicode escape sequence.").
Note that Scanner is still more relaxed about regexp flags than the
spec. Especially, it accepts any identifier parts (not just a small set of
letters) and doesn't check for duplicates.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/700373003
Cr-Commit-Position: refs/heads/master@{#25215}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25215 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 14:32:19 +00:00
jarin@chromium.org
364cec0034
[turbofan] Fix deoptimization of uint8, uint16 inputs.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/707443003
Cr-Commit-Position: refs/heads/master@{#25214}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25214 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 14:07:45 +00:00
hpayer@chromium.org
19c3296988
Remove heap size filter for context disposal garbage collection.
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/712563002
Cr-Commit-Position: refs/heads/master@{#25213}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25213 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 13:07:47 +00:00
baptiste.afsa@arm.com
57ae54203c
[turbofan][arm64] Optimize shifts combined with truncations or extensions.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/705983002
Cr-Commit-Position: refs/heads/master@{#25210}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25210 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 09:56:17 +00:00
hpayer@chromium.org
c0ac2ab9d0
Perform context disposal garbage collections only if contexts disposals happen at a high rate.
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/710603003
Cr-Commit-Position: refs/heads/master@{#25208}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25208 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 09:37:11 +00:00
mstarzinger@chromium.org
47ee0b0294
Enable inlining tests that pass with new scheduler.
...
R=titzer@chromium.org
TEST=test-run-inlining/InlineTwiceDependentDiamond
Review URL: https://codereview.chromium.org/704293002
Cr-Commit-Position: refs/heads/master@{#25205}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25205 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 18:56:43 +00:00
mstarzinger@chromium.org
9734f236a3
Revert "Remove workaround for successors on end block from scheduler."
...
TBR=titzer@chromium.org
Review URL: https://codereview.chromium.org/705043002
Cr-Commit-Position: refs/heads/master@{#25194}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25194 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 13:12:16 +00:00
titzer@chromium.org
b309f3d208
[turbofan] (reland) Compute tighter ranges for modulus in Typer.
...
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/694703004
Cr-Commit-Position: refs/heads/master@{#25193}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25193 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 13:10:49 +00:00
dcarney@chromium.org
a350f0d608
[turbofan] phis cannot take registers as inputs
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/704153002
Cr-Commit-Position: refs/heads/master@{#25191}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25191 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 12:56:44 +00:00
verwaest@chromium.org
f26d93e6f0
Allow JSArray fast moving elements even if the array's proto isn't Array.prototype in original state
...
Otherwise array builtins don't work on internal arrays.
BUG=v8:3681
LOG=n
R=machenbach@chromium.org , mvstanton@chromium.org
Review URL: https://codereview.chromium.org/706703005
Cr-Commit-Position: refs/heads/master@{#25190}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25190 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 12:56:12 +00:00
bmeurer@chromium.org
35cc4af769
[turbofan] Push TruncateFloat64ToInt32 into phis.
...
TEST=unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/707683003
Cr-Commit-Position: refs/heads/master@{#25189}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25189 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 12:38:47 +00:00
mstarzinger@chromium.org
f9575cef57
Remove workaround for successors on end block from scheduler.
...
R=titzer@chromium.org
TEST=cctest/test-scheduler/RPOLoop
Review URL: https://codereview.chromium.org/708763002
Cr-Commit-Position: refs/heads/master@{#25188}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25188 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 12:31:52 +00:00
machenbach@chromium.org
d04038bde5
Skip json2 on 64 bits debug.
...
BUG=3681
LOG=n
TBR=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/701353003
Cr-Commit-Position: refs/heads/master@{#25186}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25186 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 11:53:13 +00:00
ishell@chromium.org
e1f93a82f2
Fix for an assertion failure in Map::FindTransitionToField(...). Appeared after r25136.
...
BUG=chromium:430846
LOG=N
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/704183002
Cr-Commit-Position: refs/heads/master@{#25185}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25185 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 11:50:33 +00:00
ishell@chromium.org
89617f06d1
Skip tests that timeout on arm64
...
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/709443002
Cr-Commit-Position: refs/heads/master@{#25183}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25183 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 10:24:49 +00:00
svenpanne@chromium.org
d56a21ebff
The idea behind of this solution is to use the existing "relocation info" instead of consumption the CodeLinePosition events emitted by the V8 compilers.
...
During generation code and relocation info are generated simultaneously.
When code generation is done you each code object has associated "relocation info".
Relocation information lets V8 to mark interesting places in the generated code: the pointers that might need to be relocated (after garbage collection),
correspondences between the machine program counter and source locations for stack walking.
This patch:
1. Add more source positions info in reloc info to make it suitable for source level mapping.
The amount of data should not be increased dramatically because (1) V8 already marks interesting places in the generated code and
(2) V8 does not write redundant information (it writes a pair (pc_offset, pos) only if pos is changed and skips other).
I measured it on Octane benchmark - for unoptimized code the number of source positions may achieve 2x ('lin_solve' from NavierStokes benchmark).
2. When a sample happens, CPU profiler finds a code object by pc, then use its reloc info to match the sample to a source line.
If a source line is found that hit counter is increased by one for this line.
3. Add a new public V8 API to get the hit source lines by CDT CPU profiler.
Note that it's expected a minor patch in Blink to pack the source level info in JSON to be shown.
4.Add a test that checks how the samples are distributed through source lines.
It tests two cases: (1) relocation info created during code generation and (2) relocation info associated with precompiled function's version.
Patch from Denis Pravdin <denis.pravdin@intel.com>;
R=svenpanne@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/682143003
Patch from Weiliang <weiliang.lin@intel.com>.
Cr-Commit-Position: refs/heads/master@{#25182}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25182 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 09:17:14 +00:00
mstarzinger@chromium.org
361d7b0f0e
Avoid redundant work in scheduler loop header/depth calculation.
...
R=jarin@chromium.org
TEST=cctest/test-scheduler/LoopedFloatingDiamond2
Review URL: https://codereview.chromium.org/702683002
Cr-Commit-Position: refs/heads/master@{#25181}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25181 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 09:15:42 +00:00
bmeurer@chromium.org
8798c410e1
[turbofan] Turn various diamonds into selects.
...
TEST=cctest/test-changes-lowering,mjsunit/asm,unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/704463004
Cr-Commit-Position: refs/heads/master@{#25180}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 09:10:32 +00:00
dcarney@chromium.org
57b42dc51f
[turbofan] extend register allocator testing with control flow
...
R=bmeurer@chromium.org , jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/699083003
Cr-Commit-Position: refs/heads/master@{#25178}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25178 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 08:28:45 +00:00
bmeurer@chromium.org
a7277a9b8c
MIPS: Skip embenchen tests on big-endian.
...
Emscripten requires little-endian arch. It has assertion for endianness:
assert(HEAPU8[0] === 255 && HEAPU8[3] === 0,
'Typed arrays 2 must be run on a little-endian system');
TEST=mjsunit/asm/embenchen/*
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/708663003
Patch from Paul Lind <paul.lind@imgtec.com>.
Cr-Commit-Position: refs/heads/master@{#25177}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25177 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 06:18:42 +00:00
bmeurer@chromium.org
881cece8de
[turbofan] Transform x * -1.0 to -0.0 - x.
...
TEST=msjunit/asm,unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/683753004
Cr-Commit-Position: refs/heads/master@{#25176}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25176 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 06:13:46 +00:00
dusan.milosavljevic@imgtec.com
032ae8e876
MIPS: Fix instruction selection test expectations after r25120.
...
TEST=unittests/InstructionSelectorCmpTest.Parameter,
InstructionSelectorTest.Word32EqualWithZero
BUG=
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/706633003
Cr-Commit-Position: refs/heads/master@{#25167}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25167 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 18:51:43 +00:00
ishell@chromium.org
023c5e2f82
Skip tests that timout on arm64
...
TBR=machenbach@chromium.org , bmeurer@chromium.org
Review URL: https://codereview.chromium.org/702163002
Cr-Commit-Position: refs/heads/master@{#25166}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25166 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 17:03:01 +00:00
titzer@chromium.org
0f46c9b46a
Revert "[turbofan] Compute tighter ranges for modulus in Typer."
...
This reverts commit 482586747ca6bc0c94cc23f916fd190931d3a836.
TBR=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/702893002
Cr-Commit-Position: refs/heads/master@{#25164}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25164 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 15:19:45 +00:00
titzer@chromium.org
b2800d7d87
[turbofan] Compute tighter ranges for modulus in Typer.
...
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/689133003
Cr-Commit-Position: refs/heads/master@{#25162}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25162 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 14:57:15 +00:00
machenbach@chromium.org
8db1bc7b06
Skip test in release mode for arm64
...
TBR=bmeurer@chromium.org , ishell@chromium.org
Review URL: https://codereview.chromium.org/701013006
Cr-Commit-Position: refs/heads/master@{#25161}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 14:39:43 +00:00
machenbach@chromium.org
fbb3898f96
Make slow tests on arm64
...
TBR=bmeurer@chromium.org , ishell@chromium.org
Review URL: https://codereview.chromium.org/701023003
Cr-Commit-Position: refs/heads/master@{#25160}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25160 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 14:32:46 +00:00
machenbach@chromium.org
90bfcce84b
Skip box2d for gc stress.
...
TBR=bmeurer@chromium.org , ishell@chromium.org
Review URL: https://codereview.chromium.org/696213003
Cr-Commit-Position: refs/heads/master@{#25152}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25152 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 13:12:46 +00:00
jarin@chromium.org
91eeae5849
[turbofan] Fix deopt for assignments in non-effect context.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/701853002
Cr-Commit-Position: refs/heads/master@{#25151}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25151 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 13:09:14 +00:00
bmeurer@chromium.org
0c1a545a93
[turbofan] Propagate "deferredness" to dominated basic blocks.
...
TEST=cctest/test-scheduler
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/686273005
Cr-Commit-Position: refs/heads/master@{#25141}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25141 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 10:44:12 +00:00
machenbach@chromium.org
e0801075cd
Add fast-variants feature to test driver.
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/704723002
Cr-Commit-Position: refs/heads/master@{#25139}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25139 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 10:39:15 +00:00
mstarzinger@chromium.org
b0aa81f30d
Make special RPO computation iterative during scheduling.
...
This contains the following changes squashed together:
- Switch BasicBlock::loop_end to be a basic block instead of an RPO.
- Switch ScheduleLate to use dominator depth instead of RPO.
- Switch ScheduleEarly to use dominator depth instead of RPO.
- Push out absolute RPO ordering everywhere else in the scheduler.
- Keep linked list of blocks in RPO order while scheduling.
- Switch from RPO number to depth for dominator calculation.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/696363002
Cr-Commit-Position: refs/heads/master@{#25138}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25138 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 10:10:54 +00:00
ishell@chromium.org
33dde8d92c
TransitionArray now uses <is_data_property, name, attributes> tuple as a key, which allows to have several entries for the same property name.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/661133002
Cr-Commit-Position: refs/heads/master@{#25136}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25136 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 09:26:48 +00:00
bmeurer@chromium.org
3abe032b4c
Add test cases based on the programs from the Embenchen benchmark suite.
...
TEST=mjsunit/asm/embenchen
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/704653004
Cr-Commit-Position: refs/heads/master@{#25135}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25135 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 09:11:20 +00:00
yangguo@chromium.org
630d6b8b71
Introduce new stepping mode to step into another frame.
...
R=aandrey@chromium.org
BUG=chromium:267592
LOG=Y
Review URL: https://codereview.chromium.org/690263004
Cr-Commit-Position: refs/heads/master@{#25130}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25130 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 08:44:54 +00:00
bmeurer@chromium.org
50ecc64539
[turbofan] Fix missing machine type for float32/float64 array accesses.
...
TEST=mjsunit/asm
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/703883002
Cr-Commit-Position: refs/heads/master@{#25128}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25128 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 08:15:47 +00:00
aandrey@chromium.org
cb0694e765
Allow uncaught exception messaging in Object.observe callbacks.
...
This also naturally handles pausing on uncaught exceptions in Object.observe callbacks.
R=adamk@chromium.org , yangguo@chromium.org , yurys@chromium.org
BUG=chromium:335660
LOG=Y
Review URL: https://codereview.chromium.org/692313003
Cr-Commit-Position: refs/heads/master@{#25126}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25126 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 07:23:59 +00:00
bmeurer@chromium.org
1ef9e22900
[x64] 64-bit shift left by 32 or more covers sign/zero extend.
...
TEST=unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/704703002
Cr-Commit-Position: refs/heads/master@{#25123}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25123 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 05:58:15 +00:00
rossberg@chromium.org
dbc6c86b8c
Adjust test262-es6 following --harmony flag change
...
TBR=adamk@chromium.org
BUG=
Review URL: https://codereview.chromium.org/702753002
Cr-Commit-Position: refs/heads/master@{#25119}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25119 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-04 18:38:08 +00:00
rossberg@chromium.org
357882a8e5
1..isPrototypeOf.call(null)
should return false, not throw TypeError.
...
BUG=v8:3483
LOG=Y
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/433413002
Cr-Commit-Position: refs/heads/master@{#25116}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25116 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-04 16:14:18 +00:00
rossberg@chromium.org
0b9a70ade3
Remove --harmony implications for incomplete features
...
This is in preparation for making --harmony and --es-staging synonyms.
The only remaining difference currently is block-scoping, which is still
implied by --harmony, to avoid regressing on a long-available feature.
Also removes the special-casing of --harmony-proxies.
R=adamk@chromium.org
BUG=
Review URL: https://codereview.chromium.org/693153004
Cr-Commit-Position: refs/heads/master@{#25115}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25115 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-04 16:05:44 +00:00
titzer@chromium.org
3386da98fb
Reduce size of array in polymorph-arrays.js.
...
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/686273003
Cr-Commit-Position: refs/heads/master@{#25114}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25114 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-04 15:54:48 +00:00
titzer@chromium.org
faa71f966a
Introduce Diamond, a helper for building diamond-shaped control patterns.
...
R=mstarzinger@chromium.org , bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/694063005
Cr-Commit-Position: refs/heads/master@{#25110}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25110 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-04 14:37:44 +00:00
bmeurer@chromium.org
3897182246
[turbofan] Add AllocateHeapNumberStub to avoid runtime call.
...
TEST=unittests
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/703473004
Cr-Commit-Position: refs/heads/master@{#25107}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25107 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-04 12:58:49 +00:00
ulan@chromium.org
6ff255eabc
Disable long running gc-stress tests on arm64 for TF.
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/701723004
Cr-Commit-Position: refs/heads/master@{#25105}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25105 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-04 11:58:49 +00:00
bmeurer@chromium.org
e6cfe350f8
[turbofan] Fix recognition of Uint32Div in simplified lowering.
...
TEST=mjsunit/asm
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/701813003
Cr-Commit-Position: refs/heads/master@{#25103}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25103 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-04 11:37:47 +00:00
aandrey@chromium.org
a17b087a7d
Follow up to fix v8::Exception::GetMessage() actually do what it was intended to.
...
The main thing for v8::Exception::GetMessage() is to extract message location from
error stack trace, even when stack trace capturing is off (when DevTools is closed).
BUG=chromium:427954
R=yangguo@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/696703002
Cr-Commit-Position: refs/heads/master@{#25101}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25101 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-04 10:07:11 +00:00
aandrey@chromium.org
35eaced208
Add debug mirror support for ES6 Map/Set iterators.
...
This is to show values preview of an iterator in DevTools console.
API=v8::Value::IsMapIterator, v8::Value::IsSetIterator
BUG=chromium:427868
R=arv@chromium.org , yangguo@chromium.org , adamk@chromium.org
LOG=Y
Review URL: https://codereview.chromium.org/693813002
Cr-Commit-Position: refs/heads/master@{#25100}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25100 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-04 10:02:43 +00:00
dcarney@chromium.org
7cb25f5020
[turbofan] add RegisterConfiguration to decouple arch specific register layouts from compiler
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/694313002
Cr-Commit-Position: refs/heads/master@{#25097}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25097 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-04 09:22:32 +00:00
bmeurer@chromium.org
18e18d21f1
[turbofan] Strip useless sign-extension for store8/store16.
...
TEST=unittests
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/698963002
Cr-Commit-Position: refs/heads/master@{#25091}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25091 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-04 07:35:49 +00:00
arv@chromium.org
a27c77221e
Remove FAIL from test262-es6.status
...
TBR=rossberg
BUG=v8:3642
LOG=Y
Review URL: https://codereview.chromium.org/698073003
Cr-Commit-Position: refs/heads/master@{#25088}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25088 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-03 21:48:31 +00:00
arv@chromium.org
7a63c74caf
Classes: static should still be treated as a strict reserved word
...
When --harmony-classes is enabled we did not treat static as a
strict reserved word.
BUG=v8:3642
LOG=Y
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/652743009
Cr-Commit-Position: refs/heads/master@{#25087}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25087 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-03 19:54:14 +00:00
jkummerow@chromium.org
e525e76f21
Fix a few nits found by PVS Studio
...
BUG=v8:3192
LOG=n
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/185563004
Cr-Commit-Position: refs/heads/master@{#25086}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25086 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-03 19:45:25 +00:00
titzer@chromium.org
5bba6b20e6
Make visualizer robust to graphs with NULL inputs.
...
R=mstarzinger@chromium.org , jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/652263002
Cr-Commit-Position: refs/heads/master@{#25084}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25084 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-03 17:42:17 +00:00
erikcorry@chromium.org
3d62e24c5f
Introduce phantom weak handles in the API and use them internally for debug info
...
R=ulan@chromium.org , jochen@chromium.org
BUG=
Review URL: https://codereview.chromium.org/687003005
Cr-Commit-Position: refs/heads/master@{#25083}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-03 17:24:22 +00:00
ishell@chromium.org
a19c18ac6d
Reland "Limit the number of transitions allowed per hidden class."
...
BUG=chromium:427813
LOG=N
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/676393002
Cr-Commit-Position: refs/heads/master@{#25082}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25082 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-03 16:46:29 +00:00
bmeurer@chromium.org
744c66bc29
[turbofan] Introduce separate SelectLowering reducer.
...
Split lowering of Select nodes into a separate graph reducer and be more
clever when lowering to diamonds, i.e. reuse diamonds that have the same
condition and only add more phis to it.
TEST=unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/702463002
Cr-Commit-Position: refs/heads/master@{#25078}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-03 15:17:47 +00:00
verwaest@chromium.org
3ea82aa917
Don't double-check elements in the prototype chain in array builtins
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/701513002
Cr-Commit-Position: refs/heads/master@{#25076}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25076 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-03 14:06:15 +00:00
dcarney@chromium.org
273a9ad200
build fix after 25072
...
TBR=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/688323005
Cr-Commit-Position: refs/heads/master@{#25073}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25073 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-03 13:55:44 +00:00
dcarney@chromium.org
e17194ba52
build fix after r25071
...
TBR=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/684523003
Cr-Commit-Position: refs/heads/master@{#25072}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25072 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-03 13:42:13 +00:00
dcarney@chromium.org
0d1cdebad2
[turbofan] initial framework for unittesting of register allocator
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/683133005
Cr-Commit-Position: refs/heads/master@{#25071}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25071 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-03 13:27:23 +00:00
mstarzinger@chromium.org
c63deb9b56
Make generic algorithm less generic.
...
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/701473002
Cr-Commit-Position: refs/heads/master@{#25064}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25064 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-03 10:31:11 +00:00
baptiste.afsa@arm.com
bb78f231ab
[turbofan] Select tbz/tbnz when possible on ARM64.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/697653002
Cr-Commit-Position: refs/heads/master@{#25063}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25063 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-03 10:29:11 +00:00
titzer@chromium.org
c62bb3e2eb
Now with more checkings! Skip the CallFunctionStub when the callee function can be statically determined.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/696223002
Cr-Commit-Position: refs/heads/master@{#25062}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25062 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-03 10:22:44 +00:00
bmeurer@chromium.org
498920f91c
[turbofan] Also optimize unsigned division by constant.
...
TEST=cctest,mjsunit,unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/697663003
Cr-Commit-Position: refs/heads/master@{#25061}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25061 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-03 10:05:46 +00:00
yangguo@chromium.org
e634bdb290
Fix constant in Math.tan implementation.
...
R=jkummerow@chromium.org , rtoy@chromium.org
BUG=chromium:427468
LOG=Y
Review URL: https://codereview.chromium.org/695263002
Cr-Commit-Position: refs/heads/master@{#25060}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25060 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-03 09:40:44 +00:00
mvstanton@chromium.org
c65edf93b1
Fix for bug 429168, PdfJs regression. We pay a very high cost for AllocationResult being a > kPointerSize struct. This can be avoided by using Smis to indicate failure with retry spaces.
...
BUG=429168
LOG=N
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/699473002
Cr-Commit-Position: refs/heads/master@{#25057}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25057 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-03 08:43:40 +00:00
bmeurer@chromium.org
017c518321
[x86] Fix register constraints for multiply high and modulus.
...
R=jarin@chromium.org
TEST=mjsunit/compiler/regress-register-allocator2
Review URL: https://codereview.chromium.org/697053002
Cr-Commit-Position: refs/heads/master@{#25054}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25054 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-03 06:28:12 +00:00
bmeurer@chromium.org
8c5fdd0575
IA: Double arithmetic binops support memory operand
...
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/662813002
Patch from Weiliang Lin <weiliang.lin@intel.com>.
Cr-Commit-Position: refs/heads/master@{#25052}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25052 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-03 05:57:17 +00:00
jarin@chromium.org
4a9579feeb
[turbofan] Avoid unnecessary (u)int32<->float64 changes in simplified lowering.
...
BUG=
R=bmeurer@chromium.org , titzer@chromium.org
Review URL: https://codereview.chromium.org/683873002
Cr-Commit-Position: refs/heads/master@{#25045}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25045 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-31 19:53:48 +00:00
jarin@chromium.org
6935e0131c
Revert "Skip the CallFunctionStub when the callee function can be statically determined."
...
This reverts commit 9845dfadd2
(r25042) for failing tests.
TBR=titzer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/693103004
Cr-Commit-Position: refs/heads/master@{#25044}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25044 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-31 19:06:18 +00:00
titzer@chromium.org
9845dfadd2
Skip the CallFunctionStub when the callee function can be statically determined.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/694773002
Cr-Commit-Position: refs/heads/master@{#25042}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25042 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-31 16:36:13 +00:00
verwaest@chromium.org
604672e87f
Changing the aging mechanism for script and eval caches.
...
Instead of using multiple generations for the code, first only store the hash that gets aged. Once a hash matched on a next probe, actually cache the code. Use regular code aging to remove entries from the cache.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/675013004
Cr-Commit-Position: refs/heads/master@{#25040}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25040 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-31 14:52:27 +00:00
mstarzinger@chromium.org
cd3273b562
Properly handle stack overflows in the AST graph builder.
...
R=jarin@chromium.org
BUG=chromium:429159
TEST=mjsunit/regress/regress-crbug-429159
LOG=N
Review URL: https://codereview.chromium.org/697473006
Cr-Commit-Position: refs/heads/master@{#25037}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25037 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-31 14:02:46 +00:00
rossberg@chromium.org
b4a49dfb48
Upgrade test262-es6
...
TBR=machenbach@chromium.org
BUG=
Review URL: https://codereview.chromium.org/695763003
Cr-Commit-Position: refs/heads/master@{#25036}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25036 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-31 13:39:44 +00:00
machenbach@chromium.org
6bd521a549
Skip tests for mips.
...
TBR=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/698513003
Cr-Commit-Position: refs/heads/master@{#25035}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-31 13:36:49 +00:00
ulan@chromium.org
de672226c7
Clear old backing store of WeakCollection on updates.
...
Not clearing can lead to a crash under following conditions:
1. Backing store of a weak map is allocated in large object space.
2. The backing store is marked incrementaly via the weak map.
3. The weak map is updated and gets a new backing store.
4. The store buffer overflows and marks the chunk of the old backing store as
"scan on scavenge."
5. Mark-compact collection kills some elements of the weak map. Note that the
old backing store survives because it was marked incrementally, but its dead
elements are not cleared.
6. Scavenger iterates over the old backing store, tries to move a dead object
and crashes.
BUG=v8:3631
LOG=N
TEST=cctest/test-heap/Regress3631
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/686783003
Cr-Commit-Position: refs/heads/master@{#25032}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25032 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-31 13:11:44 +00:00
marja@chromium.org
1bb79539f3
Scanner: remove PushBack calls when we're going to return ILLEGAL.
...
This simplifies escape handling and makes it easier to extend escapes for ES6.
PushBack just before detecting ILLEGAL is unnecessary, since we will abort the
scanning / parsing anyway at that point, and it doesn't matter where the cursor
exactly is. The error messages w/ PushBack are not any better or more correct
than without.
In addition: remove a comment about handling invalid escapes gracefully when we
no longer do. (*)
This CL includes a behavioral change: For input "var r = /foobar/g\urrrr;" we
used to report "unexpected_token: ILLEGAL" for "\u", but now we report
malformed_regexp_flags which is a more correct error message. (Note that the
code for reporting invalid_regexp_flags was dead, and invalid_regexp_flags is
not the right error message.)
Note that the V8 is more relaxed about unicode escapes in regexp flags than ES6
(see
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-regular-expressions )
and this CL doesn't change it. (V8 accepts any \uxxxx, ES6 spec says only a
certain value range is acceptable.)
(*) Code archaeology:
Originally, doing PushBack in ScanHexEscape made sense (see e.g., here
https://codereview.chromium.org/5063003/diff/6001/src/prescanner.h ), since we
wouldn't return ILLEGAL but treat an invalid escape sequence "\uxxxx" as
"uxxxx".
(The repo at that point contains another instance of the same function, from the
initial commit. The logic is the same.)
This behavior was changed in a "renaming" commit
https://codereview.chromium.org/7739020 .
BUG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/684873002
Cr-Commit-Position: refs/heads/master@{#25031}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-31 13:03:45 +00:00
dcarney@chromium.org
3cace296ee
convert BitVector to use pointer size blocks
...
additionally rename data-flow.* to bit-vector.* as at some point these file became very inaccurately named
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/683243005
Cr-Commit-Position: refs/heads/master@{#25030}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25030 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-31 10:44:47 +00:00
bmeurer@chromium.org
28b683630e
[turbofan] Lower NumberModulus to Uint32Mod if both inputs are Unsigned32.
...
TEST=cctest/test-simplified-lowering
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/685993003
Cr-Commit-Position: refs/heads/master@{#25025}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25025 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-31 07:59:18 +00:00
bmeurer@chromium.org
948ce2141e
[turbofan] First step towards correctified 64-bit addressing.
...
Also remove the LEA matching from x64, since it was never really
effective. We'll optimize that once we're correct.
TEST=cctest,unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/652363006
Cr-Commit-Position: refs/heads/master@{#25024}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25024 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-31 06:41:41 +00:00
titzer@chromium.org
bd5c9834b6
Fix bug in optimization of Uint32LessThan.
...
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/689883003
Cr-Commit-Position: refs/heads/master@{#25023}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25023 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 15:52:47 +00:00
aandrey@chromium.org
aeb7ba5259
Introduce v8::Exception::GetMessage to find location of an error object.
...
API=v8::Exception::GetMessage
BUG=chromium:427954
R=yangguo@chromium.org
LOG=Y
Committed: https://code.google.com/p/v8/source/detail?r=25015
Review URL: https://codereview.chromium.org/687253002
Cr-Commit-Position: refs/heads/master@{#25021}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25021 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 14:51:46 +00:00
yangguo@chromium.org
0e830ad0bb
Do not embed array objects in unoptimized code.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/685393002
Cr-Commit-Position: refs/heads/master@{#25019}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25019 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 14:21:43 +00:00
sigurds@chromium.org
75ac43928b
Add floor, ceil, round (truncate) instructions for ia32, x64 (if SSE4.1) and
...
add floor, ceil, round (truncate and away from zero) for arm64.
R=bmeurer@chromium.org , dcarney@chromium.org , mstarzinger@chromium.org , rodolph.perfetta@arm.com
TEST=test/mjsunit/asm/math-floor.js,test/mjsunit/asm/math-ceil.js,test/unittest/compiler/js-builtin-reducer-unittest.cc
Review URL: https://codereview.chromium.org/677433002
Cr-Commit-Position: refs/heads/master@{#25018}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25018 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 14:16:15 +00:00
machenbach@chromium.org
7c27d234f3
Reverting r25015 and r25016 for broken build.
...
TBR=yangguo@chromium.org , machenbach@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/688813002
Cr-Commit-Position: refs/heads/master@{#25017}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25017 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 13:57:47 +00:00
aandrey@chromium.org
ad4515fd1f
Introduce v8::Exception::GetMessage to find location of an error object.
...
API=v8::Exception::GetMessage
BUG=chromium:427954
R=yangguo@chromium.org
LOG=Y
Review URL: https://codereview.chromium.org/687253002
Cr-Commit-Position: refs/heads/master@{#25015}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25015 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 13:18:16 +00:00
machenbach@chromium.org
e42c564ffb
Skip tests with TF.
...
TBR=mstarzinger@chromium.org ,bmeurer@chromium.org
Review URL: https://codereview.chromium.org/691623004
Cr-Commit-Position: refs/heads/master@{#25014}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25014 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 12:38:48 +00:00
sigurds@chromium.org
15ce82722d
Add vrint{a,n,p,m,z} instructions to arm assembler. These instructions are only available on ARMv8.
...
R=rodolph.perfetta@gmail.com , ulan@chromium.org , bmeurer@chromium.org , rodolph.perfetta@arm.com
Review URL: https://codereview.chromium.org/682643002
Cr-Commit-Position: refs/heads/master@{#25013}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25013 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 11:01:12 +00:00
dcarney@chromium.org
ee9de33075
[turbofan] move Node to vreg mapping to InstructionSelector
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/683933004
Cr-Commit-Position: refs/heads/master@{#25010}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 09:50:41 +00:00
machenbach@chromium.org
264b9aaa31
Skipt tests with TF on windows.
...
TBR=bmeurer@chromium.org ,mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/692823002
Cr-Commit-Position: refs/heads/master@{#25009}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 09:48:42 +00:00
dcarney@chromium.org
7f94583f79
[turbofan] add configuration parameters for register allocator
...
T=jarin@chromium.org
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/688633002
Cr-Commit-Position: refs/heads/master@{#25008}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25008 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 09:01:47 +00:00
machenbach@chromium.org
43b6a2ecf6
Skip test on win debug.
...
TBR=bmeurer@chromium.org
BUG=chromium:428315
LOG=n
Review URL: https://codereview.chromium.org/693473002
Cr-Commit-Position: refs/heads/master@{#25007}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25007 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 08:51:50 +00:00
yangguo@chromium.org
e847cd21fd
Add test case for replacing turbofan code for debugging.
...
R=jarin@chromium.org
BUG=v8:3660
LOG=N
Review URL: https://codereview.chromium.org/665833003
Cr-Commit-Position: refs/heads/master@{#25002}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25002 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 07:33:58 +00:00
yangguo@chromium.org
76292d2daf
Fix assertion scope in Runtime_GetScript.
...
The HeapIterator implies DisallowHeapAllocation, but Script::GetWrapper
may allocate.
LOG=N
R=jkummerow@chromium.org
BUG=chromium:410033
Review URL: https://codereview.chromium.org/680283002
Cr-Commit-Position: refs/heads/master@{#25001}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 07:25:43 +00:00
jarin@chromium.org
5d54e89ad6
[turbofan] Fix input count in Uint32Mod/Div reduction.
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/684193002
Cr-Commit-Position: refs/heads/master@{#24997}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24997 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 21:07:47 +00:00
titzer@chromium.org
5c25fdb65e
Inline trivial OperatorProperties methods.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/686213002
Cr-Commit-Position: refs/heads/master@{#24995}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24995 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 18:47:14 +00:00
baptiste.afsa@arm.com
df312d90f0
[turbofan] Bug fix in arm64 ubfx selection.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/687193002
Cr-Commit-Position: refs/heads/master@{#24989}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24989 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 16:47:45 +00:00
titzer@chromium.org
2a57f036b2
Run ControlReducer early after graph building, then again later.
...
The justification for doing this is to reduce the size of the graph and
therefore speedup later phases of compilation. The control reducer also
obviates the need to run the PhiReducer, since it subsumes it.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/681263004
Cr-Commit-Position: refs/heads/master@{#24986}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24986 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 15:27:58 +00:00
machenbach@chromium.org
f02d4acbf9
Skip some tests with TF on gc stress.
...
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/652193007
Cr-Commit-Position: refs/heads/master@{#24985}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24985 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 15:18:47 +00:00
titzer@chromium.org
6c6a71b3f7
Move input/output counts directly into Operators, simplying OperatorProperties.
...
This is a first step to refactoring OperatorProperties out of existence.
The next step is to inline OperatorProperties::GetXXXCount into the callers.
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/680313003
Cr-Commit-Position: refs/heads/master@{#24983}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24983 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 14:41:18 +00:00
bmeurer@chromium.org
de088f207c
[turbofan] Introduce new Select operator to improve bounds checking.
...
TEST=mjsunit,unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/691513002
Cr-Commit-Position: refs/heads/master@{#24980}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24980 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 14:17:14 +00:00
dcarney@chromium.org
60909d1eaf
[turbofan] cleanup register allocator interface a little
...
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/671043004
Cr-Commit-Position: refs/heads/master@{#24978}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24978 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 12:35:16 +00:00
arv@chromium.org
5b3f9ec76d
Classes: Add super support in methods and accessors
...
This is done by installing the [[HomeObject]] on the method and the
accessor functions.
BUG=v8:3330
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/683893002
Cr-Commit-Position: refs/heads/master@{#24976}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 11:46:18 +00:00
dslomov@chromium.org
65fb2cf129
harmony-scoping: Correct dynamic lookups on a top level.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/650663003
Cr-Commit-Position: refs/heads/master@{#24975}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24975 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 11:00:15 +00:00
baptiste.afsa@arm.com
3901244107
[arm64] Turn Word64And into tst instruction when possible.
...
Also add corresponding unit tests.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/684813004
Cr-Commit-Position: refs/heads/master@{#24974}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24974 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 10:51:46 +00:00
dcarney@chromium.org
d24cd63fff
allow disabling of ArrayBuffer neutering
...
BUG=
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/684103002
Cr-Commit-Position: refs/heads/master@{#24973}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24973 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 10:37:12 +00:00
yangguo@chromium.org
64cef0b2e9
Reland "In PrepareForBreakPoints, also purge shared function info not referenced by functions."
...
BUG=chromium:424142
LOG=N
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/692453002
Cr-Commit-Position: refs/heads/master@{#24970}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24970 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 10:19:44 +00:00
adamk@chromium.org
5b85911e5e
Add performance tests for Map/Set with String and Object keys
...
The big change here is to split out each key type into its own
benchmark suite, since optimizations for different key types
are likely to be disjoint. ForEach tests have also been split
into separate "Iteration" suites, again with the thought that
iteration performance is likely separable from key type.
As part of adding the new tests, rejiggered the existing tests:
- Map.set and Set.add (along with their Weak variants) no longer
include construction costs in their scores
- Moved key logic into the shared common.js
R=arv@chromium.org , machenbach@chromium.org
Review URL: https://codereview.chromium.org/685753004
Cr-Commit-Position: refs/heads/master@{#24969}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 10:18:38 +00:00
yangguo@chromium.org
67b76ebaea
Revert "In PrepareForBreakPoints, also purge shared function info not referenced by functions."
...
This reverts commit r24964.
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/687163002
Cr-Commit-Position: refs/heads/master@{#24966}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24966 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 09:23:10 +00:00
yangguo@chromium.org
7668c4c29a
In PrepareForBreakPoints, also purge shared function info not referenced by functions.
...
R=ulan@chromium.org
BUG=chromium:424142
LOG=N
Review URL: https://codereview.chromium.org/685753002
Cr-Commit-Position: refs/heads/master@{#24964}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24964 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 08:11:41 +00:00
titzer@chromium.org
1ddcb4b16d
Fix windows build.
...
TBR=ishell@chromium.org
BUG=
Review URL: https://codereview.chromium.org/669663003
Cr-Commit-Position: refs/heads/master@{#24958}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24958 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-28 17:54:57 +00:00
titzer@chromium.org
90a7f07489
Implement loop variable assignment analysis.
...
This analysis computes the set of variables that are assigned in each loop. This is useful to avoid creating redundant loop phis when building an SSA graph, which just waste memory and require analysis to get rid of.
This CL implements an AST walk for the analysis and plugs the result into the TurboFan graph builder. I left this analysis under a flag for A/B testing and until sufficient unit tests can be developed.
R=danno@chromium.org , mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/656123005
Cr-Commit-Position: refs/heads/master@{#24957}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24957 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-28 17:30:14 +00:00
mvstanton@chromium.org
a2e21393ed
Introduce FeedbackNexus for vector-based ics.
...
A FeedbackNexus is the combination of a feedback vector, a slot(s) in
the vector, along with methods to query and manipulate that information
in a type-correct way.
A CallIC will have a CallICNexus, a LoadIC a LoadICNexus, etc.,
reflecting the fact that different types of ICs configure their data
in unique ways.
This CL limits itself to introducing and using the nexus type only for
CallICs. A follow-up will use them for Load and KeyedLoadICs for the
case when the --vector-ics flag is turned on.
The notion of a Nexus is also embedded at the lowest level of the IC
class. This makes sense because more ICs should become vector-based
in the future.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/683933002
Cr-Commit-Position: refs/heads/master@{#24952}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24952 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-28 16:05:45 +00:00
mvstanton@chromium.org
0f6699bee8
Revert "Introduce FeedbackNexus for vector-based ics."
...
This reverts commit r24945.
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/683883002
Cr-Commit-Position: refs/heads/master@{#24947}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24947 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-28 15:08:13 +00:00
mvstanton@chromium.org
27ad136bdb
Introduce FeedbackNexus for vector-based ics.
...
A FeedbackNexus is the combination of a feedback vector, a slot(s) in
the vector, along with methods to query and manipulate that information
in a type-correct way.
A CallIC will have a CallICNexus, a LoadIC a LoadICNexus, etc.,
reflecting the fact that different types of ICs configure their data
in unique ways.
This CL limits itself to introducing and using the nexus type only for
CallICs. A follow-up will use them for Load and KeyedLoadICs for the
case when the --vector-ics flag is turned on.
The notion of a Nexus is also embedded at the lowest level of the IC
class. This makes sense because more ICs should become vector-based
in the future.
This CL is based on https://codereview.chromium.org/679073002/ which
should land first.
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/680883004
Cr-Commit-Position: refs/heads/master@{#24945}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24945 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-28 14:50:43 +00:00
machenbach@chromium.org
a5ffbf3c46
[Sheriff] Skip tests that fail with TF on arm64.
...
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/687653002
Cr-Commit-Position: refs/heads/master@{#24944}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24944 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-28 14:47:45 +00:00
arv@chromium.org
013a29a2bc
Classes: Add more tests for prototype edge cases
...
BUG=3655
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/687453004
Cr-Commit-Position: refs/heads/master@{#24943}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24943 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-28 14:12:44 +00:00
bmeurer@chromium.org
81aaeb476d
[turbofan] Complete support for integer division/modulus in simplified lowering.
...
Also add backend flags that tell whether integer division/modulus is
generally safe, i.e. does not trap on overflow or divide by zero.
TEST=unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/681133004
Cr-Commit-Position: refs/heads/master@{#24942}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-28 13:56:46 +00:00
arv@chromium.org
5c2dffc380
Classes: Add test for method prototype
...
Methods should not have a prototype property
BUG=v8:3330
LOG=y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/678103004
Cr-Commit-Position: refs/heads/master@{#24939}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24939 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-28 13:40:14 +00:00
aandrey@chromium.org
3e7c0d772c
Get stack trace for uncaught exceptions/promise rejections from the simple stack when available.
...
We can convert simple stack trace of an Error object to the detailed stack that
is used for debugging. Do so when available, and only then fall back to
reporting stack trace at throw site.
R=yangguo@chromium.org , Yang
LOG=Y
Review URL: https://codereview.chromium.org/674423002
Cr-Commit-Position: refs/heads/master@{#24938}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24938 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-28 13:25:14 +00:00
wingo@igalia.com
d518d3bce7
Move AST node counting to post-pass
...
R=mstarzinger@chromium.org , svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/683023002
Cr-Commit-Position: refs/heads/master@{#24937}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24937 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-28 13:24:18 +00:00
bmeurer@chromium.org
2c78a23c56
[turbofan] LoadElement should not have a control input.
...
TEST=unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/685723002
Cr-Commit-Position: refs/heads/master@{#24935}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24935 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-28 13:00:42 +00:00
arv@chromium.org
1881cee691
Classes: Add basic support for properties
...
This adds the properties to the prototype and the constructor.
BUG=v8:3330
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/680993003
Cr-Commit-Position: refs/heads/master@{#24934}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24934 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-28 12:43:49 +00:00
arv@chromium.org
a13e2298e2
Allow duplicate property names in classes
...
ES6 no longer makes duplicate properties an error. However, we
continue to treat duplicate properties in strict mode object
literals as errors. With this change we allow duplicate properties
in class bodies. We continue to flag duplicate constructors as an
error as required by ES6.
BUG=v8:3570
LOG=Y
R=marja@chromium.org
Review URL: https://codereview.chromium.org/677953004
Cr-Commit-Position: refs/heads/master@{#24933}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24933 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-28 12:23:40 +00:00
bmeurer@chromium.org
3a089bf9a0
[turbofan] Reduce (x & K) & K to x & K.
...
TEST=unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/685713002
Cr-Commit-Position: refs/heads/master@{#24931}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24931 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-28 11:57:44 +00:00
mstarzinger@chromium.org
d02f7210ef
Make floating merges respected minimum RPO of coupled phis.
...
R=bmeurer@chromium.org , jarin@chromium.org
TEST=cctest/test-scheduler/LoopedFloatingDiamond
Review URL: https://codereview.chromium.org/682983003
Cr-Commit-Position: refs/heads/master@{#24930}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24930 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-28 11:38:48 +00:00
yangguo@chromium.org
0dfbf83468
Use shared function info for eval cache key.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/678843004
Cr-Commit-Position: refs/heads/master@{#24927}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24927 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-28 10:01:44 +00:00
yangguo@chromium.org
efc01f4736
Prevent recursion in the debug event listener.
...
R=ulan@chromium.org
BUG=chromium:409614
LOG=N
Review URL: https://codereview.chromium.org/684573005
Cr-Commit-Position: refs/heads/master@{#24924}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24924 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-28 09:44:43 +00:00
mvstanton@chromium.org
6b68824a46
Fix ASAN warning.
...
BUG=
TBR=ishell@chromium.org
Review URL: https://codereview.chromium.org/683033002
Cr-Commit-Position: refs/heads/master@{#24920}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-28 08:34:40 +00:00
bmeurer@chromium.org
95095af57f
[turbofan] Improve typed lowering for JSToBoolean.
...
- JSToBoolean(x:string) => BooleanNot(NumberEqual(x.length, #0 ))
- JSToBoolean(phi(x1,...,xn):primitive) => phi(JSToBoolean(x1),...,JSToBoolean(xn))
TEST=cctest,mjsunit/asm/do-while,mjsunit/boolean,unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/681223002
Cr-Commit-Position: refs/heads/master@{#24919}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-28 08:34:15 +00:00
bmeurer@chromium.org
1e96221bbb
[turbofan] Minor cleanups to lowering of typed array loads/stores.
...
TEST=unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/680063004
Cr-Commit-Position: refs/heads/master@{#24917}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24917 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-28 08:29:19 +00:00
jarin@chromium.org
167fa99716
Revert "[turbofan] Merge GenericNode with Node."
...
This reverts commit a238443c00
(r24915)
for tanking benchmarks.
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/684693002
Cr-Commit-Position: refs/heads/master@{#24916}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24916 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-27 22:34:44 +00:00
jarin@chromium.org
a238443c00
[turbofan] Merge GenericNode with Node.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/676353002
Cr-Commit-Position: refs/heads/master@{#24915}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24915 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-27 20:37:47 +00:00
ishell@chromium.org
3a26fc111b
Fix for the cctest compilation issue on Mac after r24911.
...
TBR=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/667153005
Cr-Commit-Position: refs/heads/master@{#24913}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24913 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-27 16:59:15 +00:00
yangguo@chromium.org
8680952d93
Add serializer test case to bug fix in r24871.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/680883003
Cr-Commit-Position: refs/heads/master@{#24912}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24912 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-27 16:40:16 +00:00
mvstanton@chromium.org
15c5c9d530
A type vector with multiple IC types needs metadata.
...
This CL adds a bitset to describe the type of IC in each IC slot.
This is necessary for clearing ICs of different types.
With FLAG_vector_ics off (the current state), it's not required because
CALL_IC is the only type of IC in the vector.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/679073002
Cr-Commit-Position: refs/heads/master@{#24911}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-27 16:34:39 +00:00
wingo@igalia.com
0755160e28
Revert "Move AST node counting to post-pass"
...
This reverts commit 698356720824559a6bd81c24be707b44ac277526 for
breaking regress-96526-002 among other things.
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/678033002
Cr-Commit-Position: refs/heads/master@{#24910}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24910 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-27 16:25:40 +00:00
wingo@igalia.com
88e0c38c9a
Move AST node counting to post-pass
...
R=mstarzinger@chromium.org , svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/675493002
Cr-Commit-Position: refs/heads/master@{#24909}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24909 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-27 15:00:43 +00:00
jarin@chromium.org
abefd29161
Revert "Enable turbofan deoptimization by default."
...
This reverts commit 866032692f
for breaking
tests.
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/681713004
Cr-Commit-Position: refs/heads/master@{#24908}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24908 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-27 14:37:10 +00:00
adamk@chromium.org
f1954232b0
SimpleMove now calls [[Has]] before [[Get]] when moving elements
...
BUG=v8:3643
LOG=n
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/678753002
Cr-Commit-Position: refs/heads/master@{#24907}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24907 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-27 13:05:13 +00:00
jarin@chromium.org
866032692f
Enable turbofan deoptimization by default.
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/638833004
Cr-Commit-Position: refs/heads/master@{#24905}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24905 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-27 12:47:16 +00:00
dcarney@chromium.org
91f4962343
[turbofan] reduce allocations outside of pipeline
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/679793003
Cr-Commit-Position: refs/heads/master@{#24904}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24904 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-27 12:40:13 +00:00
erikcorry@chromium.org
716648065a
Revert 'Introduce phantom weak handles in the API and use them internally for debug info'
...
Revert of https://codereview.chromium.org/649563006/ due to layout test
failures.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/677403002
Cr-Commit-Position: refs/heads/master@{#24901}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24901 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-27 12:03:39 +00:00
verwaest@chromium.org
d83acdf9a0
Revert "Limit the number of transitions allowed per hidden class." Due to crashes in ClearMapTransitions
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/661583004
Cr-Commit-Position: refs/heads/master@{#24900}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24900 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-27 11:58:18 +00:00
erikcorry@chromium.org
891e289d0f
Introduce phantom weak handles in the API and use them internally for debug info
...
R=jochen@chromium.org , ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/649563006
Cr-Commit-Position: refs/heads/master@{#24899}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24899 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-27 11:05:11 +00:00
danno@chromium.org
16928e28d7
[turbofan] Reduce memory consumption of graph building
...
Allow reservation of additional input capacity when creating nodes to prevent switching to deque representation when adding well-known additional inputs.
Also ensure that only a single temporary buffer is used to create temporary input arrays before allocating nodes.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/644083003
Cr-Commit-Position: refs/heads/master@{#24896}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-27 10:12:40 +00:00
titzer@chromium.org
82581534ae
Implement control reducer, which reduces branches and phis together in a single fixpoint.
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/665223006
Cr-Commit-Position: refs/heads/master@{#24891}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24891 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-27 08:42:16 +00:00
bmeurer@chromium.org
f535763763
[turbofan] Implement the correct semantics for integer division/modulus.
...
Also fix the sdiv/udiv instructions on ARM as a nice side effect.
TEST=cctest,unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/677483005
Cr-Commit-Position: refs/heads/master@{#24888}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24888 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-26 12:50:46 +00:00
jarin@chromium.org
23df66ee24
Add more missing deopts
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/639883002
Cr-Commit-Position: refs/heads/master@{#24886}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24886 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-26 10:25:48 +00:00
dslomov@chromium.org
08ee4d3a5c
Add remaining @@toStringTag symbols to builtins
...
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/664333003
Patch from Caitlin Potter <caitpotter88@gmail.com>.
Cr-Commit-Position: refs/heads/master@{#24885}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24885 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-24 19:29:10 +00:00
adamk@chromium.org
c9ea8d6512
SimpleSlice now calls [[Get]] before [[Has]] when generating copy
...
SparseSlice does not need this (non-optimal) reordering since its
callers guarantee that [[Get]] has no side effects on the passed-in array.
BUG=v8:3643
LOG=n
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/674003002
Cr-Commit-Position: refs/heads/master@{#24884}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24884 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-24 18:08:13 +00:00
adamk@chromium.org
02d37b8f10
Widen definition of %HasComplexElements() to include non-enumerability
...
This avoids using the Sparse methods on objects with non-enumerable elements,
which can cause the 'enumerable: false' bit to get lost in the operation.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/672323003
Cr-Commit-Position: refs/heads/master@{#24883}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24883 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-24 18:04:13 +00:00
baptiste.afsa@arm.com
878ff91c8f
[arm64] Use logical immediates when matching tst instructions.
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/668633003
Cr-Commit-Position: refs/heads/master@{#24882}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24882 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-24 15:29:44 +00:00
dslomov@chromium.org
9b74675e0d
Check string literals with escapes in PreParserTraits::GetSymbol()
...
LOG=Y
BUG=v8:3606
R=arv@chromium.org , marja@chromium.org
Review URL: https://codereview.chromium.org/615813004
Patch from Caitlin Potter <caitpotter88@gmail.com>.
Cr-Commit-Position: refs/heads/master@{#24880}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24880 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-24 15:02:41 +00:00