platform/upstream/v8.git
9 years agoPut --noalways-opt flag back into regress-crbug-245480
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}

9 years agoRevert of Force full GCwhenever CollectAllGarbage is meant to trigger a full GC....
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}

9 years agoRemove support for specifying the number of available threads
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}

9 years agoWhen converting Maybe and MaybeLocal values with a check, always check
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}

9 years agoForce full GC whenever CollectAllGarbage is meant to trigger a full GC.
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}

9 years agoAdded Donald Stence to PPC owners.
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}

9 years ago[x64] Use xorl to materialize smi zero.
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}

9 years agoUpdate V8 DEPS.
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}

9 years agoVectorICs: megamorphic keyed loads in crankshaft don't need a vector.
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}

9 years agoPass load ic state through the Oracle.
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}

9 years agoMIPS: [turbofan] Load immortal heap objects from the heap roots.
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}

9 years agoAllow eval/arguments in arrow functions
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}

9 years agoPPC: [turbofan] Load immortal heap objects from the heap roots.
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}

9 years ago%GetOptimizationStatus(): Unconditionally return a sentinel when --always-opt is...
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}

9 years agoReland "Remove support for thread-based recompilation"
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}

9 years ago[cq] Add mips compile trybots.
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}

9 years agoInsert a filler at the new space top even if the top is at the limit.
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}

9 years ago[turbofan] Load immortal heap objects from the heap roots.
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}

9 years agoVectorICs: recreate feedback vector if scoping changes on recompile.
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}

9 years agoRevert of Reland "Remove support for thread-based recompilation" (patchset #1 id...
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}

9 years agoFix Math.log10 implementation for 1 - Number.EPSILON.
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}

9 years agoRevert "Remove early bail-out in VisitWeakList to investigate chrasher."
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}

9 years agoReland "Remove support for thread-based recompilation"
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}

9 years agoAdd a test for subclass maps.
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}

9 years agoPut newly allocated buffers at the right end of the buffers list
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}

9 years agoRevert of Revert of Revert of Wrap typed array implementations in functions. (patchse...
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}

9 years agoAvoid modifying the real context chain for debug evaluation.
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}

9 years ago[turbofan] Get rid of SourcePositionInstruction.
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}

9 years agoX87: Disable the test case for X87 since f3338dd3b01c
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}

9 years agoRestore V8_LIBC_UCLIBC as a libc option.
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}

9 years agofix variable shadowing
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}

9 years agoExperiment: reduce heap growing factor to investigate OOM impact.
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}

9 years agoRevert of Revert of Wrap typed array implementations in functions. (patchset #1 id...
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}

9 years agoX87: Remove unnecessary options from HTailCallThroughMegamorphicCache.
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}

9 years agoX87: Change near jump to far jump to fix the jump distance check error.
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}

9 years agoMIPS: Split TemplateHashMapImpl::Lookup into two methods.
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}

9 years agoSplit TemplateHashMapImpl::Lookup into two methods
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}

9 years ago[es6] Fix length property of collection constructors
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}

9 years agoPPC: Remove unnecessary options from HTailCallThroughMegamorphicCache
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}

9 years ago[strong] Implement static restrictions on direct eval
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}

9 years agoFix indirect push
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}

9 years agoPPC: Fix NaN Canonicalization.
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}

9 years agoRemove unnecessary options from HTailCallThroughMegamorphicCache
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}

9 years ago[turbofan] Optimize loads of global constants in JSTypedLowering.
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}

9 years agoRevert "ES6: Number and Boolean prototype should be ordinary objects"
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}

9 years agoRevert of VectorICs: megamorphic keyed loads in crankshaft don't need a vector. ...
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}

9 years agoRevert of Wrap typed array implementations in functions. (patchset #1 id:1 of https...
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}

9 years agoVectorICs: megamorphic keyed loads in crankshaft don't need a vector.
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}

9 years ago[turbofan] remove register operand cache
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}

9 years agocollect phantom handle data before it gets overwritten
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}

9 years ago[turbofan] cleanup PointerMap
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}

9 years agoWrap typed array implementations in functions.
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}

9 years agoRemove kForInStatementIsNotFastCase bailout reason
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}

9 years agoExpose ArrayBufferView::HasBuffer
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}

9 years agoTreat HArgumentsObject as a safe use during Uint32 analysis phase.
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}

9 years agoRefactor formal parameter error locations into a class
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}

9 years agoDo not inline store if field map was cleared.
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}

9 years agoX87: Reland "Merge cellspace into old pointer space".
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}

9 years agoX87: [es6] implement spread calls
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}

9 years agoBlacklist more debugger tests (fail with --always-opt).
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}

9 years agoMake compilers agree on source position of thrown errors.
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}

9 years ago[x86] Allow (v)divsd->(v)mulsd to execute in parallel.
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}

9 years agoFactor formal argument parsing into ParserBase
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}

9 years agoUpdate V8 DEPS.
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}

9 years agoUse correct property descriptor in generators test
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}

9 years agoCorrect property descriptors on GeneratorPrototype
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}

9 years agoRevert "MIPS: Vector-ICs - speed towards the monomorphic exit as quickly as possible."
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}

9 years ago[x86] Introduce vandps/vandpd/vxorps/vxorpd.
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}

9 years ago[es6] ship @@toStringTag
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}

9 years agoapi: introduce SealHandleScope
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}

9 years agoCorrectly name memory stat for context snapshot size.
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}

9 years agoPPC: Always update raw pointers when handling interrupts inside RegExp code.
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}

9 years agoPPC: [es6] implement spread calls
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}

9 years agoPPC: [turbofan] Materialize JSFunction from frame if possible.
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}

9 years agoPPC: Merge cellspace into old pointer space
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}

9 years agoUse array literals instead of array constructor in native javascript.
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}

9 years ago[cleanup] delete dead code leftover from 48eff34
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}

9 years ago[cleanup] fix SpreadCalls perf-test names in JSTests.json
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}

9 years agoMIPS: Vector-ICs - speed towards the monomorphic exit as quickly as possible.
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}

9 years ago[strong] Implement static restrictions on binding 'undefined' in arrow functions
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}

9 years agoRevert of Make full GC reduce memory footprint an explicit event in the idle notifica...
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}

9 years agoUse cctest to track memory stats for isolate and context.
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}

9 years agoMake full GC reduce memory footprint an explicit event in the idle notification handler.
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}

9 years agoFix some -Werror=sign-compare errors
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}

9 years agoReland "Merge cellspace into old pointer space"
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}

9 years agosimplify GlobalValueMap calls to DisposeWeak
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}

9 years agoRemove Type::Array bit and replace with Type::GlobalObject
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}

9 years agoAdd basic crankshaft support for slow-mode for-in to avoid disabling optimizations
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}

9 years agoAdd more exhaustive tests for Math.min and Math.max.
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}

9 years agoWrap proxy.js in a function.
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}

9 years agoHandlify Map::SetPrototype()
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}

9 years ago[strong] Implement static restrictions on binding/assignment to 'undefined'
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}

9 years ago[test-runner] Make perf runner robust for missing executable.
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}

9 years agoSpeculative fix for stack overflow in CollectEvacuationCandidates
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}

9 years ago[turbofan] JSUnaryNot and JSToBoolean have exactly 2 inputs, no need to trim.
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}

9 years agoMIPS64: [es6] implement spread calls
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}

9 years ago[turbofan] Optimize silent hole checks on legacy const context slots.
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}

9 years agoAdd perf test configuration to track memory use of context and isolate.
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}

9 years agoSplit cctest/test-types.cc into heap and zone versions for more parallelism.
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}

9 years agoSpecial case the "empty string" root so it doesn't constantly jump around
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}