Dan Carney [Thu, 20 Nov 2014 16:11:22 +0000 (17:11 +0100)]
[turbofan] use double temp registers for stack-stack swap on arm64
TBR=vogelheim@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
744743002
Cr-Commit-Position: refs/heads/master@{#25443}
Ulan Degenbaev [Thu, 20 Nov 2014 15:42:32 +0000 (16:42 +0100)]
Fix Regress3540 after r25441.
BUG=
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
746443002
Cr-Commit-Position: refs/heads/master@{#25442}
ulan [Thu, 20 Nov 2014 14:52:23 +0000 (06:52 -0800)]
Reserve code range block for evacuation.
If we run out of code range, then GC wouldn't be able to compact code space,
because it wouldn't be able to allocate a new page. This can cause code space
fragmentation and OOM crashes.
BUG=chromium:430118
LOG=Y
Review URL: https://codereview.chromium.org/
742733002
Cr-Commit-Position: refs/heads/master@{#25441}
dcarney [Thu, 20 Nov 2014 14:40:56 +0000 (06:40 -0800)]
[turbofan] More aggressive reuse of spill slots in the register allocator.
BUG=
Review URL: https://codereview.chromium.org/
725083004
Cr-Commit-Position: refs/heads/master@{#25440}
Daniel Clifford [Thu, 20 Nov 2014 13:48:34 +0000 (14:48 +0100)]
[turbofan]: More optimizations to add and subtract operations on x64
- Use "leal" for subtraction of integer constant when non-constant input to
subtract is used more than once.
- Use "incl", "decl", and "addl" when they are smaller/cheaper than their
leal/addl/subl equivalant.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
738073002
Cr-Commit-Position: refs/heads/master@{#25439}
Rodolph Perfetta [Thu, 20 Nov 2014 13:09:04 +0000 (13:09 +0000)]
[turbofan] remove redundant '& 0x1F' for shifts.
JavaScript shifts perform an implicit '& 0x1F' on their right operand, this
patch removes it when the underlying architecture already does it.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
732103002
Cr-Commit-Position: refs/heads/master@{#25438}
mstarzinger [Thu, 20 Nov 2014 11:51:04 +0000 (03:51 -0800)]
Enable TurboFan for Win64 targets.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
743963002
Cr-Commit-Position: refs/heads/master@{#25437}
Andreas Rossberg [Thu, 20 Nov 2014 11:22:43 +0000 (12:22 +0100)]
Fix lower bound violation
R=jarin@chromium.org
BUG=433332
LOG=N
Review URL: https://codereview.chromium.org/
739563002
Cr-Commit-Position: refs/heads/master@{#25436}
Andreas Rossberg [Thu, 20 Nov 2014 10:51:49 +0000 (11:51 +0100)]
Disable classes in sloppy mode unless --harmony-sloppy is set
Also clean up flag names a little.
Baseline: https://codereview.chromium.org/
713413003/
R=arv@chromium.org, dslomov@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
722203006
Cr-Commit-Position: refs/heads/master@{#25435}
balazs.kilvady [Thu, 20 Nov 2014 09:46:55 +0000 (01:46 -0800)]
Conditional flags for tests - set JS stack size for simulators.
There are separated JS and C stacks on simulators so for some stack
extensive tests (like mozilla/js1_5/extensions/regress-355497) might
cause a C stack overflow and that overflow is not caught by V8. It is
not an issue on real HW. Increasing the C stack also solves the problem
but we have already FLAG_sim_stack_size flag to control the JS stack
size.
This patch makes it possible to add flags to tests conditionally in
.status files.
TEST=mozilla/js1_5/extensions/regress-355497
BUG=v8:3152
LOG=N
Review URL: https://codereview.chromium.org/
735723006
Cr-Commit-Position: refs/heads/master@{#25434}
yangguo [Thu, 20 Nov 2014 09:37:18 +0000 (01:37 -0800)]
Implement log10 via fdlibm port.
R=rtoy@chromium.org
BUG=v8:3579
LOG=N
Review URL: https://codereview.chromium.org/
739913003
Cr-Commit-Position: refs/heads/master@{#25433}
machenbach [Thu, 20 Nov 2014 09:03:44 +0000 (01:03 -0800)]
Revert of Rename String.prototype.contains to 'includes'. (patchset #1 id:1 of https://codereview.chromium.org/
742963002/)
Reason for revert:
Breaks test262-es6:
http://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/1289
Original issue's description:
> Rename String.prototype.contains to 'includes'.
>
> Per TC39 Nov 2014 decison.
>
> R=arv@chromium.org,yangguo@chromium.org
> LOG=Y
>
> Committed: https://chromium.googlesource.com/v8/v8/+/
b5379216e23ff0ec734e70361dd07057c2421c96
TBR=arv@chromium.org,yangguo@chromium.org,dslomov@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
745543002
Cr-Commit-Position: refs/heads/master@{#25432}
jochen [Thu, 20 Nov 2014 08:54:27 +0000 (00:54 -0800)]
Remove --clever-optimizations
We should always be clever
BUG=none
R=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
723023003
Cr-Commit-Position: refs/heads/master@{#25431}
dslomov [Thu, 20 Nov 2014 00:31:59 +0000 (16:31 -0800)]
Rename String.prototype.contains to 'includes'.
Per TC39 Nov 2014 decison.
R=arv@chromium.org,yangguo@chromium.org
LOG=Y
Review URL: https://codereview.chromium.org/
742963002
Cr-Commit-Position: refs/heads/master@{#25430}
dslomov [Wed, 19 Nov 2014 21:52:49 +0000 (13:52 -0800)]
Remove Weak{Map,Set}.prototype.clear.
Per Nov 2014 TC39 decision.
R=adamk@chromium.org
LOG=Y
Review URL: https://codereview.chromium.org/
739303002
Cr-Commit-Position: refs/heads/master@{#25429}
arv [Wed, 19 Nov 2014 20:31:01 +0000 (12:31 -0800)]
Reduce ErrorsFutureStrictReservedWords test to make it faster
Since checking all possible combinations is taking so long this
reduces the test to test the odd cases (let, yield and static) as
well as a single ordinary case.
BUG=v8:3707
LOG=n
Review URL: https://codereview.chromium.org/
724713004
Cr-Commit-Position: refs/heads/master@{#25428}
ishell [Wed, 19 Nov 2014 18:10:12 +0000 (10:10 -0800)]
Removed unnecessary generalization of all fields in Map::GeneralizeRepresentation() (introduced in r25082).
This generalization caused unnecessary map deprecation when the transition tree of the split map is full.
BUG=chromium:431807
LOG=N
Review URL: https://codereview.chromium.org/
736953003
Cr-Commit-Position: refs/heads/master@{#25427}
dcarney [Wed, 19 Nov 2014 16:23:33 +0000 (08:23 -0800)]
[turbofan]: delay ssa deconstruction in register allocator
BUG=
Review URL: https://codereview.chromium.org/
738853002
Cr-Commit-Position: refs/heads/master@{#25426}
Dusan Milosavljevic [Wed, 19 Nov 2014 16:08:23 +0000 (17:08 +0100)]
MIPS64: Prepare additonal code for turbofan landing.
TEST=
BUG=
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/
735033002
Cr-Commit-Position: refs/heads/master@{#25425}
Dusan Milosavljevic [Wed, 19 Nov 2014 15:44:39 +0000 (16:44 +0100)]
MIPS64: Add turbofan support for mips64.
TEST=
BUG=
R=danno@chromium.org, paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/
732403002
Cr-Commit-Position: refs/heads/master@{#25424}
aandrey [Wed, 19 Nov 2014 15:16:30 +0000 (07:16 -0800)]
Allow stepping into Object.observe handlers.
BUG=chromium:432468
R=yangguo@chromium.org, adamk@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/
739523002
Cr-Commit-Position: refs/heads/master@{#25423}
yangguo [Wed, 19 Nov 2014 14:13:44 +0000 (06:13 -0800)]
One instead of two runtime calls when initializing regexp.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
719403005
Cr-Commit-Position: refs/heads/master@{#25422}
Michael Stanton [Wed, 19 Nov 2014 14:08:30 +0000 (15:08 +0100)]
Revert "Re-land r25392 Use a stub in crankshaft for grow store arrays."
Due to performance issue.
TBR=danno@chromium.org
Review URL: https://codereview.chromium.org/
735323002
Cr-Commit-Position: refs/heads/master@{#25421}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}