jkummerow [Wed, 15 Apr 2015 09:31:46 +0000 (02:31 -0700)]
Put --noalways-opt flag back into regress-crbug-245480
This is a partial revert of
3eb277f270b9d41967e7ac208ec3fe8ef233761a.
R=machenbach@chromium.org
NOTRY=true
Review URL: https://codereview.chromium.org/
1087183002
Cr-Commit-Position: refs/heads/master@{#27835}
machenbach [Wed, 15 Apr 2015 09:07:26 +0000 (02:07 -0700)]
Revert of Force full GCwhenever CollectAllGarbage is meant to trigger a full GC. (patchset #4 id:60001 of https://codereview.chromium.org/
1082973003/)
Reason for revert:
[Sheriff] Breaks http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/3348 and maybe leads to timeouts/crashes on layout test bots:
http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2064/builds/3002
Original issue's description:
> Force full GC whenever CollectAllGarbage is meant to trigger a full GC.
>
> Add a finalize incremental marking mode for CollectAllGarbage to finalize incremental marking when incremental marking is in progress, but we want a full gc at a given CollectAllGarbage call site.
>
> Default mode for CollectAllGarbage is finalize incremental marking and perform a full GC.
>
> BUG=
>
> Committed: https://crrev.com/
9c105f0940ba757364ac18fcdf649815ec5ab2d1
> Cr-Commit-Position: refs/heads/master@{#27831}
TBR=ulan@chromium.org,hpayer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
1088083002
Cr-Commit-Position: refs/heads/master@{#27834}
jochen [Wed, 15 Apr 2015 07:15:52 +0000 (00:15 -0700)]
Remove support for specifying the number of available threads
The embedder can control how many threads it wants to use via the
v8::Platform implementation. V8 internally doesn't spin up threads
anymore. If the embedder doesn't want to use any threads at all, it's
v8::Platform implementation must either run the background jobs on
the foreground thread, or the embedder should specify --predictable
BUG=none
R=yangguo@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
1064723005
Cr-Commit-Position: refs/heads/master@{#27833}
jochen [Wed, 15 Apr 2015 07:11:54 +0000 (00:11 -0700)]
When converting Maybe and MaybeLocal values with a check, always check
An embedder that wants to avoid the check should use MaybeLocal::ToLocal.
BUG=none
R=dcarney@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
1083943002
Cr-Commit-Position: refs/heads/master@{#27832}
hpayer [Wed, 15 Apr 2015 07:10:47 +0000 (00:10 -0700)]
Force full GC whenever CollectAllGarbage is meant to trigger a full GC.
Add a finalize incremental marking mode for CollectAllGarbage to finalize incremental marking when incremental marking is in progress, but we want a full gc at a given CollectAllGarbage call site.
Default mode for CollectAllGarbage is finalize incremental marking and perform a full GC.
BUG=
Review URL: https://codereview.chromium.org/
1082973003
Cr-Commit-Position: refs/heads/master@{#27831}
svenpanne [Wed, 15 Apr 2015 07:00:17 +0000 (00:00 -0700)]
Added Donald Stence to PPC owners.
Review URL: https://codereview.chromium.org/
1065443004
Cr-Commit-Position: refs/heads/master@{#27830}
bmeurer [Wed, 15 Apr 2015 06:13:48 +0000 (23:13 -0700)]
[x64] Use xorl to materialize smi zero.
Before we always loaded smi zero via a movabs with a 64-bit immediate,
which is pretty expensive compared to the xorl.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
1085153002
Cr-Commit-Position: refs/heads/master@{#27829}
v8-autoroll [Wed, 15 Apr 2015 03:28:45 +0000 (20:28 -0700)]
Update V8 DEPS.
Rolling v8/build/gyp to
2a5511bd901f328db10d0b6415c864a5ff59fc81
Rolling v8/tools/clang to
330d3b5bd0ecf77d0d612081ba058ba01adfb67b
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1091453002
Cr-Commit-Position: refs/heads/master@{#27828}
mvstanton [Wed, 15 Apr 2015 02:35:39 +0000 (19:35 -0700)]
VectorICs: megamorphic keyed loads in crankshaft don't need a vector.
This needs "Pass load ic state through the Oracle"
(https://codereview.chromium.org/
1083933002/) to land first.
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
1083083002
Cr-Commit-Position: refs/heads/master@{#27827}
mvstanton [Wed, 15 Apr 2015 01:24:40 +0000 (18:24 -0700)]
Pass load ic state through the Oracle.
We'd like to know in optimized code with more precision what feedback
state was achieved for a load.
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1083933002
Cr-Commit-Position: refs/heads/master@{#27826}
paul.lind [Tue, 14 Apr 2015 16:39:49 +0000 (09:39 -0700)]
MIPS: [turbofan] Load immortal heap objects from the heap roots.
Port
5d2de78a771b8ff1ac59fbdf634bffd01709b554
BUG=
Review URL: https://codereview.chromium.org/
1085693003
Cr-Commit-Position: refs/heads/master@{#27825}
wingo [Tue, 14 Apr 2015 15:37:20 +0000 (08:37 -0700)]
Allow eval/arguments in arrow functions
R=arv@chromium.org, adamk@chromium.org, marja@chromium.org
BUG=v8:4020
LOG=N
Review URL: https://codereview.chromium.org/
1061983004
Cr-Commit-Position: refs/heads/master@{#27824}
mbrandy [Tue, 14 Apr 2015 15:17:29 +0000 (08:17 -0700)]
PPC: [turbofan] Load immortal heap objects from the heap roots.
Port
5d2de78a771b8ff1ac59fbdf634bffd01709b554
Original commit message:
It's cheaper to materialize heap constants by loading from the roots
array instead of embedding the constant into the instruction stream, at
least on x64, arm and arm64.
Drive-by-fix: Also cleanup the materialize constant from frame
optimization.
R=michael_dawson@ca.ibm.com
BUG=
Review URL: https://codereview.chromium.org/
1075303003
Cr-Commit-Position: refs/heads/master@{#27823}
jkummerow [Tue, 14 Apr 2015 14:57:56 +0000 (07:57 -0700)]
%GetOptimizationStatus(): Unconditionally return a sentinel when --always-opt is present
Review URL: https://codereview.chromium.org/
1086923002
Cr-Commit-Position: refs/heads/master@{#27822}
jochen [Tue, 14 Apr 2015 13:57:35 +0000 (06:57 -0700)]
Reland "Remove support for thread-based recompilation"
Original issue's description:
> Remove support for thread-based recompilation
>
> BUG=v8:3608
> R=yangguo@chromium.org
> LOG=y
>
> Committed: https://crrev.com/
ed5db223a19dfe126af01
> Cr-Commit-Position: refs/heads/master@{#27619}
BUG=v8:3608
R=yangguo@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
1087763003
Cr-Commit-Position: refs/heads/master@{#27821}
machenbach [Tue, 14 Apr 2015 13:43:37 +0000 (06:43 -0700)]
[cq] Add mips compile trybots.
NOTRY=true
Review URL: https://codereview.chromium.org/
1051093004
Cr-Commit-Position: refs/heads/master@{#27820}
jarin [Tue, 14 Apr 2015 13:42:30 +0000 (06:42 -0700)]
Insert a filler at the new space top even if the top is at the limit.
BUG=chromium:470390
R=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1066653003
Cr-Commit-Position: refs/heads/master@{#27819}
bmeurer [Tue, 14 Apr 2015 12:50:43 +0000 (05:50 -0700)]
[turbofan] Load immortal heap objects from the heap roots.
It's cheaper to materialize heap constants by loading from the roots
array instead of embedding the constant into the instruction stream, at
least on x64, arm and arm64.
Drive-by-fix: Also cleanup the materialize constant from frame
optimization.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
1088913002
Cr-Commit-Position: refs/heads/master@{#27818}
mvstanton [Tue, 14 Apr 2015 12:31:33 +0000 (05:31 -0700)]
VectorICs: recreate feedback vector if scoping changes on recompile.
BUG=476488
LOG=N
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
1080253003
Cr-Commit-Position: refs/heads/master@{#27817}
jochen [Tue, 14 Apr 2015 12:29:27 +0000 (05:29 -0700)]
Revert of Reland "Remove support for thread-based recompilation" (patchset #1 id:1 of https://codereview.chromium.org/
1059853004/)
Reason for revert:
still times out
Original issue's description:
> Reland "Remove support for thread-based recompilation"
>
> Original issue's description:
> > Remove support for thread-based recompilation
> >
> > BUG=v8:3608
> > R=yangguo@chromium.org
> > LOG=y
> >
> > Committed: https://crrev.com/
ed5db223a19dfe126af012e894582251aa3635d7
> > Cr-Commit-Position: refs/heads/master@{#27619}
>
> BUG=v8:3608
> R=yangguo@chromium.org
> LOG=y
>
> Committed: https://crrev.com/
f1ceccb8b8b352a91e6366e3e3103f1db0df6afb
> Cr-Commit-Position: refs/heads/master@{#27813}
TBR=yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3608
Review URL: https://codereview.chromium.org/
1082183003
Cr-Commit-Position: refs/heads/master@{#27816}
yangguo [Tue, 14 Apr 2015 11:56:09 +0000 (04:56 -0700)]
Fix Math.log10 implementation for 1 - Number.EPSILON.
R=svenpanne@chromium.org
BUG=v8:4025
LOG=N
Review URL: https://codereview.chromium.org/
1084853002
Cr-Commit-Position: refs/heads/master@{#27815}
jochen [Tue, 14 Apr 2015 10:55:22 +0000 (03:55 -0700)]
Revert "Remove early bail-out in VisitWeakList to investigate chrasher."
> BUG=468601
> LOG=n
>
> Review URL: https://codereview.chromium.org/
1016353002
>
> Cr-Commit-Position: refs/heads/master@{#27317}
R=hpayer@chromium.org
BUG=v8:3996,chromium:468601
LOG=n
Review URL: https://codereview.chromium.org/
1080303002
Cr-Commit-Position: refs/heads/master@{#27814}
jochen [Tue, 14 Apr 2015 10:26:41 +0000 (03:26 -0700)]
Reland "Remove support for thread-based recompilation"
Original issue's description:
> Remove support for thread-based recompilation
>
> BUG=v8:3608
> R=yangguo@chromium.org
> LOG=y
>
> Committed: https://crrev.com/
ed5db223a19dfe126af012e894582251aa3635d7
> Cr-Commit-Position: refs/heads/master@{#27619}
BUG=v8:3608
R=yangguo@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
1059853004
Cr-Commit-Position: refs/heads/master@{#27813}
dslomov [Tue, 14 Apr 2015 09:59:07 +0000 (02:59 -0700)]
Add a test for subclass maps.
R=arv@chromium.org
Review URL: https://codereview.chromium.org/
1052963002
Cr-Commit-Position: refs/heads/master@{#27812}
jochen [Tue, 14 Apr 2015 09:26:13 +0000 (02:26 -0700)]
Put newly allocated buffers at the right end of the buffers list
If a major gc happens between allocation and initialization of the
buffer, it might be already in old space. Since we need the list of
buffers to be sorted from new to old, we keep track of the last buffer
and put old buffers to the end
BUG=chromium:476032
R=hpayer@chromium.org,dslomov@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1079923003
Cr-Commit-Position: refs/heads/master@{#27811}
yangguo [Tue, 14 Apr 2015 09:24:34 +0000 (02:24 -0700)]
Revert of Revert of Revert of Wrap typed array implementations in functions. (patchset #1 id:1 of https://codereview.chromium.org/
1083013002/)
Reason for revert:
Seems to still break those tests.
Original issue's description:
> Revert of Revert of Wrap typed array implementations in functions. (patchset #1 id:1 of https://codereview.chromium.org/
1086683002/)
>
> Reason for revert:
> I don't think this is the cause.
>
> Original issue's description:
> > Revert of Wrap typed array implementations in functions. (patchset #1 id:1 of https://codereview.chromium.org/
1082703003/)
> >
> > Reason for revert:
> > [Sheriff] Flaky nosnap failures:
> > http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20nosnap%20-%20debug%20-%201/builds/1720
> > http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/3312
> > http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/3313
> >
> > Original issue's description:
> > > Wrap typed array implementations in functions.
> > >
> > > R=mvstanton@chromium.org
> > >
> > > Committed: https://crrev.com/
6fc394a15614b74776f9bbeeb0486f430bdc8597
> > > Cr-Commit-Position: refs/heads/master@{#27784}
> >
> > TBR=mvstanton@chromium.org,yangguo@chromium.org
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> >
> > Committed: https://crrev.com/
8e3fa7adf20f4f9c9125076a878d601eee7c9f35
> > Cr-Commit-Position: refs/heads/master@{#27789}
>
> TBR=mvstanton@chromium.org,machenbach@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://crrev.com/
d7fe3b83f5dfa997f0c8a29436a22b999dc49a76
> Cr-Commit-Position: refs/heads/master@{#27803}
TBR=mvstanton@chromium.org,machenbach@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1088863002
Cr-Commit-Position: refs/heads/master@{#27810}
dslomov [Tue, 14 Apr 2015 09:08:02 +0000 (02:08 -0700)]
Avoid modifying the real context chain for debug evaluation.
Instead of modifying a context chain and then modifying it back, causing
potential mismatches, we clone the inner context chain and evaluate
the expression in this cloned context. We then copy all local variable
values back if needed.
R=yangguo@chromium.org,yurys@chromium.org
Review URL: https://codereview.chromium.org/
1088503003
Cr-Commit-Position: refs/heads/master@{#27809}
dcarney [Tue, 14 Apr 2015 08:08:32 +0000 (01:08 -0700)]
[turbofan] Get rid of SourcePositionInstruction.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
1060373006
Cr-Commit-Position: refs/heads/master@{#27808}
chunyang.dai [Tue, 14 Apr 2015 08:05:36 +0000 (01:05 -0700)]
X87: Disable the test case for X87 since
f3338dd3b01c
The overwrite-builtins test cases will throw one expected exception
and the exception message should include the source position in the JS
file. But crankshaft compiler does not generate the source position for
it when creating the flow graph by default. The source position information
is always zero. So it failed when comparing with the reference file.
If we use crankshaft compiler on IA32 platform to run this test case, it
has the same failure.
BUG=
Review URL: https://codereview.chromium.org/
1086503002
Cr-Commit-Position: refs/heads/master@{#27807}
smcgruer [Tue, 14 Apr 2015 07:54:30 +0000 (00:54 -0700)]
Restore V8_LIBC_UCLIBC as a libc option.
As uClibc defines __GLIBC__ in an attempt to look like glibc, V8_LIBC_GLIBC
was true for uClibc as well. Checking for uClibc before glibc fixes this
and restores the correct behavior.
BUG=
Review URL: https://codereview.chromium.org/
1066573005
Cr-Commit-Position: refs/heads/master@{#27806}
dcarney [Tue, 14 Apr 2015 07:11:43 +0000 (00:11 -0700)]
fix variable shadowing
BUG=427616
LOG=N
Review URL: https://codereview.chromium.org/
1087533002
Cr-Commit-Position: refs/heads/master@{#27805}
hpayer [Tue, 14 Apr 2015 06:58:37 +0000 (23:58 -0700)]
Experiment: reduce heap growing factor to investigate OOM impact.
This CL will be reverted after getting sufficient data.
BUG=
Review URL: https://codereview.chromium.org/
1060533003
Cr-Commit-Position: refs/heads/master@{#27804}
yangguo [Tue, 14 Apr 2015 05:58:25 +0000 (22:58 -0700)]
Revert of Revert of Wrap typed array implementations in functions. (patchset #1 id:1 of https://codereview.chromium.org/
1086683002/)
Reason for revert:
I don't think this is the cause.
Original issue's description:
> Revert of Wrap typed array implementations in functions. (patchset #1 id:1 of https://codereview.chromium.org/
1082703003/)
>
> Reason for revert:
> [Sheriff] Flaky nosnap failures:
> http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20nosnap%20-%20debug%20-%201/builds/1720
> http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/3312
> http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/3313
>
> Original issue's description:
> > Wrap typed array implementations in functions.
> >
> > R=mvstanton@chromium.org
> >
> > Committed: https://crrev.com/
6fc394a15614b74776f9bbeeb0486f430bdc8597
> > Cr-Commit-Position: refs/heads/master@{#27784}
>
> TBR=mvstanton@chromium.org,yangguo@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://crrev.com/
8e3fa7adf20f4f9c9125076a878d601eee7c9f35
> Cr-Commit-Position: refs/heads/master@{#27789}
TBR=mvstanton@chromium.org,machenbach@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1083013002
Cr-Commit-Position: refs/heads/master@{#27803}
chunyang.dai [Tue, 14 Apr 2015 05:53:24 +0000 (22:53 -0700)]
X87: Remove unnecessary options from HTailCallThroughMegamorphicCache.
port
e0844a24d35c03c6971b8beb633c3506c212179a (r27793).
original commit message:
These options were added for a hydrogen code stub version of
the VectorIC dispatcher, which was discontinued.
BUG=
Review URL: https://codereview.chromium.org/
1087573003
Cr-Commit-Position: refs/heads/master@{#27802}
chunyang.dai [Tue, 14 Apr 2015 02:09:16 +0000 (19:09 -0700)]
X87: Change near jump to far jump to fix the jump distance check error.
The assembler code generated by the DeoptimizeIf(...) function under X87 is larger
and the distance between the link point and the bind point which has two DeoptimizeIf()
is larger then near link distance (127) for labels.
BUG=
Review URL: https://codereview.chromium.org/
1065893003
Cr-Commit-Position: refs/heads/master@{#27801}
paul.lind [Tue, 14 Apr 2015 00:17:05 +0000 (17:17 -0700)]
MIPS: Split TemplateHashMapImpl::Lookup into two methods.
Port
5277c41044d94ce6452e5fcf6ed703d6c1dcfe4b.
BUG=
Review URL: https://codereview.chromium.org/
1084723003
Cr-Commit-Position: refs/heads/master@{#27800}
adamk [Mon, 13 Apr 2015 19:01:15 +0000 (12:01 -0700)]
Split TemplateHashMapImpl::Lookup into two methods
This avoids both a mysterious boolean argument ("insert") and lets
non-mutating lookups skip passing an allocator (in one such case,
we were passing a scary-looking ZoneAllocationPolicy(NULL)!).
Review URL: https://codereview.chromium.org/
1074943002
Cr-Commit-Position: refs/heads/master@{#27799}
arv [Mon, 13 Apr 2015 18:59:40 +0000 (11:59 -0700)]
[es6] Fix length property of collection constructors
{Map, Set, WeakMap, WeakSet}.length should be 0.
BUG=v8:4021
LOG=N
R=adamk@chromium.org
Review URL: https://codereview.chromium.org/
1073233002
Cr-Commit-Position: refs/heads/master@{#27798}
mbrandy [Mon, 13 Apr 2015 18:44:45 +0000 (11:44 -0700)]
PPC: Remove unnecessary options from HTailCallThroughMegamorphicCache
Port
e0844a24d35c03c6971b8beb633c3506c212179a
Original commit message:
These options were added for a hydrogen code stub version of
the VectorIC dispatcher, which was discontinued.
R=mvstanton@chromium.org, michael_dawson@ca.ibm.com
BUG=
Review URL: https://codereview.chromium.org/
1088573002
Cr-Commit-Position: refs/heads/master@{#27797}
conradw [Mon, 13 Apr 2015 17:25:18 +0000 (10:25 -0700)]
[strong] Implement static restrictions on direct eval
Does not entirely disallow the use of 'eval' as an identifier in strong mode,
as originally proposed.
BUG=v8:3956
LOG=N
Review URL: https://codereview.chromium.org/
1059273004
Cr-Commit-Position: refs/heads/master@{#27796}
verwaest [Mon, 13 Apr 2015 16:25:38 +0000 (09:25 -0700)]
Fix indirect push
BUG=chromium:388665
LOG=n
Review URL: https://codereview.chromium.org/
1087463003
Cr-Commit-Position: refs/heads/master@{#27795}
mbrandy [Mon, 13 Apr 2015 16:24:31 +0000 (09:24 -0700)]
PPC: Fix NaN Canonicalization.
Use fsub rather than fadd to avoid stripping the sign from minus zero.
Fixes mjsunit/result-table-min and mjsunit/result-table-max test failures.
R=michael_dawson@ca.ibm.com
BUG=
Review URL: https://codereview.chromium.org/
1084583003
Cr-Commit-Position: refs/heads/master@{#27794}
mvstanton [Mon, 13 Apr 2015 16:23:24 +0000 (09:23 -0700)]
Remove unnecessary options from HTailCallThroughMegamorphicCache
These options were added for a hydrogen code stub version of
the VectorIC dispatcher, which was discontinued.
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1081883002
Cr-Commit-Position: refs/heads/master@{#27793}
titzer [Mon, 13 Apr 2015 16:22:11 +0000 (09:22 -0700)]
[turbofan] Optimize loads of global constants in JSTypedLowering.
R=mstarzinger@chromium.org,verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1077343002
Cr-Commit-Position: refs/heads/master@{#27792}
arv [Mon, 13 Apr 2015 16:21:02 +0000 (09:21 -0700)]
Revert "ES6: Number and Boolean prototype should be ordinary objects"
This reverts commit
e965a1f84a7a4024d40680ef63e82abeaef867fd.
The reason is that it breaks jsfiddle.com
BUG=476437, v8:4001
LOG=N
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
1086673002
Cr-Commit-Position: refs/heads/master@{#27791}
machenbach [Mon, 13 Apr 2015 16:19:27 +0000 (09:19 -0700)]
Revert of VectorICs: megamorphic keyed loads in crankshaft don't need a vector. (patchset #3 id:40001 of https://codereview.chromium.org/
1067573003/)
Reason for revert:
[Sheriff] Speculative revert for windows failure... will reland if it doesn't help:
http://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20debug%20-%202/builds/2891
Original issue's description:
> VectorICs: megamorphic keyed loads in crankshaft don't need a vector.
>
> They are content with a dummy vector, as MISSES won't result in
> changing the real vector/slot at all.
>
> BUG=
>
> Committed: https://crrev.com/
c8e4d57d3b3036a05902f5b916cb5d853a57393c
> Cr-Commit-Position: refs/heads/master@{#27788}
TBR=dcarney@chromium.org,mvstanton@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
1060263003
Cr-Commit-Position: refs/heads/master@{#27790}
machenbach [Mon, 13 Apr 2015 15:39:50 +0000 (08:39 -0700)]
Revert of Wrap typed array implementations in functions. (patchset #1 id:1 of https://codereview.chromium.org/
1082703003/)
Reason for revert:
[Sheriff] Flaky nosnap failures:
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20nosnap%20-%20debug%20-%201/builds/1720
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/3312
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/3313
Original issue's description:
> Wrap typed array implementations in functions.
>
> R=mvstanton@chromium.org
>
> Committed: https://crrev.com/
6fc394a15614b74776f9bbeeb0486f430bdc8597
> Cr-Commit-Position: refs/heads/master@{#27784}
TBR=mvstanton@chromium.org,yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1086683002
Cr-Commit-Position: refs/heads/master@{#27789}
mvstanton [Mon, 13 Apr 2015 13:50:31 +0000 (06:50 -0700)]
VectorICs: megamorphic keyed loads in crankshaft don't need a vector.
They are content with a dummy vector, as MISSES won't result in
changing the real vector/slot at all.
BUG=
Review URL: https://codereview.chromium.org/
1067573003
Cr-Commit-Position: refs/heads/master@{#27788}
dcarney [Mon, 13 Apr 2015 13:48:13 +0000 (06:48 -0700)]
[turbofan] remove register operand cache
BUG=
Review URL: https://codereview.chromium.org/
1085623002
Cr-Commit-Position: refs/heads/master@{#27787}
dcarney [Mon, 13 Apr 2015 13:15:20 +0000 (06:15 -0700)]
collect phantom handle data before it gets overwritten
R=jochen@chromium.org, hpayer@chromium.org, erikcorry@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1064713005
Cr-Commit-Position: refs/heads/master@{#27786}
dcarney [Mon, 13 Apr 2015 12:45:56 +0000 (05:45 -0700)]
[turbofan] cleanup PointerMap
rename to ReferenceMap
use ZoneVector for storage
drop dead code
BUG=
Review URL: https://codereview.chromium.org/
1081053002
Cr-Commit-Position: refs/heads/master@{#27785}
yangguo [Mon, 13 Apr 2015 12:22:04 +0000 (05:22 -0700)]
Wrap typed array implementations in functions.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
1082703003
Cr-Commit-Position: refs/heads/master@{#27784}
verwaest [Mon, 13 Apr 2015 11:37:14 +0000 (04:37 -0700)]
Remove kForInStatementIsNotFastCase bailout reason
BUG=
Review URL: https://codereview.chromium.org/
1081803002
Cr-Commit-Position: refs/heads/master@{#27783}
jochen [Mon, 13 Apr 2015 11:28:02 +0000 (04:28 -0700)]
Expose ArrayBufferView::HasBuffer
This allows the embedder to decide whether it's worthwhile to copy the
contents to avoid materializing a buffer.
BUG=v8:3996
R=dslomov@chromium.org,kbr@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
1084513002
Cr-Commit-Position: refs/heads/master@{#27782}
vegorov [Mon, 13 Apr 2015 10:47:19 +0000 (03:47 -0700)]
Treat HArgumentsObject as a safe use during Uint32 analysis phase.
Deoptimization infrastructure already handles it correctly.
This change fixes repetitive deoptimizations in the code like this:
var u32 = new Uint32Array(1);
u32[0] = -1;
function tr(x) { return x|0; }
function ld() { return tr(u32[0]); }
while (true) ld();
Currently inlined tr will contain HArgumentsObject that is considered uint32-unsafe use and prevents u32[0] from becoming uint32 load - instead a speculative int32 load is generated which just deopts.
BUG=
Review URL: https://codereview.chromium.org/
1077113002
Cr-Commit-Position: refs/heads/master@{#27781}
wingo [Mon, 13 Apr 2015 10:39:38 +0000 (03:39 -0700)]
Refactor formal parameter error locations into a class
This is a follow-up to https://codereview.chromium.org/
1078093002.
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1083623002
Cr-Commit-Position: refs/heads/master@{#27780}
ulan [Mon, 13 Apr 2015 09:43:55 +0000 (02:43 -0700)]
Do not inline store if field map was cleared.
BUG=v8:4023
LOG=NO
Review URL: https://codereview.chromium.org/
1081033004
Cr-Commit-Position: refs/heads/master@{#27779}
chunyang.dai [Mon, 13 Apr 2015 09:35:59 +0000 (02:35 -0700)]
X87: Reland "Merge cellspace into old pointer space".
port
4bd9bdbb28c0f4004b113534bf6082ec4d3385b9 (r27751)
original commit message:
BUG=
Review URL: https://codereview.chromium.org/
1051323003
Cr-Commit-Position: refs/heads/master@{#27778}
chunyang.dai [Mon, 13 Apr 2015 09:32:58 +0000 (02:32 -0700)]
X87: [es6] implement spread calls
port
74c381221c93253bbee513aa2539d93269303b8b (r27714)
original commit message:
[es6] implement spread calls
BUG=
Review URL: https://codereview.chromium.org/
1085533002
Cr-Commit-Position: refs/heads/master@{#27777}
yangguo [Mon, 13 Apr 2015 09:09:40 +0000 (02:09 -0700)]
Blacklist more debugger tests (fail with --always-opt).
TBR=mstarzinger@chromium.org
NOTRY=true
Review URL: https://codereview.chromium.org/
1079943003
Cr-Commit-Position: refs/heads/master@{#27776}
mstarzinger [Mon, 13 Apr 2015 09:02:51 +0000 (02:02 -0700)]
Make compilers agree on source position of thrown errors.
This makes the compilers agree on the source position of a message
generated by "throw new Error()", it points to the beginning of the
throw directive.
R=titzer@chromium.org
TEST=message/regress/regress-3995
BUG=v8:3995
LOG=N
Review URL: https://codereview.chromium.org/
1049703002
Cr-Commit-Position: refs/heads/master@{#27775}
bmeurer [Mon, 13 Apr 2015 08:25:27 +0000 (01:25 -0700)]
[x86] Allow (v)divsd->(v)mulsd to execute in parallel.
This tweak was already present in CrankShaft for the non-AVX case. As it
turns out, it's also relevant even with AVX. Now the same optimization
is applied in case of TurboFan as well.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
1081033003
Cr-Commit-Position: refs/heads/master@{#27774}
wingo [Mon, 13 Apr 2015 08:07:05 +0000 (01:07 -0700)]
Factor formal argument parsing into ParserBase
This commit is a precursor to making lazy arrow function parsing use
similar logic to function(){} argument parsing.
R=arv@chromium.org
BUG=4020
LOG=N
Review URL: https://codereview.chromium.org/
1078093002
Cr-Commit-Position: refs/heads/master@{#27773}
v8-autoroll [Mon, 13 Apr 2015 03:23:33 +0000 (20:23 -0700)]
Update V8 DEPS.
Rolling v8/tools/clang to
76fad2f3eb2d3d649bcca82e5ece02d09969e528
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1086453002
Cr-Commit-Position: refs/heads/master@{#27772}
ben [Sun, 12 Apr 2015 21:18:29 +0000 (14:18 -0700)]
Use correct property descriptor in generators test
BUG=
Review URL: https://codereview.chromium.org/
1077413002
Cr-Commit-Position: refs/heads/master@{#27771}
mike [Sat, 11 Apr 2015 21:14:19 +0000 (14:14 -0700)]
Correct property descriptors on GeneratorPrototype
The ES6 specification does not explicitly state the attributes for the
'next' and 'throw' property descriptors, so their values are defined by
Section 17 [1]:
> Every other data property described in clauses 18 through 26 and in
> Annex B.2 has the attributes
> { [[Writable]]: true, [[Enumerable]]: false, [[Configurable]]: true }
> unless otherwise specified.
[1]
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-ecmascript-standard-built-in-objects
BUG=v8:3986
LOG=N
R=wingo,arv
Review URL: https://codereview.chromium.org/
1051363003
Cr-Commit-Position: refs/heads/master@{#27770}
paul.lind [Sat, 11 Apr 2015 15:23:23 +0000 (08:23 -0700)]
Revert "MIPS: Vector-ICs - speed towards the monomorphic exit as quickly as possible."
Reason for revert:
Test failures in string-index and regress-
1187524.
This reverts commit
b45a664f7bc8155d226df7efebd23fb59e5c6162.
BUG=
Review URL: https://codereview.chromium.org/
1050943004
Cr-Commit-Position: refs/heads/master@{#27769}
Weiliang Lin [Sat, 11 Apr 2015 01:02:22 +0000 (09:02 +0800)]
[x86] Introduce vandps/vandpd/vxorps/vxorpd.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
1072343002
Cr-Commit-Position: refs/heads/master@{#27768}
caitpotter88 [Sat, 11 Apr 2015 00:51:06 +0000 (17:51 -0700)]
[es6] ship @@toStringTag
BUG=v8:3502
R=arv@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/
1072573002
Cr-Commit-Position: refs/heads/master@{#27767}
fedor [Fri, 10 Apr 2015 23:17:09 +0000 (16:17 -0700)]
api: introduce SealHandleScope
When debugging Handle leaks in io.js we found it very convenient to be
able to Seal some specific (root in our case) scope to prevent Handle
allocations in it, and easily find leakage.
R=yangguo
BUG=
Review URL: https://codereview.chromium.org/
1079713002
Cr-Commit-Position: refs/heads/master@{#27766}
yangguo [Fri, 10 Apr 2015 22:36:04 +0000 (15:36 -0700)]
Correctly name memory stat for context snapshot size.
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1078353002
Cr-Commit-Position: refs/heads/master@{#27765}
michael_dawson [Fri, 10 Apr 2015 21:54:41 +0000 (14:54 -0700)]
PPC: Always update raw pointers when handling interrupts inside RegExp code.
Fix
c67cb287a901ddf03d4ae4dafcf431d09fd3e22c
Cannot access kStartIndex and kDirectCall parameters as ints on 64-bit BE platforms.
R=yangguo@chromium.org, mbrandy@us.ibm.com
BUG=
Review URL: https://codereview.chromium.org/
1074203003
Cr-Commit-Position: refs/heads/master@{#27764}
michael_dawson [Fri, 10 Apr 2015 21:16:02 +0000 (14:16 -0700)]
PPC: [es6] implement spread calls
Port
74c381221c93253bbee513aa2539d93269303b8b
R=mbrandy@us.ibm.com
BUG=
Review URL: https://codereview.chromium.org/
1078253004
Cr-Commit-Position: refs/heads/master@{#27763}
michael_dawson [Fri, 10 Apr 2015 20:59:48 +0000 (13:59 -0700)]
PPC: [turbofan] Materialize JSFunction from frame if possible.
Port
725cdc533cb4e31c042d32ce1979012b5bd99ced
Original commit message:
This reduces the overhead of recursive calls when context specialization
is enabled. Based on this it might be possible to further reduce the
overhead by also specializing the call itself.
As a drive-by-fix, port the fast context materialization optimization to
arm and arm64, that was previously only supported on x64 and ia32.
R=mbrandy@us.ibm.com
BUG=
Review URL: https://codereview.chromium.org/
1078183002
Cr-Commit-Position: refs/heads/master@{#27762}
michael_dawson [Fri, 10 Apr 2015 20:58:40 +0000 (13:58 -0700)]
PPC: Merge cellspace into old pointer space
Port
4e7163ce05f135918205c7855ae60a48e5d46cc5
R=mbrandy@us.ibm.com
BUG=
Review URL: https://codereview.chromium.org/
1076263002
Cr-Commit-Position: refs/heads/master@{#27761}
yangguo [Fri, 10 Apr 2015 20:51:33 +0000 (13:51 -0700)]
Use array literals instead of array constructor in native javascript.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
1065863003
Cr-Commit-Position: refs/heads/master@{#27760}
caitpotter88 [Fri, 10 Apr 2015 18:36:02 +0000 (11:36 -0700)]
[cleanup] delete dead code leftover from
48eff34
Few pieces leftover which are now effectively dead code and can be safely
deleted.
BUG=v8:3502
LOG=N
R=arv@chromium.org
Review URL: https://codereview.chromium.org/
1052963004
Cr-Commit-Position: refs/heads/master@{#27759}
caitpotter88 [Fri, 10 Apr 2015 18:29:22 +0000 (11:29 -0700)]
[cleanup] fix SpreadCalls perf-test names in JSTests.json
BUG=v8:3018
R=arv@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/
1079103005
Cr-Commit-Position: refs/heads/master@{#27758}
balazs.kilvady [Fri, 10 Apr 2015 18:28:12 +0000 (11:28 -0700)]
MIPS: Vector-ICs - speed towards the monomorphic exit as quickly as possible.
Port
35a67b745d862c5b1f584c2786ebf1369dc4f1ff
Original commit message:
Thanks to some careful assumptions, we can examine the object found at
vector[slot] and trust it's a heap object where the second field is
either a map if it's a WeakCell, or definitely not a map if it's a
Symbol, String or FixedArray. Use this to save a memory read.
BUG=
Review URL: https://codereview.chromium.org/
1053843003
Cr-Commit-Position: refs/heads/master@{#27757}
conradw [Fri, 10 Apr 2015 18:27:05 +0000 (11:27 -0700)]
[strong] Implement static restrictions on binding 'undefined' in arrow functions
Implements the strong mode proposal's static restrictions on the use of the
identifier 'undefined', for arrow functions. Assumes these restrictions are
intended to be identical to the restrictions on the use of 'eval and 'arguments'
in strict mode. In addition, Location variables inconsistantly named (e.g.
dupe_error_loc vs dupe_loc) are now consistently named the shorter way.
Baseline: https://codereview.chromium.org/
1070633002
BUG=v8:3956
LOG=N
Review URL: https://codereview.chromium.org/
1060883004
Cr-Commit-Position: refs/heads/master@{#27756}
machenbach [Fri, 10 Apr 2015 18:21:45 +0000 (11:21 -0700)]
Revert of Make full GC reduce memory footprint an explicit event in the idle notification handler. (patchset #2 id:20001 of https://codereview.chromium.org/
1072363002/)
Reason for revert:
[Sheriff] breaks nosnap with timeouts:
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap/builds/2513
http://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20nosnap%20-%20shared/builds/6220
Original issue's description:
> Make full GC reduce memory footprint an explicit event in the idle notification handler.
>
> BUG=
>
> Committed: https://crrev.com/
845705aa99b6bfa8d264cfda1c3b5f1229802ab5
> Cr-Commit-Position: refs/heads/master@{#27753}
TBR=ulan@chromium.org,rmcilroy@chromium.org,hpayer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
1081443002
Cr-Commit-Position: refs/heads/master@{#27755}
yangguo [Fri, 10 Apr 2015 14:13:17 +0000 (07:13 -0700)]
Use cctest to track memory stats for isolate and context.
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1074143002
Cr-Commit-Position: refs/heads/master@{#27754}
hpayer [Fri, 10 Apr 2015 14:06:39 +0000 (07:06 -0700)]
Make full GC reduce memory footprint an explicit event in the idle notification handler.
BUG=
Review URL: https://codereview.chromium.org/
1072363002
Cr-Commit-Position: refs/heads/master@{#27753}
wingo [Fri, 10 Apr 2015 13:59:39 +0000 (06:59 -0700)]
Fix some -Werror=sign-compare errors
R=svenpanne@chromium.org
LOG=N
BUG=
Review URL: https://codereview.chromium.org/
1072333002
Cr-Commit-Position: refs/heads/master@{#27752}
verwaest [Fri, 10 Apr 2015 13:54:09 +0000 (06:54 -0700)]
Reland "Merge cellspace into old pointer space"
This fixes the arm(64) and mips(64) write barriers
BUG=
Review URL: https://codereview.chromium.org/
1073133002
Cr-Commit-Position: refs/heads/master@{#27751}
dcarney [Fri, 10 Apr 2015 13:40:06 +0000 (06:40 -0700)]
simplify GlobalValueMap calls to DisposeWeak
BUG=
Review URL: https://codereview.chromium.org/
1074153002
Cr-Commit-Position: refs/heads/master@{#27750}
titzer [Fri, 10 Apr 2015 13:29:37 +0000 (06:29 -0700)]
Remove Type::Array bit and replace with Type::GlobalObject
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1074133002
Cr-Commit-Position: refs/heads/master@{#27749}
verwaest [Fri, 10 Apr 2015 13:15:32 +0000 (06:15 -0700)]
Add basic crankshaft support for slow-mode for-in to avoid disabling optimizations
BUG=
Review URL: https://codereview.chromium.org/
1075933003
Cr-Commit-Position: refs/heads/master@{#27748}
titzer [Fri, 10 Apr 2015 12:35:12 +0000 (05:35 -0700)]
Add more exhaustive tests for Math.min and Math.max.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1078073002
Cr-Commit-Position: refs/heads/master@{#27747}
yangguo [Fri, 10 Apr 2015 12:32:20 +0000 (05:32 -0700)]
Wrap proxy.js in a function.
Review URL: https://codereview.chromium.org/
1075773003
Cr-Commit-Position: refs/heads/master@{#27746}
jkummerow [Fri, 10 Apr 2015 12:13:18 +0000 (05:13 -0700)]
Handlify Map::SetPrototype()
Review URL: https://codereview.chromium.org/
1005393004
Cr-Commit-Position: refs/heads/master@{#27745}
conradw [Fri, 10 Apr 2015 12:04:51 +0000 (05:04 -0700)]
[strong] Implement static restrictions on binding/assignment to 'undefined'
identifier. Delete unused (and now incorrect) function IsValidStrictVariable.
Implements the strong mode proposal's static restrictions on the use of the
identifier 'undefined'. Assumes these restrictions are intended to be identical
to the restrictions on the use of 'eval' and 'arguments' in strict mode. The
AllowEvalOrArgumentsAsIdentifier enum has been renamed to
AllowRestrictedIdentifiers as logic involving it is now also used for this case.
BUG=v8:3956
LOG=N
Review URL: https://codereview.chromium.org/
1070633002
Cr-Commit-Position: refs/heads/master@{#27744}
machenbach [Fri, 10 Apr 2015 12:01:20 +0000 (05:01 -0700)]
[test-runner] Make perf runner robust for missing executable.
TBR=yangguo@chromium.org
NOTRY=true
NOTREECHECKS=true
NOPRESUBMIT=true
Review URL: https://codereview.chromium.org/
1080513002
Cr-Commit-Position: refs/heads/master@{#27743}
jkummerow [Fri, 10 Apr 2015 11:24:25 +0000 (04:24 -0700)]
Speculative fix for stack overflow in CollectEvacuationCandidates
I don't have a repro, but it seems that when we are close to the stack limit,
CollectEvacuationCandidates' local variables can blow the limit. To avoid
this, instead of always allocating a 2000-pointer-sizes array on the stack,
use a std::vector (which stores its elements on the heap), and while we're
at it, only allocate as many elements as we actually need.
Review URL: https://codereview.chromium.org/
1073123002
Cr-Commit-Position: refs/heads/master@{#27742}
bmeurer [Fri, 10 Apr 2015 11:08:47 +0000 (04:08 -0700)]
[turbofan] JSUnaryNot and JSToBoolean have exactly 2 inputs, no need to trim.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
1071333004
Cr-Commit-Position: refs/heads/master@{#27741}
akos.palfi [Fri, 10 Apr 2015 10:48:26 +0000 (03:48 -0700)]
MIPS64: [es6] implement spread calls
Port
74c381221c93253bbee513aa2539d93269303b8b
Patch from Paul Lind <paul.lind@imgtec.com>.
BUG=
Review URL: https://codereview.chromium.org/
1075183002
Cr-Commit-Position: refs/heads/master@{#27740}
bmeurer [Fri, 10 Apr 2015 10:28:06 +0000 (03:28 -0700)]
[turbofan] Optimize silent hole checks on legacy const context slots.
Currently we always generate a diamond in the graph builder for every
legacy const context slot, which we cannot get rid of until late control
reduction, even if we know after context specialization that the slot is
already initialized.
Now we generate a select instead, which the CommonOperatorReducer
happily removes during typed lowering. This greatly speeds up asm.js
code generated by Emscripten with the new POINTER_MASKING mode.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
1072353002
Cr-Commit-Position: refs/heads/master@{#27739}
yangguo [Fri, 10 Apr 2015 09:48:54 +0000 (02:48 -0700)]
Add perf test configuration to track memory use of context and isolate.
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1075143002
Cr-Commit-Position: refs/heads/master@{#27738}
titzer [Fri, 10 Apr 2015 09:25:56 +0000 (02:25 -0700)]
Split cctest/test-types.cc into heap and zone versions for more parallelism.
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1074063004
Cr-Commit-Position: refs/heads/master@{#27737}
jochen [Fri, 10 Apr 2015 09:23:44 +0000 (02:23 -0700)]
Special case the "empty string" root so it doesn't constantly jump around
BUG=none
R=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1075133002
Cr-Commit-Position: refs/heads/master@{#27736}