platform/upstream/v8.git
9 years agoEnable "strict mode"; for debugger scripts
yurys [Wed, 19 Nov 2014 13:29:45 +0000 (05:29 -0800)]
Enable "strict mode"; for debugger scripts

BUG=v8:3708

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

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

9 years agoUpdate default trybots.
machenbach [Wed, 19 Nov 2014 13:00:06 +0000 (05:00 -0800)]
Update default trybots.

Add new gn trybot and remove nosnap dbg for being too slow.
It can be used on demand.

BUG=chromium:353487
LOG=n

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

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

9 years agoMIPS: Skip some tests on big-endian boards.
paul.lind [Wed, 19 Nov 2014 12:52:05 +0000 (04:52 -0800)]
MIPS: Skip some tests on big-endian boards.

Skip one hard fail, and two frequent flakes while we investigate.

BUG=
NOTRY=true

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

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

9 years agoPropertyDetails cleanup: NORMAL property type merged with FIELD.
ishell [Wed, 19 Nov 2014 11:45:17 +0000 (03:45 -0800)]
PropertyDetails cleanup: NORMAL property type merged with FIELD.

First step towards replacing PropertyType with two enums: {DATA,ACCESSOR} x {CONST,WRITABLE}.

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

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

9 years agoDo fewer encoding checks in FlatStringReader used in the JSON stringifier.
yangguo [Wed, 19 Nov 2014 11:16:47 +0000 (03:16 -0800)]
Do fewer encoding checks in FlatStringReader used in the JSON stringifier.

R=ishell@chromium.org

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

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

9 years agoFix Unhandled ReferenceError in debug-debugger.js
Yury Semikhatsky [Wed, 19 Nov 2014 10:25:21 +0000 (13:25 +0300)]
Fix Unhandled ReferenceError in debug-debugger.js

This fixes following exception in Sky on attempt to set a breakpoint
"Unhandled: Uncaught ReferenceError: break_point is not defined"
I think this happens in Sky but not in Chrome because Sky scripts are executed in strict mode.

BUG=None
LOG=N
R=yangguo@chromium.org

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

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

9 years agoX87: Re-land r25392 Use a stub in crankshaft for grow store arrays.
chunyang.dai [Wed, 19 Nov 2014 09:28:10 +0000 (01:28 -0800)]
X87: Re-land r25392 Use a stub in crankshaft for grow store arrays.

port 47f55baeaff0d59366772db95b6c0328a216f611 (r25397)

original commit message:

  Re-land r25392 Use a stub in crankshaft for grow store arrays.

  Code was vulnerable to different evaluation order in Clang.

BUG=

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

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

9 years agofix typo in pipeline.cc
Dan Carney [Wed, 19 Nov 2014 08:55:13 +0000 (09:55 +0100)]
fix typo in pipeline.cc

TBR=bmeurer@chromium.org

BUG=

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

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

9 years ago[turbofan] Smartify typing of NumberToInt32 and NumberToUint32.
Benedikt Meurer [Wed, 19 Nov 2014 07:40:22 +0000 (08:40 +0100)]
[turbofan] Smartify typing of NumberToInt32 and NumberToUint32.

According to ES5 9.5 and 9.6, NaN, -inf, +inf, -0 and 0 all truncate to
zero for both ToInt32 and ToUint32, so we can be a lot smarter in the
typer, loosing less information upon truncation (i.e. x | 0 and x >>> 0).

R=jarin@chromium.org

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

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

9 years agoRevert "Forward declaration for Isolate / Platform in libplatform.h." and "Fixes...
Benedikt Meurer [Wed, 19 Nov 2014 07:27:48 +0000 (08:27 +0100)]
Revert "Forward declaration for Isolate / Platform in libplatform.h." and "Fixes d8 on windows following.".

This reverts commit 0f57ce8f1a3d6b4f3a4b65739d719b8467ff5d9c.
and 3245b8cb832f4a948aff9fb1c271cc08c4690d3b for breaking Chromium
compile.

TBR=machenbach@chromium.org

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

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

9 years agoImplement ES6 String.raw behind --harmony-templates
caitpotter88 [Wed, 19 Nov 2014 04:44:35 +0000 (20:44 -0800)]
Implement ES6 String.raw behind --harmony-templates

BUG=

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

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

9 years agoFixes d8 on windows following.
bulach [Tue, 18 Nov 2014 21:11:19 +0000 (13:11 -0800)]
Fixes d8 on windows following.

Broke by https://codereview.chromium.org/740493002/

BUG=
NOTRY=true
NOTREECHECKS=true

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

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

9 years agoForward declaration for Isolate / Platform in libplatform.h.
bulach [Tue, 18 Nov 2014 20:29:23 +0000 (12:29 -0800)]
Forward declaration for Isolate / Platform in libplatform.h.

Reduces dependencies on #include files, making it easier for other
build systems to include this library.

BUG=

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

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

9 years agoClasses: Expand test to cover strict runtime behavior
arv [Tue, 18 Nov 2014 19:00:08 +0000 (11:00 -0800)]
Classes: Expand test to cover strict runtime behavior

This tests that the extends expression is treated as strict at
runtime and not just at parse time.

BUG=v8:3330
LOG=Y
R=dslomov@chromium.org

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

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

9 years agoharmony-scoping: better error messages for let declarations in sloppy mode.
dslomov [Tue, 18 Nov 2014 18:51:20 +0000 (10:51 -0800)]
harmony-scoping: better error messages for let declarations in sloppy mode.

R=rossberg@chromium.org
BUG=v8:2198
LOG=N

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

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

9 years agoCopy unittests binary in android-sync.sh
cullinan [Tue, 18 Nov 2014 18:36:47 +0000 (10:36 -0800)]
Copy unittests binary in android-sync.sh

Without this change, `make android_arm.release.check` fails since the
unittests binary does not exist on the device.

BUG=v8:3695
LOG=

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

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

9 years agoMIPS: Re-land r25392 Use a stub in crankshaft for grow store arrays.
Balazs Kilvady [Tue, 18 Nov 2014 18:22:11 +0000 (10:22 -0800)]
MIPS: Re-land r25392 Use a stub in crankshaft for grow store arrays.

Port 47f55baeaff0d59366772db95b6c0328a216f611

Original commit message:
Code was vulnerable to different evaluation order in Clang.

BUG=
R=paul.lind@imgtec.com

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

Patch from Balazs Kilvady <balazs.kilvady@imgtec.com>.

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

9 years agoUse ZoneVector instead of ZoneList in the graph builder.
mstarzinger [Tue, 18 Nov 2014 17:48:44 +0000 (09:48 -0800)]
Use ZoneVector instead of ZoneList in the graph builder.

R=titzer@chromium.org

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

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

9 years agov8::String::Concat must not throw.
yangguo [Tue, 18 Nov 2014 15:51:05 +0000 (07:51 -0800)]
v8::String::Concat must not throw.

R=dcarney@chromium.org
BUG=chromium:420240
LOG=Y
API=v8::String::Concat may return empty handle on overflow.

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

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

9 years agoRemove ambiguous getter for operator value counts.
mstarzinger [Tue, 18 Nov 2014 15:45:22 +0000 (07:45 -0800)]
Remove ambiguous getter for operator value counts.

R=titzer@chromium.org

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

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

9 years agoFix disabling all break points from within the debug event callback.
yangguo [Tue, 18 Nov 2014 14:57:39 +0000 (06:57 -0800)]
Fix disabling all break points from within the debug event callback.

BUG=chromium:432493
LOG=Y

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

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

9 years agoFix loop information computation for floating loops.
mstarzinger [Tue, 18 Nov 2014 14:55:43 +0000 (06:55 -0800)]
Fix loop information computation for floating loops.

R=jarin@chromium.org
TEST=cctest/test-scheduler/LoopedFloatingDiamond3

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

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

9 years agoPrototype for a client-side performance trybot script.
Michael Achenbach [Tue, 18 Nov 2014 14:39:34 +0000 (15:39 +0100)]
Prototype for a client-side performance trybot script.

BUG=chromium:374740
LOG=n
TEST=tools/try_perf.py sunspider octane
R=phajdan.jr@chromium.org

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

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

9 years agoRe-land r25392 Use a stub in crankshaft for grow store arrays.
Michael Stanton [Tue, 18 Nov 2014 14:30:45 +0000 (15:30 +0100)]
Re-land r25392 Use a stub in crankshaft for grow store arrays.

Code was vulnerable to different evaluation order in Clang.

R=danno@chromium.org

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

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

9 years agoUse 16 instead of 4 for determining member offsets.
rickyz [Tue, 18 Nov 2014 14:09:23 +0000 (06:09 -0800)]
Use 16 instead of 4 for determining member offsets.

This avoids UBSan warnings about unaligned memory access.

BUG=

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

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

9 years agoFix include mistakes
alexanderk [Tue, 18 Nov 2014 13:46:57 +0000 (05:46 -0800)]
Fix include mistakes

1) Missing <stdio.h> while using fopen, fclose, fseek etc
2) platform-linux.cc includes <sys/types.h> wtice

BUG=v8:3691

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

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

9 years agoFix IC handler cache clearing for JSBuiltinsObject
Jakob Kummerow [Tue, 18 Nov 2014 13:35:40 +0000 (14:35 +0100)]
Fix IC handler cache clearing for JSBuiltinsObject

The clearing mechanism relies on comparing the cached handler with the installed handler. If we try to preserve monomorphism by pretending that the IC was in uninitialized state, then it will go premonomorphic first, which means on the next miss there's no installed handler available to compare against. Instead, pretend it was premonomorphic, so the comparison will happen right away, will fail as it should, and the cached handler will be cleared.

Thanks to Weiliang for starting the investigation that led to this.

R=verwaest@chromium.org

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

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

9 years agoRevert "Use a stub in crankshaft for grow store arrays."
Michael Stanton [Tue, 18 Nov 2014 13:07:57 +0000 (14:07 +0100)]
Revert "Use a stub in crankshaft for grow store arrays."

This reverts commit d40204f84c0f6fad171ba8ace587f902bd5b14bc.

TBR=danno@chromium.org

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

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

9 years agoUse a stub in crankshaft for grow store arrays.
Michael Stanton [Tue, 18 Nov 2014 12:32:05 +0000 (13:32 +0100)]
Use a stub in crankshaft for grow store arrays.

We were deopting without learning anything.

BUG=v8:3417
LOG=N
R=danno@chromium.org

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

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

9 years agoUse FlatStringReader in JSON stringifier.
yangguo [Tue, 18 Nov 2014 12:03:25 +0000 (04:03 -0800)]
Use FlatStringReader in JSON stringifier.

R=ishell@chromium.org

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

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

9 years ago[turbofan] Push JSToNumber conversions into Phis.
Benedikt Meurer [Tue, 18 Nov 2014 11:34:09 +0000 (12:34 +0100)]
[turbofan] Push JSToNumber conversions into Phis.

This essentially performs the following transformation

  JSToNumber(phi(x1,...,xn,control):primitive)
    => phi(JSToNumber(x1),...,JSToNumber(xn),control):number

which is similar to what we already do for JSToBoolean.

TEST=mjsunit/asm
R=svenpanne@chromium.org
BUG=

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

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

9 years agoAllow stepping into Promise handlers.
aandrey [Tue, 18 Nov 2014 09:50:12 +0000 (01:50 -0800)]
Allow stepping into Promise handlers.

BUG=chromium:432468
R=yangguo@chromium.org, adamk@chromium.org, arv@chromium.org
LOG=N

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

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

9 years ago[turbofan] Avoid useless sign extension after sign extended load.
Benedikt Meurer [Tue, 18 Nov 2014 09:27:47 +0000 (10:27 +0100)]
[turbofan] Avoid useless sign extension after sign extended load.

TEST=unittests
R=svenpanne@chromium.org

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

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

9 years agoHydrogen should recognize literal smi arrays as fast literals.
Michael Stanton [Tue, 18 Nov 2014 09:27:34 +0000 (10:27 +0100)]
Hydrogen should recognize literal smi arrays as fast literals.

R=hpayer@chromium.org

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

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

9 years ago[x64] Recognize MOVSXBL.
Benedikt Meurer [Tue, 18 Nov 2014 09:11:29 +0000 (10:11 +0100)]
[x64] Recognize MOVSXBL.

TEST=mjsunit/asm
R=svenpanne@chromium.org

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

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

9 years ago[x64] Recognize MOVSXWL.
Benedikt Meurer [Tue, 18 Nov 2014 07:51:41 +0000 (08:51 +0100)]
[x64] Recognize MOVSXWL.

Also add some debug code to verify correct zero extension of 32-bit
moves.

TEST=mjsunit/asm
R=svenpanne@chromium.org

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

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

9 years agoAdd a cctest for using a C++ FunctionCallback as an Object.observe observer
Adam Klein [Mon, 17 Nov 2014 20:29:00 +0000 (12:29 -0800)]
Add a cctest for using a C++ FunctionCallback as an Object.observe observer

R=rossberg@chromium.org
BUG=v8:3076
LOG=n

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

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

9 years agoharmony-scoping: Implement debugger support for script scope.
dslomov [Mon, 17 Nov 2014 17:57:56 +0000 (09:57 -0800)]
harmony-scoping: Implement debugger support for script scope.

We add a new ScopeType, ScopeType.Script. The scope with
ScopeType.Script is always present in the scope chain (ScopeIterator
fakes it if neededi - i.e. if ScriptContext for a script has not been
allocated since that script has no lexical declarations).
ScriptScope reflects ScriptContextTable.

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

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

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

9 years ago[turbofan] add ForTesting to pipeline entry points that are for testing only.
Dan Carney [Mon, 17 Nov 2014 14:46:41 +0000 (15:46 +0100)]
[turbofan] add ForTesting to pipeline entry points that are for testing only.

R=bmeurer@chromium.org

BUG=

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

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

9 years ago[turbofan] More useful typing for And, Or and Shr.
jarin [Mon, 17 Nov 2014 13:55:27 +0000 (05:55 -0800)]
[turbofan] More useful typing for And, Or and Shr.

BUG=

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

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

9 years agoExpose internal properties of map/set iterators via mirrors.
Andrey Adaikin [Mon, 17 Nov 2014 12:48:11 +0000 (15:48 +0300)]
Expose internal properties of map/set iterators via mirrors.

R=yangguo@chromium.org, vsevik
LOG=Y

Committed: https://code.google.com/p/v8/source/detail?r=d5f5d38f73f43eba9658d91ffbe511af8c340d78

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

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

9 years ago[turbofan] move register allocation phases to pipeline
Dan Carney [Mon, 17 Nov 2014 12:36:58 +0000 (13:36 +0100)]
[turbofan] move register allocation phases to pipeline

BUG=
R=bmeurer@chromium.org

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

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

9 years agoReland "Soft fail for invalid cache data."
yangguo [Mon, 17 Nov 2014 12:16:27 +0000 (04:16 -0800)]
Reland "Soft fail for invalid cache data."

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

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

9 years ago[turbofan] Smartify the GraphReducer.
Benedikt Meurer [Mon, 17 Nov 2014 12:12:24 +0000 (13:12 +0100)]
[turbofan] Smartify the GraphReducer.

Don't use the generic algorithm, but instead start going into the
direction of ControlReducer, using a stack plus a revisit queue to
not miss any more possibilities for reductions anymore.

TEST=cctest,unittests
R=dcarney@chromium.org

Committed: https://chromium.googlesource.com/v8/v8/+/f047507370634155113d78685372630a230613cf

Committed: https://chromium.googlesource.com/v8/v8/+/6e148989a4227a5290a7f8ca72c71f5740870afe

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

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

9 years ago[turbofan] Fix pushing of JSToBooleans into Phis.
Benedikt Meurer [Mon, 17 Nov 2014 12:10:28 +0000 (13:10 +0100)]
[turbofan] Fix pushing of JSToBooleans into Phis.

Now we actually implement it the way it is meant to be, that is:

  JSToBoolean(Phi(x1,...,xn):primitive)
    => Phi(JSToBoolean(x1),...,JSToBoolean(xn)):boolean

This also fixes the endless recursion within JSTypedLowering when
the GraphReducer does all possible reductions instead of using the
generic algorithm.

R=dcarney@chromium.org

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

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

9 years ago[turbofan] Factor out common code between ReduceSelect and ReduceBranch in ControlRed...
Ben L. Titzer [Mon, 17 Nov 2014 11:34:53 +0000 (12:34 +0100)]
[turbofan] Factor out common code between ReduceSelect and ReduceBranch in ControlReducer.

R=bmeurer@chromium.org
BUG=

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

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

9 years agoFix Windows build after 25373
Daniel Clifford [Mon, 17 Nov 2014 11:26:27 +0000 (12:26 +0100)]
Fix Windows build after 25373

R=bmeurer@chromium.org
TBR=bmeurer@chromium.org

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

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

9 years agoGeneralize ScaledWithOffsetMatcher to support 64 bits
Daniel Clifford [Mon, 17 Nov 2014 10:50:56 +0000 (11:50 +0100)]
Generalize ScaledWithOffsetMatcher to support 64 bits

Preparation for supporting more addressing modes in instruction selection.

R=bmeurer@chromium.org

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

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

9 years agoRemove left-over generated runtime test from mjsunit.
Michael Starzinger [Mon, 17 Nov 2014 10:50:44 +0000 (11:50 +0100)]
Remove left-over generated runtime test from mjsunit.

R=jkummerow@chromium.org

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

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

9 years agoFix one more missing c0_ < 0 check in scanner
Jakob Kummerow [Mon, 17 Nov 2014 09:43:17 +0000 (10:43 +0100)]
Fix one more missing c0_ < 0 check in scanner

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

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

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

9 years agoFix concurrent sweeping in predictable mode and bring --concurrent-sweeping flag...
Hannes Payer [Mon, 17 Nov 2014 09:39:42 +0000 (10:39 +0100)]
Fix concurrent sweeping in predictable mode and bring --concurrent-sweeping flag back.

BUG=
R=jochen@chromium.org

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

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

9 years agoAdded --trace_idle_notification_verbose which prints out the idle notificatino heap...
Hannes Payer [Mon, 17 Nov 2014 09:16:14 +0000 (10:16 +0100)]
Added --trace_idle_notification_verbose which prints out the idle notificatino heap state.

BUG=
R=jochen@chromium.org

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

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

9 years ago[turbofan] Remove int32 narrowing during typed lowering.
Jaroslav Sevcik [Mon, 17 Nov 2014 09:04:30 +0000 (10:04 +0100)]
[turbofan] Remove int32 narrowing during typed lowering.

With Int32Add we lose the int/uint distinction, so later, in simplified lowering we can make a wrong decision. E.g., see the attached test case, where we lower NumberAdd -> Int32Add because inputs are Uint32, but during simplified lowering we change the inputs to Int32, so we get a wrong result.

Simplified lowering will lower the NumberAdd operations anyway, so we should lose performance.

BUG=
R=bmeurer@chromium.org

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

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

9 years agoReland "Optimize function across closures." (again).
yangguo [Mon, 17 Nov 2014 08:42:45 +0000 (00:42 -0800)]
Reland "Optimize function across closures." (again).

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

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

9 years agoClasses: Add support for stepping through default constructors
arv [Sat, 15 Nov 2014 19:48:32 +0000 (11:48 -0800)]
Classes: Add support for stepping through default constructors

If a class extends another class and it doesn't provide a constructor,
one is created for them. We therefore need to ensure that stepping into
the constructor steps into the super class constructor.

BUG=v8:3674
LOG=Y
R=dslomov@chromium.org, aandrey , yurys

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

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

9 years agoLet git ignore the third_party dir to avoid unnecessary clean-ups.
machenbach [Sat, 15 Nov 2014 19:33:04 +0000 (11:33 -0800)]
Let git ignore the third_party dir to avoid unnecessary clean-ups.

BUG=chromium:433273
LOG=n
NOTRY=true

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

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

9 years agoThrow as per spec when modifying an Array with builtin methods
adamk [Fri, 14 Nov 2014 19:42:03 +0000 (11:42 -0800)]
Throw as per spec when modifying an Array with builtin methods

BUG=v8:3684
LOG=n

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

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

9 years agoFix desugaring of let bindings in for loops to handle continue properly
adamk [Fri, 14 Nov 2014 19:32:53 +0000 (11:32 -0800)]
Fix desugaring of let bindings in for loops to handle continue properly

This requires putting the original loop's body inside an inner for loop (with
the same labels as the original loop) and re-binding the temp variables in its
"next" expression. A second flag is added to the desugared code to ensure the
loop body executes at most once per loop.

BUG=v8:3683
LOG=y

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

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

9 years agoImplement ES6 Template Literals
caitpotter88 [Fri, 14 Nov 2014 18:53:41 +0000 (10:53 -0800)]
Implement ES6 Template Literals

BUG=v8:3230

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

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

9 years ago[turbofan] refactor pipeline to use hydrogen like Run calls
dcarney [Fri, 14 Nov 2014 16:44:38 +0000 (08:44 -0800)]
[turbofan] refactor pipeline to use hydrogen like Run calls

BUG=

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

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

9 years agoClasses: Implement correct name binding
arv [Fri, 14 Nov 2014 15:05:05 +0000 (07:05 -0800)]
Classes: Implement correct name binding

Named class declarations and class expression have a const binding for
the name that is in TDZ for the extends expression.

BUG=v8:3330
LOG=Y
R=dslomov@chromium.org, adamk

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

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

9 years agoExtend typed lowering to cover JSStrictEqual on differing types.
Michael Starzinger [Fri, 14 Nov 2014 14:25:08 +0000 (15:25 +0100)]
Extend typed lowering to cover JSStrictEqual on differing types.

R=rossberg@chromium.org, titzer@chromium.org
TEST=unittests/JSTypedLoweringTest.JSStrictEqualWithTheHole

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

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

9 years agoImplement 'setVariableValue' for debugger block scopes.
Dmitry Lomov [Fri, 14 Nov 2014 13:39:06 +0000 (14:39 +0100)]
Implement 'setVariableValue' for debugger block scopes.

R=aandrey@chromium.org, rossberg@chromium.org, yurys@chromium.org
BUG=v8:3690
LOG=N

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

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

9 years agoRemove AstConstructionVisitor/AstNullVisitor
Andy Wingo [Fri, 14 Nov 2014 13:13:09 +0000 (14:13 +0100)]
Remove AstConstructionVisitor/AstNullVisitor

R=svenpanne@chromium.org
BUG=

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

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

9 years agoRevert "[turbofan] Smartify the GraphReducer."
Benedikt Meurer [Fri, 14 Nov 2014 11:48:37 +0000 (12:48 +0100)]
Revert "[turbofan] Smartify the GraphReducer."

This reverts commit 6e148989a4227a5290a7f8ca72c71f5740870afe for
breaking Massive/Embenchen.

TBR=machenbach@chromium.org

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

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

9 years agoDo not do field type tracking with GC stress.
Ben L. Titzer [Fri, 14 Nov 2014 11:36:26 +0000 (12:36 +0100)]
Do not do field type tracking with GC stress.

R=verwaest@chromium.org
BUG=

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

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

9 years agoMake TurboFan inlining work without deoptimization.
Michael Starzinger [Fri, 14 Nov 2014 10:34:44 +0000 (11:34 +0100)]
Make TurboFan inlining work without deoptimization.

R=titzer@chromium.org

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

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

9 years agoRemove arguments arity check in mjsunit because it vastly slows down the tests.
Ben L. Titzer [Fri, 14 Nov 2014 10:30:12 +0000 (11:30 +0100)]
Remove arguments arity check in mjsunit because it vastly slows down the tests.

R=mstarzinger@chromium.org
BUG=

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

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

9 years agoRevert of Whitespace change to test CQ. (patchset #1 id:1 of https://codereview.chrom...
machenbach [Fri, 14 Nov 2014 09:36:07 +0000 (01:36 -0800)]
Revert of Whitespace change to test CQ. (patchset #1 id:1 of https://codereview.chromium.org/725873002/)

Reason for revert:
Test revert.

Original issue's description:
> Whitespace change to test CQ.
>
> TBR=machenbach@chromium.org
>
> Committed: https://chromium.googlesource.com/v8/v8/+/42340bdfbd8b4f002257e55464f2e0b81c6ea424

TBR=
NOTREECHECKS=true
NOTRY=true

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

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

9 years agoWhitespace change to test CQ.
machenbach [Fri, 14 Nov 2014 09:32:03 +0000 (01:32 -0800)]
Whitespace change to test CQ.

TBR=machenbach@chromium.org

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

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

9 years ago[turbofan] small cleanups to aid register allocator debugging
Dan Carney [Fri, 14 Nov 2014 08:56:56 +0000 (09:56 +0100)]
[turbofan] small cleanups to aid register allocator debugging

BUG=
R=bmeurer@chromium.org

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

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

9 years agoFix releases script after git migration.
Michael Achenbach [Fri, 14 Nov 2014 08:38:57 +0000 (09:38 +0100)]
Fix releases script after git migration.

BUG=chromium:410721
LOG=n
TBR=tandrii@chromium.org
TEST=script_test.py

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

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

9 years agoMove feedback slot allocation to post-pass
Andy Wingo [Fri, 14 Nov 2014 08:21:13 +0000 (09:21 +0100)]
Move feedback slot allocation to post-pass

R=mvstanton@chromium.org, svenpanne@chromium.org

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

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

9 years ago[turbofan] Optimize remainder of integer division by unknown power of two.
Benedikt Meurer [Fri, 14 Nov 2014 08:21:04 +0000 (09:21 +0100)]
[turbofan] Optimize remainder of integer division by unknown power of two.

Drive-by-Fix: minint % 0 was broken on ARM, but we didn't notice because
there was no test covering that case...

TEST=msjunit
R=svenpanne@chromium.org

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

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

9 years agoAllow idle notification when incremental marking is turned off.
Hannes Payer [Fri, 14 Nov 2014 08:13:03 +0000 (09:13 +0100)]
Allow idle notification when incremental marking is turned off.

BUG=
R=jochen@chromium.org

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

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

9 years ago[turbofan] Smartify the GraphReducer.
Benedikt Meurer [Fri, 14 Nov 2014 08:00:24 +0000 (09:00 +0100)]
[turbofan] Smartify the GraphReducer.

Don't use the generic algorithm, but instead start going into the
direction of ControlReducer, using a stack plus a revisit queue to
not miss any more possibilities for reductions anymore.

TEST=cctest,unittests
R=dcarney@chromium.org

Committed: https://chromium.googlesource.com/v8/v8/+/f047507370634155113d78685372630a230613cf

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

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

9 years ago[arm] Fix UBFX detection.
Benedikt Meurer [Fri, 14 Nov 2014 07:43:40 +0000 (08:43 +0100)]
[arm] Fix UBFX detection.

R=svenpanne@chromium.org

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

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

9 years agoWhitespace change to trigger bots (3)
Michael Achenbach [Thu, 13 Nov 2014 22:39:44 +0000 (23:39 +0100)]
Whitespace change to trigger bots (3)

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

9 years agoWhitespace change to trigger bots (2)
Michael Achenbach [Thu, 13 Nov 2014 22:19:58 +0000 (23:19 +0100)]
Whitespace change to trigger bots (2)

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

9 years agoWhitespace change to trigger bots (1)
Michael Achenbach [Thu, 13 Nov 2014 22:19:02 +0000 (23:19 +0100)]
Whitespace change to trigger bots (1)

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

9 years agoFix size_t to int conversion.
André Baixo [Thu, 13 Nov 2014 17:28:22 +0000 (17:28 +0000)]
Fix size_t to int conversion.

BUG=421063
LOG=N
R=vogelheim@chromium.org

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

Patch from André Baixo <baixo@google.com>.

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

9 years agoAdd a version tag for cached data.
Daniel Vogelheim [Thu, 13 Nov 2014 17:17:30 +0000 (18:17 +0100)]
Add a version tag for cached data.

BUG=399580,431699
LOG=N
R=dcarney@chromium.org, marja@chromium.org

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

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

9 years agoRevert "TransitionArray::Search() now returns insertion index if the entry was not...
ishell@chromium.org [Thu, 13 Nov 2014 16:59:30 +0000 (17:59 +0100)]
Revert "TransitionArray::Search() now returns insertion index if the entry was not found."

This reverts the commit because it possibly causes renderer hangs.

BUG=chromium:431807
LOG=N
R=verwaest@chromium.org

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

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

9 years agoClasses: Cleanup default constructor flag
Erik Arvidsson [Thu, 13 Nov 2014 16:50:03 +0000 (11:50 -0500)]
Classes: Cleanup default constructor flag

Now that we keep track of whether a function contains super we do not
need kDefaultConstructorCallSuper

BUG=None
LOG=Y
R=dslomov@chromium.org

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

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

9 years agoRevert "Soft fail for invalid cache data."
Daniel Vogelheim [Thu, 13 Nov 2014 16:46:52 +0000 (17:46 +0100)]
Revert "Soft fail for invalid cache data."

This reverts commit eafce666f49f13011849b6c0c40b271676ec91cf.

Original commit failed some tests w/ memory leaks.

TBR=yangguo@chromium.org
BUG=

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

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

9 years agoSoft fail for invalid cache data.
Yang Guo [Thu, 13 Nov 2014 15:42:40 +0000 (16:42 +0100)]
Soft fail for invalid cache data.

API=ScriptCompiler::CachedData::rejected
LOG=Y
R=vogelheim@google.com, vogelheim@chromium.org

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

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

9 years agoFix dumping of counters in d8.
Michael Starzinger [Thu, 13 Nov 2014 15:39:10 +0000 (16:39 +0100)]
Fix dumping of counters in d8.

R=hpayer@chromium.org

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

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

9 years agoPropertyAccessCompiler should always emit reloc info for external references.
Yang Guo [Thu, 13 Nov 2014 15:37:25 +0000 (16:37 +0100)]
PropertyAccessCompiler should always emit reloc info for external references.

R=mvstanton@chromium.org

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

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

9 years agoRevert "TransitionArray now uses <is_data_property, name, attributes> tuple as a...
ishell@chromium.org [Thu, 13 Nov 2014 15:30:53 +0000 (16:30 +0100)]
Revert "TransitionArray now uses <is_data_property, name, attributes> tuple as a key, which allows to have several entries for the same property name."
Revert "Fix for an assertion failure in Map::FindTransitionToField(...). Appeared after r25136."

This revert is made in order to revert r25099 which potentially causes renderer hangs.

R=verwaest@chromium.org

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

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

9 years agoRevert of Whitespace change to test the CQ. (patchset #1 id:1 of https://codereview...
machenbach [Thu, 13 Nov 2014 14:58:11 +0000 (06:58 -0800)]
Revert of Whitespace change to test the CQ. (patchset #1 id:1 of https://codereview.chromium.org/721113003/)

Reason for revert:
Test CQ

Original issue's description:
> Whitespace change to test the CQ.
>
> TBR=machenbach@chromium.org
> NOTRY=true
>
> Committed: https://chromium.googlesource.com/v8/v8/+/b0ab17592c8729535ebfa1f52131ee7f2b96b1e3

TBR=tandrii@chromium.org
NOTREECHECKS=true
NOTRY=true

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

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

9 years agoReland r24737 "Read object pointer atomically while updating slots"
ulan [Thu, 13 Nov 2014 14:54:38 +0000 (06:54 -0800)]
Reland r24737 "Read object pointer atomically while updating slots"

Crashes were fixed by r24914.

BUG=chromium:427746
LOG=N

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

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

9 years agoWhitespace change to test the CQ.
machenbach [Thu, 13 Nov 2014 14:19:23 +0000 (06:19 -0800)]
Whitespace change to test the CQ.

TBR=machenbach@chromium.org
NOTRY=true

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

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

9 years agoInstall the constructor property on custom prototype before optimizing it as a prototype
Toon Verwaest [Thu, 13 Nov 2014 14:12:03 +0000 (15:12 +0100)]
Install the constructor property on custom prototype before optimizing it as a prototype

BUG=
R=ishell@chromium.org

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

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

9 years agoRevert "[turbofan] Smartify the GraphReducer."
Michael Starzinger [Thu, 13 Nov 2014 14:06:49 +0000 (15:06 +0100)]
Revert "[turbofan] Smartify the GraphReducer."

This reverts commit f04750737063 due to mjsunit/numops-fuzz-part2 hitting an
assertion in the ARM assembler.

TBR=bmeurer@chromium.org
TEST=mjsunit/numops-fuzz-part2

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

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

9 years ago[turbofan] Smartify the GraphReducer.
Benedikt Meurer [Thu, 13 Nov 2014 11:34:06 +0000 (12:34 +0100)]
[turbofan] Smartify the GraphReducer.

Don't use the generic algorithm, but instead start going into the
direction of ControlReducer, using a stack plus a revisit queue to
not miss any more possibilities for reductions anymore.

TEST=cctest,unittests
R=dcarney@chromium.org

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

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

9 years agoImplement .of() on typed arrays
Adrian Perez [Thu, 13 Nov 2014 11:20:01 +0000 (12:20 +0100)]
Implement .of() on typed arrays

BUG=v8:3578
LOG=Y
R=dslomov@chromium.org, wingo@igalia.com

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

Patch from Adrian Perez <aperez@igalia.com>.

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

9 years agoAvoid fast short-cut in Map::GeneralizeRepresentation() for literals with non-simple...
ishell@chromium.org [Thu, 13 Nov 2014 10:56:13 +0000 (11:56 +0100)]
Avoid fast short-cut in Map::GeneralizeRepresentation() for literals with non-simple transitions.
It started showing after r25253.

BUG=v8:3687
LOG=N
R=verwaest@chromium.org

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

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

9 years agoEnable breakpoint tests that now pass in TurboFan.
Michael Starzinger [Thu, 13 Nov 2014 10:54:41 +0000 (11:54 +0100)]
Enable breakpoint tests that now pass in TurboFan.

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

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

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

9 years agoPerform receiver patching for sloppy mode in high-level IR.
Michael Starzinger [Thu, 13 Nov 2014 10:48:22 +0000 (11:48 +0100)]
Perform receiver patching for sloppy mode in high-level IR.

R=verwaest@chromium.org
TEST=cctest/test-run-jscalls/ReceiverPatching

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

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

9 years agoMove BailoutReason and flags computation to post-pass
Andy Wingo [Thu, 13 Nov 2014 09:55:48 +0000 (10:55 +0100)]
Move BailoutReason and flags computation to post-pass

R=svenpanne@chromium.org

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

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