platform/upstream/v8.git
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}

9 years ago[turbofan] Turn JSBuiltinReducer into an AdvancedReducer.
mstarzinger [Fri, 5 Jun 2015 12:37:43 +0000 (05:37 -0700)]
[turbofan] Turn JSBuiltinReducer into an AdvancedReducer.

This in turn allows usage of AdvancedReducer::ReplaceWithValue which
has access to the underlying graph reducer. It will allow us to deal
with exception continuations correctly.

R=titzer@chromium.org

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

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

9 years agoAdd %GetCallerJSFunction intrinsic
danno [Fri, 5 Jun 2015 12:28:51 +0000 (05:28 -0700)]
Add %GetCallerJSFunction intrinsic

Only optimized for TF

R=mstarzinger@chromium.org

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

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

9 years agoAdd CHECKs to verify that we never finalize stale copies of external strings
jochen [Fri, 5 Jun 2015 12:09:37 +0000 (05:09 -0700)]
Add CHECKs to verify that we never finalize stale copies of external strings

BUG=none
R=ulan@chromium.org
LOG=n

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

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

9 years ago[turbofan] Allow ReplaceWithValue to kill control.
mstarzinger [Fri, 5 Jun 2015 12:01:55 +0000 (05:01 -0700)]
[turbofan] Allow ReplaceWithValue to kill control.

This allows any AdvancedReducer to remove exception projections from
graphs. This is the common case when JS-operators are being replaced
with pure values. The old NodeProperties::ReplaceWithValue is being
deprecated in favor of AdvancedReducer::ReplaceWithValue.

R=titzer@chromium.org
TEST=unittests/AdvancedReducerTest

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

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

9 years agoFixed memory leak in JSDate::JSDatePrint().
ishell [Fri, 5 Jun 2015 11:15:31 +0000 (04:15 -0700)]
Fixed memory leak in JSDate::JSDatePrint().

BUG=chromium:496013
LOG=N

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

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

9 years ago[test] Fix missing heartbeats in test runner.
machenbach [Fri, 5 Jun 2015 09:50:53 +0000 (02:50 -0700)]
[test] Fix missing heartbeats in test runner.

TBR=jkummerow@chromium.org

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

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

9 years agoUpdate V8 DEPS.
v8-autoroll [Fri, 5 Jun 2015 08:10:08 +0000 (01:10 -0700)]
Update V8 DEPS.

Rolling v8/third_party/icu to 9939a5d5314b6d59d5fb070902d73304c2482f88

TBR=machenbach@chromium.org

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

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

9 years ago[es6] super.prop, eval and lazy functions
arv [Thu, 4 Jun 2015 21:16:18 +0000 (14:16 -0700)]
[es6] super.prop, eval and lazy functions

We used to only store the uses_super_property in the preparse data
logger. Let the logger use NeedsHomeObject instead.

BUG=v8:3768
LOG=N
R=wingo, adamk

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

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

9 years agoStage ES6 Array and TypedArray methods
adamk [Thu, 4 Jun 2015 20:08:27 +0000 (13:08 -0700)]
Stage ES6 Array and TypedArray methods

Also stages ES6 @@isConcatSpreadable support.

BUG=v8:3578
LOG=y

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

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

9 years agoUnship harmony tostring
arv [Thu, 4 Jun 2015 17:33:20 +0000 (10:33 -0700)]
Unship harmony tostring

Blink's DOM bindings are not yet ready.

BUG=493137, 239915
LOG=N
R=rossberg, adamk
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel

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

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

9 years agoImplement %TypedArray%.prototype.{reduce,reduceRight}
dehrenberg [Thu, 4 Jun 2015 16:36:37 +0000 (09:36 -0700)]
Implement %TypedArray%.prototype.{reduce,reduceRight}

This patch re-commits a previous commit after fixing a test to not
run into another known bug.
This reverts commit b104a67ef0a50beab2dc85a6ac5732c696d07698.

This patch implements the last two methods on TypedArrays. These
were previously committed and led to a test failure.

BUG=v8:3578
LOG=Y
R=adamk

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

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

9 years agoRefactor lexical home object binding
arv [Thu, 4 Jun 2015 16:22:29 +0000 (09:22 -0700)]
Refactor lexical home object binding

Before this we had 3 super related lexical bindings that got injected
into method bodies: .home_object, .this_function,  and new.target.
With this change we get rid of the .home_object one in favor of using
.this_function[home_object_symbol] which allows some simplifications
throughout the code base.

BUG=v8:3768
LOG=N
R=adamk@chromium.org, wingo@igalia.com

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

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

9 years agoAdd support for Embedded Constant Pools for PPC and Arm
mbrandy [Thu, 4 Jun 2015 14:44:00 +0000 (07:44 -0700)]
Add support for Embedded Constant Pools for PPC and Arm

Embed constant pools within their corresponding Code
objects.

This removes support for out-of-line constant pools in favor
of the new approach -- the main advantage being that it
eliminates the need to allocate and manage separate constant
pool array objects.

Currently supported on PPC and ARM.  Enabled by default on
PPC only.

This yields a 6% improvment in Octane on PPC64.

R=bmeurer@chromium.org, rmcilroy@chromium.org, michael_dawson@ca.ibm.com
BUG=chromium:478811
LOG=Y

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

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

9 years agoFix more -Wsign-compare bugs with GCC 4.9.2
Djordje.Pesic [Thu, 4 Jun 2015 11:45:08 +0000 (04:45 -0700)]
Fix more -Wsign-compare bugs with GCC 4.9.2

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

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

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

Rolling v8/tools/clang to b7e158c9336030c1527dfbce92656a2d7b8cfb60

TBR=machenbach@chromium.org

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

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

9 years agoFix more -Wsign-compare bugs with GCC 4.9.2.
paul.lind [Thu, 4 Jun 2015 01:28:14 +0000 (18:28 -0700)]
Fix more -Wsign-compare bugs with GCC 4.9.2.

BUG=

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

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

9 years agoAdd new Float32x4 type for SIMD.js.
bbudge [Wed, 3 Jun 2015 23:56:21 +0000 (16:56 -0700)]
Add new Float32x4 type for SIMD.js.

LOG=N
BUG=v8:4124

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

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

9 years agoImplement Atomics API
binji [Wed, 3 Jun 2015 17:58:29 +0000 (10:58 -0700)]
Implement Atomics API

This is behind the flag "--harmony-atomics", and it only works on
SharedArrayBuffers. This implementation only includes the runtime functions.
The TurboFan implementation will be next.

The draft spec for Atomics can be found here:
https://docs.google.com/document/d/1NDGA_gZJ7M7w1Bh8S0AoDyEqwDdRh4uSoTPSNn77PFk

BUG=
LOG=n

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

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

9 years agoMIPS64: Fix '[es6] Super call in arrows and eval'.
balazs.kilvady [Wed, 3 Jun 2015 17:57:13 +0000 (10:57 -0700)]
MIPS64: Fix '[es6] Super call in arrows and eval'.

Port 4b8051a02ae9f765b7d803fc7986301abde36007

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=v8:3768
LOG=N

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

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

9 years agoPPC: [date] Refactor the %_DateField intrinsic to be optimizable.
mbrandy [Wed, 3 Jun 2015 17:21:57 +0000 (10:21 -0700)]
PPC: [date] Refactor the %_DateField intrinsic to be optimizable.

Port e4782a9b468258344d512a5f7dadbf1584928849

Original commit message:
Previously the %_DateField intrinsic would also check the object and
throw an exception if you happen to pass something that is not a valid
JSDate, which (a) violates our policy for instrinsics and (b) is hard to
optimize in TurboFan (even Crankshaft has a hard time, but there we will
never inline the relevant builtins, so it doesn't show up). The throwing
part is now a separate intrinsics %_ThrowIfNotADate that throws an
exception in full codegen and deoptimizes in Crankshaft, which means the
code for the current use cases is roughly the same (modulo some register
renamings/gap moves).

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

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

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

9 years agoFlatten the Arrays returned and consumed by the v8::Map API
adamk [Wed, 3 Jun 2015 16:32:52 +0000 (09:32 -0700)]
Flatten the Arrays returned and consumed by the v8::Map API

This will significantly simplify the serialization code, as well
as speeding it up (by triggering only a single allocation instead of O(size)
allocations).

BUG=chromium:478263
LOG=y

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

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

9 years agoFixed noi18n build.
ishell [Wed, 3 Jun 2015 16:23:01 +0000 (09:23 -0700)]
Fixed noi18n build.

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

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

9 years agoPPC: [es6] Super call in arrows and eval
mbrandy [Wed, 3 Jun 2015 15:50:43 +0000 (08:50 -0700)]
PPC: [es6] Super call in arrows and eval

Port 4b8051a02ae9f765b7d803fc7986301abde36007

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

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

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

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

9 years agoFixed memory-leak in d8. It did not clean evaluation context used for executing shell...
ishell [Wed, 3 Jun 2015 14:34:50 +0000 (07:34 -0700)]
Fixed memory-leak in d8. It did not clean evaluation context used for executing shell commands.

BUG=chromium:493284
LOG=N

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

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

9 years agoMicro benchmark for Try-Catch-Finally
hablich [Wed, 3 Jun 2015 12:12:20 +0000 (05:12 -0700)]
Micro benchmark for Try-Catch-Finally

BUG=v8:4131
LOG=n

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

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

9 years agoFix arrow functions requiring context without slots.
mstarzinger [Wed, 3 Jun 2015 11:32:25 +0000 (04:32 -0700)]
Fix arrow functions requiring context without slots.

This fixes a corner-case where arrow functions that require a context
allocate none, because there are no additional slots allocated. Note
that this didn't happen with true function scopes because they always
had at least the receiver slot.

The outcome was a context chain that no longer was in sync with the
scope chain, hence context slot loads were bogus. This is observable
using the DYNAMIC_LOCAL optimization in all compilers.

R=rossberg@chromium.org,wingo@igalia.com
TEST=mjsunit/harmony/regress/regress-4160
BUG=v8:4160
LOG=N

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

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

9 years ago[turbofan] Don't lower to NumberModulus unless the inputs are numbers.
bmeurer [Wed, 3 Jun 2015 11:24:14 +0000 (04:24 -0700)]
[turbofan] Don't lower to NumberModulus unless the inputs are numbers.

The IC for modulus is usually way faster than converting the inputs to
numbers and doing a Float64Mod on them.

R=jarin@chromium.org

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

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

9 years ago[x64] Smi zero can be used as an immediate.
bmeurer [Wed, 3 Jun 2015 11:23:06 +0000 (04:23 -0700)]
[x64] Smi zero can be used as an immediate.

R=jarin@chromium.org

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

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

9 years agoAdd ARM64 suppport to grokdump.py
ulan [Wed, 3 Jun 2015 11:07:24 +0000 (04:07 -0700)]
Add ARM64 suppport to grokdump.py

Constants are taken from chromium/src/google_breakpad/common/minidump_cpu_arm64.h

BUG=

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

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

9 years ago[turbofan] Make the verifier a little bit more cooperative.
mstarzinger [Wed, 3 Jun 2015 10:46:58 +0000 (03:46 -0700)]
[turbofan] Make the verifier a little bit more cooperative.

R=bmeurer@chromium.org

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

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

9 years agoRemove usage of to-be-deprecated APIs from v8 core
jochen [Wed, 3 Jun 2015 10:27:46 +0000 (03:27 -0700)]
Remove usage of to-be-deprecated APIs from v8 core

Also turn on the macro to disable to-be-deprecated APIs for core

BUG=v8:4134
R=vogelheim@chromium.org
LOG=n

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

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