ulan
dc88962350
Do not bailout from optimizing functions that use f(x, arguments)
...
if there is not enough type-feedback to detect that f is Function.prototype.apply.
BUG=v8:3709
LOG=N
TEST=mjsunit/regress/regress-3709
Review URL: https://codereview.chromium.org/736043002
Cr-Commit-Position: refs/heads/master@{#25447}
2014-11-20 17:07:44 +00:00
yangguo
c64b47f552
When optimizing deserialized code, make sure IC state is preserved.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/737373003
Cr-Commit-Position: refs/heads/master@{#25444}
2014-11-20 16:20:56 +00:00
Ulan Degenbaev
29704b5082
Fix Regress3540 after r25441.
...
BUG=
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/746443002
Cr-Commit-Position: refs/heads/master@{#25442}
2014-11-20 15:42:39 +00:00
ulan
d703e87531
Reserve code range block for evacuation.
...
If we run out of code range, then GC wouldn't be able to compact code space,
because it wouldn't be able to allocate a new page. This can cause code space
fragmentation and OOM crashes.
BUG=chromium:430118
LOG=Y
Review URL: https://codereview.chromium.org/742733002
Cr-Commit-Position: refs/heads/master@{#25441}
2014-11-20 14:52:35 +00:00
Daniel Clifford
5a494cf00c
[turbofan]: More optimizations to add and subtract operations on x64
...
- Use "leal" for subtraction of integer constant when non-constant input to
subtract is used more than once.
- Use "incl", "decl", and "addl" when they are smaller/cheaper than their
leal/addl/subl equivalant.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/738073002
Cr-Commit-Position: refs/heads/master@{#25439}
2014-11-20 13:48:46 +00:00
Rodolph Perfetta
481772acdd
[turbofan] remove redundant '& 0x1F' for shifts.
...
JavaScript shifts perform an implicit '& 0x1F' on their right operand, this
patch removes it when the underlying architecture already does it.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/732103002
Cr-Commit-Position: refs/heads/master@{#25438}
2014-11-20 13:09:26 +00:00
mstarzinger
6d41045ba4
Enable TurboFan for Win64 targets.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/743963002
Cr-Commit-Position: refs/heads/master@{#25437}
2014-11-20 11:51:11 +00:00
Andreas Rossberg
4f63564700
Fix lower bound violation
...
R=jarin@chromium.org
BUG=433332
LOG=N
Review URL: https://codereview.chromium.org/739563002
Cr-Commit-Position: refs/heads/master@{#25436}
2014-11-20 11:22:49 +00:00
Andreas Rossberg
1808badc2d
Disable classes in sloppy mode unless --harmony-sloppy is set
...
Also clean up flag names a little.
Baseline: https://codereview.chromium.org/713413003/
R=arv@chromium.org , dslomov@chromium.org
BUG=
Review URL: https://codereview.chromium.org/722203006
Cr-Commit-Position: refs/heads/master@{#25435}
2014-11-20 10:52:03 +00:00
balazs.kilvady
fbcfce69aa
Conditional flags for tests - set JS stack size for simulators.
...
There are separated JS and C stacks on simulators so for some stack
extensive tests (like mozilla/js1_5/extensions/regress-355497) might
cause a C stack overflow and that overflow is not caught by V8. It is
not an issue on real HW. Increasing the C stack also solves the problem
but we have already FLAG_sim_stack_size flag to control the JS stack
size.
This patch makes it possible to add flags to tests conditionally in
.status files.
TEST=mozilla/js1_5/extensions/regress-355497
BUG=v8:3152
LOG=N
Review URL: https://codereview.chromium.org/735723006
Cr-Commit-Position: refs/heads/master@{#25434}
2014-11-20 09:47:00 +00:00
yangguo
529ff0cfbf
Implement log10 via fdlibm port.
...
R=rtoy@chromium.org
BUG=v8:3579
LOG=N
Review URL: https://codereview.chromium.org/739913003
Cr-Commit-Position: refs/heads/master@{#25433}
2014-11-20 09:37:27 +00:00
machenbach
b3acdf5347
Revert of Rename String.prototype.contains to 'includes'. (patchset #1 id:1 of https://codereview.chromium.org/742963002/ )
...
Reason for revert:
Breaks test262-es6:
http://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/1289
Original issue's description:
> Rename String.prototype.contains to 'includes'.
>
> Per TC39 Nov 2014 decison.
>
> R=arv@chromium.org ,yangguo@chromium.org
> LOG=Y
>
> Committed: b5379216e2
TBR=arv@chromium.org ,yangguo@chromium.org,dslomov@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/745543002
Cr-Commit-Position: refs/heads/master@{#25432}
2014-11-20 09:03:54 +00:00
dslomov
2dae17fb87
Rename String.prototype.contains to 'includes'.
...
Per TC39 Nov 2014 decison.
R=arv@chromium.org ,yangguo@chromium.org
LOG=Y
Review URL: https://codereview.chromium.org/742963002
Cr-Commit-Position: refs/heads/master@{#25430}
2014-11-20 00:32:13 +00:00
dslomov
69990745f7
Remove Weak{Map,Set}.prototype.clear.
...
Per Nov 2014 TC39 decision.
R=adamk@chromium.org
LOG=Y
Review URL: https://codereview.chromium.org/739303002
Cr-Commit-Position: refs/heads/master@{#25429}
2014-11-19 21:53:01 +00:00
arv
b6c9a62c37
Reduce ErrorsFutureStrictReservedWords test to make it faster
...
Since checking all possible combinations is taking so long this
reduces the test to test the odd cases (let, yield and static) as
well as a single ordinary case.
BUG=v8:3707
LOG=n
Review URL: https://codereview.chromium.org/724713004
Cr-Commit-Position: refs/heads/master@{#25428}
2014-11-19 20:31:08 +00:00
dcarney
dd99a31334
[turbofan]: delay ssa deconstruction in register allocator
...
BUG=
Review URL: https://codereview.chromium.org/738853002
Cr-Commit-Position: refs/heads/master@{#25426}
2014-11-19 16:23:40 +00:00
Dusan Milosavljevic
ae9130ebbb
MIPS64: Add turbofan support for mips64.
...
TEST=
BUG=
R=danno@chromium.org , paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/732403002
Cr-Commit-Position: refs/heads/master@{#25424}
2014-11-19 15:44:46 +00:00
aandrey
f07b0f214b
Allow stepping into Object.observe handlers.
...
BUG=chromium:432468
R=yangguo@chromium.org , adamk@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/739523002
Cr-Commit-Position: refs/heads/master@{#25423}
2014-11-19 15:16:40 +00:00
Michael Stanton
cfa1f94781
Revert "Re-land r25392 Use a stub in crankshaft for grow store arrays."
...
Due to performance issue.
TBR=danno@chromium.org
Review URL: https://codereview.chromium.org/735323002
Cr-Commit-Position: refs/heads/master@{#25421}
2014-11-19 14:08:43 +00:00
paul.lind
4641d93f89
MIPS: Skip some tests on big-endian boards.
...
Skip one hard fail, and two frequent flakes while we investigate.
BUG=
NOTRY=true
Review URL: https://codereview.chromium.org/728653004
Cr-Commit-Position: refs/heads/master@{#25418}
2014-11-19 12:52:11 +00:00
ishell
f3d1888fdb
PropertyDetails cleanup: NORMAL property type merged with FIELD.
...
First step towards replacing PropertyType with two enums: {DATA,ACCESSOR} x {CONST,WRITABLE}.
Review URL: https://codereview.chromium.org/733253004
Cr-Commit-Position: refs/heads/master@{#25417}
2014-11-19 11:45:34 +00:00
Benedikt Meurer
21580e7b79
Revert "Forward declaration for Isolate / Platform in libplatform.h." and "Fixes d8 on windows following.".
...
This reverts commit 0f57ce8f1a
.
and 3245b8cb83
for breaking Chromium
compile.
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/743533003
Cr-Commit-Position: refs/heads/master@{#25411}
2014-11-19 07:28:07 +00:00
caitpotter88
99a9d68d94
Implement ES6 String.raw behind --harmony-templates
...
BUG=
Review URL: https://codereview.chromium.org/731573004
Cr-Commit-Position: refs/heads/master@{#25410}
2014-11-19 04:44:44 +00:00
bulach
0f57ce8f1a
Forward declaration for Isolate / Platform in libplatform.h.
...
Reduces dependencies on #include files, making it easier for other
build systems to include this library.
BUG=
Review URL: https://codereview.chromium.org/740493002
Cr-Commit-Position: refs/heads/master@{#25408}
2014-11-18 20:29:37 +00:00
arv
d5d15253b8
Classes: Expand test to cover strict runtime behavior
...
This tests that the extends expression is treated as strict at
runtime and not just at parse time.
BUG=v8:3330
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/729323003
Cr-Commit-Position: refs/heads/master@{#25407}
2014-11-18 19:00:15 +00:00
dslomov
ca8eaef638
harmony-scoping: better error messages for let declarations in sloppy mode.
...
R=rossberg@chromium.org
BUG=v8:2198
LOG=N
Review URL: https://codereview.chromium.org/713413003
Cr-Commit-Position: refs/heads/master@{#25406}
2014-11-18 18:51:26 +00:00
yangguo
cfccf397d0
v8::String::Concat must not throw.
...
R=dcarney@chromium.org
BUG=chromium:420240
LOG=Y
API=v8::String::Concat may return empty handle on overflow.
Review URL: https://codereview.chromium.org/735763002
Cr-Commit-Position: refs/heads/master@{#25402}
2014-11-18 15:51:16 +00:00
mstarzinger
bbf4858849
Remove ambiguous getter for operator value counts.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/735583003
Cr-Commit-Position: refs/heads/master@{#25401}
2014-11-18 15:45:36 +00:00
yangguo
5bea77f786
Fix disabling all break points from within the debug event callback.
...
BUG=chromium:432493
LOG=Y
Review URL: https://codereview.chromium.org/728103008
Cr-Commit-Position: refs/heads/master@{#25400}
2014-11-18 14:57:48 +00:00
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