ulan
eff42215f0
Use weak cell in monomorphic KeyedStore IC.
...
BUG=v8:3629
LOG=N
Review URL: https://codereview.chromium.org/817873003
Cr-Commit-Position: refs/heads/master@{#25923}
2014-12-22 13:38:17 +00:00
Benedikt Meurer
ee98a1d760
[turbofan] Introduce CommonOperatorReducer.
...
The CommonOperatorReducer currently takes care of redundant Phis,
EffectPhis and Selects. This functionality overlaps with ControlReducer,
but is required to make certain optimizations effective, since the
ControlReducer only runs really early and really late in the pipeline
and therefore other reducers aren't reapplied properly after redundant
phi/select elimination.
TEST=unittests
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/817243003
Cr-Commit-Position: refs/heads/master@{#25922}
2014-12-22 13:06:43 +00:00
machenbach
096e1972cd
Work-around to make webkit test suite work with optdebug==2.
...
The test driver doesn't know at the moment if optdebug 1 or 2 has been used (the first is used on the bots, the second
locally in quickcheck). It can't know therefore if slow
asserts can be enabled or not. Trying to enable them leads
to a warning if they weren't compiled, which causes webkit
1:1 text comparison to fail.
Review URL: https://codereview.chromium.org/819033002
Cr-Commit-Position: refs/heads/master@{#25921}
2014-12-22 11:13:12 +00:00
hpayer
892f6c7127
Do not use out of range visitor ids.
...
BUG=
Review URL: https://codereview.chromium.org/822693002
Cr-Commit-Position: refs/heads/master@{#25920}
2014-12-22 11:12:17 +00:00
Benedikt Meurer
c61abc1426
[turbofan] Materialize the correct kind of constant for bit 1.
...
Bit 1 should be represented as Int32Constant 1 after simplified
lowering, but OneConstant returns NumberConstant 1.0.
R=jochen@chromium.org , hpayer@chromium.org
Review URL: https://codereview.chromium.org/820993002
Cr-Commit-Position: refs/heads/master@{#25919}
2014-12-22 09:24:21 +00:00
ulan
64e1b56107
Revert "Retain maps for several garbage collections"
...
This reverts commit 2bc756e4b3
because of performance regression in kraken.
BUG=chromium:444232
LOG=N
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/816353002
Cr-Commit-Position: refs/heads/master@{#25918}
2014-12-22 09:15:07 +00:00
hpayer
c37e09d7ea
Keep AllocationSpace and ObjectSpace enums in sync.
...
BUG=
Review URL: https://codereview.chromium.org/806693011
Cr-Commit-Position: refs/heads/master@{#25917}
2014-12-22 08:52:22 +00:00
Benedikt Meurer
65e69497ab
[turbofan] Correctify lowering of Uint8ClampedArray buffer access.
...
TEST=mjsunit/compiler/regress-444508.js
BUG=chromium:444508
LOG=y
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/794013004
Cr-Commit-Position: refs/heads/master@{#25916}
2014-12-22 08:27:59 +00:00
Benedikt Meurer
1ed16c587e
[turbofan] Improve typing of ToBoolean.
...
According to ES6 draft, revision 29 (2014-12-06), section 7.1.2,
ToBoolean yields true for true, detectable receivers (the ES6 Object
type), symbols and numbers except -0, +0 and NaN.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/807663006
Cr-Commit-Position: refs/heads/master@{#25915}
2014-12-22 07:21:51 +00:00
chunyang.dai
b4302150b1
X87: fix one test case failure under debug mode.
...
This issue is exposed by CL https://codereview.chromium.org/807273003 .
The DeoptimizeIf(...) function will generate more Assembler code and the
distance between the link point and the bind point is larger then near
link distance (127) for labels.
BUG=
Review URL: https://codereview.chromium.org/820963002
Cr-Commit-Position: refs/heads/master@{#25914}
2014-12-22 07:04:47 +00:00
machenbach
af1eb2258c
Make perf test runner more robust.
...
Convert all results to floats and log errors on failing
conversions. Otherwise these results bubble up into
buildbot.
TBR=tandrii@chromium.org
BUG=chromium:374740
LOG=n
NOTRY=true
Review URL: https://codereview.chromium.org/811483008
Cr-Commit-Position: refs/heads/master@{#25913}
2014-12-21 10:25:32 +00:00
machenbach
7d478d9621
Revert of Remove obsolete V8_INFINITY macro. (patchset #3 id:40001 of https://codereview.chromium.org/798413003/ )
...
Reason for revert:
Speculative revert. This seems to block the current roll: https://codereview.chromium.org/819653003/
I retried several times, also with a new roll. The error is internal - but that doesn't make much of a difference.
Original issue's description:
> Remove obsolete V8_INFINITY macro.
>
> Use std::numeric_limits consistently.
>
> R=svenpanne@chromium.org
>
> Committed: https://crrev.com/31c66e2d53569c4e229d55483d28208491e73612
> Cr-Commit-Position: refs/heads/master@{#25897}
TBR=svenpanne@chromium.org ,bmeurer@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/813813003
Cr-Commit-Position: refs/heads/master@{#25912}
2014-12-20 13:17:35 +00:00
machenbach
aa4b9393bf
Revert of [mips] Fix typos introduced by previous commit. (patchset #1 id:1 of https://codereview.chromium.org/814203002/ )
...
Reason for revert:
Needed in order to revert https://codereview.chromium.org/798413003
Original issue's description:
> [mips] Fix typos introduced by previous commit.
>
> R=svenpanne@chromium.org
>
> Committed: https://crrev.com/0c96a8b19730e79bc9cae08f3d86755c7b7c962e
> Cr-Commit-Position: refs/heads/master@{#25899}
TBR=svenpanne@chromium.org ,bmeurer@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/822523002
Cr-Commit-Position: refs/heads/master@{#25911}
2014-12-20 13:15:27 +00:00
alph
87e4bba31e
Support multiple interrupt requests in v8 API.
...
There might be a number of clients that would like to
setup an interrupt request on the Isolate.
The patch also deprecates ClearInterrupt API. As long as
the interrupt handler is called outside of locks there's no way
to guarantee that the handler will not be called after
ClearInterrupt was invoked as it might have already started execution.
Review URL: https://codereview.chromium.org/796623003
Cr-Commit-Position: refs/heads/master@{#25910}
2014-12-20 07:54:19 +00:00
v8-autoroll
600354826b
Update V8 DEPS.
...
Rolling v8/buildtools to 23a4e2f545c7b6340d7e5a2b74801941b0a86535
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/812553008
Cr-Commit-Position: refs/heads/master@{#25909}
2014-12-20 04:30:53 +00:00
adamk
1f1329d960
Use SetOwnElement when creating splice records in array length setter
...
This avoids touching the Array prototype, which may have been tampered with.
BUG=chromium:443982
LOG=n
Review URL: https://codereview.chromium.org/820503005
Cr-Commit-Position: refs/heads/master@{#25908}
2014-12-19 19:39:35 +00:00
mvstanton
ad033893d6
Vector-based ICs also need to hold maps weakly.
...
Regular ICs in MONOMORPHIC and POLYMORPHIC state now hold onto maps with
WeakCells. Vector-based ICs should do the same.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/815953002
Cr-Commit-Position: refs/heads/master@{#25907}
2014-12-19 16:53:49 +00:00
ulan
5ac1f8dabb
MIPS64: Use weak cell in LoadGlobal handler.
...
Port bc0d2e237b
BUG=v8:3629
LOG=N
TBR=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/814193004
Cr-Commit-Position: refs/heads/master@{#25906}
2014-12-19 15:48:57 +00:00
ulan
31de02151b
Use weak cell to embed map in CompareNil IC.
...
BUG=v8:3629
LOG=N
Review URL: https://codereview.chromium.org/812353002
Cr-Commit-Position: refs/heads/master@{#25905}
2014-12-19 14:51:25 +00:00
Benedikt Meurer
c05d7b059d
[turbofan] false is also falsish.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/814833006
Cr-Commit-Position: refs/heads/master@{#25904}
2014-12-19 14:09:06 +00:00
mvstanton
efd1f3ea2d
Follow-on to hydrogen fix keyed loads with string keys for vector ics.
...
r25817 optimized hydrogen keyed loads with string keys.
(https://codereview.chromium.org/755513003 ).
This CL adapts that work for the vector-ic keyed load.
BUG=
Review URL: https://codereview.chromium.org/820673002
Cr-Commit-Position: refs/heads/master@{#25903}
2014-12-19 13:41:07 +00:00
ulan
bc0d2e237b
Use weak cell in LoadGlobal handler.
...
BUG=v8:3629
LOG=N
Review URL: https://codereview.chromium.org/816923004
Cr-Commit-Position: refs/heads/master@{#25902}
2014-12-19 13:28:56 +00:00
Benedikt Meurer
f7e4689061
[turbofan] Fix unsafe out-of-bounds check for checked loads/stores.
...
BUG=chromium:443744
LOG=y
TEST=mjsunit/compiler/regress-443744
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/804993004
Cr-Commit-Position: refs/heads/master@{#25901}
2014-12-19 12:53:29 +00:00
Sven Panne
50b7ca5593
Improved --trace-opt output a bit.
...
This ensures that we always have a kind of "brace" around the actual compilation
with --trace-opt. Previously this was coupled to --trace-hydrogen for
Crankshaft, and there was no output at the start of the compilation for
TurboFan.
Removed redundant "[completed...]" output: Whenever the compilation was
successful, we have already printed "[optimizing...took...]".
Output total TurboFanning time with --trace-opt, too (basically as graph
building time, this is rather arbitrary).
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/819613002
Cr-Commit-Position: refs/heads/master@{#25900}
2014-12-19 11:47:27 +00:00
Benedikt Meurer
0c96a8b197
[mips] Fix typos introduced by previous commit.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/814203002
Cr-Commit-Position: refs/heads/master@{#25899}
2014-12-19 11:34:50 +00:00
arajp
f4fb702569
Make FlushICache NOP for Nvidia Denver CPU's.
...
Denver supports a coherent cache mechanism. There is no need to clean
the D cache and invalidate I cache. MTS has to check the translation
anytime there is an I cache invalidate and this time can be saved by
making FlushICache a NOP.
The patch improves Octane by roughly 3-4% on Denver.
Review URL: https://codereview.chromium.org/797233002
Cr-Commit-Position: refs/heads/master@{#25898}
2014-12-19 11:16:36 +00:00
bmeurer
31c66e2d53
Remove obsolete V8_INFINITY macro.
...
Use std::numeric_limits consistently.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/798413003
Cr-Commit-Position: refs/heads/master@{#25897}
2014-12-19 07:18:00 +00:00
bmeurer
efd8fd5612
[turbofan] Improve JSToBoolean typing.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/792013006
Cr-Commit-Position: refs/heads/master@{#25896}
2014-12-19 07:10:32 +00:00
caitpotter88
233f2d2bf1
Simplify scanner and generate better error message for legacy octals in templates
...
LOG=N
BUG=
R=arv@chromium.org , dslomov@chromium.org
Review URL: https://codereview.chromium.org/812163003
Cr-Commit-Position: refs/heads/master@{#25895}
2014-12-18 22:01:41 +00:00
v8-autoroll
b494f5cdb8
Update V8 DEPS.
...
Rolling v8/third_party/icu to 51c1a4ce5f362676aa1f1cfdb5b7e52edabfa5aa
TBR=machenbach@chromium.org
BUG=
Review URL: https://codereview.chromium.org/816763003
Cr-Commit-Position: refs/heads/master@{#25894}
2014-12-18 21:57:46 +00:00
jochen
333a92bd5e
Define SDKROOT for Mac
...
otherwise, the clang we ship doesn't work
BUG=none
R=adamk@chromium.org ,thakis@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/792783006
Cr-Commit-Position: refs/heads/master@{#25893}
2014-12-18 20:42:46 +00:00
arv
6e888ca864
Ship ES6 template literals
...
BUG=v8:3230
LOG=Y
R=dslomov@chromium.org , caitpotter88@gmail.com
Review URL: https://codereview.chromium.org/808413004
Cr-Commit-Position: refs/heads/master@{#25892}
2014-12-18 20:12:08 +00:00
arv
c05a4036b0
ES6 template literals should not use legacy octal strings
...
Correctly handle SyntaxErrors in escape sequences.
BUG=v8:3736
LOG=Y
R=dslomov@chromium.org , caitpotter88@gmail.com
Review URL: https://codereview.chromium.org/811113002
Cr-Commit-Position: refs/heads/master@{#25891}
2014-12-18 19:41:58 +00:00
hpayer
e89318138c
Reland Shrink initial old generation size based on new space survival rate.
...
I picked a more conservative start value this time of half max old generation size.
BUG=
Review URL: https://codereview.chromium.org/804323004
Cr-Commit-Position: refs/heads/master@{#25890}
2014-12-18 16:55:55 +00:00
erikcorry
3ff951943f
Phantom references support internal fields
...
BUG=
Review URL: https://codereview.chromium.org/753553002
Cr-Commit-Position: refs/heads/master@{#25889}
2014-12-18 16:10:15 +00:00
machenbach
1f44e7267e
Revert of [turbofan] simplify gap ordering (patchset #2 id:20001 of https://codereview.chromium.org/810013002/ )
...
Reason for revert:
Revert for breaking emscripten bullet with turbofan on android arm64.
Original issue's description:
> [turbofan] simplify gap ordering
>
> BUG=
>
> Committed: https://crrev.com/70b5eb47b39acbf31746f4a116a9b3ce2730218a
> Cr-Commit-Position: refs/heads/master@{#25865}
TBR=bmeurer@chromium.org ,dcarney@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/815743002
Cr-Commit-Position: refs/heads/master@{#25888}
2014-12-18 15:49:58 +00:00
ulan
2bc756e4b3
Retain maps for several garbage collections
...
This keeps dying maps alive for FLAG_retain_maps_for_n_gc garbage collections to increase chances of them being reused for new objects in future.
BUG=v8:3664
LOG=N
TEST=cctest/test-heap/MapRetaining
Review URL: https://codereview.chromium.org/794583003
Cr-Commit-Position: refs/heads/master@{#25887}
2014-12-18 15:44:37 +00:00
machenbach
40f45ab255
Revert of [turbofan] Skip printing of empty gap moves. (patchset #1 id:1 of https://codereview.chromium.org/812983002/ )
...
Reason for revert:
Needed to revert 70b5eb47b3
Original issue's description:
> [turbofan] Skip printing of empty gap moves.
>
> R=bmeurer@chromium.org
> BUG=
TBR=bmeurer@chromium.org ,titzer@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/816703002
Cr-Commit-Position: refs/heads/master@{#25886}
2014-12-18 15:01:17 +00:00
jkummerow
76aab824fe
Reduce impact of HParameter inputs on HPhi representation selection
...
This is a follow-up to r25153.
BUG=v8:3766
LOG=n
Review URL: https://codereview.chromium.org/807273003
Cr-Commit-Position: refs/heads/master@{#25885}
2014-12-18 14:50:07 +00:00
machenbach
70eb456e73
Revert of [turbofan] remove control field from instruction (patchset #1 id:1 of https://codereview.chromium.org/810023002/ )
...
Reason for revert:
Needed to revert 70b5eb47b3
Original issue's description:
> [turbofan] remove control field from instruction
>
> R=titzer@chromium.org
> BUG=
>
> Committed: https://crrev.com/7b9cb2eb3764d0c807c669e397fc3b84fbefb175
> Cr-Commit-Position: refs/heads/master@{#25866}
TBR=titzer@chromium.org ,dcarney@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/814043002
Cr-Commit-Position: refs/heads/master@{#25884}
2014-12-18 14:42:16 +00:00
ulan
83e6c7fe26
Temporarily disable mjsunit/debug-stepframe for GC stress until
...
crash is fixed.
BUG=v8:3776
LOG=N
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/812283004
Cr-Commit-Position: refs/heads/master@{#25883}
2014-12-18 14:05:04 +00:00
ulan
9ffdae66e2
Monomorphic and polymorphic ICs with cleared maps should not go megamorphic.
...
BUG=v8:3663
TEST=cctest/test-heap/MonomorphicStaysMonomorphicAfterGC
LOG=N
Review URL: https://codereview.chromium.org/816653002
Cr-Commit-Position: refs/heads/master@{#25882}
2014-12-18 13:09:43 +00:00
hpayer
377de64246
Make sure backing store pointer in handles get cleared after use in factory.
...
BUG=442710
LOG=n
Review URL: https://codereview.chromium.org/813023002
Cr-Commit-Position: refs/heads/master@{#25881}
2014-12-18 12:50:14 +00:00
svenpanne
bb65d40dbf
Fixed -fsanitize=float-cast-overflow problems.
...
BUG=v8:3773
LOG=y
Review URL: https://codereview.chromium.org/809293003
Cr-Commit-Position: refs/heads/master@{#25880}
2014-12-18 11:13:04 +00:00
jochen
a09168be68
Don't use AddSubstring for external natives
...
The input string is not necessarily zero terminated
BUG=chromium:443230
R=adamk@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/795383003
Cr-Commit-Position: refs/heads/master@{#25879}
2014-12-18 11:01:54 +00:00
titzer
7edd6efd4e
[turbofan] Skip printing of empty gap moves.
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/812983002
Cr-Commit-Position: refs/heads/master@{#25878}
2014-12-18 09:41:53 +00:00
jochen
b34a7d23d2
Crash with an error message when ICU data files are missing
...
Before, we'd just crash.
BUG=v8:3348
R=svenpanne@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/807313003
Cr-Commit-Position: refs/heads/master@{#25877}
2014-12-18 08:56:50 +00:00
machenbach
73b4c2b7c0
Add script to check for clusterfuzz issues.
...
BUG=443153
LOG=n
NOTRY=true
Review URL: https://codereview.chromium.org/811073002
Cr-Commit-Position: refs/heads/master@{#25876}
2014-12-18 08:44:14 +00:00
Benedikt Meurer
0925be14a2
[turbofan] Further reduction of Word32And with Int32Add.
...
- (y * (K << L) + x) & (-1 << L) => (x & (-1 << L)) + y * (K << L)
- (x + y * (K << L)) & (-1 << L) => (x & (-1 << L)) + y * (K << L)
TEST=unittests
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/811293002
Cr-Commit-Position: refs/heads/master@{#25875}
2014-12-18 08:42:57 +00:00
Benedikt Meurer
bc2f2774a4
[turbofan] Also run MachineOperatorReducer in SimplifiedLoweringPhase.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/809313002
Cr-Commit-Position: refs/heads/master@{#25874}
2014-12-18 07:47:43 +00:00