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 Achenbach
8d042464d9
Prototype for a client-side performance trybot script.
...
BUG=chromium:374740
LOG=n
TEST=tools/try_perf.py sunspider octane
R=phajdan.jr@chromium.org
Review URL: https://codereview.chromium.org/734403002
Cr-Commit-Position: refs/heads/master@{#25398}
2014-11-18 14:40: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
rickyz
64a96f5a7e
Use 16 instead of 4 for determining member offsets.
...
This avoids UBSan warnings about unaligned memory access.
BUG=
Review URL: https://codereview.chromium.org/734873002
Cr-Commit-Position: refs/heads/master@{#25396}
2014-11-18 14:09:34 +00:00
alexanderk
c2c0d4ae54
Fix include mistakes
...
1) Missing <stdio.h> while using fopen, fclose, fseek etc
2) platform-linux.cc includes <sys/types.h> wtice
BUG=v8:3691
Review URL: https://codereview.chromium.org/716123003
Cr-Commit-Position: refs/heads/master@{#25395}
2014-11-18 13:47:10 +00:00
Jakob Kummerow
c177910d92
Fix IC handler cache clearing for JSBuiltinsObject
...
The clearing mechanism relies on comparing the cached handler with the installed handler. If we try to preserve monomorphism by pretending that the IC was in uninitialized state, then it will go premonomorphic first, which means on the next miss there's no installed handler available to compare against. Instead, pretend it was premonomorphic, so the comparison will happen right away, will fail as it should, and the cached handler will be cleared.
Thanks to Weiliang for starting the investigation that led to this.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/730383002
Cr-Commit-Position: refs/heads/master@{#25394}
2014-11-18 13:35:48 +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
yangguo
ab4d2b11c8
Use FlatStringReader in JSON stringifier.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/736543003
Cr-Commit-Position: refs/heads/master@{#25391}
2014-11-18 12:03:37 +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
Michael Stanton
78cf188e18
Hydrogen should recognize literal smi arrays as fast literals.
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/726423002
Cr-Commit-Position: refs/heads/master@{#25387}
2014-11-18 09:27:56 +00:00
Benedikt Meurer
72a2ec9eb4
[x64] Recognize MOVSXBL.
...
TEST=mjsunit/asm
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/728103007
Cr-Commit-Position: refs/heads/master@{#25386}
2014-11-18 09:11:40 +00:00
Benedikt Meurer
3c79e2e920
[x64] Recognize MOVSXWL.
...
Also add some debug code to verify correct zero extension of 32-bit
moves.
TEST=mjsunit/asm
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/736623002
Cr-Commit-Position: refs/heads/master@{#25385}
2014-11-18 07:51:52 +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
Benedikt Meurer
2eaca10e9b
[turbofan] Fix pushing of JSToBooleans into Phis.
...
Now we actually implement it the way it is meant to be, that is:
JSToBoolean(Phi(x1,...,xn):primitive)
=> Phi(JSToBoolean(x1),...,JSToBoolean(xn)):boolean
This also fixes the endless recursion within JSTypedLowering when
the GraphReducer does all possible reductions instead of using the
generic algorithm.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/730043002
Cr-Commit-Position: refs/heads/master@{#25376}
2014-11-17 12:10:55 +00:00
Ben L. Titzer
ca268fe2a2
[turbofan] Factor out common code between ReduceSelect and ReduceBranch in ControlReducer.
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/734593003
Cr-Commit-Position: refs/heads/master@{#25375}
2014-11-17 11:35:04 +00:00
Daniel Clifford
128ce21da3
Fix Windows build after 25373
...
R=bmeurer@chromium.org
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/733783003
Cr-Commit-Position: refs/heads/master@{#25374}
2014-11-17 11:26:37 +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
Hannes Payer
ca3c6888c1
Fix concurrent sweeping in predictable mode and bring --concurrent-sweeping flag back.
...
BUG=
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/726363002
Cr-Commit-Position: refs/heads/master@{#25370}
2014-11-17 09:39:50 +00:00
Hannes Payer
cb73facc84
Added --trace_idle_notification_verbose which prints out the idle notificatino heap state.
...
BUG=
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/732473002
Cr-Commit-Position: refs/heads/master@{#25369}
2014-11-17 09:16:26 +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
yangguo
6714365a30
Reland "Optimize function across closures." (again).
...
Review URL: https://codereview.chromium.org/707463002
Cr-Commit-Position: refs/heads/master@{#25367}
2014-11-17 08:43:00 +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
machenbach
70ae606044
Let git ignore the third_party dir to avoid unnecessary clean-ups.
...
BUG=chromium:433273
LOG=n
NOTRY=true
Review URL: https://codereview.chromium.org/728983004
Cr-Commit-Position: refs/heads/master@{#25365}
2014-11-15 19:33:18 +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
Michael Starzinger
20df102b20
Make TurboFan inlining work without deoptimization.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/726823002
Cr-Commit-Position: refs/heads/master@{#25354}
2014-11-14 10:34:51 +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
machenbach
98a1a206b7
Revert of Whitespace change to test CQ. (patchset #1 id:1 of https://codereview.chromium.org/725873002/ )
...
Reason for revert:
Test revert.
Original issue's description:
> Whitespace change to test CQ.
>
> TBR=machenbach@chromium.org
>
> Committed: 42340bdfbd
TBR=
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/725893002
Cr-Commit-Position: refs/heads/master@{#25352}
2014-11-14 09:36:15 +00:00
machenbach
6bcc6e3598
Whitespace change to test CQ.
...
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/725873002
Cr-Commit-Position: refs/heads/master@{#25351}
2014-11-14 09:32:11 +00:00
Dan Carney
fb1795c442
[turbofan] small cleanups to aid register allocator debugging
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/727693002
Cr-Commit-Position: refs/heads/master@{#25350}
2014-11-14 08:57:07 +00:00