platform/upstream/v8.git
9 years ago[es6] Fix completion values of for loops with lexical variables
conradw [Thu, 18 Jun 2015 11:54:03 +0000 (04:54 -0700)]
[es6] Fix completion values of for loops with lexical variables

Currently, the desugaring of for loops of the form for
(let/const ...; bla; bla) causes them to always have a
completion value of 1, regardless of whether the loop body
is executed or not. This CL fixes this, realigning
initializer blocks as a more general purpose way to avoid
the completion value rewriter (since that's all they really
do anyway).

BUG=

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

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

9 years agoReland [turbofan] Disable select matching due to bug manifesting on arm. (patchset...
machenbach [Thu, 18 Jun 2015 10:42:58 +0000 (03:42 -0700)]
Reland [turbofan] Disable select matching due to bug manifesting on arm. (patchset #2 id:40001 of https://codereview.chromium.org/1176403005/)

Reason for revert:
This causes timeouts in Massive on chromebooks.

Original issue's description:
> Revert of [turbofan] Disable select matching due to bug manifesting on arm. (patchset #1 id:1 of https://codereview.chromium.org/1077613002/)
>
> Reason for revert:
> [Sheriff] Checking if this still fails and if yes persists info about failures.
>
> Original issue's description:
> > [turbofan] Disable select matching due to bug manifesting on arm.
> >
> > R=machenbach@chromium.org
> > BUG=
> >
> > Committed: https://crrev.com/6e5d805718195c4b5ac64cd540379cecf10b8f5c
> > Cr-Commit-Position: refs/heads/master@{#27702}
>
> TBR=bmeurer@chromium.org
>
> Committed: https://crrev.com/7c36a7d91d8706b29df07013085fbe3c8e93b0ed
> Cr-Commit-Position: refs/heads/master@{#29103}

TBR=titzer@chromium.org,bmeurer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

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

9 years agoDampen the old generation allocation limit only after the initial old generation...
ulan [Thu, 18 Jun 2015 10:00:12 +0000 (03:00 -0700)]
Dampen the old generation allocation limit only after the initial old generation size was configured.

Otherwise, dampening interferes with initial size configuration and causes GC too early.

BUG=501703
LOG=NO

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

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

9 years ago[turbofan] Improve interplay of ControlReducer and CommonOperatorReducer.
bmeurer [Thu, 18 Jun 2015 09:15:32 +0000 (02:15 -0700)]
[turbofan] Improve interplay of ControlReducer and CommonOperatorReducer.

This turns the CommonOperatorReducer into an AdvancedReducer and makes
it independent of JSGraph (which was used only because it was convienent),
and let's the CommonOperatorReducer run together with the ControlReducer.

The ControlReducer is still not able to run together with other reducers,
but we're getting closer. The plan is to split the ControlReducer into
two parts: The dead code elimination part and the common operator
reduction part. This separation will help to avoid tricky bugs in the
future and should make testing a *lot* easier.

R=jarin@chromium.org

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

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

9 years ago[turbofan] Introduce DeadValue and DeadEffect operators.
mstarzinger [Thu, 18 Jun 2015 08:17:09 +0000 (01:17 -0700)]
[turbofan] Introduce DeadValue and DeadEffect operators.

R=bmeurer@chromium.org

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

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

9 years agoRevert of [turbofan] Disable select matching due to bug manifesting on arm. (patchset...
machenbach [Thu, 18 Jun 2015 07:57:13 +0000 (00:57 -0700)]
Revert of [turbofan] Disable select matching due to bug manifesting on arm. (patchset #1 id:1 of https://codereview.chromium.org/1077613002/)

Reason for revert:
[Sheriff] Checking if this still fails and if yes persists info about failures.

Original issue's description:
> [turbofan] Disable select matching due to bug manifesting on arm.
>
> R=machenbach@chromium.org
> BUG=
>
> Committed: https://crrev.com/6e5d805718195c4b5ac64cd540379cecf10b8f5c
> Cr-Commit-Position: refs/heads/master@{#27702}

TBR=bmeurer@chromium.org

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

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

9 years ago[turbofan] Remove another premature optimization from ControlReducer.
bmeurer [Thu, 18 Jun 2015 07:13:35 +0000 (00:13 -0700)]
[turbofan] Remove another premature optimization from ControlReducer.

We never hit the phi case for DecideCondition in practice, since a more
general optimization is already performed by typing and constant
propagation.

R=jarin@chromium.org,mstarzinger@chromium.org

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

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

9 years ago[test] Unskip layout tests after fixing bot.
machenbach [Thu, 18 Jun 2015 07:10:31 +0000 (00:10 -0700)]
[test] Unskip layout tests after fixing bot.

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

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

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

9 years agoMIPS: Fix unaligned memory access.
balazs.kilvady [Thu, 18 Jun 2015 07:01:24 +0000 (00:01 -0700)]
MIPS: Fix unaligned memory access.

On MIPS32 we can't read a 8 bytes long data from a not 8 bytes aligned memory address.

BUG=
TEST=mjsunit/debug-backtrace

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

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

9 years agoRevert of Update V8 DEPS. (patchset #1 id:1 of https://codereview.chromium.org/119203...
machenbach [Thu, 18 Jun 2015 06:24:30 +0000 (23:24 -0700)]
Revert of Update V8 DEPS. (patchset #1 id:1 of https://codereview.chromium.org/1192033002/)

Reason for revert:
[Sheriff] gyp still contains an offending patch

Original issue's description:
> Update V8 DEPS.
>
> Rolling v8/build/gyp to fdcd8bc10c935eff13b391644b01460593c46861
>
> Rolling v8/tools/clang to d2b4eddd701ff0265124147bcb0a65f32273f06b
>
> TBR=machenbach@chromium.org
>
> Committed: https://crrev.com/a940eb8a7cba6596ea25819c0112c3ca053074ed
> Cr-Commit-Position: refs/heads/master@{#29097}

TBR=v8-autoroll@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

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

9 years ago[turbofan] Add test to keep generic pipeline on life support.
mstarzinger [Thu, 18 Jun 2015 04:52:36 +0000 (21:52 -0700)]
[turbofan] Add test to keep generic pipeline on life support.

R=bmeurer@chromium.org
TEST=cctest/test-pipeline

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

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

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

Rolling v8/build/gyp to fdcd8bc10c935eff13b391644b01460593c46861

Rolling v8/tools/clang to d2b4eddd701ff0265124147bcb0a65f32273f06b

TBR=machenbach@chromium.org

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

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

9 years agoAdd signcla verifier for v8.
sheyang [Wed, 17 Jun 2015 16:36:40 +0000 (09:36 -0700)]
Add signcla verifier for v8.

Currently this verifier will post an informative error if the author has not signed CLA, instead of rejecting the CL.

LOG=N

BUG=457428

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

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

9 years agoMake sure to flatten names before lookup. Lookup using cons strings is really slow.
verwaest [Wed, 17 Jun 2015 16:05:22 +0000 (09:05 -0700)]
Make sure to flatten names before lookup. Lookup using cons strings is really slow.

Restores SortNumbers perf degrade

BUG=chromium:495949, v8:4137
LOG=n

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

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

9 years agoAdd option to compute average scavenge speed w.r.t survived objects.
ulan [Wed, 17 Jun 2015 16:03:06 +0000 (09:03 -0700)]
Add option to compute average scavenge speed w.r.t survived objects.

Use it in detection of low young generation allocation rate.

BUG=501314
LOG=NO
TBR=hpayer@chromium.org

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

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

9 years ago--print-scopes should ignore native code, even ones parsed lazily.
yangguo [Wed, 17 Jun 2015 15:21:22 +0000 (08:21 -0700)]
--print-scopes should ignore native code, even ones parsed lazily.

R=adamk@chromium.org

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

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

9 years agoReenable some cctest tests that no longer fail.
mstarzinger [Wed, 17 Jun 2015 14:55:54 +0000 (07:55 -0700)]
Reenable some cctest tests that no longer fail.

R=jochen@chromium.org,jarin@chromium.org
TEST=cctest

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

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

9 years ago[test] Fix gc-stress failures of regress-crbug-500497.js
jkummerow [Wed, 17 Jun 2015 14:24:29 +0000 (07:24 -0700)]
[test] Fix gc-stress failures of regress-crbug-500497.js

R=machenbach@chromium.org
NOTRY=y

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

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

9 years agoUse output parameter to distinguish error from absent result
verwaest [Wed, 17 Jun 2015 14:06:29 +0000 (07:06 -0700)]
Use output parameter to distinguish error from absent result
Otherwise we'd have to probe for pending exceptions.

I'll do the same to other interceptors in follow-up CLs

BUG=chromium:495949,v8:4137
LOG=n

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

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

9 years ago[turbofan] Remove another ineffective optimization from the ControlReducer.
bmeurer [Wed, 17 Jun 2015 12:50:33 +0000 (05:50 -0700)]
[turbofan] Remove another ineffective optimization from the ControlReducer.

The condition of a Branch or Select can never be a NumberConstant,
because the resulting graph would be invalid, so we don't need to
optimize this case. It can only ever be a tagged boolean or an untagged
bit.

Drive-by-fix: Test the interesting cases in the unit tests instead.

R=jarin@chromium.org

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

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

9 years ago[turbofan] Remove obsolete 'incomplete' flag from GraphDecorator.
mstarzinger [Wed, 17 Jun 2015 12:34:40 +0000 (05:34 -0700)]
[turbofan] Remove obsolete 'incomplete' flag from GraphDecorator.

R=bmeurer@chromium.org

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

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

9 years agoFix --trace-gc output after 084d1f.
ulan [Wed, 17 Jun 2015 12:31:38 +0000 (05:31 -0700)]
Fix --trace-gc output after 084d1f.

BUG=
TBR=hpayer@chromium.org

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

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

9 years ago[turbofan] Fix life time and use of the Typer.
bmeurer [Wed, 17 Jun 2015 12:25:02 +0000 (05:25 -0700)]
[turbofan] Fix life time and use of the Typer.

Currently the Typer is installed on the Graph, no matter if we actually
use the types or not (read: even in the generic pipeline). Also the
Typer tries hard to eagerly type nodes during graph building, which
takes time, just to remove those types later again, and retype
everything from scratch. Plus this is inconsistent, since it only
applies to the outermost graph, not the inlined graphs (which are
eagerly typed once the nodes are copied). So in summary, what's
currently implemented is neither useful nor well defined, so for now we
stick to the full typing approach until a proper design for eager typing
is available that will actually benefit us.

R=rossberg@chromium.org,mstarzinger@chromium.org,jarin@chromium.org

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

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

9 years agoRevert of Added constructor call on object in InstantiateObject method (patchset...
machenbach [Wed, 17 Jun 2015 12:20:48 +0000 (05:20 -0700)]
Revert of Added constructor call on object in InstantiateObject method (patchset #5 id:80001 of https://codereview.chromium.org/1137693003/)

Reason for revert:
[Sheriff] This breaks layout test expectations:
http://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2032/builds/437

See:
https://storage.googleapis.com/chromium-layout-test-archives/V8-Blink_Linux_32/437/layout-test-results/fast/dom/create-element-after-stack-overflow-pretty-diff.html

Please land a needsmanualrebaseline change on the blink-side before relanding this, if the change was intended.

Please include a blink trybot on relanding this.

Original issue's description:
> Added constructor call on object in InstantiateObject method
>
> I found after upgrading from 4.2.2 where apinatives.js still
> existed to 4.4.56 where everything had been converted to C++ in
> api-natives.cc, my constructors for ObjectTemplate instantiated objects
> were no longer being called.  After investigation, I noticed in
> apinatives.js that a new call would handle that, but there was no
> corresponding constructor call in api-natives.cc (or anywhere else
> along the chain of InstantiateObject), so I added a call to
> Execution::Call to actually construct the object.  Forgive me if that
> isn't the right place to add it (InitializeBody in objects-inl.h also
> looked like a good place), or if there's a reason constructors are
> not being called.
>
> I also added myself to the AUTHORS file in this CL.
>
> Committed: https://crrev.com/e61a957b2a9726294cdd2802a6a2b6e3a9ef657d
> Cr-Commit-Position: refs/heads/master@{#29076}

TBR=verwaest@chromium.org,svenpanne@chromium.org,dtalley@gmail.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

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

9 years agoAdd V8 platform API to call delayed task.
ulan [Wed, 17 Jun 2015 12:09:34 +0000 (05:09 -0700)]
Add V8 platform API to call delayed task.

Delayed tasks can be used to perform non-urgent clean up work.

BUG=chromium:490559
LOG=NO

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

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

9 years agoReplace ad-hoc weakness in transition array with WeakCell.
ulan [Wed, 17 Jun 2015 12:07:41 +0000 (05:07 -0700)]
Replace ad-hoc weakness in transition array with WeakCell.

BUG=

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

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

9 years agoClean up JSConstructStub
jkummerow [Wed, 17 Jun 2015 11:58:17 +0000 (04:58 -0700)]
Clean up JSConstructStub

- fix truthfulness of comments
- use InitializeFieldsWithFiller more consistently
- use unsigned comparisons for pointers

No change in functionality intended.

Bonus: improve JavaScriptFrame::Print() for an enhanced debugging experience:

- print PC of each frame
- print the function's source also for optimized frames

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

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

9 years ago[turbofan] Remove hack for dead nodes from JSGenericLowering.
mstarzinger [Wed, 17 Jun 2015 11:29:53 +0000 (04:29 -0700)]
[turbofan] Remove hack for dead nodes from JSGenericLowering.

Now that the graph is being trimmed after generic lowering, we can drop
this workaround. The diamond will no longer confuse the scheduler.

R=bmeurer@chromium.org

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

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

9 years agoSupport CreateDataProperty on JSObject in the runtime
verwaest [Wed, 17 Jun 2015 11:25:22 +0000 (04:25 -0700)]
Support CreateDataProperty on JSObject in the runtime

BUG=v8:4137
LOG=n

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

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

9 years agoHydrogen object literals: always initialize in-object properties
jkummerow [Wed, 17 Jun 2015 11:24:15 +0000 (04:24 -0700)]
Hydrogen object literals: always initialize in-object properties

This fixes a bug where new-space GC could be triggered by non-folded allocations for some of the in-object properties, while the object was only partially initialized.

BUG=chromium:500497
LOG=y
R=ishell@chromium.org

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

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

9 years agoReland "MIPS64: Fix lithium arithmetic operations for integers to sign-extend result."
dusan.milosavljevic [Wed, 17 Jun 2015 10:58:48 +0000 (03:58 -0700)]
Reland "MIPS64: Fix lithium arithmetic operations for integers to sign-extend result."

TEST==mjsunit/asm/double-lo
BUG=

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

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

9 years ago[turbofan] Move graph trimming functionality to dedicated GraphTrimmer.
bmeurer [Wed, 17 Jun 2015 10:56:27 +0000 (03:56 -0700)]
[turbofan] Move graph trimming functionality to dedicated GraphTrimmer.

Up until now that was still mixed with control reduction in the
ControlReducer. This separation allows us to remove the horrible
Reducer::Finish hack and also do graph trimming at more appropriate
places in the pipeline (i.e. trim dead nodes after generic lowering,
which can also make nodes dead).

R=jarin@chromium.org,mstarzinger@chromium.org

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

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

9 years agoAdded constructor call on object in InstantiateObject method
dtalley [Wed, 17 Jun 2015 10:24:05 +0000 (03:24 -0700)]
Added constructor call on object in InstantiateObject method

I found after upgrading from 4.2.2 where apinatives.js still
existed to 4.4.56 where everything had been converted to C++ in
api-natives.cc, my constructors for ObjectTemplate instantiated objects
were no longer being called.  After investigation, I noticed in
apinatives.js that a new call would handle that, but there was no
corresponding constructor call in api-natives.cc (or anywhere else
along the chain of InstantiateObject), so I added a call to
Execution::Call to actually construct the object.  Forgive me if that
isn't the right place to add it (InitializeBody in objects-inl.h also
looked like a good place), or if there's a reason constructors are
not being called.

I also added myself to the AUTHORS file in this CL.

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

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

9 years agoOnly walk the hidden prototype chain for private nonexistent symbols
verwaest [Wed, 17 Jun 2015 10:20:41 +0000 (03:20 -0700)]
Only walk the hidden prototype chain for private nonexistent symbols

BUG=chromium:479528
LOG=n

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

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

9 years agoRely on the map being a dictionary map rather than not having a backpointer
verwaest [Wed, 17 Jun 2015 10:13:48 +0000 (03:13 -0700)]
Rely on the map being a dictionary map rather than not having a backpointer

BUG=chromium:500173
LOG=n

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

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

9 years agoWhitespace change to test infra.
Michael Achenbach [Wed, 17 Jun 2015 09:59:56 +0000 (11:59 +0200)]
Whitespace change to test infra.

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

9 years agoDampen old generation allocation limit after scavenge if allocation rate is low.
ulan [Wed, 17 Jun 2015 09:15:37 +0000 (02:15 -0700)]
Dampen old generation allocation limit after scavenge if allocation rate is low.

BUG=chromium:491907,chromium:499815
LOG=NO

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

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

9 years agoReplace OFFSET_OF with offsetof as far as possible.
svenpanne [Wed, 17 Jun 2015 09:06:44 +0000 (02:06 -0700)]
Replace OFFSET_OF with offsetof as far as possible.

The remaining uses need some non-mechanical work:

  * non-standard-layout type, probably due to mixed access control

  * extended field designators

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

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

9 years agoRevert of Add %TypedArray% to proto chain (patchset #6 id:100001 of https://coderevie...
machenbach [Wed, 17 Jun 2015 09:05:34 +0000 (02:05 -0700)]
Revert of Add %TypedArray% to proto chain (patchset #6 id:100001 of https://codereview.chromium.org/1186733002/)

Reason for revert:
[Sheriff] Changes layout tests:
http://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2032/builds/429

See e.g.:
https://storage.googleapis.com/chromium-layout-test-archives/V8-Blink_Linux_32/429/layout-test-results/inspector/console/console-big-array-pretty-diff.html

Please upload a blink side needsmanualrebaseline change first for these tests if the change is intended. Please also add a blink trybot on a reland of this CL.

Original issue's description:
> Add %TypedArray% to proto chain
>
> According to the ES6 spec, the main methods and getters shouldn't
> be properties of the individual TypedArray objects and prototypes
> but instead on %TypedArray% and %TypedArray%.prototype. This
> difference is observable through introspection. This patch moves
> some methods and getters to the proper place, with the exception
> of %TypedArray%.prototype.subarray and harmony methods. These will
> be moved in follow-on patches.
>
> BUG=v8:4085
> LOG=Y
> R=adamk
>
> Committed: https://crrev.com/a10590158260737b256fac3254b4939f48f90095
> Cr-Commit-Position: refs/heads/master@{#29057}

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

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

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

9 years ago[turbofan] Fix overzealous reserving of lazy deopt space.
mstarzinger [Wed, 17 Jun 2015 07:43:36 +0000 (00:43 -0700)]
[turbofan] Fix overzealous reserving of lazy deopt space.

This fixes CodeGenerator::EnsureSpaceForLazyDeopt to no longer be
treated as a lazy deopt site in itself. Calls mark themselves as lazy
bailout sites in CodeGenerator::RecordCallPosition, which suffices.

R=jarin@chromium.org

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

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

9 years agoRegExp: Remove bogus assumptions about case independence and Latin1
erikcorry [Wed, 17 Jun 2015 07:22:56 +0000 (00:22 -0700)]
RegExp: Remove bogus assumptions about case independence and Latin1

Tests are already there in mjsuint/regress/regress-latin-1.js
R=yangguo@chromium.org
BUG=v8:3550
LOG=n

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

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

9 years agoRevert of Update test262-es6 to 6/11 (patchset #2 id:40001 of https://codereview...
machenbach [Wed, 17 Jun 2015 06:52:55 +0000 (23:52 -0700)]
Revert of Update test262-es6 to 6/11 (patchset #2 id:40001 of https://codereview.chromium.org/1175313003/)

Reason for revert:
[Sheriff] Please fix test expectations for nosnap before reland. There are 54 tests failing:
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap/builds/3422

Original issue's description:
> Update test262-es6 to 6/11
>
> This reverts commit 67b169199e06a486e7b663c7758f81995ddc6593 and picks
> up the fixes to the yaml parser upstream.
>
> BUG=N
> LOG=N
> R=adamk@chromium.org, machenbach@chromium.org
>
> Committed: https://crrev.com/bc847230610d0518a700a69546d23784e6ce3479
> Cr-Commit-Position: refs/heads/master@{#29056}

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

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

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

9 years agoRevert of Skip slow tests in non debug too (patchset #1 id:1 of https://codereview...
machenbach [Wed, 17 Jun 2015 06:51:42 +0000 (23:51 -0700)]
Revert of Skip slow tests in non debug too (patchset #1 id:1 of https://codereview.chromium.org/1184923003/)

Reason for revert:
[Sheriff] Needed for reverting:
https://codereview.chromium.org/1175313003

Original issue's description:
> Skip slow tests in non debug too
>
> BUG=N
> LOG=N
> TBR=adamk
>
> Committed: https://crrev.com/17b0f16c760e5b0d51ae87742a864de93b6f4c0b
> Cr-Commit-Position: refs/heads/master@{#29058}

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

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

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

9 years agoRevert of Serializer: clear string hash for code serializer. (patchset #1 id:1 of...
yangguo [Wed, 17 Jun 2015 06:45:25 +0000 (23:45 -0700)]
Revert of Serializer: clear string hash for code serializer. (patchset #1 id:1 of https://codereview.chromium.org/1183483006/)

Reason for revert:
This led to the roll being stuck: https://codereview.chromium.org/1189863003/

Original issue's description:
> Serializer: clear string hash for code serializer.
>
> R=jochen@chromium.org
> BUG=v8:4179
> LOG=N
>
> Committed: https://crrev.com/a0342678e865337215f9195f983c6013b60e7641
> Cr-Commit-Position: refs/heads/master@{#29016}

TBR=jochen@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4179

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

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

9 years ago[turbofan] Remove ineffective optimization from ControlReducer.
bmeurer [Wed, 17 Jun 2015 06:11:40 +0000 (23:11 -0700)]
[turbofan] Remove ineffective optimization from ControlReducer.

This optimization just duplicates part of the ToBoolean rule in the
Typer, and it doesn't make sense to have adhoc partial typing rules in
the ControlReducer anyway.

R=jarin@chromium.org

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

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

9 years agoBlock pretty printing (partial re-revert of 1177123002).
mtrofin [Wed, 17 Jun 2015 05:44:23 +0000 (22:44 -0700)]
Block pretty printing (partial re-revert of 1177123002).

Revert "Revert of Decompiler improvements. (patchset #2 id:20001 of https://codereview.chromium.org/1177123002/)"

This reverts commit e2ce4681655a610631e6a6e17dec62e6c4bdef43, avoiding the hex->dec changes, and re-introducing the block pretty printing of the original CL.

The hex-dec issue would be handled separately.
BUG=

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

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

9 years ago[turbofan] The AstGraphBuilder does not need to care about types.
bmeurer [Wed, 17 Jun 2015 05:43:17 +0000 (22:43 -0700)]
[turbofan] The AstGraphBuilder does not need to care about types.

AstGraphBuilder::BuildToBoolean() can be optimized easily without types,
especially since the types are only present on some nodes during graph
building. So this optimization is both more efficient and more effective
at the same time. We will probably refactor this code into a separate
optimization method/class later.

R=jarin@chromium.org

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

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

9 years ago[turbofan] Ensure lazy bailout point in exception handler.
mstarzinger [Wed, 17 Jun 2015 05:40:28 +0000 (22:40 -0700)]
[turbofan] Ensure lazy bailout point in exception handler.

This ensures there is a lazy bailout point at the entry of every
exception handler so that deoptimized code is not re-entered through
caught exceptions.

R=jarin@chromium.org
TEST=cctest/test-run-deopt/DeoptExceptionHandler

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

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

9 years agoRevert of Update V8 DEPS. (patchset #1 id:1 of https://codereview.chromium.org/117970...
machenbach [Wed, 17 Jun 2015 05:38:30 +0000 (22:38 -0700)]
Revert of Update V8 DEPS. (patchset #1 id:1 of https://codereview.chromium.org/1179703005/)

Reason for revert:
[Sheriff] gyp change breaks calling gyp on XP:
http://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%201/builds/2849

Original issue's description:
> Update V8 DEPS.
>
> Rolling v8/build/gyp to fdcd8bc10c935eff13b391644b01460593c46861
>
> Rolling v8/tools/clang to 4cc9c6714533a07ba02ca01ed04557f055820532
>
> TBR=machenbach@chromium.org
>
> Committed: https://crrev.com/6e7e5e833c8bddf7d6a97cd3c01f0afe5a882bd6
> Cr-Commit-Position: refs/heads/master@{#29059}

TBR=v8-autoroll@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

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

9 years agoUpdate V8 DEPS.
v8-autoroll [Wed, 17 Jun 2015 03:24:43 +0000 (20:24 -0700)]
Update V8 DEPS.

Rolling v8/build/gyp to fdcd8bc10c935eff13b391644b01460593c46861

Rolling v8/tools/clang to 4cc9c6714533a07ba02ca01ed04557f055820532

TBR=machenbach@chromium.org

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

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

9 years agoSkip slow tests in non debug too
arv [Wed, 17 Jun 2015 00:03:00 +0000 (17:03 -0700)]
Skip slow tests in non debug too

BUG=N
LOG=N
TBR=adamk

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

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

9 years agoAdd %TypedArray% to proto chain
littledan [Tue, 16 Jun 2015 23:39:01 +0000 (16:39 -0700)]
Add %TypedArray% to proto chain

According to the ES6 spec, the main methods and getters shouldn't
be properties of the individual TypedArray objects and prototypes
but instead on %TypedArray% and %TypedArray%.prototype. This
difference is observable through introspection. This patch moves
some methods and getters to the proper place, with the exception
of %TypedArray%.prototype.subarray and harmony methods. These will
be moved in follow-on patches.

BUG=v8:4085
LOG=Y
R=adamk

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

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

9 years agoUpdate test262-es6 to 6/11
arv [Tue, 16 Jun 2015 22:15:53 +0000 (15:15 -0700)]
Update test262-es6 to 6/11

This reverts commit 67b169199e06a486e7b663c7758f81995ddc6593 and picks
up the fixes to the yaml parser upstream.

BUG=N
LOG=N
R=adamk@chromium.org, machenbach@chromium.org

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

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

9 years ago[parser] parse `CalllExpression TemplateLiteral` production
caitpotter88 [Tue, 16 Jun 2015 18:08:21 +0000 (11:08 -0700)]
[parser] parse `CalllExpression TemplateLiteral` production

BUG=v8:4183
R=arv@chromium.org, rossberg@chromium.org
LOG=N

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

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

9 years agoSeparated the new register allocator in its own files.
mtrofin [Tue, 16 Jun 2015 17:10:14 +0000 (10:10 -0700)]
Separated the new register allocator in its own files.

Opportunistically removed GreedyAllocator::TryReuseSpillForPhi because it is actually unsuitable for Greedy. It was copied from Linear and it relies on hints, however, the current implementation of hints assumes linear scan.

This change doesn't aim to address performance nor correctness for Greedy.

BUG=

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

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

9 years agoOnly shrink new space when we are not in the process of obtaining pretenuring feedback.
hpayer [Tue, 16 Jun 2015 15:49:14 +0000 (08:49 -0700)]
Only shrink new space when we are not in the process of obtaining pretenuring feedback.

BUG=

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

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

9 years agoRe-land new insertion write barrier.
hpayer [Tue, 16 Jun 2015 14:22:54 +0000 (07:22 -0700)]
Re-land new insertion write barrier.

BUG=

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

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

9 years agoUpdates to the license information of third party components.
hablich [Tue, 16 Jun 2015 12:37:37 +0000 (05:37 -0700)]
Updates to the license information of third party components.

LOG=n

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

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

9 years agoRe-Re-land: Enable external startup by default on Linux.
vogelheim [Tue, 16 Jun 2015 11:26:54 +0000 (04:26 -0700)]
Re-Re-land: Enable external startup by default on Linux.

crrev.com/1177163002 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/1189563004

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

9 years agoX87: enable the X87 turbofan support.
chunyang.dai [Tue, 16 Jun 2015 11:23:05 +0000 (04:23 -0700)]
X87: enable the X87 turbofan support.

    This patch includes the following changes.
     1, Enable the turbofan backend support for X87 platform. It depends on previous CL: 3fdfebd26.
     2, Enable the test cases which are disabled because turbofan for X87 was not enabled.

BUG=v8:4135
LOG=N

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

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

9 years ago[V8] Fixed infinite loop in Debug::PrepareStep
kozyatinskiy [Tue, 16 Jun 2015 11:09:50 +0000 (04:09 -0700)]
[V8] Fixed infinite loop in Debug::PrepareStep

frame->GetExpression always returns the same function. We should iterate through expression stack when we use Function.call.apply for finding actual target.

LOG=N
BUG=chromium:499479
R=yurys@chromium.org,yangguo@chromium.org

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

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

9 years agoSerializer: support all alignment kinds.
yangguo [Tue, 16 Jun 2015 11:04:13 +0000 (04:04 -0700)]
Serializer: support all alignment kinds.

We use an alignment prefix for unusual alignment kinds (not kWordAligned).
This will cause new objects to be aligned in ReadObject, and back references
to be aligned to skip padding.

The motivation to change the undefined next sentinel in WeakCell is this:
When the deserializer aligns an object, it requires filler maps to already
exist to create filler objects as padding. However, deserializing the
filler map leads to deserializing NaN, which as heap number is aligned:
filler map > meta map > weak cell cache > undefined > NaN
If we use the-hole instead of undefined as sentinel, it works.

R=jochen@chromium.org,bbudge@chromium.org
BUG=v8:4178
LOG=N

Committed: https://crrev.com/2146ab75387d47eef6582bd8c2d0cfc6c42b68b6
Cr-Commit-Position: refs/heads/master@{#29044}

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

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

9 years agoRevert of Decompiler improvements. (patchset #2 id:20001 of https://codereview.chromi...
mstarzinger [Tue, 16 Jun 2015 10:38:47 +0000 (03:38 -0700)]
Revert of Decompiler improvements. (patchset #2 id:20001 of https://codereview.chromium.org/1177123002/)

Reason for revert:
Code printout has become unreadable. Offsets are printed in decimal numbers everywhere else. This is inconsistent with the rest of the code-base. Some examples are tables for deoptimization data, safepoints and exception handlers. I would be fine with this change if _all_ tracing would be adapted. But there are _many_ places to touch.

Original issue's description:
> Decompiler improvements.
>
> The main motivation is simplifying profiling activities:
>
> 1) Use hex instead of decimal for offsets, just like perf does. This
> affects --print-opt-code
>
> 2) When printing block information, indicate loop information: if
> block is header, where the end is; if block is in a loop, where the
> loop starts. This affects --code-comments.
>
> Using --print-opt-code --code-comments, and cross-referencing with data
> obtained from perf, one may now find the block a hotspot belongs to
> without needing to do hex2dec/dec2hex conversions. Once found, loop info
> is available locally, on the block.
>
> BUG=
>
> Committed: https://crrev.com/32f4bd659d38eb5485eedb1d0dd236ff1bdc01d5
> Cr-Commit-Position: refs/heads/master@{#28964}

TBR=jarin@chromium.org,stichnot@chromium.org,jvoung@chromium.org,mtrofin@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

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

9 years agoRevert of Serializer: support all alignment kinds. (patchset #3 id:40001 of https...
machenbach [Tue, 16 Jun 2015 10:18:33 +0000 (03:18 -0700)]
Revert of Serializer: support all alignment kinds. (patchset #3 id:40001 of https://codereview.chromium.org/1179873003/)

Reason for revert:
[Sheriff] Breaks arm debug compile:
http://build.chromium.org/p/client.v8/builders/V8%20Arm%20-%20debug%20builder/builds/4308

Original issue's description:
> Serializer: support all alignment kinds.
>
> We use an alignment prefix for unusual alignment kinds (not kWordAligned).
> This will cause new objects to be aligned in ReadObject, and back references
> to be aligned to skip padding.
>
> The motivation to change the undefined next sentinel in WeakCell is this:
> When the deserializer aligns an object, it requires filler maps to already
> exist to create filler objects as padding. However, deserializing the
> filler map leads to deserializing NaN, which as heap number is aligned:
> filler map > meta map > weak cell cache > undefined > NaN
> If we use the-hole instead of undefined as sentinel, it works.
>
> R=jochen@chromium.org,bbudge@chromium.org
> BUG=v8:4178
> LOG=N
>
> Committed: https://crrev.com/2146ab75387d47eef6582bd8c2d0cfc6c42b68b6
> Cr-Commit-Position: refs/heads/master@{#29044}

TBR=jochen@chromium.org,bbudge@chromium.org,yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4178

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

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

9 years agoSerializer: support all alignment kinds.
yangguo [Tue, 16 Jun 2015 09:45:57 +0000 (02:45 -0700)]
Serializer: support all alignment kinds.

We use an alignment prefix for unusual alignment kinds (not kWordAligned).
This will cause new objects to be aligned in ReadObject, and back references
to be aligned to skip padding.

The motivation to change the undefined next sentinel in WeakCell is this:
When the deserializer aligns an object, it requires filler maps to already
exist to create filler objects as padding. However, deserializing the
filler map leads to deserializing NaN, which as heap number is aligned:
filler map > meta map > weak cell cache > undefined > NaN
If we use the-hole instead of undefined as sentinel, it works.

R=jochen@chromium.org,bbudge@chromium.org
BUG=v8:4178
LOG=N

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

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

9 years ago[turbofan] Work around negative parameter count.
bmeurer [Tue, 16 Jun 2015 09:44:23 +0000 (02:44 -0700)]
[turbofan] Work around negative parameter count.

BUG=chromium:500824
LOG=n
R=mstarzinger@chromium.org

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

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

9 years agoFix compile warning [-Wtype-limits]
sejunho [Tue, 16 Jun 2015 08:20:12 +0000 (01:20 -0700)]
Fix compile warning [-Wtype-limits]

This fixes warning on android_arm build.
Previously the compiler complained about a check that can never be true.
See second check below(index is size_t type, FIRST_SPACE=0):
if (index > i::LAST_SPACE || index < i::FIRST_SPACE)
And make the code easy to understand.

BUG=

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

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

9 years agoAll private symbols are own symbols
wingo [Tue, 16 Jun 2015 08:13:33 +0000 (01:13 -0700)]
All private symbols are own symbols

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

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

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

9 years ago[crankshaft] Fix wrong bailout points in for-in loop body.
bmeurer [Tue, 16 Jun 2015 08:08:35 +0000 (01:08 -0700)]
[crankshaft] Fix wrong bailout points in for-in loop body.

R=jochen@chromium.org
BUG=chromium:500435
LOG=y

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

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

9 years agoIntroduce a base pointer field in FixedTypedArrayBase and teach GC about it
jochen [Tue, 16 Jun 2015 07:37:16 +0000 (00:37 -0700)]
Introduce a base pointer field in FixedTypedArrayBase and teach GC about it

This is the first step towards unifying external and on-heap typed arrays.

The end-state will be that this base pointer either points to the on-heap values
or to the externally allocated array buffer.

BUG=v8:3996
R=hpayer@chromium.org
LOG=n

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

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

9 years agoDebugger: require debugger to be active when dealing with breaks.
yangguo [Tue, 16 Jun 2015 07:11:11 +0000 (00:11 -0700)]
Debugger: require debugger to be active when dealing with breaks.

This invariant will save us some head ache.
The changes to test-debug/DebugStub is due to the fact that it abuses
the ability to set break points in code that has no debug break slots.
This is now no longer possible.

R=ulan@chromium.org
BUG=v8:4132
LOG=N

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

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

9 years ago[deoptimizer] Use TranslationIterator for OptimizedFrame again.
bmeurer [Tue, 16 Jun 2015 06:04:42 +0000 (23:04 -0700)]
[deoptimizer] Use TranslationIterator for OptimizedFrame again.

Using TranslatedState and friends is too expensive compared to the low
level TranslationIterator, because some code (i.e. in Speedometer)
depends on the OptimizedFrame summary/function listing to be very fast.

BUG=chromium:499338
LOG=n
R=jarin@chromium.org

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

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

9 years ago[turbofan] Remove dead code from JSGenericLowering.
mstarzinger [Tue, 16 Jun 2015 04:01:56 +0000 (21:01 -0700)]
[turbofan] Remove dead code from JSGenericLowering.

R=bmeurer@chromium.org

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

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

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

Rolling v8/build/gyp to 79de4031069f37870f04e8b6bbf42f0c7fec37aa

Rolling v8/tools/clang to 66ba82eea5b4e2309c220cc3e0f2d67ebc3fff4c

TBR=machenbach@chromium.org

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

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

9 years agoMIPS: Fix for Remove unsafe EmitLoadRegister usage in AddI/SubI for constant right...
paul.lind [Tue, 16 Jun 2015 02:29:29 +0000 (19:29 -0700)]
MIPS: Fix for Remove unsafe EmitLoadRegister usage in AddI/SubI for constant right operand.

Fix a missed addiu->Addu, and a bad default use of 'at' register in https://codereview.chromium.org/1185143002/

TEST=test/mjsunit/regress/regress-500176
BUG=chromium:500176
LOG=N

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

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

9 years agoInline code generation for %_IsTypedArray
littledan [Mon, 15 Jun 2015 22:16:33 +0000 (15:16 -0700)]
Inline code generation for %_IsTypedArray

This patch implements %_IsTypedArray in fullcodegen, Hydrogen and
Turbofan in order to implement fast type checks to enable ES6
TypedArray features and semantics efficiently.

R=adamk,titzer
LOG=Y
BUG=v8:4085

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

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

9 years agoAvoid using computed property literals in TypedArrays code
littledan [Mon, 15 Jun 2015 21:11:05 +0000 (14:11 -0700)]
Avoid using computed property literals in TypedArrays code

Computed property literals don't seem to work in nosnap yet,
leading to a syntax error.

R=adamk,arv

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

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

9 years agoAllow TypedArrays to be initialized with iterables
littledan [Mon, 15 Jun 2015 18:54:27 +0000 (11:54 -0700)]
Allow TypedArrays to be initialized with iterables

In ES6, the TypedArray constructor can be called either with an
array-like object or an iterable. The code previously handled
only array-like objects. This patch switches to supporting
iterables while throwing in an optimization to make Arrays
get allocated the old way, without an extra copy.

BUG=v8:4090
LOG=Y
R=adamk

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

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

9 years agoMIPS: Remove unsafe EmitLoadRegister usage in AddI/SubI for constant right operand.
dusan.milosavljevic [Mon, 15 Jun 2015 17:58:30 +0000 (10:58 -0700)]
MIPS: Remove unsafe EmitLoadRegister usage in AddI/SubI for constant right operand.

TEST=test/mjsunit/regress/regress-500176
BUG=chromium:500176
LOG=N

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

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

9 years ago[destructuring] Parse binding patterns in formal parameters.
dslomov [Mon, 15 Jun 2015 17:06:34 +0000 (10:06 -0700)]
[destructuring] Parse binding patterns in formal parameters.

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

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

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

9 years ago[turbofan] Remove the TryLowerDirectJSCall hack from generic lowering.
bmeurer [Mon, 15 Jun 2015 14:06:11 +0000 (07:06 -0700)]
[turbofan] Remove the TryLowerDirectJSCall hack from generic lowering.

The TryLowerDirectJSCall method tried to lower to a direct JavaScript
function call depending on the type of the receiver, but only if the
target is a cosntant JSFunction. Since this depends on types and is not
required for correctness, it shouldn't be part of generic lowering
anyway. So this functionality was moved to typed lowering instead, and
we use proper types for the target instead.

R=mstarzinger@chromium.org

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

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

9 years agoRemove the --collect-maps flag. Maps should be always collected.
ulan [Mon, 15 Jun 2015 12:28:31 +0000 (05:28 -0700)]
Remove the --collect-maps flag. Maps should be always collected.

Reasons:
- It is not used.
- It complicates code in GC.

BUG=chromium:499713
LOG=NO

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

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

9 years ago[strong] Make strong 'this' optional for experimentation
rossberg [Mon, 15 Jun 2015 12:22:33 +0000 (05:22 -0700)]
[strong] Make strong 'this' optional for experimentation

R=arv@chromium.org, conradw@chromium.org
BUG=v8:3956
LOG=N

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

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

9 years ago[turbofan] Remove context canonicalization hack from generic lowering.
bmeurer [Mon, 15 Jun 2015 12:21:28 +0000 (05:21 -0700)]
[turbofan] Remove context canonicalization hack from generic lowering.

This hack doesn't help currently, since it only applies to asm.js where
we do function context specialization and there we already have a
canonicalized context (and the CodeGenerator materializes that from the
frame).

R=mstarzinger@chromium.org

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

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

9 years agoMIPS64: Reland 'Enable shorten-64-to-32 warning.'
balazs.kilvady [Mon, 15 Jun 2015 12:05:08 +0000 (05:05 -0700)]
MIPS64: Reland 'Enable shorten-64-to-32 warning.'

Port cdc43bc5fd02fff2905e2e28a79054d0d1eee3ea

Original review: https://codereview.chromium.org/1133163005/

Original commit message:
Enable clang's shorten-64-to-32 warning flag on ARM64, and fix the warnings
that arise.

BUG=

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

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

9 years agoFix -Wsign-compare errors in TF tests under GCC 4.9.2
wingo [Mon, 15 Jun 2015 12:03:34 +0000 (05:03 -0700)]
Fix -Wsign-compare errors in TF tests under GCC 4.9.2

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

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

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

9 years agoRevert of Fix clobbered register when setting this_function variable. (patchset ...
machenbach [Mon, 15 Jun 2015 11:56:09 +0000 (04:56 -0700)]
Revert of Fix clobbered register when setting this_function variable. (patchset #2 id:20001 of https://codereview.chromium.org/1185703002/)

Reason for revert:
[Sheriff] Makes mjsunit/es6/block-const-assign flaky, e.g.:
http://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/4082

Original issue's description:
> Fix clobbered register when setting this_function variable.
>
> R=arv@chromium.org
> TEST=mjsunit/regress/regress-crbug-498022
> BUG=chromium:498022
> LOG=N
>
> Committed: https://crrev.com/bf2bbc8ba508ccd21edf3c08d2e4192c4764ae91
> Cr-Commit-Position: refs/heads/master@{#29020}

TBR=arv@chromium.org,rossberg@chromium.org,mstarzinger@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:498022

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

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

9 years ago[mjsunit] regress/regress-crbug-491062 takes too long with --always-opt.
bmeurer [Mon, 15 Jun 2015 10:27:17 +0000 (03:27 -0700)]
[mjsunit] regress/regress-crbug-491062 takes too long with --always-opt.

R=ishell@chromium.org

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

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

9 years agoFix clobbered register when setting this_function variable.
mstarzinger [Mon, 15 Jun 2015 10:18:45 +0000 (03:18 -0700)]
Fix clobbered register when setting this_function variable.

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

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

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

9 years agoFix debug printing of inputs in the deoptimizer, pull out printing into separate...
jarin [Mon, 15 Jun 2015 10:14:28 +0000 (03:14 -0700)]
Fix debug printing of inputs in the deoptimizer, pull out printing into separate methods.

Also fixed the duplicated output of context deopt.

BUG=

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

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

9 years ago[mjsunit] Remove unsupported flag --turbo-deoptimization from tests.
bmeurer [Mon, 15 Jun 2015 09:42:57 +0000 (02:42 -0700)]
[mjsunit] Remove unsupported flag --turbo-deoptimization from tests.

R=svenpanne@chromium.org

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

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

9 years ago[mjsunit] Remove obsolete nosse2 tests.
bmeurer [Mon, 15 Jun 2015 09:31:50 +0000 (02:31 -0700)]
[mjsunit] Remove obsolete nosse2 tests.

R=svenpanne@chromium.org

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

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

9 years agoSerializer: clear string hash for code serializer.
yangguo [Mon, 15 Jun 2015 08:41:13 +0000 (01:41 -0700)]
Serializer: clear string hash for code serializer.

R=jochen@chromium.org
BUG=v8:4179
LOG=N

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

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

9 years agoCompute the heap growing factor based on mutator utilization and allocation throughput.
ulan [Mon, 15 Jun 2015 08:32:52 +0000 (01:32 -0700)]
Compute the heap growing factor based on mutator utilization and allocation throughput.

Doc: https://goo.gl/LLGvBs

BUG=

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

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

9 years agoReland "Keep track of array buffers in new space separately"
jochen [Mon, 15 Jun 2015 07:57:32 +0000 (00:57 -0700)]
Reland "Keep track of array buffers in new space separately"

Original review https://codereview.chromium.org/1133773002/

BUG=v8:3996
TBR=hpayer@chromium.org
LOG=n

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

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

9 years agoUpdate V8 DEPS.
machenbach [Mon, 15 Jun 2015 07:53:55 +0000 (00:53 -0700)]
Update V8 DEPS.

Rolling v8/third_party/android_tools to ed3dde6470c39b196c70f0c20374894d169754ec

Resubmission of https://codereview.chromium.org/1183753006/

TBR=ulan@chromium.org

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

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

9 years agoAdd test for code caching API.
yangguo [Mon, 15 Jun 2015 06:36:55 +0000 (23:36 -0700)]
Add test for code caching API.

R=vogelheim@chromium.org

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

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

9 years ago[turbofan] Mark MachineType as uint16_t.
bmeurer [Mon, 15 Jun 2015 06:27:10 +0000 (23:27 -0700)]
[turbofan] Mark MachineType as uint16_t.

This fixes a few funky implicit conversions for the enum (that are
inconsistent across compilers) and also helps to save space, i.e. for
the representations_ vector in the InstructionSequence.

R=svenpanne@chromium.org

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

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

9 years ago[turbofan] Remove unused typedef VirtualRegisterSet.
bmeurer [Mon, 15 Jun 2015 06:07:45 +0000 (23:07 -0700)]
[turbofan] Remove unused typedef VirtualRegisterSet.

TBR=svenpanne@chromium.org

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

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

9 years agoRevert of Reland "Keep track of array buffers in new space separately" (patchset...
jochen [Sun, 14 Jun 2015 18:23:17 +0000 (11:23 -0700)]
Revert of Reland "Keep track of array buffers in new space separately" (patchset #2 id:20001 of https://codereview.chromium.org/1177083003/)

Reason for revert:
Still broken

Original issue's description:
> Reland "Keep track of array buffers in new space separately"
>
> Original review https://codereview.chromium.org/1133773002/
>
> BUG=v8:3996
> TBR=hpayer@chromium.org
> LOG=n
>
> Committed: https://crrev.com/89b9a2cfb317e52186f682c91502b22932d52db3
> Cr-Commit-Position: refs/heads/master@{#28987}

TBR=hpayer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3996

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

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