Commit Graph

19968 Commits

Author SHA1 Message Date
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
Michael Achenbach
dcfb8628cf Fix releases script after git migration.
BUG=chromium:410721
LOG=n
TBR=tandrii@chromium.org
TEST=script_test.py

Review URL: https://codereview.chromium.org/725073002

Cr-Commit-Position: refs/heads/master@{#25349}
2014-11-14 08:39:06 +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
Hannes Payer
e75a81fe96 Allow idle notification when incremental marking is turned off.
BUG=
R=jochen@chromium.org

Review URL: https://codereview.chromium.org/725583005

Cr-Commit-Position: refs/heads/master@{#25346}
2014-11-14 08:13:13 +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
Benedikt Meurer
1514287a28 [arm] Fix UBFX detection.
R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/725063002

Cr-Commit-Position: refs/heads/master@{#25344}
2014-11-14 07:43:51 +00:00
Michael Achenbach
05e921433e Whitespace change to trigger bots (3)
Cr-Commit-Position: refs/heads/master@{#25343}
2014-11-13 22:39:51 +00:00
Michael Achenbach
f9d3bf4551 Whitespace change to trigger bots (2)
Cr-Commit-Position: refs/heads/master@{#25342}
2014-11-13 22:20:05 +00:00
Michael Achenbach
7151e30e6c Whitespace change to trigger bots (1)
Cr-Commit-Position: refs/heads/master@{#25341}
2014-11-13 22:19:11 +00:00
André Baixo
eeb8782a7f Fix size_t to int conversion.
BUG=421063
LOG=N
R=vogelheim@chromium.org

Review URL: https://codereview.chromium.org/727513002

Patch from André Baixo <baixo@google.com>.

Cr-Commit-Position: refs/heads/master@{#25340}
2014-11-13 17:28:36 +00:00
Daniel Vogelheim
4f6c75f83a Add a version tag for cached data.
BUG=399580,431699
LOG=N
R=dcarney@chromium.org, marja@chromium.org

Review URL: https://codereview.chromium.org/718043002

Cr-Commit-Position: refs/heads/master@{#25339}
2014-11-13 17:17:36 +00:00
ishell@chromium.org
994094cc62 Revert "TransitionArray::Search() now returns insertion index if the entry was not found."
This reverts the commit because it possibly causes renderer hangs.

BUG=chromium:431807
LOG=N
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/725633002

Cr-Commit-Position: refs/heads/master@{#25338}
2014-11-13 16:59:44 +00:00
Erik Arvidsson
04719195a2 Classes: Cleanup default constructor flag
Now that we keep track of whether a function contains super we do not
need kDefaultConstructorCallSuper

BUG=None
LOG=Y
R=dslomov@chromium.org

Review URL: https://codereview.chromium.org/718833002

Cr-Commit-Position: refs/heads/master@{#25337}
2014-11-13 16:50:21 +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
Michael Starzinger
f5ca5a81e9 Fix dumping of counters in d8.
R=hpayer@chromium.org

Review URL: https://codereview.chromium.org/721193002

Cr-Commit-Position: refs/heads/master@{#25334}
2014-11-13 15:39:18 +00:00
Yang Guo
bf8abc3e1e PropertyAccessCompiler should always emit reloc info for external references.
R=mvstanton@chromium.org

Review URL: https://codereview.chromium.org/727483002

Cr-Commit-Position: refs/heads/master@{#25333}
2014-11-13 15:37:37 +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
machenbach
a190a7f117 Revert of Whitespace change to test the CQ. (patchset #1 id:1 of https://codereview.chromium.org/721113003/)
Reason for revert:
Test CQ

Original issue's description:
> Whitespace change to test the CQ.
>
> TBR=machenbach@chromium.org
> NOTRY=true
>
> Committed: b0ab17592c

TBR=tandrii@chromium.org
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/725613002

Cr-Commit-Position: refs/heads/master@{#25331}
2014-11-13 14:58:17 +00:00
ulan
116a47f826 Reland r24737 "Read object pointer atomically while updating slots"
Crashes were fixed by r24914.

BUG=chromium:427746
LOG=N

Review URL: https://codereview.chromium.org/726543003

Cr-Commit-Position: refs/heads/master@{#25330}
2014-11-13 14:54:50 +00:00
machenbach
219b974f12 Whitespace change to test the CQ.
TBR=machenbach@chromium.org
NOTRY=true

Review URL: https://codereview.chromium.org/721113003

Cr-Commit-Position: refs/heads/master@{#25329}
2014-11-13 14:19:31 +00:00
Toon Verwaest
c8e5a1add7 Install the constructor property on custom prototype before optimizing it as a prototype
BUG=
R=ishell@chromium.org

Review URL: https://codereview.chromium.org/725593002

Cr-Commit-Position: refs/heads/master@{#25328}
2014-11-13 14:13:11 +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