platform/upstream/v8.git
9 years agoMIPS: Skip test-heap/TestSizeOfRegExpCode
paul.lind [Wed, 10 Jun 2015 17:47:19 +0000 (10:47 -0700)]
MIPS: Skip test-heap/TestSizeOfRegExpCode

After https://codereview.chromium.org/1180433003 the code-size exceeeds
the limit for MIPS. We have some optimizations in place for MIPS64 that
will be ported back to MIPS, and will investigate other code-size
improvements so we can re-enable this test.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28913}

9 years agoIncrease the chance of printing a useful error when bootstrapping fails
adamk [Wed, 10 Jun 2015 17:42:01 +0000 (10:42 -0700)]
Increase the chance of printing a useful error when bootstrapping fails

Two changes:
  - In ReportBootstrappingException, if all we have is a string, it seems
    better to print that than nothing.
  - In Factory::NewError, there's no use trying to call into the builtins if
    compilation of the builtins is causing the exception (this currently
    results in a cryptic segfault if we trigger, say, a ReferenceError when
    executing builtins script during bootstrapping).

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

Cr-Commit-Position: refs/heads/master@{#28912}

9 years agoMake RawMachineAssemblerTest emitting CFG always have a dummy End block
weiliang.lin [Wed, 10 Jun 2015 17:37:31 +0000 (10:37 -0700)]
Make RawMachineAssemblerTest emitting CFG always have a dummy End block

Frame Elider requires a sane CFG which should have such dummy end block.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28911}

9 years ago[test] Speculatively skip layout test to fix OOM issue.
machenbach [Wed, 10 Jun 2015 17:06:53 +0000 (10:06 -0700)]
[test] Speculatively skip layout test to fix OOM issue.

BUG=chromium:498689
LOG=n
NOTRY=true
TBR=sergiyb@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28910}

9 years agoPPC: [deoptimizer] Basic support inlining based on SharedFunctionInfo.
mbrandy [Wed, 10 Jun 2015 16:14:37 +0000 (09:14 -0700)]
PPC: [deoptimizer] Basic support inlining based on SharedFunctionInfo.

Port cf21da7e485ac80b3071e477e5399a00ee2b365f

Original commit message:
Up until now we can only inline based on JSFunction, because of the way
the deoptimization works.  With this change we will be able to inline
based on the SharedFunctionInfo and materialize the JSFunction from a
literal or a stack slot when necessary.

R=bmeurer@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28909}

9 years agoSupport rest parameters in arrow functions
wingo [Wed, 10 Jun 2015 16:11:25 +0000 (09:11 -0700)]
Support rest parameters in arrow functions

R=dslomov@chromium.org, rossberg@chromium.org
LOG=Y
BUG=v8:2700

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

Cr-Commit-Position: refs/heads/master@{#28908}

9 years agoMIPS: Replace numeric_limits<>::lowest() in cctest-assembler*.cc
balazs.kilvady [Wed, 10 Jun 2015 15:45:07 +0000 (08:45 -0700)]
MIPS: Replace numeric_limits<>::lowest() in cctest-assembler*.cc

On Mac for the requested minimal version (10.5) only old stl (from gcc 4.2.1) can be used so unfortunately we can't use numeric_limits<>::lowest() which were added in 874c54e05e92e04590b1026b495108abfd6063b7

BUG=
TEST=cctest/test-assembler-mips64, cctest/test-assembler-mips

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

Cr-Commit-Position: refs/heads/master@{#28907}

9 years ago[deoptimizer] Basic support inlining based on SharedFunctionInfo.
bmeurer [Wed, 10 Jun 2015 11:52:35 +0000 (04:52 -0700)]
[deoptimizer] Basic support inlining based on SharedFunctionInfo.

Up until now we can only inline based on JSFunction, because of the way
the deoptimization works.  With this change we will be able to inline
based on the SharedFunctionInfo and materialize the JSFunction from a
literal or a stack slot when necessary.

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28906}

9 years agoDeserializer: flush code objects in large object space.
yangguo [Wed, 10 Jun 2015 11:24:29 +0000 (04:24 -0700)]
Deserializer: flush code objects in large object space.

R=ulan@chromium.org,jacob.bramley@arm.com

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

Cr-Commit-Position: refs/heads/master@{#28905}

9 years ago[test] Use generator to accelerate test runner startup.
machenbach [Wed, 10 Jun 2015 11:15:12 +0000 (04:15 -0700)]
[test] Use generator to accelerate test runner startup.

This saves >1s for mjsunit and >10s for test262.

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

Cr-Commit-Position: refs/heads/master@{#28904}

9 years agoReland [test] Refactoring - Let runner handle test IDs.
machenbach [Wed, 10 Jun 2015 10:15:14 +0000 (03:15 -0700)]
Reland [test] Refactoring - Let runner handle test IDs.

Reason for revert:
All build problems had other reasons.

Original issue's description:
> Revert of [test] Refactoring - Let runner handle test IDs. (patchset #1 id:1 of https://codereview.chromium.org/1168303007/)
>
> Reason for revert:
> [Sheriff] Revert until the tree is in a better state.
>
> Original issue's description:
> > [test] Refactoring - Let runner handle test IDs.
> >
> > This prepares for properly rerunning tests. Currently when
> > tests are rerun, the same test object is reused. This
> > will be changed in a follow up.
> >
> > Committed: https://crrev.com/f41a81b8a513fc360c500c066b74f223bc9c0223
> > Cr-Commit-Position: refs/heads/master@{#28864}
>
> TBR=jkummerow@chromium.org,tandrii@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://crrev.com/f83444a5f24381ec9ccc28b1e18e1e9370415bb2
> Cr-Commit-Position: refs/heads/master@{#28891}

TBR=jkummerow@chromium.org,tandrii@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#28903}

9 years agoReland II of 'Optimize trivial regexp disjunctions' CL 1176453002
erikcorry [Wed, 10 Jun 2015 09:55:22 +0000 (02:55 -0700)]
Reland II of 'Optimize trivial regexp disjunctions' CL 1176453002

This change rewrites regexps like (ab|ac|z|ad|ae|af) into (a[b-f]|z).  We can only reorder disjunctions like this for case-dependent regexps.  For case-independent regexps, the disjunctions should be pre-sorted for best results.

R=yangguo@chromium.org
BUG=chromium:482998
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28902}

9 years agoRevert of Revert of [test] Refactoring - Use subject/observer pattern for progress...
machenbach [Wed, 10 Jun 2015 09:42:24 +0000 (02:42 -0700)]
Revert of Revert of [test] Refactoring - Use subject/observer pattern for progress indicators. (patchset #1 id:1 of https://codereview.chromium.org/1163373005/)

Reason for revert:
All build problems had other causes.

Original issue's description:
> Revert of [test] Refactoring - Use subject/observer pattern for progress indicators. (patchset #3 id:40001 of https://codereview.chromium.org/1171943002/)
>
> Reason for revert:
> might break stuff
>
> Original issue's description:
> > [test] Refactoring - Use subject/observer pattern for progress indicators.
> >
> > This should prevent bugs caused by missing super calls in
> > overridden methods. The assumption is that methods of
> > different indicators are independent.
> >
> > Committed: https://crrev.com/fbe973ff1722a6158a5b2babce9c1a32d26a1d3b
> > Cr-Commit-Position: refs/heads/master@{#28866}
>
> TBR=jkummerow@chromium.org,tandrii@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://crrev.com/2a3962d9d2a7415378811f4d56522531332d5a3e
> Cr-Commit-Position: refs/heads/master@{#28869}

TBR=jkummerow@chromium.org,tandrii@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#28901}

9 years agoX87: [es6] Super call in arrows and eval
chunyang.dai [Wed, 10 Jun 2015 09:29:02 +0000 (02:29 -0700)]
X87: [es6] Super call in arrows and eval

port 4b8051a02ae9f765b7d803fc7986301abde36007 (r28769)

original commit message:

    This splits the SuperReference AST node into SuperPropertyReference and
    SuperCallReference. The super call reference node consists of three
    unresolved vars to this, new.target and this_function. These gets
    declared when the right function is entered and if it is in use. The
    variables gets assigned in FullCodeGenerator::Generate.

    This is a revert of the revert 88b1c9170a0293cbcc8bdaf57fbe12744b48d7e8

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28900}

9 years ago[turbofan] Small cleanup in VisitTryCatchStatement.
mstarzinger [Wed, 10 Jun 2015 09:16:07 +0000 (02:16 -0700)]
[turbofan] Small cleanup in VisitTryCatchStatement.

R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28899}

9 years agoX87: Build ObjectLiteral constant properties in the numbering phase.
chunyang.dai [Wed, 10 Jun 2015 09:15:00 +0000 (02:15 -0700)]
X87: Build ObjectLiteral constant properties in the numbering phase.

port 450002f3a105d4bb17fd3b1a9d9d54464c01d200 (r28749)

original commit message:

    It's necessary to do this in order to know how many type feedback vector slots
    we should allocate for the object literal.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28898}

9 years ago[turbofan] Deprecate NodeProperties::ReplaceWithValue.
mstarzinger [Wed, 10 Jun 2015 09:13:54 +0000 (02:13 -0700)]
[turbofan] Deprecate NodeProperties::ReplaceWithValue.

This deprecates the aforementioned mutator in favor of a simpler
NodeProperties::ReplaceUses that doesn't perform any relaxation.
Preparation for enabling support for try-catch statements.

R=bmeurer@chromium.org
TEST=unittests/NodePropertiesTest

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

Cr-Commit-Position: refs/heads/master@{#28897}

9 years agoFix copy-pasteo in expression-classifier.h
wingo [Wed, 10 Jun 2015 09:12:47 +0000 (02:12 -0700)]
Fix copy-pasteo in expression-classifier.h

R=dslomov@chromium.org
LOG=N
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28896}

9 years ago[test] Fix test archive clobber.
machenbach [Wed, 10 Jun 2015 09:08:50 +0000 (02:08 -0700)]
[test] Fix test archive clobber.

The old version would always clobber.

NOTRY=true
NOTREECHECKS=true

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

Cr-Commit-Position: refs/heads/master@{#28895}

9 years ago[test] Clobber unclean test262-es6 checkouts.
machenbach [Wed, 10 Jun 2015 08:31:20 +0000 (01:31 -0700)]
[test] Clobber unclean test262-es6 checkouts.

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

Cr-Commit-Position: refs/heads/master@{#28894}

9 years agoBring back high promotion mode to shrink young generation size when scavenging latenc...
hpayer [Wed, 10 Jun 2015 08:12:56 +0000 (01:12 -0700)]
Bring back high promotion mode to shrink young generation size when scavenging latency is high.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28893}

9 years agoFix cluster-fuzz bug introduced in refs/heads/master@{#28796}.
binji [Wed, 10 Jun 2015 07:33:43 +0000 (00:33 -0700)]
Fix cluster-fuzz bug introduced in refs/heads/master@{#28796}.

Don't DCHECK when neutering that the buffer is not a SharedArrayBuffer;
instead, just return early.

BUG=chromium:498142,chromium:497295
R=jarin@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28892}

9 years agoRevert of [test] Refactoring - Let runner handle test IDs. (patchset #1 id:1 of https...
machenbach [Wed, 10 Jun 2015 06:46:35 +0000 (23:46 -0700)]
Revert of [test] Refactoring - Let runner handle test IDs. (patchset #1 id:1 of https://codereview.chromium.org/1168303007/)

Reason for revert:
[Sheriff] Revert until the tree is in a better state.

Original issue's description:
> [test] Refactoring - Let runner handle test IDs.
>
> This prepares for properly rerunning tests. Currently when
> tests are rerun, the same test object is reused. This
> will be changed in a follow up.
>
> Committed: https://crrev.com/f41a81b8a513fc360c500c066b74f223bc9c0223
> Cr-Commit-Position: refs/heads/master@{#28864}

TBR=jkummerow@chromium.org,tandrii@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#28891}

9 years agoRevert of Update Test262 to 5/30 (patchset #4 id:60001 of https://codereview.chromium...
machenbach [Wed, 10 Jun 2015 06:36:43 +0000 (23:36 -0700)]
Revert of Update Test262 to 5/30 (patchset #4 id:60001 of https://codereview.chromium.org/1136553008/)

Reason for revert:
[Sheriff] Still lots of breakages on some builders. E.g. http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap/builds/3313

Original issue's description:
> Update Test262 to 5/30
>
> This updates the test runner to run all tests in both sloppy
> and strict mode.
>
> It also marks the test in the status file as failing in
> sloppy mode even if all it does is marking the test as
> [PASS, FAIL]. A future CL will have to validate that the
> tests pass and fail in the correct mode.
>
> Committed: https://crrev.com/d869f4a4801d4ef6868c266c07f9e29d2e29cba5
> Cr-Commit-Position: refs/heads/master@{#28879}

TBR=rossberg@chromium.org,arv@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#28890}

9 years agoRevert of [test262-es6] Temporary disable some tests (patchset #1 id:1 of https:...
machenbach [Wed, 10 Jun 2015 06:35:27 +0000 (23:35 -0700)]
Revert of [test262-es6] Temporary disable some tests (patchset #1 id:1 of https://codereview.chromium.org/1176573002/)

Reason for revert:
[Sheriff] Prepares revert of https://codereview.chromium.org/1136553008

Original issue's description:
> [test262-es6] Temporary disable some tests
>
> These tests have issues with our harness.
>
> Upstream fix: https://github.com/tc39/test262/pull/309
>
> BUG=N
> LOG=N
> TBR=machenbach@chromium.org
>
> Committed: https://crrev.com/eed7363a0da0f21c3eee6c052507299d9b707462
> Cr-Commit-Position: refs/heads/master@{#28881}

TBR=arv@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=N

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

Cr-Commit-Position: refs/heads/master@{#28889}

9 years ago[turbofan] Fix context chain extension for top-level code.
mstarzinger [Wed, 10 Jun 2015 06:03:03 +0000 (23:03 -0700)]
[turbofan] Fix context chain extension for top-level code.

For top-level code the closure passed into context allocation methods
needs to be replaced with a sentinel to canonicalize is to the empty
function object.

R=bmeurer@chromium.org
TEST=mjsunit/regress/regress-4169
BUG=v8:4169
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#28888}

9 years ago[frames] No GC is allowed while using the unhandlified TranslatedState.
Benedikt Meurer [Wed, 10 Jun 2015 05:15:48 +0000 (07:15 +0200)]
[frames] No GC is allowed while using the unhandlified TranslatedState.

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28887}

9 years agoUpdate V8 DEPS.
v8-autoroll [Wed, 10 Jun 2015 04:34:16 +0000 (21:34 -0700)]
Update V8 DEPS.

Rolling v8/third_party/icu to 45a095d561334871dd8673cf8e5cca330d33f521

TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28886}

9 years agoRevert of Reland of 'Optimize trivial regexp disjunctions' CL 1176453002 (patchset...
erikcorry [Tue, 9 Jun 2015 23:10:04 +0000 (16:10 -0700)]
Revert of Reland of 'Optimize trivial regexp disjunctions' CL 1176453002 (patchset #2 id:20001 of https://codereview.chromium.org/1174713002/)

Reason for revert:
Tree looks like a Christmas tree and this isn't helping

Original issue's description:
> Reland of 'Optimize trivial regexp disjunctions' CL 1176453002
>
> Original code review: https://codereview.chromium.org/1176453002/
>
> TBR=yangguo@chromium.org
> BUG=chromium:482998
> LOG=n
>
> Committed: https://crrev.com/85fab0fa092e8d979413f6a61baec3abe26e568d
> Cr-Commit-Position: refs/heads/master@{#28884}

TBR=yangguo@chromium.org,erikcorry@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:482998

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

Cr-Commit-Position: refs/heads/master@{#28885}

9 years agoReland of 'Optimize trivial regexp disjunctions' CL 1176453002
erikcorry [Tue, 9 Jun 2015 21:57:12 +0000 (14:57 -0700)]
Reland of 'Optimize trivial regexp disjunctions' CL 1176453002

Original code review: https://codereview.chromium.org/1176453002/

TBR=yangguo@chromium.org
BUG=chromium:482998
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28884}

9 years agoMoar clobbering landmines
Erik Arvidsson [Tue, 9 Jun 2015 20:26:32 +0000 (16:26 -0400)]
Moar clobbering landmines

Bots have been really lazy today and they have not picked up the
latest versions for some obscure reason

BUG=N
LOG=M
TBR=machenbach@chromium.org, littledan@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28883}

9 years agoImplement %TypedArray%.prototype.slice
dehrenberg [Tue, 9 Jun 2015 19:40:44 +0000 (12:40 -0700)]
Implement %TypedArray%.prototype.slice

The initial implementation of this method takes a couple shortcuts:
- At some points in the spec, we should be making a reference to
  "Table 49" and instead do property lookup on the constructor.
  This is an issue with some other TypedArray methods too.
- The spec indicates that, if constructor and @@species haven't been
  messed with in particular ways, then there should be a memcpy
  from the old to the new. That fast path is not implemented here
  in this patch, but because V8 doesn't canonicalize NaN, the result
  isn't observably different.

BUG=v8:3578
LOG=Y
R=arv

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

Cr-Commit-Position: refs/heads/master@{#28882}

9 years ago[test262-es6] Temporary disable some tests
Erik Arvidsson [Tue, 9 Jun 2015 19:10:15 +0000 (15:10 -0400)]
[test262-es6] Temporary disable some tests

These tests have issues with our harness.

Upstream fix: https://github.com/tc39/test262/pull/309

BUG=N
LOG=N
TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28881}

9 years agoMake old generation allocation throughput stats independent from the new space alloca...
ulan [Tue, 9 Jun 2015 17:49:41 +0000 (10:49 -0700)]
Make old generation allocation throughput stats independent from the new space allocation throughput.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28880}

9 years agoUpdate Test262 to 5/30
arv [Tue, 9 Jun 2015 17:27:12 +0000 (10:27 -0700)]
Update Test262 to 5/30

This updates the test runner to run all tests in both sloppy
and strict mode.

It also marks the test in the status file as failing in
sloppy mode even if all it does is marking the test as
[PASS, FAIL]. A future CL will have to validate that the
tests pass and fail in the correct mode.

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

Cr-Commit-Position: refs/heads/master@{#28879}

9 years agoRevert of Optimize trivial regexp disjunctions (patchset #10 id:180001 of https:...
erikcorry [Tue, 9 Jun 2015 17:15:54 +0000 (10:15 -0700)]
Revert of Optimize trivial regexp disjunctions (patchset #10 id:180001 of https://codereview.chromium.org/1176453002/)

Reason for revert:
ASAN failure

Original issue's description:
> Optimize trivial regexp disjunctions
>
> R=yangguo@chromium.org
> BUG=chromium:482998
> LOG=n
>
> Committed: https://crrev.com/5f1f7c15b3207f6c51d187692690aeb09d3e36b5
> Cr-Commit-Position: refs/heads/master@{#28871}

TBR=yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:482998

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

Cr-Commit-Position: refs/heads/master@{#28878}

9 years ago[turbofan] Fix one mean typo in kResolvePossiblyDirectEval.
mstarzinger [Tue, 9 Jun 2015 17:14:46 +0000 (10:14 -0700)]
[turbofan] Fix one mean typo in kResolvePossiblyDirectEval.

R=titzer@chromium.org
TEST=mjsunit/regress/regress-eval-context

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

Cr-Commit-Position: refs/heads/master@{#28877}

9 years ago[destructuring] Refactor duplicate parameter name detection.
dslomov [Tue, 9 Jun 2015 17:13:35 +0000 (10:13 -0700)]
[destructuring] Refactor duplicate parameter name detection.

Pushed the detection logic down to ParseAndClassifyIdentifier in
preparation to having patterns in parameter positions.

R=arv@chromium.org,rossberg@chromium.org,wingo@igalia.com
BUG=v8:811
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#28876}

9 years agoAdd landmine after change to messages.h
Erik Arvidsson [Tue, 9 Jun 2015 16:39:25 +0000 (12:39 -0400)]
Add landmine after change to messages.h

BUG=N
LOG=N
TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28875}

9 years agoTurbofan: Make type feedback vector a Node.
mvstanton [Tue, 9 Jun 2015 16:02:27 +0000 (09:02 -0700)]
Turbofan: Make type feedback vector a Node.

This improves code generation. Before, it was a constant loaded in a register
every time.

R=mstarzinger@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28874}

9 years agoFix issues with Arm's use of embedded constant pools
mbrandy [Tue, 9 Jun 2015 16:00:11 +0000 (09:00 -0700)]
Fix issues with Arm's use of embedded constant pools

- Introduce Assembler::DataAlign for table alignment in code object
- Fix several misuses of r8 (alias of the pool pointer register, pp)
- Fix calculation of pp in OSR/handler entry invocation
- Enable missing cases in deserializer
- Fix references to ool constant pools in comments.

R=rmcilroy@chromium.org, michael_dawson@ca.ibm.com
BUG=chromium:497180
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#28873}

9 years agoSpeed up ExpressionClassifier::Accumulate
wingo [Tue, 9 Jun 2015 15:58:58 +0000 (08:58 -0700)]
Speed up ExpressionClassifier::Accumulate

The following changeset introduced a regression on CodeLoad of about 3%:

  https://chromium.googlesource.com/v8/v8/+/e73594c7fb3e6b5834b7ddfe78727fb994bab25f

This CL should reduce the regression to 1.5%.

R=dslomov@chromium.org
LOG=N
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28872}

9 years agoOptimize trivial regexp disjunctions
erikcorry [Tue, 9 Jun 2015 15:57:50 +0000 (08:57 -0700)]
Optimize trivial regexp disjunctions

R=yangguo@chromium.org
BUG=chromium:482998
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28871}

9 years agoRevert of Revert of [es6] Parsing of new.target (patchset #1 id:1 of https://coderevi...
arv [Tue, 9 Jun 2015 15:43:07 +0000 (08:43 -0700)]
Revert of Revert of [es6] Parsing of new.target (patchset #1 id:1 of https://codereview.chromium.org/1170263002/)

Reason for revert:
The bot needs to be clobbered.

Original issue's description:
> Revert of [es6] Parsing of new.target (patchset #2 id:20001 of https://codereview.chromium.org/1169853002/)
>
> Reason for revert:
> [Sheriff] fails messages:
> http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20-%20custom%20snapshot%20-%20debug/builds/1703
>
> Original issue's description:
> > [es6] Parsing of new.target
> >
> > BUG=v8:3887
> > LOG=N
> > R=adamk@chromium.org, dslomov@chromium.org
> >
> > Committed: https://crrev.com/ae06bdde7763d673b39948b710df414217265cce
> > Cr-Commit-Position: refs/heads/master@{#28865}
>
> TBR=adamk@chromium.org,dslomov@chromium.org,arv@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=v8:3887
>
> Committed: https://crrev.com/fe97cfccf3faabbeff87b9b5fbacd7ceb8219304
> Cr-Commit-Position: refs/heads/master@{#28868}

TBR=adamk@chromium.org,dslomov@chromium.org,machenbach@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3887

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

Cr-Commit-Position: refs/heads/master@{#28870}

9 years agoRevert of [test] Refactoring - Use subject/observer pattern for progress indicators...
machenbach [Tue, 9 Jun 2015 15:32:36 +0000 (08:32 -0700)]
Revert of [test] Refactoring - Use subject/observer pattern for progress indicators. (patchset #3 id:40001 of https://codereview.chromium.org/1171943002/)

Reason for revert:
might break stuff

Original issue's description:
> [test] Refactoring - Use subject/observer pattern for progress indicators.
>
> This should prevent bugs caused by missing super calls in
> overridden methods. The assumption is that methods of
> different indicators are independent.
>
> Committed: https://crrev.com/fbe973ff1722a6158a5b2babce9c1a32d26a1d3b
> Cr-Commit-Position: refs/heads/master@{#28866}

TBR=jkummerow@chromium.org,tandrii@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#28869}

9 years agoRevert of [es6] Parsing of new.target (patchset #2 id:20001 of https://codereview...
machenbach [Tue, 9 Jun 2015 15:12:09 +0000 (08:12 -0700)]
Revert of [es6] Parsing of new.target (patchset #2 id:20001 of https://codereview.chromium.org/1169853002/)

Reason for revert:
[Sheriff] fails messages:
http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20-%20custom%20snapshot%20-%20debug/builds/1703

Original issue's description:
> [es6] Parsing of new.target
>
> BUG=v8:3887
> LOG=N
> R=adamk@chromium.org, dslomov@chromium.org
>
> Committed: https://crrev.com/ae06bdde7763d673b39948b710df414217265cce
> Cr-Commit-Position: refs/heads/master@{#28865}

TBR=adamk@chromium.org,dslomov@chromium.org,arv@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3887

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

Cr-Commit-Position: refs/heads/master@{#28868}

9 years agoMIPS64: Improve long branches utilizing code range.
dusan.milosavljevic [Tue, 9 Jun 2015 14:50:26 +0000 (07:50 -0700)]
MIPS64: Improve long branches utilizing code range.

Improves code size of generated regexp in TestSizeOfRegExpCode test by 33%.

Execution time of the same test improved by ~10%.

Utilizing code range for mips64 enable us to use J/JAL
instructions for long branches.

TEST=cctest/test-heap/TestSizeOfRegExpCode
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28867}

9 years ago[test] Refactoring - Use subject/observer pattern for progress indicators.
machenbach [Tue, 9 Jun 2015 14:41:11 +0000 (07:41 -0700)]
[test] Refactoring - Use subject/observer pattern for progress indicators.

This should prevent bugs caused by missing super calls in
overridden methods. The assumption is that methods of
different indicators are independent.

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

Cr-Commit-Position: refs/heads/master@{#28866}

9 years ago[es6] Parsing of new.target
arv [Tue, 9 Jun 2015 14:27:59 +0000 (07:27 -0700)]
[es6] Parsing of new.target

BUG=v8:3887
LOG=N
R=adamk@chromium.org, dslomov@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28865}

9 years ago[test] Refactoring - Let runner handle test IDs.
machenbach [Tue, 9 Jun 2015 14:16:59 +0000 (07:16 -0700)]
[test] Refactoring - Let runner handle test IDs.

This prepares for properly rerunning tests. Currently when
tests are rerun, the same test object is reused. This
will be changed in a follow up.

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

Cr-Commit-Position: refs/heads/master@{#28864}

9 years agoStage ES6 arrow functions
wingo [Tue, 9 Jun 2015 13:36:32 +0000 (06:36 -0700)]
Stage ES6 arrow functions

R=rossberg@chromium.org
BUG=v8:2700
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#28863}

9 years ago[deoptimizer] Remove uses of TranslationIterator outside the deoptimizer.
bmeurer [Tue, 9 Jun 2015 13:10:10 +0000 (06:10 -0700)]
[deoptimizer] Remove uses of TranslationIterator outside the deoptimizer.

Use the new TranslatedState and friends, which work at a higher level
than the TranslationIterator, which will make it easier to change the
deoptimization commands in subsequent CLs.

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28862}

9 years agoMIPS64: Fix bogus assert in AddI.
dusan.milosavljevic [Tue, 9 Jun 2015 11:53:57 +0000 (04:53 -0700)]
MIPS64: Fix bogus assert in AddI.

TEST=
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28861}

9 years ago[frames] Remove obsolete JavaScriptFrame::GetInlineCount() method.
bmeurer [Tue, 9 Jun 2015 11:28:08 +0000 (04:28 -0700)]
[frames] Remove obsolete JavaScriptFrame::GetInlineCount() method.

R=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28860}

9 years ago[turbofan] Make Runtime::kSetProperty have a frame state.
mstarzinger [Tue, 9 Jun 2015 11:11:31 +0000 (04:11 -0700)]
[turbofan] Make Runtime::kSetProperty have a frame state.

R=jarin@chromium.org
TEST=cctest/test-api/AccessCheckThrows

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

Cr-Commit-Position: refs/heads/master@{#28859}

9 years agoRe-land: Enable external startup by default on Linux.
vogelheim [Tue, 9 Jun 2015 09:59:22 +0000 (02:59 -0700)]
Re-land: Enable external startup by default on Linux.

crrev.com/1016603004 should have fixed the issues that broke this last time.

Notes:
- The current functionality is meant to stay. If you prefer the old way,
  just set v8_use_external_startup_data=0.
- You might notice this if you call d8 via PATH. Either explicitly tell d8
  where your external snapshot/built-ins are, or change the build options
  as above.
- This follows Chromium practice, that mostly uses this feature these days.
- Other platforms to follow later.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28858}

9 years agoReland "Replace ad-hoc weakness in prototype transitions with WeakCell."
ulan [Tue, 9 Jun 2015 09:00:09 +0000 (02:00 -0700)]
Reland "Replace ad-hoc weakness in prototype transitions with WeakCell."

Added missing slots recording.

This reverts commit fd2e3344d3116cd9ca11a14a1f4d800effba25ba.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28857}

9 years agoMake v8 snapshot public in component build.
brettw [Tue, 9 Jun 2015 08:36:09 +0000 (01:36 -0700)]
Make v8 snapshot public in component build.

This was already public in a non-component build. This means that targets
dependent on the "v8" target can take the results of the snapshot as inputs.

This also renames the component mode checking from keying off of the
component_mode string to checking the is_component_build flag, which is now the
recommended way to do this check.

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

Cr-Commit-Position: refs/heads/master@{#28856}

9 years ago[turbofan] Add mjsunit tests for try-catch-finally and OSR.
mstarzinger [Tue, 9 Jun 2015 08:16:32 +0000 (01:16 -0700)]
[turbofan] Add mjsunit tests for try-catch-finally and OSR.

This adds some basic tests of the interaction between try-catch and
try-finally statements and OSR in TurboFan. The try-osr test suite
follows the structure of try-deopt closely.

R=titzer@chromium.org
TEST=mjsunit/compiler/try-osr

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

Cr-Commit-Position: refs/heads/master@{#28855}

9 years agoOnly mark checksummed memory as initialized for MSAN.
yangguo [Tue, 9 Jun 2015 07:49:36 +0000 (00:49 -0700)]
Only mark checksummed memory as initialized for MSAN.

BUG=425187
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#28854}

9 years agoFix another -Wsign-compare issue for GCC 4.9.2
paul.lind [Tue, 9 Jun 2015 06:12:47 +0000 (23:12 -0700)]
Fix another -Wsign-compare issue for GCC 4.9.2

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28853}

9 years agoUpdate V8 DEPS.
v8-autoroll [Tue, 9 Jun 2015 03:27:02 +0000 (20:27 -0700)]
Update V8 DEPS.

Rolling v8/build/gyp to fdc7b812f99e48c00e9a487bd56751bbeae07043

Rolling v8/tools/clang to 821059eb79ba92d0ab287b2b746105af4ee10817

TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28852}

9 years agoFix uninitialized variable compiler errors [GCC 4.8.4]
mbrandy [Mon, 8 Jun 2015 18:55:10 +0000 (11:55 -0700)]
Fix uninitialized variable compiler errors [GCC 4.8.4]

R=svenpanne@chromium.org, michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28851}

9 years agoAdd TypedArray constructors with SharedArrayBuffer to the external API.
binji [Mon, 8 Jun 2015 18:24:18 +0000 (11:24 -0700)]
Add TypedArray constructors with SharedArrayBuffer to the external API.

BUG=chromium:497295
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28850}

9 years agoPPC: Vector ICs: ClassLiterals need to allocate a vector slot for home objects.
mbrandy [Mon, 8 Jun 2015 18:23:09 +0000 (11:23 -0700)]
PPC: Vector ICs: ClassLiterals need to allocate a vector slot for home objects.

Port b27016b78a7dd58dc682eed51500ba603b3e46b0

R=mvstanton@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28849}

9 years ago[turbofan] Split --turbo-exceptions into two flags.
mstarzinger [Mon, 8 Jun 2015 18:21:55 +0000 (11:21 -0700)]
[turbofan] Split --turbo-exceptions into two flags.

This allows try-catch and try-finally constructs to be separately
enabled and disabled. We plan to stage try-catch support soon.

R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28848}

9 years agoPPC: Vector ICs: debugger should save registers for vector store ics.
mbrandy [Mon, 8 Jun 2015 18:20:41 +0000 (11:20 -0700)]
PPC: Vector ICs: debugger should save registers for vector store ics.

Port bd32a9f711cb14c2b7c34512d43e78bd24960124

R=mvstanton@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28847}

9 years agoDrop computed handler count and index from AST.
mstarzinger [Mon, 8 Jun 2015 18:19:32 +0000 (11:19 -0700)]
Drop computed handler count and index from AST.

These values were computed by the parser and hence out of sync with any
visitor over the AST. Our AST visitor aborts visitation of statement
lists as soon as a jump statement has been reached. Now handler tables
are guaranteed to be dense and fully populated.

R=ishell@chromium.org
TEST=mjsunit/regress/regress-crbug-493290
BUG=chromium:493290
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#28846}

9 years agoMIPS64: Implement AddE lithium instruction to separate integer and address arithmetic.
dusan.milosavljevic [Mon, 8 Jun 2015 18:18:14 +0000 (11:18 -0700)]
MIPS64: Implement AddE lithium instruction to separate integer and address arithmetic.

This is required to have sign-extended int32 arithmetic operations by re-landing:
https://codereview.chromium.org/1161713003

TEST=cctest/test-api/ArrayBuffer_JSInternalToExternal
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28845}

9 years agoMIPS: Fix compile error for unitialized variable in simulator.
mbrandy [Mon, 8 Jun 2015 18:17:05 +0000 (11:17 -0700)]
MIPS: Fix compile error for unitialized variable in simulator.

We see this error using GCC 4.8.2.

R=michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28844}

9 years ago[grokdump] Update v8heapconst.py
mbrandy [Mon, 8 Jun 2015 18:15:57 +0000 (11:15 -0700)]
[grokdump] Update v8heapconst.py

R=jochen@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28843}

9 years agoMIPS: Improve --rpath and --dynamic-linker handling in gyp.
balazs.kilvady [Mon, 8 Jun 2015 14:25:53 +0000 (07:25 -0700)]
MIPS: Improve --rpath and --dynamic-linker handling in gyp.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28842}

9 years agoRevert of Only record one in n line endings to save space. (patchset #4 id:60001...
erikcorry [Mon, 8 Jun 2015 14:24:25 +0000 (07:24 -0700)]
Revert of Only record one in n line endings to save space. (patchset #4 id:60001 of https://codereview.chromium.org/1137683003/)

Reason for revert:
Test failures https://storage.googleapis.com/chromium-layout-test-archives/V8-Blink_Win/345/layout-test-results/results.html

Original issue's description:
> Only record one in n line endings to save space.
>
> R=yangguo@chromium.org
> BUG=
>
> Committed: https://crrev.com/b3d4bce593559276e68d3d7d9168f4351e4e5090
> Cr-Commit-Position: refs/heads/master@{#28837}

TBR=yangguo@chromium.org,erik.corry@gmail.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28841}

9 years agoCheck for null and undefined when getting type name for stack trace.
yangguo [Mon, 8 Jun 2015 13:02:15 +0000 (06:02 -0700)]
Check for null and undefined when getting type name for stack trace.

R=svenpanne@chromium.org
BUG=v8:3718
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#28840}

9 years ago[strong] Refactor ObjectStrength into a replacement for strong boolean args
conradw [Mon, 8 Jun 2015 12:17:58 +0000 (05:17 -0700)]
[strong] Refactor ObjectStrength into a replacement for strong boolean args

Boolean "is_strong" parameters have begun to proliferate across areas where
strong mode semantics are different. This CL repurposes the existing
ObjectStrength enum as a replacement for them.

BUG=v8:3956
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#28839}

9 years ago[turbofan] Turn JSContextSpecializer into an AdvancedReducer.
mstarzinger [Mon, 8 Jun 2015 12:10:06 +0000 (05:10 -0700)]
[turbofan] Turn JSContextSpecializer into an AdvancedReducer.

This in turn allows usage of AdvancedReducer::ReplaceWithValue which
has access to the underlying graph reducer.

R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28838}

9 years agoOnly record one in n line endings to save space.
erikcorry [Mon, 8 Jun 2015 12:00:47 +0000 (05:00 -0700)]
Only record one in n line endings to save space.

R=yangguo@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28837}

9 years ago[turbofan] Initial support for the %_DateField intrinsic.
Benedikt Meurer [Mon, 8 Jun 2015 11:47:03 +0000 (13:47 +0200)]
[turbofan] Initial support for the %_DateField intrinsic.

This only introduces better typing and lowering for access to the value
field.

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28836}

9 years agoFix uninitialized variable compiler errors [GCC 4.8.4]
mbrandy [Mon, 8 Jun 2015 11:42:14 +0000 (04:42 -0700)]
Fix uninitialized variable compiler errors [GCC 4.8.4]

R=svenpanne@chromium.org, michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28835}

9 years agoFactor out handling of mixed objects preprocessing after migration
jochen [Mon, 8 Jun 2015 11:28:46 +0000 (04:28 -0700)]
Factor out handling of mixed objects preprocessing after migration

R=hpayer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28834}

9 years agoSample allocation throughput in all idle notifications.
ulan [Mon, 8 Jun 2015 11:23:56 +0000 (04:23 -0700)]
Sample allocation throughput in all idle notifications.

This removes special handling of long idle notifications.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28833}

9 years agoRevert of Replace ad-hoc weakness in prototype transitions with WeakCell. (patchset...
ulan [Mon, 8 Jun 2015 11:20:30 +0000 (04:20 -0700)]
Revert of Replace ad-hoc weakness in prototype transitions with WeakCell. (patchset #2 id:20001 of https://codereview.chromium.org/1163073002/)

Reason for revert:
GC stress failures.

Original issue's description:
> Replace ad-hoc weakness in prototype transitions with WeakCell.
>
> BUG=
>
> Committed: https://crrev.com/bfb81fbe0d38c88cc1b6ed6eb1a4b8cbe2c469c3
> Cr-Commit-Position: refs/heads/master@{#28830}

TBR=jkummerow@chromium.org,hpayer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28832}

9 years agoMicro-optimize not-found for elements on objects with empty_fixed_array backing store
verwaest [Mon, 8 Jun 2015 10:21:41 +0000 (03:21 -0700)]
Micro-optimize not-found for elements on objects with empty_fixed_array backing store

BUG=chromium:495949
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28831}

9 years agoReplace ad-hoc weakness in prototype transitions with WeakCell.
ulan [Mon, 8 Jun 2015 10:20:34 +0000 (03:20 -0700)]
Replace ad-hoc weakness in prototype transitions with WeakCell.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28830}

9 years ago[for-in] Make ForInNext and ForInFilter deal properly with exceptions.
bmeurer [Mon, 8 Jun 2015 10:14:46 +0000 (03:14 -0700)]
[for-in] Make ForInNext and ForInFilter deal properly with exceptions.

Both ToName() and HasProperty() can actually throw, so we need to
propagate those exceptions properly.

BUG=chromium:496331
LOG=y
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28829}

9 years agoFixes for try-catch microbenchmark
hablich [Mon, 8 Jun 2015 10:11:23 +0000 (03:11 -0700)]
Fixes for try-catch microbenchmark

BUG=v8:4131
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28828}

9 years agoVector ICs: ClassLiterals need to allocate a vector slot for home objects.
mvstanton [Mon, 8 Jun 2015 10:10:10 +0000 (03:10 -0700)]
Vector ICs: ClassLiterals need to allocate a vector slot for home objects.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28827}

9 years agoUnify decoding of deoptimization translations.
jarin [Mon, 8 Jun 2015 10:04:51 +0000 (03:04 -0700)]
Unify decoding of deoptimization translations.

This unifies methods Deoptimizer::DoTranslateCommand, Deotpimizer::DoTranslateObject and the arguments object materializer.

To unify these, we have to separate reading of the input frame from writing to the output frame because the argument materializer does not write to output frames.

Instead, we now deoptimize in following stages:

1. Read out the input frame/registers, decode them using the translations from the deoptimizer and store them in the deoptimizer (Deoptimizer::translated_state_). This is done in TranslatedState::Init.

2. Write out into the output frame buffer all the values that do not require allocation. We also remember references to the values that require materialization. As before, this is done in Deoptimizer::DoCompute*Frame method, but instead calling to DoTranslateCommand, we use the translated frame to obtain the values and write them to the output frames.

3. The platform specific code then sets up the output frames and calls into the deoptimization notification. This has not been changed at all.

4. Once the stack is setup, we handlify all the references in the saved translated values (TranslatedState::Prepare).

5. Finally, we materialize all the values we remembered in step (1) and write them to their frames on the stack (using the TranslatedValue::GetValue method).

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28826}

9 years agoVector ICs: debugger should save registers for vector store ics.
mvstanton [Mon, 8 Jun 2015 09:34:36 +0000 (02:34 -0700)]
Vector ICs: debugger should save registers for vector store ics.

BUG=
R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28825}

9 years agoAdd compiler field to code print output.
ulan [Mon, 8 Jun 2015 09:13:27 +0000 (02:13 -0700)]
Add compiler field to code print output.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28824}

9 years ago[turbofan] Optimized lowering of DYNAMIC_LOCAL lookup slot loads.
mstarzinger [Mon, 8 Jun 2015 08:59:00 +0000 (01:59 -0700)]
[turbofan] Optimized lowering of DYNAMIC_LOCAL lookup slot loads.

This adds handling of JSLoadDynamicContext nodes to JSTypedLowering to
perform extension checks and an inline fast path. The fast path is a
context slot load targeting a specific context.

R=bmeurer@chromium.org
BUG=v8:4131
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#28823}

9 years agoNever uncommit the whole marking deque in case we can't get it back
erikcorry [Mon, 8 Jun 2015 08:47:36 +0000 (01:47 -0700)]
Never uncommit the whole marking deque in case we can't get it back

R=hpayer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28822}

9 years agoMake x32 compile with gcc.
machenbach [Mon, 8 Jun 2015 07:14:35 +0000 (00:14 -0700)]
Make x32 compile with gcc.

BUG=chromium:430032
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28821}

9 years agoUpdate V8 DEPS.
v8-autoroll [Sun, 7 Jun 2015 03:26:57 +0000 (20:26 -0700)]
Update V8 DEPS.

Rolling v8/tools/clang to 1efaf64b8e648c8c6539245b10cbea6f3004eb61

TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28820}

9 years agoRevert "MIPS64: Fix lithium arithmetic operations for integers to sign-extend result."
dusan.milosavljevic [Fri, 5 Jun 2015 18:22:13 +0000 (11:22 -0700)]
Revert "MIPS64: Fix lithium arithmetic operations for integers to sign-extend result."

This reverts commit 75744da2689c57c3c8c5bbff2965fe9afe602258.

revert reason:
              octane failures.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28819}

9 years agoPrint and save JS stacktrace on OOM crash.
ulan [Fri, 5 Jun 2015 17:15:51 +0000 (10:15 -0700)]
Print and save JS stacktrace on OOM crash.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28818}

9 years ago[turbofan] Turn LoadElimination into an AdvancedReducer.
mstarzinger [Fri, 5 Jun 2015 16:40:42 +0000 (09:40 -0700)]
[turbofan] Turn LoadElimination into an AdvancedReducer.

This in turn allows usage of AdvancedReducer::ReplaceWithValue which
has access to the underlying graph reducer.

R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28817}

9 years agoA couple of other "stack overflow" vs. "has_pending_exception()" issues fixed.
ishell [Fri, 5 Jun 2015 15:52:04 +0000 (08:52 -0700)]
A couple of other "stack overflow" vs. "has_pending_exception()" issues fixed.

BUG=chromium:471659, chromium:494158
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#28816}

9 years ago[es6] Add TF support for super.property
arv [Fri, 5 Jun 2015 14:32:38 +0000 (07:32 -0700)]
[es6] Add TF support for super.property

Currently does super.prop (load) and super.method() (call). Like full
codegen it uses runtime calls to load the property value.

BUG=v8:3330
LOG=N
R=mstarzinger@chromium.org, dslomov@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28815}

9 years ago[es6] Array.prototype.find and findIndex should include holes
arv [Fri, 5 Jun 2015 14:18:01 +0000 (07:18 -0700)]
[es6] Array.prototype.find and findIndex should include holes

We should not skip holes for these 2 functions.

BUG=v8:3895
LOG=N
R=adamk

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

Cr-Commit-Position: refs/heads/master@{#28814}