bmeurer [Fri, 2 Jan 2015 08:17:50 +0000 (00:17 -0800)]
Fix %NeverOptimizeFunction() intrinsic.
Set a valid reason for disabling optimization when using
%NeverOptimizeFunction.
TEST=mjsunit/compiler/regress-445732
BUG=chromium:445732
LOG=y
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
832003002
Cr-Commit-Position: refs/heads/master@{#25949}
bmeurer [Fri, 2 Jan 2015 07:43:34 +0000 (23:43 -0800)]
[turbofan] Fix missing MachineOperator unittest.
The machine-operator-unittest.cc file was missing from unittests.gyp.
Fixed the compiler errors and added it back.
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
824243003
Cr-Commit-Position: refs/heads/master@{#25948}
Michael Achenbach [Wed, 31 Dec 2014 13:01:02 +0000 (14:01 +0100)]
Whitespace change to trigger bots.
Cr-Commit-Position: refs/heads/master@{#25947}
machenbach [Wed, 31 Dec 2014 11:16:00 +0000 (03:16 -0800)]
Work around 'Text file busy' errors in android perf runner.
BUG=374740
TBR=ulan@chromium.org
NOTRY=true
Review URL: https://codereview.chromium.org/
830753002
Cr-Commit-Position: refs/heads/master@{#25946}
bmeurer [Mon, 29 Dec 2014 10:01:05 +0000 (02:01 -0800)]
[turbofan] Fix invalid bounds check with overflowing offset.
TEST=mjsunit/compiler/regress-445267
BUG=chromium:445267
LOG=y
Review URL: https://codereview.chromium.org/
825403002
Cr-Commit-Position: refs/heads/master@{#25945}
v8-autoroll [Mon, 29 Dec 2014 04:29:34 +0000 (20:29 -0800)]
Update V8 DEPS.
Rolling v8/tools/clang to
c945be21f6485fa177b43814f910b76cce921653
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
829733002
Cr-Commit-Position: refs/heads/master@{#25944}
v8-autoroll [Sat, 27 Dec 2014 04:30:25 +0000 (20:30 -0800)]
Update V8 DEPS.
Rolling v8/tools/clang to
51f59463cfea7fc19d085253cf9bd40c1b4c0038
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
830473002
Cr-Commit-Position: refs/heads/master@{#25943}
v8-autoroll [Fri, 26 Dec 2014 04:30:47 +0000 (20:30 -0800)]
Update V8 DEPS.
Rolling v8/tools/clang to
6f504ec1a843c7c6af799768a774dec205ce4f3b
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
822073003
Cr-Commit-Position: refs/heads/master@{#25942}
bmeurer [Thu, 25 Dec 2014 18:17:49 +0000 (10:17 -0800)]
[turbofan] Raise max virtual registers and call parameter limit.
Change InstructionOperand to use a 64-bit field for encoding the operand
information instead of the 32-bit field that was used before. Ideally we
wouldn't use the Zone-allocated bit field at all, and use an integer
instead of the pointer; but that requires fixing the register allocator
first, which will take some time.
TEST=mjsunit/compiler/regress-3786
BUG=v8:3786
LOG=y
Review URL: https://codereview.chromium.org/
826673002
Cr-Commit-Position: refs/heads/master@{#25941}
jochen [Tue, 23 Dec 2014 19:25:09 +0000 (11:25 -0800)]
Remove UNREACHABLE() statements from sys-info.cc
We have safe fallbacks in all cases, and it's possible to hit those
codepaths, e.g., on Linux when /proc is not mounted
BUG=v8:3544
R=ulan@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
818213002
Cr-Commit-Position: refs/heads/master@{#25940}
bmeurer [Tue, 23 Dec 2014 19:24:03 +0000 (11:24 -0800)]
[turbofan] Turn IrOpcode::Mnemonic() into a table lookup.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
818203002
Cr-Commit-Position: refs/heads/master@{#25939}
jochen [Tue, 23 Dec 2014 19:22:53 +0000 (11:22 -0800)]
Don't pass -pie when building a shared library build on android
BUG=none
R=ulan@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
822933002
Cr-Commit-Position: refs/heads/master@{#25938}
bmeurer [Tue, 23 Dec 2014 14:12:04 +0000 (06:12 -0800)]
[turbofan] Cache float32 constants on the JSGraph level.
Also slightly refactor the NodeCache and CommonNodeCache classes to
reduce inherent overhead of caching.
TEST=cctest
Review URL: https://codereview.chromium.org/
822923002
Cr-Commit-Position: refs/heads/master@{#25937}
jochen [Tue, 23 Dec 2014 13:50:03 +0000 (05:50 -0800)]
Fast-forward version number on bleeding_edge to 3.32.0
BUG=none
LOG=n
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
820033002
Cr-Commit-Position: refs/heads/master@{#25936}
bmeurer [Tue, 23 Dec 2014 12:50:43 +0000 (04:50 -0800)]
[turbofan] Deinlinify OperatorProperties implementation.
TEST=cctest,unittests
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/
821913002
Cr-Commit-Position: refs/heads/master@{#25935}
machenbach [Tue, 23 Dec 2014 12:40:32 +0000 (04:40 -0800)]
Work-around for file pushing in android perf runner.
Also include the device serial when logging adb commands.
BUG=374740
TBR=ulan@chromium.org
NOTRY=true
Review URL: https://codereview.chromium.org/
815003003
Cr-Commit-Position: refs/heads/master@{#25934}
Benedikt Meurer [Tue, 23 Dec 2014 11:00:46 +0000 (12:00 +0100)]
[turbofan] Turn DCHECK for fixed slot index into a CHECK.
This is a temporary workaround to ensure that we crash in release mode
instead of running into undefined behavior.
BUG=chromium:444681
LOG=y
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
800713006
Cr-Commit-Position: refs/heads/master@{#25933}
Benedikt Meurer [Tue, 23 Dec 2014 06:53:37 +0000 (07:53 +0100)]
[turbofan] Fix missing ChangeUint32ToUint64 in lowering of LoadBuffer.
TEST=mjsunit/compiler/regress-444695
BUG=chromium:444695
LOG=y
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
824843002
Cr-Commit-Position: refs/heads/master@{#25932}
Dusan Milosavljevic [Mon, 22 Dec 2014 17:37:11 +0000 (18:37 +0100)]
MIPS: Enable Math rounding operations call reduction optimization in TF.
TEST=
BUG=
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/
791473003
Cr-Commit-Position: refs/heads/master@{#25931}
hpayer [Mon, 22 Dec 2014 15:40:30 +0000 (07:40 -0800)]
Reset old generation limit on main frame context disposal.
BUG=
Review URL: https://codereview.chromium.org/
815933005
Cr-Commit-Position: refs/heads/master@{#25930}
jochen [Mon, 22 Dec 2014 15:30:35 +0000 (07:30 -0800)]
Mark mjsunit/setters-on-elements as flaky
TBR=machenbach@chromium.org
LOG=n
BUG=v8:3784
NOTREECHECKS=true
Review URL: https://codereview.chromium.org/
817293002
Cr-Commit-Position: refs/heads/master@{#25929}
ulan [Mon, 22 Dec 2014 15:04:10 +0000 (07:04 -0800)]
Remove custom weak handling of monomorphic IC.
This is not needed anymore since all ICs use weak cells to embed maps.
BUG=v8:3629
LOG=N
Review URL: https://codereview.chromium.org/
817223003
Cr-Commit-Position: refs/heads/master@{#25928}
bmeurer [Mon, 22 Dec 2014 14:37:16 +0000 (06:37 -0800)]
[turbofan] Minor cleanup to reduce code duplication.
TEST=unittests
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/
819103002
Cr-Commit-Position: refs/heads/master@{#25927}
jochen [Mon, 22 Dec 2014 14:27:19 +0000 (06:27 -0800)]
Enable the embedder to specify what kind of context was disposed
This API is used by Blink to inform V8 about HTML frames being disposed.
Using the optional parameter, Blink can tell V8 whether the disposed
frame was a main frame. In that case, we might want to reset GC
parameters
BUG=none
R=hpayer@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
823583003
Cr-Commit-Position: refs/heads/master@{#25926}
jochen [Mon, 22 Dec 2014 13:52:56 +0000 (05:52 -0800)]
Implement missing functionality for job based recompilation
BUG=v8:3608
R=bmeurer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
816363003
Cr-Commit-Position: refs/heads/master@{#25925}
Benedikt Meurer [Mon, 22 Dec 2014 13:47:54 +0000 (14:47 +0100)]
[turbofan] Cleanup use of virtual, OVERRIDE, FINAL.
Following the Google/Chromium coding style wrt. virtual, OVERRIDE and
FINAL specifications.
TEST=unittests
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/
816453005
Cr-Commit-Position: refs/heads/master@{#25924}
ulan [Mon, 22 Dec 2014 13:38:05 +0000 (05:38 -0800)]
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}
Benedikt Meurer [Mon, 22 Dec 2014 13:06:34 +0000 (14:06 +0100)]
[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}
machenbach [Mon, 22 Dec 2014 11:13:01 +0000 (03:13 -0800)]
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}
hpayer [Mon, 22 Dec 2014 11:11:50 +0000 (03:11 -0800)]
Do not use out of range visitor ids.
BUG=
Review URL: https://codereview.chromium.org/
822693002
Cr-Commit-Position: refs/heads/master@{#25920}
Benedikt Meurer [Mon, 22 Dec 2014 09:24:07 +0000 (10:24 +0100)]
[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}
ulan [Mon, 22 Dec 2014 09:14:55 +0000 (01:14 -0800)]
Revert "Retain maps for several garbage collections"
This reverts commit
2bc756e4b36160595c811c5433d0238ae5192525
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}
hpayer [Mon, 22 Dec 2014 08:51:57 +0000 (00:51 -0800)]
Keep AllocationSpace and ObjectSpace enums in sync.
BUG=
Review URL: https://codereview.chromium.org/
806693011
Cr-Commit-Position: refs/heads/master@{#25917}
Benedikt Meurer [Mon, 22 Dec 2014 08:27:42 +0000 (09:27 +0100)]
[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}
Benedikt Meurer [Mon, 22 Dec 2014 07:21:30 +0000 (08:21 +0100)]
[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}
chunyang.dai [Mon, 22 Dec 2014 07:04:35 +0000 (23:04 -0800)]
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}
machenbach [Sun, 21 Dec 2014 10:25:17 +0000 (02:25 -0800)]
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}
machenbach [Sat, 20 Dec 2014 13:17:20 +0000 (05:17 -0800)]
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}
machenbach [Sat, 20 Dec 2014 13:15:14 +0000 (05:15 -0800)]
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}
alph [Sat, 20 Dec 2014 07:54:03 +0000 (23:54 -0800)]
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}
v8-autoroll [Sat, 20 Dec 2014 04:30:43 +0000 (20:30 -0800)]
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}
adamk [Fri, 19 Dec 2014 19:39:19 +0000 (11:39 -0800)]
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}
mvstanton [Fri, 19 Dec 2014 16:53:41 +0000 (08:53 -0800)]
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}
ulan [Fri, 19 Dec 2014 15:48:42 +0000 (07:48 -0800)]
MIPS64: Use weak cell in LoadGlobal handler.
Port
bc0d2e237b1b624bed26ba849529b40329ea72a2
BUG=v8:3629
LOG=N
TBR=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
814193004
Cr-Commit-Position: refs/heads/master@{#25906}
ulan [Fri, 19 Dec 2014 14:51:10 +0000 (06:51 -0800)]
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}
Benedikt Meurer [Fri, 19 Dec 2014 14:08:48 +0000 (15:08 +0100)]
[turbofan] false is also falsish.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
814833006
Cr-Commit-Position: refs/heads/master@{#25904}
mvstanton [Fri, 19 Dec 2014 13:40:59 +0000 (05:40 -0800)]
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}
ulan [Fri, 19 Dec 2014 13:28:33 +0000 (05:28 -0800)]
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}
Benedikt Meurer [Fri, 19 Dec 2014 12:53:13 +0000 (13:53 +0100)]
[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}
Sven Panne [Fri, 19 Dec 2014 11:47:17 +0000 (12:47 +0100)]
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}
Benedikt Meurer [Fri, 19 Dec 2014 11:34:31 +0000 (12:34 +0100)]
[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}
arajp [Fri, 19 Dec 2014 11:16:23 +0000 (03:16 -0800)]
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}
bmeurer [Fri, 19 Dec 2014 07:17:45 +0000 (23:17 -0800)]
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}
bmeurer [Fri, 19 Dec 2014 07:10:16 +0000 (23:10 -0800)]
[turbofan] Improve JSToBoolean typing.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
792013006
Cr-Commit-Position: refs/heads/master@{#25896}
caitpotter88 [Thu, 18 Dec 2014 22:01:25 +0000 (14:01 -0800)]
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}
v8-autoroll [Thu, 18 Dec 2014 21:57:27 +0000 (13:57 -0800)]
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}
jochen [Thu, 18 Dec 2014 20:42:32 +0000 (12:42 -0800)]
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}
arv [Thu, 18 Dec 2014 20:11:36 +0000 (12:11 -0800)]
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}
arv [Thu, 18 Dec 2014 19:41:37 +0000 (11:41 -0800)]
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}
hpayer [Thu, 18 Dec 2014 16:55:46 +0000 (08:55 -0800)]
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}
erikcorry [Thu, 18 Dec 2014 16:09:03 +0000 (08:09 -0800)]
Phantom references support internal fields
BUG=
Review URL: https://codereview.chromium.org/
753553002
Cr-Commit-Position: refs/heads/master@{#25889}
machenbach [Thu, 18 Dec 2014 15:49:48 +0000 (07:49 -0800)]
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}
ulan [Thu, 18 Dec 2014 15:44:19 +0000 (07:44 -0800)]
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}
machenbach [Thu, 18 Dec 2014 15:01:05 +0000 (07:01 -0800)]
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 https://chromium.googlesource.com/v8/v8/+/
70b5eb47b39acbf31746f4a116a9b3ce2730218a
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}
jkummerow [Thu, 18 Dec 2014 14:50:01 +0000 (06:50 -0800)]
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}
machenbach [Thu, 18 Dec 2014 14:42:06 +0000 (06:42 -0800)]
Revert of [turbofan] remove control field from instruction (patchset #1 id:1 of https://codereview.chromium.org/
810023002/)
Reason for revert:
Needed to revert https://chromium.googlesource.com/v8/v8/+/
70b5eb47b39acbf31746f4a116a9b3ce2730218a
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}
ulan [Thu, 18 Dec 2014 14:04:56 +0000 (06:04 -0800)]
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}
ulan [Thu, 18 Dec 2014 13:09:37 +0000 (05:09 -0800)]
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}
hpayer [Thu, 18 Dec 2014 12:50:02 +0000 (04:50 -0800)]
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}
svenpanne [Thu, 18 Dec 2014 11:12:57 +0000 (03:12 -0800)]
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}
jochen [Thu, 18 Dec 2014 11:01:42 +0000 (03:01 -0800)]
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}
titzer [Thu, 18 Dec 2014 09:41:43 +0000 (01:41 -0800)]
[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}
jochen [Thu, 18 Dec 2014 08:56:43 +0000 (00:56 -0800)]
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}
machenbach [Thu, 18 Dec 2014 08:44:04 +0000 (00:44 -0800)]
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}
Benedikt Meurer [Thu, 18 Dec 2014 08:42:43 +0000 (09:42 +0100)]
[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}
Benedikt Meurer [Thu, 18 Dec 2014 07:47:22 +0000 (08:47 +0100)]
[turbofan] Also run MachineOperatorReducer in SimplifiedLoweringPhase.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
809313002
Cr-Commit-Position: refs/heads/master@{#25874}
erikcorry [Wed, 17 Dec 2014 23:13:12 +0000 (15:13 -0800)]
Mozilla test status: Assign bug number to quadratic assembler arm64 issue & misc regexp cleanup
R=marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
810053002
Cr-Commit-Position: refs/heads/master@{#25873}
machenbach [Wed, 17 Dec 2014 19:47:00 +0000 (11:47 -0800)]
Revert of ES6 computed property names (patchset #1 id:1 of https://codereview.chromium.org/
792233008/)
Reason for revert:
[sheriff] Still crashes on win32 (XP):
http://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%201/builds/1380
Original issue's description:
> ES6 computed property names
>
> This adds support for computed property names, under the flag
> --harmony-computed-property-names, for both object literals and
> classes.
>
> This is a revert of the revert,
a76419f0f497db156eb1010e9b4be398951280cb.
>
> This changes to do an early bailout in
> HOptimizedGraphBuilder::VisitObjectLiteral instead of doing that in the later
> loop.
>
> BUG=v8:3754
> LOG=Y
> TBR=dslomov@chromium.org
TBR=dslomov@chromium.org,arv@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=v8:3754
Review URL: https://codereview.chromium.org/
811593004
Cr-Commit-Position: refs/heads/master@{#25872}
Michael Achenbach [Wed, 17 Dec 2014 19:43:24 +0000 (20:43 +0100)]
Whitespace change to trigger bots.
Cr-Commit-Position: refs/heads/master@{#25871}
Michael Achenbach [Wed, 17 Dec 2014 19:10:20 +0000 (20:10 +0100)]
Whitespace change to trigger bots.
Cr-Commit-Position: refs/heads/master@{#25870}
Michael Achenbach [Wed, 17 Dec 2014 19:07:35 +0000 (20:07 +0100)]
Whitespace change to trigger bots.
Cr-Commit-Position: refs/heads/master@{#25869}
arv [Wed, 17 Dec 2014 18:38:38 +0000 (10:38 -0800)]
ES6 computed property names
This adds support for computed property names, under the flag
--harmony-computed-property-names, for both object literals and
classes.
This is a revert of the revert,
a76419f0f497db156eb1010e9b4be398951280cb.
This changes to do an early bailout in
HOptimizedGraphBuilder::VisitObjectLiteral instead of doing that in the later
loop.
BUG=v8:3754
LOG=Y
TBR=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
792233008
Cr-Commit-Position: refs/heads/master@{#25868}
dcarney [Wed, 17 Dec 2014 15:09:50 +0000 (07:09 -0800)]
[turbofan] move assembly order to InstructionBlock
R=titzer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
805263003
Cr-Commit-Position: refs/heads/master@{#25867}
dcarney [Wed, 17 Dec 2014 14:10:38 +0000 (06:10 -0800)]
[turbofan] remove control field from instruction
R=titzer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
810023002
Cr-Commit-Position: refs/heads/master@{#25866}
dcarney [Wed, 17 Dec 2014 13:37:45 +0000 (05:37 -0800)]
[turbofan] simplify gap ordering
BUG=
Review URL: https://codereview.chromium.org/
810013002
Cr-Commit-Position: refs/heads/master@{#25865}
dcarney [Wed, 17 Dec 2014 12:13:47 +0000 (04:13 -0800)]
[turbofan] use START and END gap positions for constraints
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
798363007
Cr-Commit-Position: refs/heads/master@{#25864}
Benedikt Meurer [Wed, 17 Dec 2014 11:34:27 +0000 (12:34 +0100)]
[turbofan] Improve reduction of Word32And and Int32Add.
TEST=unittests
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
816433002
Cr-Commit-Position: refs/heads/master@{#25863}
hpayer [Wed, 17 Dec 2014 11:17:30 +0000 (03:17 -0800)]
Revert of Shrink initial old generation size based on new space survival rate. (patchset #7 id:140001 of https://codereview.chromium.org/
785593002/)
Reason for revert:
Performance regressions.
Original issue's description:
> Shrink initial old generation size based on new space survival rate.
>
> BUG=
>
> Committed: https://crrev.com/
37f9bb72b9c7ea4eccef6cb6533b3c42792fb5e6
> Cr-Commit-Position: refs/heads/master@{#25850}
TBR=jochen@chromium.org,ulan@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
813733002
Cr-Commit-Position: refs/heads/master@{#25862}
Benedikt Meurer [Wed, 17 Dec 2014 10:31:43 +0000 (11:31 +0100)]
[turbofan] Recursively reduce new inputs of changed nodes.
The GraphReducer should recurse into new inputs after a node was
changed. Most of the reducers already assume this behavior, and it
mostly worked by accident in many cases.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
800073004
Cr-Commit-Position: refs/heads/master@{#25861}
jochen [Wed, 17 Dec 2014 10:30:45 +0000 (02:30 -0800)]
Allocate memory for external snapshot paths in d8
R=marja@chromium.org
BUG=chromium:442804
LOG=n
Review URL: https://codereview.chromium.org/
791713003
Cr-Commit-Position: refs/heads/master@{#25860}
bmeurer [Wed, 17 Dec 2014 09:51:05 +0000 (01:51 -0800)]
Revert of [turbofan] Correctify TruncateFloat64ToInt32 reduction in MachineOperatorReducer. (patchset #1 id:1 of https://codereview.chromium.org/
801263002/)
Reason for revert:
Can cause reduce cycles, needs more investigation
Original issue's description:
> [turbofan] Correctify TruncateFloat64ToInt32 reduction in MachineOperatorReducer.
>
> TEST=unittests
> R=svenpanne@chromium.org
>
> Committed: https://chromium.googlesource.com/v8/v8/+/
6e7ceee4d02a81f167d47d8c6dc57a226b8d98d4
TBR=svenpanne@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
794473003
Cr-Commit-Position: refs/heads/master@{#25859}
erik.corry [Wed, 17 Dec 2014 08:23:18 +0000 (00:23 -0800)]
Allow timeout on regexp test
R=marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
798713004
Cr-Commit-Position: refs/heads/master@{#25858}
Benedikt Meurer [Wed, 17 Dec 2014 08:05:17 +0000 (09:05 +0100)]
[turbofan] Handle collisions properly in value numbering.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
795433003
Cr-Commit-Position: refs/heads/master@{#25857}
v8-autoroll [Wed, 17 Dec 2014 04:29:19 +0000 (20:29 -0800)]
Update V8 DEPS.
Rolling v8/tools/clang to
90fb65e7a9a5c9d6d9613dfb0e78921c52ca9cfc
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
795843004
Cr-Commit-Position: refs/heads/master@{#25856}
caitpotter88 [Tue, 16 Dec 2014 21:08:11 +0000 (13:08 -0800)]
Fix ArrayConcat for JSValues/JSFunctions/JSRegExps with @@isConcatSpreadable
LOG=N
BUG=v8:3764, v8:3765
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
799803003
Cr-Commit-Position: refs/heads/master@{#25855}
arv [Tue, 16 Dec 2014 20:07:27 +0000 (12:07 -0800)]
ES6: Update unscopables to match spec
The spec ended up using Get(unscopables, propertyName) and
comparing the result to undefined instead of using Has.
BUG=v8:3632
LOG=Y
R=adamk, dslomov@chromium.org
Review URL: https://codereview.chromium.org/
807893002
Cr-Commit-Position: refs/heads/master@{#25854}
arv [Tue, 16 Dec 2014 19:38:46 +0000 (11:38 -0800)]
Revert of ES6 computed property names (patchset #1 id:1 of https://codereview.chromium.org/
807173002/)
Reason for revert:
Crashes Win32. It was not flake.
Original issue's description:
> ES6 computed property names
>
> This adds support for computed property names, under the flag
> --harmony-computed-property-names, for both object literals and
> classes.
>
> This is a revert of the revert,
a76419f0f497db156eb1010e9b4be398951280cb with
> no changes. I cannot reproduce the issue on Win8.1 or WinXP. Letting the bots
> try again.
>
> BUG=v8:3754
> LOG=Y
> TBR=dslomov@chromium.org
TBR=dslomov@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=v8:3754
Review URL: https://codereview.chromium.org/
807033003
Cr-Commit-Position: refs/heads/master@{#25853}
erikcorry [Tue, 16 Dec 2014 17:46:32 +0000 (09:46 -0800)]
Speed up ARM64 debug assembler more
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
810473004
Cr-Commit-Position: refs/heads/master@{#25852}
arv [Tue, 16 Dec 2014 17:29:31 +0000 (09:29 -0800)]
ES6 computed property names
This adds support for computed property names, under the flag
--harmony-computed-property-names, for both object literals and
classes.
This is a revert of the revert,
a76419f0f497db156eb1010e9b4be398951280cb with
no changes. I cannot reproduce the issue on Win8.1 or WinXP. Letting the bots
try again.
BUG=v8:3754
LOG=Y
TBR=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
807173002
Cr-Commit-Position: refs/heads/master@{#25851}
hpayer [Tue, 16 Dec 2014 16:25:25 +0000 (08:25 -0800)]
Shrink initial old generation size based on new space survival rate.
BUG=
Review URL: https://codereview.chromium.org/
785593002
Cr-Commit-Position: refs/heads/master@{#25850}