weiliang.lin
c63e994166
[x86] Avoid memory form of PUSH/CALL for ATOM.
...
Review URL: https://codereview.chromium.org/853703002
Cr-Commit-Position: refs/heads/master@{#26163}
2015-01-20 14:59:56 +00:00
titzer
3442a5f9e0
[turbofan] First version of loop peeling.
...
BUG=
Review URL: https://codereview.chromium.org/816053002
Cr-Commit-Position: refs/heads/master@{#26149}
2015-01-20 09:45:17 +00:00
Sven Panne
e4c5b84652
Contribution of PowerPC port (continuation of 422063005)
...
Contribution of PowerPC port (continuation of 422063005). The inital patch
covers the core changes to the common files. Subsequent patches will cover
changes to common files to support AIX and to update the ppc directories so
they are current with the changes in the rest of the project.
This is based off of the GitHub repository
https://github.com/andrewlow/v8ppc
BUG=
R=svenpanne@chromium.org , danno@chromium.org , sevnpanne@chromium.org
Review URL: https://codereview.chromium.org/817143002
Cr-Commit-Position: refs/heads/master@{#26091}
2015-01-16 07:42:15 +00:00
arv
74e38e34b3
ES6 computed property names
...
This adds support for computed property names, under the flag
--harmony-computed-property-names, for both object literals and
classes.
This is a revert of the revert, 7d48fd9dc2
.
BUG=v8:3754
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/798243004
Cr-Commit-Position: refs/heads/master@{#26084}
2015-01-15 20:02:37 +00:00
dcarney
63cde592e0
[turbofan] add flag for register allocation verification
...
BUG=
Review URL: https://codereview.chromium.org/798873008
Cr-Commit-Position: refs/heads/master@{#26074}
2015-01-15 12:17:36 +00:00
titzer
159b14172f
[turbofan] Implement OSR for outer loops.
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/809333002
Cr-Commit-Position: refs/heads/master@{#26020}
2015-01-12 11:39:58 +00:00
dslomov
a417b41880
Unship ES6 classes.
...
R=rossberg@chromium.org
BUG=v8:3330
Review URL: https://codereview.chromium.org/836393003
Cr-Commit-Position: refs/heads/master@{#26000}
2015-01-08 15:11:01 +00:00
jochen
33c81549fb
Revert of Revert of Revert of Turn on job-based recompilation (patchset #1 id:1 of https://codereview.chromium.org/840023002/ )
...
Reason for revert:
still doesn't work
Original issue's description:
> Revert of Revert of Turn on job-based recompilation (patchset #1 id:1 of https://codereview.chromium.org/791033007/ )
>
> Reason for revert:
> attempt reland after landing a fix
>
> Original issue's description:
> > Revert of Turn on job-based recompilation (patchset #2 id:20001 of https://codereview.chromium.org/832183004/ )
> >
> > Reason for revert:
> > revert
> >
> > Original issue's description:
> > > Turn on job-based recompilation
> > >
> > > BUG=v8:3608
> > > LOG=y
> > > R=yangguo@chromium.org
> > >
> > > Committed: https://crrev.com/715552409b4a08504301cf1ad4cb2e45a815f01b
> > > Cr-Commit-Position: refs/heads/master@{#25972}
> >
> > TBR=yangguo@chromium.org
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=v8:3608
> >
> > Committed: https://crrev.com/28a5a4865183769cbed9d42ad3fdc1b1d8bae3a3
> > Cr-Commit-Position: refs/heads/master@{#25975}
>
> TBR=yangguo@chromium.org
> NOTREECHECKS=true
> NOTRY=true
> BUG=v8:3608
>
> Committed: https://crrev.com/b4bc9c1a3a7d03dee0b3dd6460414085f79cd36e
> Cr-Commit-Position: refs/heads/master@{#25994}
TBR=yangguo@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=v8:3608
Review URL: https://codereview.chromium.org/832103003
Cr-Commit-Position: refs/heads/master@{#25998}
2015-01-08 14:31:23 +00:00
jochen
b4bc9c1a3a
Revert of Revert of Turn on job-based recompilation (patchset #1 id:1 of https://codereview.chromium.org/791033007/ )
...
Reason for revert:
attempt reland after landing a fix
Original issue's description:
> Revert of Turn on job-based recompilation (patchset #2 id:20001 of https://codereview.chromium.org/832183004/ )
>
> Reason for revert:
> revert
>
> Original issue's description:
> > Turn on job-based recompilation
> >
> > BUG=v8:3608
> > LOG=y
> > R=yangguo@chromium.org
> >
> > Committed: https://crrev.com/715552409b4a08504301cf1ad4cb2e45a815f01b
> > Cr-Commit-Position: refs/heads/master@{#25972}
>
> TBR=yangguo@chromium.org
> NOTREECHECKS=true
> NOTRY=true
> BUG=v8:3608
>
> Committed: https://crrev.com/28a5a4865183769cbed9d42ad3fdc1b1d8bae3a3
> Cr-Commit-Position: refs/heads/master@{#25975}
TBR=yangguo@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=v8:3608
Review URL: https://codereview.chromium.org/840023002
Cr-Commit-Position: refs/heads/master@{#25994}
2015-01-08 13:16:02 +00:00
jochen
28a5a48651
Revert of Turn on job-based recompilation (patchset #2 id:20001 of https://codereview.chromium.org/832183004/ )
...
Reason for revert:
revert
Original issue's description:
> Turn on job-based recompilation
>
> BUG=v8:3608
> LOG=y
> R=yangguo@chromium.org
>
> Committed: https://crrev.com/715552409b4a08504301cf1ad4cb2e45a815f01b
> Cr-Commit-Position: refs/heads/master@{#25972}
TBR=yangguo@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=v8:3608
Review URL: https://codereview.chromium.org/791033007
Cr-Commit-Position: refs/heads/master@{#25975}
2015-01-07 14:15:39 +00:00
jochen
715552409b
Turn on job-based recompilation
...
BUG=v8:3608
LOG=y
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/832183004
Cr-Commit-Position: refs/heads/master@{#25972}
2015-01-07 13:31:07 +00:00
dcarney
4de38bfe38
[turbofan] remove spill slot reuse flag
...
BUG=
Review URL: https://codereview.chromium.org/837173002
Cr-Commit-Position: refs/heads/master@{#25970}
2015-01-07 12:46:13 +00:00
yangguo
c71239dc10
Enable serializing eagerly compiled inner functions.
...
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/830143004
Cr-Commit-Position: refs/heads/master@{#25966}
2015-01-07 11:24:54 +00:00
ulan
0344722a16
Remove custom weak handling of monomorphic IC.
...
This is not needed anymore since all ICs use weak cells to embed maps.
BUG=v8:3629
LOG=N
Review URL: https://codereview.chromium.org/817223003
Cr-Commit-Position: refs/heads/master@{#25928}
2014-12-22 15:04:18 +00:00
jochen
88feffc2ab
Implement missing functionality for job based recompilation
...
BUG=v8:3608
R=bmeurer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/816363003
Cr-Commit-Position: refs/heads/master@{#25925}
2014-12-22 13:53:07 +00:00
ulan
64e1b56107
Revert "Retain maps for several garbage collections"
...
This reverts commit 2bc756e4b3
because of performance regression in kraken.
BUG=chromium:444232
LOG=N
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/816353002
Cr-Commit-Position: refs/heads/master@{#25918}
2014-12-22 09:15:07 +00:00
arv
6e888ca864
Ship ES6 template literals
...
BUG=v8:3230
LOG=Y
R=dslomov@chromium.org , caitpotter88@gmail.com
Review URL: https://codereview.chromium.org/808413004
Cr-Commit-Position: refs/heads/master@{#25892}
2014-12-18 20:12:08 +00:00
hpayer
e89318138c
Reland Shrink initial old generation size based on new space survival rate.
...
I picked a more conservative start value this time of half max old generation size.
BUG=
Review URL: https://codereview.chromium.org/804323004
Cr-Commit-Position: refs/heads/master@{#25890}
2014-12-18 16:55:55 +00:00
ulan
2bc756e4b3
Retain maps for several garbage collections
...
This keeps dying maps alive for FLAG_retain_maps_for_n_gc garbage collections to increase chances of them being reused for new objects in future.
BUG=v8:3664
LOG=N
TEST=cctest/test-heap/MapRetaining
Review URL: https://codereview.chromium.org/794583003
Cr-Commit-Position: refs/heads/master@{#25887}
2014-12-18 15:44:37 +00:00
machenbach
7d48fd9dc2
Revert of ES6 computed property names (patchset #1 id:1 of https://codereview.chromium.org/792233008/ )
...
Reason for revert:
[sheriff] Still crashes on win32 (XP):
http://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%201/builds/1380
Original issue's description:
> ES6 computed property names
>
> This adds support for computed property names, under the flag
> --harmony-computed-property-names, for both object literals and
> classes.
>
> This is a revert of the revert, a76419f0f4
.
>
> This changes to do an early bailout in
> HOptimizedGraphBuilder::VisitObjectLiteral instead of doing that in the later
> loop.
>
> BUG=v8:3754
> LOG=Y
> TBR=dslomov@chromium.org
TBR=dslomov@chromium.org ,arv@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=v8:3754
Review URL: https://codereview.chromium.org/811593004
Cr-Commit-Position: refs/heads/master@{#25872}
2014-12-17 19:47:12 +00:00
arv
cc568d1b7a
ES6 computed property names
...
This adds support for computed property names, under the flag
--harmony-computed-property-names, for both object literals and
classes.
This is a revert of the revert, a76419f0f4
.
This changes to do an early bailout in
HOptimizedGraphBuilder::VisitObjectLiteral instead of doing that in the later
loop.
BUG=v8:3754
LOG=Y
TBR=dslomov@chromium.org
Review URL: https://codereview.chromium.org/792233008
Cr-Commit-Position: refs/heads/master@{#25868}
2014-12-17 18:38:55 +00:00
hpayer
83849a347c
Revert of Shrink initial old generation size based on new space survival rate. (patchset #7 id:140001 of https://codereview.chromium.org/785593002/ )
...
Reason for revert:
Performance regressions.
Original issue's description:
> Shrink initial old generation size based on new space survival rate.
>
> BUG=
>
> Committed: https://crrev.com/37f9bb72b9c7ea4eccef6cb6533b3c42792fb5e6
> Cr-Commit-Position: refs/heads/master@{#25850}
TBR=jochen@chromium.org ,ulan@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/813733002
Cr-Commit-Position: refs/heads/master@{#25862}
2014-12-17 11:17:40 +00:00
arv
5f22fdd5ae
Revert of ES6 computed property names (patchset #1 id:1 of https://codereview.chromium.org/807173002/ )
...
Reason for revert:
Crashes Win32. It was not flake.
Original issue's description:
> ES6 computed property names
>
> This adds support for computed property names, under the flag
> --harmony-computed-property-names, for both object literals and
> classes.
>
> This is a revert of the revert, a76419f0f4
with
> no changes. I cannot reproduce the issue on Win8.1 or WinXP. Letting the bots
> try again.
>
> BUG=v8:3754
> LOG=Y
> TBR=dslomov@chromium.org
TBR=dslomov@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=v8:3754
Review URL: https://codereview.chromium.org/807033003
Cr-Commit-Position: refs/heads/master@{#25853}
2014-12-16 19:38:59 +00:00
arv
a235b1076a
ES6 computed property names
...
This adds support for computed property names, under the flag
--harmony-computed-property-names, for both object literals and
classes.
This is a revert of the revert, a76419f0f4
with
no changes. I cannot reproduce the issue on Win8.1 or WinXP. Letting the bots
try again.
BUG=v8:3754
LOG=Y
TBR=dslomov@chromium.org
Review URL: https://codereview.chromium.org/807173002
Cr-Commit-Position: refs/heads/master@{#25851}
2014-12-16 17:30:05 +00:00
hpayer
37f9bb72b9
Shrink initial old generation size based on new space survival rate.
...
BUG=
Review URL: https://codereview.chromium.org/785593002
Cr-Commit-Position: refs/heads/master@{#25850}
2014-12-16 16:26:34 +00:00
dcarney
0349f7b71f
[turbofan] enable stack slot reuse
...
BUG=
Review URL: https://codereview.chromium.org/793683002
Cr-Commit-Position: refs/heads/master@{#25841}
2014-12-16 13:09:23 +00:00
jkummerow
60dafcaab2
Add infrastructure to keep track of references to prototypes.
...
There are no users of this infrastructure yet, so it's behind an off-by-default flag.
Review URL: https://codereview.chromium.org/768633002
Cr-Commit-Position: refs/heads/master@{#25829}
2014-12-15 19:57:54 +00:00
dslomov
6d35dedf6e
Ship ES6 classes.
...
R=arv@chromium.org
BUG=v8:3330
LOG=Y
Review URL: https://codereview.chromium.org/808433002
Cr-Commit-Position: refs/heads/master@{#25826}
2014-12-15 16:44:00 +00:00
arv
a76419f0f4
Revert of ES6 computed property names (patchset #9 id:160001 of https://codereview.chromium.org/795573005/ )
...
Reason for revert:
Crashes on Win32
http://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%201/builds/1357
Test: mjsunit/harmony/computed-property-names
Flags: --stress-opt --always-opt
Command: build\Release\d8.exe --test --random-seed=-233815021 --stress-opt --always-opt --nohard-abort --nodead-code-elimination --nofold-constants --harmony-computed-property-names test\mjsunit\mjsunit.js test\mjsunit\harmony\computed-property-names.js
Run #1
Exit code: -1073741819
Result: CRASH
Expected outcomes: PASS
Run #2
Exit code: -1073741819
Result: CRASH
Expected outcomes: PASS
Run #3
Exit code: -1073741819
Result: CRASH
Expected outcomes: PASS
Original issue's description:
> ES6 computed property names
>
> This adds support for computed property names, under the flag
> --harmony-computed-property-names, for both object literals and
> classes.
>
> BUG=v8:3754
> LOG=Y
TBR=dslomov@chromium.org ,wingo@igalia.com
NOTREECHECKS=true
NOTRY=true
BUG=v8:3754
Review URL: https://codereview.chromium.org/809433002
Cr-Commit-Position: refs/heads/master@{#25825}
2014-12-15 16:38:42 +00:00
arv
6e38caf8d3
ES6 computed property names
...
This adds support for computed property names, under the flag
--harmony-computed-property-names, for both object literals and
classes.
BUG=v8:3754
LOG=Y
Review URL: https://codereview.chromium.org/795573005
Cr-Commit-Position: refs/heads/master@{#25821}
2014-12-15 15:27:19 +00:00
dcarney
3595176565
[turbofan] improve register allocator testing framework
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/800493002
Cr-Commit-Position: refs/heads/master@{#25794}
2014-12-12 11:15:26 +00:00
dslomov
059482b70d
Ship ES6 block scoping.
...
R=rossberg@chromium.org
BUG=v8:2198
LOG=Y
Review URL: https://codereview.chromium.org/792543002
Cr-Commit-Position: refs/heads/master@{#25761}
2014-12-10 20:39:32 +00:00
yangguo
d28b2a194d
Extract non-IO part of mksnapshot into an API method.
...
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/789213002
Cr-Commit-Position: refs/heads/master@{#25747}
2014-12-10 14:20:26 +00:00
yangguo
7cff32a9bd
Reland "Use same blob format for internal and external snapshots."
...
Review URL: https://codereview.chromium.org/791723004
Cr-Commit-Position: refs/heads/master@{#25741}
2014-12-10 11:46:55 +00:00
d
4161b54d58
Add Array.prototype.includes
...
Requires adding a SameValueZero implementation.
LOG=Y
BUG=v8:3575
R=dslomov@chromium.org , arv@chromium.org
TEST=added to test262
Review URL: https://codereview.chromium.org/771863002
Cr-Commit-Position: refs/heads/master@{#25735}
2014-12-10 08:58:15 +00:00
machenbach
da6dbe78bc
Revert of Use same blob format for internal and external snapshots. (patchset #2 id:20001 of https://codereview.chromium.org/787033002/ )
...
Reason for revert:
[sheriff] breaks http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2064%20%28dbg%29/builds/1293
Original issue's description:
> Use same blob format for internal and external snapshots.
>
> R=vogelheim@chromium.org
TBR=vogelheim@chromium.org ,yangguo@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/792563002
Cr-Commit-Position: refs/heads/master@{#25729}
2014-12-09 16:19:57 +00:00
yangguo
03ba4becbf
Use same blob format for internal and external snapshots.
...
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/787033002
Cr-Commit-Position: refs/heads/master@{#25727}
2014-12-09 15:12:27 +00:00
dslomov
293f898a6f
Make sure that individual shipping features can be disabled.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/779203005
Cr-Commit-Position: refs/heads/master@{#25690}
2014-12-05 15:35:37 +00:00
arv
eb5049b14d
Stage ES6 template literals
...
BUG=v8:3230
LOG=Y
R=dslomov@chromium.org , rossberg@chromium.org
Review URL: https://codereview.chromium.org/780603003
Cr-Commit-Position: refs/heads/master@{#25659}
2014-12-04 12:25:01 +00:00
yangguo
07584119ca
Serializer: cache recent back references for shorter encoding.
...
And some refactorings.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/766893002
Cr-Commit-Position: refs/heads/master@{#25629}
2014-12-03 09:12:37 +00:00
dslomov
dba8e83b41
Stage ES6 classes and object literal extensions.
...
R=arv@chromium.org ,rossberg@chromium.org
BUG=v8:3330
LOG=Y
Review URL: https://codereview.chromium.org/774653002
Cr-Commit-Position: refs/heads/master@{#25617}
2014-12-02 14:54:40 +00:00
titzer
10750f0e80
[turbofan] Enable stage 1.
...
R=danno@chromium.org ,bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/770203003
Cr-Commit-Position: refs/heads/master@{#25604}
2014-12-02 11:07:26 +00:00
marja
0a0e6c8c81
ES6 unicode extensions, part 1.
...
Allows \u{xxxxx} in variable names and string literals (not yet in regexps).
Everything's behind the --harmony-unicode flag.
BUG=
Review URL: https://codereview.chromium.org/716423002
Cr-Commit-Position: refs/heads/master@{#25603}
2014-12-02 10:58:19 +00:00
dslomov
9e02e98771
Introduce a kill-switch for shipping features.
...
R=rossberg@chromium.org
TBR=hpayer@chromium.org
Committed: d628562086
Review URL: https://codereview.chromium.org/763273002
Cr-Commit-Position: refs/heads/master@{#25577}
2014-11-28 20:07:18 +00:00
dslomov
557bf53b79
Revert of Introduce a kill-switch for shipping features. (patchset #2 id:20001 of https://codereview.chromium.org/763273002/ )
...
Reason for revert:
Reverted for breaking nosnap: http://chromegw.corp.google.com/i/client.v8/builders/V8%20Linux%20-%20nosnap/builds/1003/steps/Check/logs/Threading3
Original issue's description:
> Introduce a kill-switch for shipping features.
>
> R=rossberg@chromium.org
>
> Committed: d628562086
TBR=rossberg@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/763353002
Cr-Commit-Position: refs/heads/master@{#25574}
2014-11-28 18:27:55 +00:00
dslomov
a2b5c7abae
Stage @@toStringTag (--harmony-tostring)
...
R=rossberg@chromium.org ,caitpotter88@gmail.com
LOG=Y
Review URL: https://codereview.chromium.org/768833002
Cr-Commit-Position: refs/heads/master@{#25573}
2014-11-28 15:41:47 +00:00
Dmitry Lomov
d628562086
Introduce a kill-switch for shipping features.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/763273002
Cr-Commit-Position: refs/heads/master@{#25570}
2014-11-28 14:32:17 +00:00
jochen
217c45b106
Introduce a new growth criterion for the new space behind a flag
...
With this flag, we grow if more than 10% survived the last scavenge.
BUG=none
R=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/753543002
Cr-Commit-Position: refs/heads/master@{#25540}
2014-11-27 10:52:58 +00:00
dslomov
cd4cc1ba36
Ship harmony-strings
...
R=rossberg@chromium.org , yangguo@chromium.org
LOG=Y
Review URL: https://codereview.chromium.org/761913002
Cr-Commit-Position: refs/heads/master@{#25536}
2014-11-27 10:17:18 +00:00
titzer
da22163d35
[turbofan] Implement jump threading after register allocation.
...
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/754843002
Cr-Commit-Position: refs/heads/master@{#25521}
2014-11-26 12:41:55 +00:00
dslomov
a498e93b0e
Stage ES6 block scoping.
...
R=rossberg@chromium.org
BUG=v8:2198
LOG=Y
Review URL: https://codereview.chromium.org/751503004
Cr-Commit-Position: refs/heads/master@{#25520}
2014-11-26 12:28:43 +00:00
Weiliang Lin
83a635e0d7
[x64] Introduce FMA3 instructions on scalar data elements.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/757503002
Patch from Weiliang Lin <weiliang.lin@intel.com>.
Cr-Commit-Position: refs/heads/master@{#25509}
2014-11-26 05:31:55 +00:00
Ben L. Titzer
a56900a975
[turbofan] Dump graph in RPO order as text.
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/754803002
Cr-Commit-Position: refs/heads/master@{#25477}
2014-11-24 11:55:17 +00:00
mstarzinger
7aad1d2e42
Revert "Remove deprecated ShouldSelfOptimize machinery."
...
This reverts commit 9da92c1a33
because of performance regressions.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/752613002
Cr-Commit-Position: refs/heads/master@{#25467}
2014-11-21 17:28:38 +00:00
dcarney
ac3c4d40f5
[turbofan] put late ssa deconstruction in register allocator behind a flag
...
BUG=
Review URL: https://codereview.chromium.org/751543002
Cr-Commit-Position: refs/heads/master@{#25465}
2014-11-21 13:14:00 +00:00
jochen
34363bf5aa
Introduce a flag to change the new space growth factor
...
A useful value would be 4, so we get 1, 4, 16MB (instead of the default
value 2 which leads to 1, 2, 4, 8, 16)
BUG=none
R=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/753513002
Cr-Commit-Position: refs/heads/master@{#25462}
2014-11-21 12:14:29 +00:00
dcarney
dad405a258
[turbofan] put spill slot reuse behind a flag
...
BUG=
Review URL: https://codereview.chromium.org/748773002
Cr-Commit-Position: refs/heads/master@{#25461}
2014-11-21 11:33:05 +00:00
mstarzinger
9da92c1a33
Remove deprecated ShouldSelfOptimize machinery.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/582683002
Cr-Commit-Position: refs/heads/master@{#25459}
2014-11-21 11:23:52 +00:00
yangguo
c64b47f552
When optimizing deserialized code, make sure IC state is preserved.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/737373003
Cr-Commit-Position: refs/heads/master@{#25444}
2014-11-20 16:20:56 +00:00
Andreas Rossberg
1808badc2d
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}
2014-11-20 10:52:03 +00:00
jochen
821736a674
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}
2014-11-20 08:54:42 +00:00
Hannes Payer
ca3c6888c1
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}
2014-11-17 09:39:50 +00:00
Hannes Payer
cb73facc84
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}
2014-11-17 09:16:26 +00:00
caitpotter88
353b696467
Implement ES6 Template Literals
...
BUG=v8:3230
Review URL: https://codereview.chromium.org/663683006
Cr-Commit-Position: refs/heads/master@{#25362}
2014-11-14 18:53:52 +00:00
ishell@chromium.org
c5a492961f
Reland "In-object double fields unboxing (for 64-bit only)."
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/711313002
Cr-Commit-Position: refs/heads/master@{#25258}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25258 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-11 10:25:46 +00:00
verwaest@chromium.org
2d9079ca1d
Revert "In-object double fields unboxing (for 64-bit only)."
...
Revert "Fixes for Windows and Mac builds after r25250."
TBR=ishell@chromium.org
Review URL: https://codereview.chromium.org/699613004
Cr-Commit-Position: refs/heads/master@{#25252}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 17:44:51 +00:00
ishell@chromium.org
f133ac501b
In-object double fields unboxing (for 64-bit only).
...
This CL introduces LayoutDescriptor which is responsible for tracking which in-object fields are tagged and which are not.
LayoutDescriptor field added to Map. Currently unboxing is disabled.
R=hpayer@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/391693002
Cr-Commit-Position: refs/heads/master@{#25250}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25250 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 16:35:22 +00:00
rmcilroy@chromium.org
49d1f64ebf
Arm64: Remove forced csp alignment to 16 byte values for Nvidia chips.
...
Remove the forced alignment of csp to 16 byte values on Nvidia chips.
Benchmarks on current devices show that this is no longer required.
R=rodolph.perfetta@arm.com , ulan@chromium.org
Review URL: https://codereview.chromium.org/710613002
Cr-Commit-Position: refs/heads/master@{#25225}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25225 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 23:34:44 +00:00
jkummerow@chromium.org
e2e9e1d3f6
Add FLAG_trace_maps
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/694533003
Cr-Commit-Position: refs/heads/master@{#25219}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25219 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 16:03:44 +00:00
arv@chromium.org
32f3277eea
Enable ES6 numeric literals by default
...
BUG=v8:2783
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/703943002
Cr-Commit-Position: refs/heads/master@{#25204}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25204 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 18:45:21 +00:00
rossberg@chromium.org
0b9a70ade3
Remove --harmony implications for incomplete features
...
This is in preparation for making --harmony and --es-staging synonyms.
The only remaining difference currently is block-scoping, which is still
implied by --harmony, to avoid regressing on a long-available feature.
Also removes the special-casing of --harmony-proxies.
R=adamk@chromium.org
BUG=
Review URL: https://codereview.chromium.org/693153004
Cr-Commit-Position: refs/heads/master@{#25115}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25115 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-04 16:05:44 +00:00
titzer@chromium.org
90a7f07489
Implement loop variable assignment analysis.
...
This analysis computes the set of variables that are assigned in each loop. This is useful to avoid creating redundant loop phis when building an SSA graph, which just waste memory and require analysis to get rid of.
This CL implements an AST walk for the analysis and plugs the result into the TurboFan graph builder. I left this analysis under a flag for A/B testing and until sufficient unit tests can be developed.
R=danno@chromium.org , mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/656123005
Cr-Commit-Position: refs/heads/master@{#24957}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24957 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-28 17:30:14 +00:00
sigurds@chromium.org
8ef8f58bae
Add ARMv8 detection in CpuFeatures.
...
R=rodolph.perfetta@arm.com , ulan@chromium.org
Review URL: https://codereview.chromium.org/678313002
Cr-Commit-Position: refs/heads/master@{#24949}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24949 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-28 15:22:41 +00:00
mstarzinger@chromium.org
c1862ecdd6
Silence control reducer tracing a bit.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/687553002
Cr-Commit-Position: refs/heads/master@{#24936}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24936 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-28 13:15:18 +00:00
yangguo@chromium.org
484274346f
Enable --serialize-toplevel by default.
...
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/661343003
Cr-Commit-Position: refs/heads/master@{#24872}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24872 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-24 13:12:10 +00:00
yangguo@chromium.org
aaa104c8da
De-virtualize snapshot sink.
...
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/669133003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24836 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-23 11:23:57 +00:00
dslomov@chromium.org
8de3b7e129
Stage harmony-strings.
...
R=rossberg@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/666353002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24810 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 14:58:25 +00:00
jochen@chromium.org
8f7a455fe2
Add support for a target new space size
...
When this flag is set, we will commit additional pages up until the
target size before doing a scavenge.
I made sure that all tests pass when a target size of 16MB is set.
BUG=v8:3626
R=ulan@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/652543007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24790 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 06:58:38 +00:00
dslomov@chromium.org
37bd114925
Update ObjectToString to Harmony-draft algorithm
...
Updates Object.prototype.toString() to use algorithm described in harmony drafts.
Currently, the behaviour is essentially the same as ES262's version, however this changes when internal structures
such as Promise make use of symbolToStringTag (as they are supposed to, see v8:3241), and changes further once
Symbol.toStringTag is exposed publicly.
BUG=v8:3241, v8:3502
LOG=N
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/546803003
Patch from Caitlin Potter <caitpotter88@gmail.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24783 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 17:21:32 +00:00
dslomov@chromium.org
6ae42d9171
Simplify language feature management.
...
R=rossberg@chromium.org
BUG=v8:3640
LOG=N
Review URL: https://codereview.chromium.org/642233003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24743 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 13:33:34 +00:00
yangguo@chromium.org
8cc5d418ee
Special handling for inline caches in code serializer.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/656533003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24722 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 08:46:11 +00:00
sigurds@chromium.org
bc475b4a6b
Add inlining for intrinsics.
...
This issue is for discussion on how to proceed.
I think the implementation of ValueOf shows that directly creating the IR does not scale.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/612043003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 07:56:50 +00:00
jarin@chromium.org
173b07faa9
[turbofan] Output schedule, instructions and register allocator in C1 visualizer format when --turbo-trace is specified.
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/637313002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24583 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-14 08:43:33 +00:00
rmcilroy@chromium.org
08941c0140
Refactor FrameAndConstantPoolScope and ConstantPoolUnavailableScope to be architecture independent
...
Move the FrameAndConstantPoolScope and ConstantPoolUnavailableScope out of the arm architecture directory to enable them to be used on all architectures.
R=rmcilroy@chromium.org
Review URL: https://codereview.chromium.org/609843002
Patch from André Baixo <baixo@google.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24565 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 14:41:33 +00:00
mstarzinger@chromium.org
2514113887
Remove deprecated verification for context separation.
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/636173002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24497 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 14:01:59 +00:00
jochen@chromium.org
40a1f82238
Introduce --job-based-recompilation flag
...
The implementation is not yet complete, it doesn't support blocking yet,
and doesn't collect statistics.
This things will be fixed in follow-up CLs.
BUG=v8:3608
R=yangguo@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/620093003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24425 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-07 07:29:24 +00:00
arv@chromium.org
6708f664a9
Stage ES6 numeric literals
...
BUG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/626153002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24421 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-06 15:40:55 +00:00
jkummerow@chromium.org
b6f82c734c
Remove FLAG_opt_safe_uint32_operations.
...
It has been turned on by default for a long time, and hydrogenized BinaryOpStubs actually depend on it being turned on.
BUG=v8:3487
LOG=n
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/630023002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24415 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-06 13:15:23 +00:00
jochen@chromium.org
5f47fe15e2
Remove support for parallel sweeping
...
BUG=none
R=hpayer@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/618323007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24382 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-02 08:24:48 +00:00
jochen@chromium.org
259126c0d9
Remove sweeper threads
...
Job based sweeping is enabled since 3.29, so remove the now obsolete
thread based implementation
BUG=none
R=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/615933003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24352 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 09:16:28 +00:00
dcarney@chromium.org
5d0e9a2496
[turbofan] basic block profiler
...
R=titzer@chromium.org , mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/593563005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24263 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 07:29:14 +00:00
ishell@chromium.org
4a9feef3d8
Disable job-based sweeping in predictable mode.
...
BUG=v8:3563
LOG=N
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/604283002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24254 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-26 13:59:48 +00:00
mstarzinger@chromium.org
36fdb24773
Remove deprecated ifdef from flag definitions.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/611453003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-26 12:02:11 +00:00
titzer@chromium.org
5881257344
Widen the intake valve for TurboFan.
...
R=danno@chromium.org , mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/582703002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 12:50:50 +00:00
ulan@chromium.org
ebf9b8ab85
ARM: Make stack limit stricter to account for large buffers in MacroAssembler.
...
BUG=405338
LOG=Y
R=rmcilroy@chromium.org , rodolph.perfetta@arm.com
Review URL: https://codereview.chromium.org/583163002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24079 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 11:26:36 +00:00
erik.corry@gmail.com
f1e82cc169
The --optimize-for-size flag should imply a small semi-space
...
R=hpayer@chromium.org , mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/585523002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24069 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 09:15:47 +00:00
erik.corry@gmail.com
35eec7c7ca
Reland sticky regexps https://codereview.chromium.org/567313003/
...
R=svenpanne@chromium.org , yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/580383003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24065 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 07:36:05 +00:00
rossberg@chromium.org
cc960f8034
Revert "RegExp: Add support for the ES6-proposed sticky flag"
...
Causes a flaky failure on buildbots. Here is the (deterministic) repro step (thanks to Michael Stanton):
first go to flag-definitions.h and set this to false.
DEFINE_BOOL(enable_sse4_1, false,
"enable use of SSE4.1 instructions if available")
Run the following and it should fail:
tools/run-tests.py --arch=ia32 --mode=release cctest/test-api/Regress2107
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/580123002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24045 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 14:53:00 +00:00
erik.corry@gmail.com
63b1c1900d
RegExp: Add support for the ES6-proposed sticky flag
...
R=yangguo@chromium.org , rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/567313003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 11:32:39 +00:00
mstarzinger@chromium.org
15b563cf74
Remove dead CompilationInfo::DisableOptimization predicate.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/585443002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24030 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 11:13:36 +00:00
yangguo@chromium.org
a49ac519c8
Serialize code stubs using stub key.
...
Also add some tracing to the code serializer.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/556243005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24002 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 12:50:17 +00:00
arv@chromium.org
7efd2eb144
Class syntax parsing
...
This implements parsing for ClassExpression and ClassDeclaration.
The runtime is not yet implemented and the value is currently
hard coded to undefined.
BUG=v8:3330
LOG=Y
R=dslomov@chromium.org , marja@chromium.org , rossberg@chromium.org
Review URL: https://codereview.chromium.org/561913002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23988 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 22:15:39 +00:00
wingo@igalia.com
a76fe0a2cf
Enable ES6 generators
...
R=rossberg@chromium.org
BUG=v8:2355
LOG=Y
Review URL: https://codereview.chromium.org/573963003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23974 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 12:30:39 +00:00
mstarzinger@chromium.org
9a2ca5ed15
Enable typed pipeline on ARM and ARM64 for TurboFan.
...
R=bmeurer@chromium.org
BUG=v8:3553
LOG=N
Review URL: https://codereview.chromium.org/552943003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23912 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 11:32:05 +00:00
sigurds@chromium.org
4ec63ff97e
Reland
...
- "Switch inlining to use simplified instead of machine loads."
- "Add copy support in inliner."
Reland fixes:
- size_t conversion for 64bit arches
- Don't call front() on empty vector
(triggers assertion on windows)
- turbo_inlining now implies turbo_types, as
it requires simplified lowering.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/559843004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 11:06:37 +00:00
bmeurer@chromium.org
4de58e49fd
[arm] Disable --turbo-types by default instead of ignoring the flag.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/561913004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23903 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 08:50:38 +00:00
mstarzinger@chromium.org
a2add48b86
Enable typed pipeline for TurboFan (again).
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/554413003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23859 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 09:44:44 +00:00
arv@chromium.org
45d8e74cd6
ES6: Add support for method shorthand in object literals
...
This is governed by the harmony-object-literals flag.
BUG=v8:3516
LOG=Y
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/477263002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 16:39:42 +00:00
mstarzinger@chromium.org
1f4f9eed2a
Actually disabled typed pipeline after r23830.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/558183002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23842 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 13:41:09 +00:00
mstarzinger@chromium.org
8d35f22795
Disabled typed pipeline because of 64-bit failures.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/556253002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23835 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 12:07:39 +00:00
mstarzinger@chromium.org
13f01e65c4
Enable typed pipeline for TurboFan.
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/552303003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23830 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 09:52:50 +00:00
titzer@chromium.org
4923810a68
Remove redundant --always-full-compiler flag.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/538613006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23703 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-04 16:29:47 +00:00
yangguo@chromium.org
62ba2c8b7f
Clean up code stubs and ensure distinct major keys.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/530343005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23655 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-03 13:14:55 +00:00
jochen@chromium.org
bb41c50d4d
Turn on job-based sweeping
...
Embedders that don't use a v8::Platform yet will have to do so.
BUG=v8:3104
LOG=y
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/443043002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23562 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 12:54:22 +00:00
ulan@chromium.org
ae2b08f420
Trace idle notification.
...
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/521873006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23559 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 12:06:16 +00:00
mstarzinger@chromium.org
9fcbeb4a8e
Bring back test coverage for baseline TurboFan.
...
R=sigurds@chromium.org
Review URL: https://codereview.chromium.org/498243002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 13:07:09 +00:00
hpayer@chromium.org
65c9c2a2dd
Remove conservative sweeping.
...
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/479113004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23283 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 14:50:18 +00:00
wingo@igalia.com
edfd4cdd33
Stage ES6 generators
...
R=dslomov@chromium.org
BUG=
Review URL: https://codereview.chromium.org/479543003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23272 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 12:06:25 +00:00
sigurds@chromium.org
566cdc3bcd
Reland "Add initial support for inlining."
...
Reland Fixes:
* Remove usage of C++11 vector members.
* Guard tests by V8_TURBO_TARGET.
Changes:
* Make context specialization clean up after itself.
* Add UpdateToAndIncrement to Inputs::iterator.
Uses:iterator already provides this member function.
* Allow next node id in graph to be set.
R=titzer@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/484083003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23231 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 13:05:03 +00:00
sigurds@chromium.org
b488b2ed29
Revert "Add initial support for inlining."
...
This reverts commit r23197.
TBR=titzer@chromium.org
Review URL: https://codereview.chromium.org/481413002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23198 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 12:48:44 +00:00
sigurds@chromium.org
4b943f35cf
Add initial support for inlining.
...
* Add stack depth checking to function tester.
* Make context specialization clean up after itself.
* Add UpdateToAndIncrement to Inputs::iterator.
Uses:iterator already provides this member function.
* Allow next node id in graph to be set.
R=mstarzinger@chromium.org , titzer@chromium.org
Review URL: https://codereview.chromium.org/453833003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23197 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 12:23:19 +00:00
dslomov@chromium.org
65ae6e92ab
Parse 'super' keyword.
...
BUG=v8:3330
LOG=N
R=arv@chromium.org , marja@chromium.org
Review URL: https://codereview.chromium.org/480543002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23157 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 12:35:34 +00:00
rossberg@chromium.org
d9d6a60973
Enable ES6 unscopables
...
R=yangguo@chromium.org
BUG=v8:3401
LOG=Y
Review URL: https://codereview.chromium.org/455743002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 11:42:59 +00:00
rossberg@chromium.org
49e6abb9e3
Turn on harmony_unscopables for es_staging
...
BUG=v8:3401
LOG=Y
R=adamk@chromium.org , rossberg@chromium.org
Review URL: https://codereview.chromium.org/449923003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22992 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 10:49:04 +00:00
rossberg@chromium.org
5427ea5285
Remove proxies from --harmony switch for M38, because problems
...
They can still be activated separately using the --harmony-proxies switch,
but are no longer implied by Chrome's "Experimental JavaScript" option.
R=yangguo@chromium.org
BUG=
LOG=Y
Review URL: https://codereview.chromium.org/453903002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22990 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 09:58:19 +00:00
wingo@igalia.com
cebddb662e
Enable ES6 iteration by default
...
This enables for-of, as well as @@iterator implementations for strings
and arrays.
R=rossberg@chromium.org
BUG=v8:2214
LOG=Y
Review URL: https://codereview.chromium.org/446023002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22980 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 16:42:14 +00:00
rossberg@chromium.org
25b978cbf4
This implements unscopables
...
The unscobables allow us to black list properties from showing up in
with statements.
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object-environment-records-hasbinding-n
The spec draft is not fully up to date.
https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-07/jul-29.md#conclusionresolution
BUG=v8:3401
LOG=Y
R=rossberg@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/384963002
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 15:50:40 +00:00
adamk@chromium.org
bcf8b05072
Enable ES6 Map and Set by default
...
In doing so also remove all references to the --harmony-collections flag.
Due to the way context snapshotting works, it's not possible to simply
enable the flag by default.
Depends on ES6 Symbols: https://codereview.chromium.org/421313004
BUG=v8:1622
LOG=Y
R=arv@chromium.org , rossberg@chromium.org
Review URL: https://codereview.chromium.org/427723002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22889 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 19:37:32 +00:00
jkummerow@chromium.org
99062ae949
Track number of generic ICs per function
...
and use it to disable optimization if too many ICs are generic.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/441643008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22887 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 17:06:01 +00:00
adamk@chromium.org
d8c30bd8e7
Enable ES6 Symbols by default
...
In doing so also remove all references to the --harmony-symbols flag.
Due to the way context snapshotting works, it's not possible to simply enable
the flag by default.
BUG=v8:2158
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/421313004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22831 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 18:17:54 +00:00
bmeurer@chromium.org
d07a2eb806
Rename ASSERT* to DCHECK*.
...
This way we don't clash with the ASSERT* macros
defined by GoogleTest, and we are one step closer
to being able to replace our homegrown base/ with
base/ from Chrome.
R=jochen@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/430503007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 11:34:54 +00:00
danno@chromium.org
a1383e2250
Land the Fan (disabled)
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/426233002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 13:54:45 +00:00
yangguo@chromium.org
d409898d6e
Stage for-of
...
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/417923004
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22603 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 13:47:47 +00:00
mvstanton@chromium.org
6d3fc8a322
Introduce FLAG_vector_ics.
...
When FLAG_vector_ics is true, then AST nodes that use Load and KeyedLoad ICs
will allocate a type vector slot to store feedback information. Full codegen
will emit a load of the slot into a register if the flag is on.
Support is incomplete, right now the IC doesn't know how to use the feedback
slot.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/398053002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22500 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 11:19:56 +00:00
hpayer@chromium.org
81bc2f95e7
Always sweep precisely.
...
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/398013003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22499 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 10:39:10 +00:00
rossberg@chromium.org
2dc3d0bdc6
Remove harmony-typeof
...
This was an early experiment in the Harmony era that turned out to
not be compatible with the web.
BUG=None
LOG=Y
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/408463003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22497 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 10:20:54 +00:00
hpayer@chromium.org
56fcbc4d65
Always sweep precisely off.
...
BUG=
Review URL: https://codereview.chromium.org/400663003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 12:51:21 +00:00
hpayer@chromium.org
4c136e0baa
Always sweep precisely.
...
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/394023007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22476 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 12:04:48 +00:00
hpayer@chromium.org
6067ca6a62
Concurrent/parallel precise sweeping.
...
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/398333002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22471 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 11:04:20 +00:00
danno@chromium.org
1d2a4b8333
Remove experimental flags that are now required
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/397253002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22461 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 07:17:21 +00:00
rmcilroy@chromium.org
1b5848c210
Some fixes to avoid breakages when enabling out-of-line constant pools.
...
Three fixes which are required to pass all the tests when out-of-line constant
pools are enabled for Arm:
- Invalidate embedded objects in optimized code when it is deoptimized such
that the weak pointers in the constant pool array are cleared. This prevents
a CHECK(heap_->mark_compact_collector()->IsMarked(object)) error when a
verifying weak pointers in a deoptimized code object's constant pool.
- Modify LargeObjectSpace::Verify to allow constant pool arrays in the
large object space.
- Increase the 32bit stack size limit, since the constant pool pointer
is now on every stack frame, causing the size of each stack frame to
increase by one word, and causing deep-recursion-test to fail.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/385163005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22445 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 10:03:30 +00:00
yangguo@chromium.org
d1333142e2
Ship ES6 Math functions.
...
R=rossberg@chromium.org
BUG=v8:2938
LOG=Y
Review URL: https://codereview.chromium.org/394833002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22434 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 14:00:15 +00:00
marja@chromium.org
70da8959bc
Implement handling of arrow functions in the parser
...
Arrow functions are parsed from ParseAssignmentExpression(). Handling the
parameter list is done by letting ParseConditionalExpression() parse a comma
separated list of identifiers, and it returns a tree of BinaryOperation nodes
with VariableProxy leaves, or a single VariableProxy if there is only one
parameter. When the arrow token "=>" is found, the VariableProxy nodes are
passed to ParseArrowFunctionLiteral(), which will then skip parsing the
paramaeter list. This avoids having to rewind when the arrow is found and
restart parsing the parameter list.
Note that the empty parameter list "()" is handled directly in
ParsePrimaryExpression(): after is has consumed the opening parenthesis,
if a closing parenthesis follows, then the only valid input is an arrow
function. In this case, ParsePrimaryExpression() directly calls
ParseArrowFunctionLiteral(), to avoid needing to return a sentinel value
to signal the empty parameter list. Because it will consume the body of
the arrow function, ParseAssignmentExpression() will not see the arrow
"=>" token as next, and return the already-parser expression.
The implementation is done in ParserBase, so it was needed to do some
additions to ParserBase, ParserTraits and PreParserTraits. Some of the
glue code can be removed later on when more more functionality is moved
to ParserBase.
Additionally, this adds a runtime flag "harmony_arrow_functions"
(disabled by default); enabling "harmony" will enable it as well.
BUG=v8:2700
LOG=N
R=marja@chromium.org
Review URL: https://codereview.chromium.org/383983002
Patch from Adrián Pérez de Castro <aperez@igalia.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 07:55:45 +00:00
marja@chromium.org
938b57f75b
Revert "Implement handling of arrow functions in the parser"
...
This reverts revision 22320.
Reason: ASAN still detects leaks!
Conflicts:
src/preparser.h
TBR=aperez@igalia.com ,marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/389503002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22337 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 06:39:31 +00:00
marja@chromium.org
e5991fc373
Implement handling of arrow functions in the parser
...
Arrow functions are parsed from ParseAssignmentExpression(). Handling the
parameter list is done by letting ParseConditionalExpression() parse a comma
separated list of identifiers, and it returns a tree of BinaryOperation nodes
with VariableProxy leaves, or a single VariableProxy if there is only one
parameter. When the arrow token "=>" is found, the VariableProxy nodes are
passed to ParseArrowFunctionLiteral(), which will then skip parsing the
paramaeter list. This avoids having to rewind when the arrow is found and
restart parsing the parameter list.
Note that the empty parameter list "()" is handled directly in
ParsePrimaryExpression(): after is has consumed the opening parenthesis,
if a closing parenthesis follows, then the only valid input is an arrow
function. In this case, ParsePrimaryExpression() directly calls
ParseArrowFunctionLiteral(), to avoid needing to return a sentinel value
to signal the empty parameter list. Because it will consume the body of
the arrow function, ParseAssignmentExpression() will not see the arrow
"=>" token as next, and return the already-parser expression.
The implementation is done in ParserBase, so it was needed to do some
additions to ParserBase, ParserTraits and PreParserTraits. Some of the
glue code can be removed later on when more more functionality is moved
to ParserBase.
Additionally, this adds a runtime flag "harmony_arrow_functions"
(disabled by default); enabling "harmony" will enable it as well.
BUG=v8:2700
LOG=N
R=marja@chromium.org
Review URL: https://codereview.chromium.org/385553003
Patch from Adrián Pérez de Castro <aperez@igalia.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22320 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 12:27:07 +00:00
dusan.milosavljevic@rt-rk.com
a0f6878a06
Add mips64 port.
...
Summary:
- Changes in common code are mainly boilerplate changes,
gyp and test status files updates.
- On mips64 simulator all tests pass from all test units.
- Current issues: mjsunit JS debugger tests fail randomly on HW in release mode.
Corresponding tests are skipped on HW.
- Skipped tests on mips64: test-heap/ReleaseOverReservedPages, mjsunit/debug-*
TEST=
BUG=
R=danno@chromium.org , plind44@gmail.com , ulan@chromium.org
Review URL: https://codereview.chromium.org/371923006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 11:08:26 +00:00
yangguo@chromium.org
1aede5f400
Introduce code serializer/deserializer.
...
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/373713006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22276 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 09:04:08 +00:00
jkummerow@chromium.org
3b9da14adf
--trace-ic: much faster and available in Release mode.
...
Also add IC tracing to a path where it was missing.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/368833003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 08:28:08 +00:00
marja@chromium.org
c393b9a576
Revert "Implement handling of arrow functions in the parser"
...
This reverts r22265.
Reason: ASAN tests fail.
BUG=
TBR=marja@chromium.org ,aperez@igalia.com
Review URL: https://codereview.chromium.org/372983003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22266 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 07:48:22 +00:00
marja@chromium.org
7367720daa
Implement handling of arrow functions in the parser
...
Arrow functions are parsed from ParseAssignmentExpression. Handling the
parameter list is done by letting ParseConditionalExpression() parse
a comma-separated list of identifiers, and it returns a tree of
BinaryOperation nodes with VariableProxy leaves, or a single
VariableProxy if there is only one parameter. When the arrow token "=>"
is found, the VariableProxy nodes are passed to ParseFunctionLiteral(),
which will then skip parsing the paramaeter list. This avoids having
to rewind when the arrow is found and restart parsing the parameter
list. Note that ParseExpression() expects parenthesized expressions
to not be empty, so checking for a closing parenthesis is added in
handling the empty parameter list "()" will accept a right-paren and
return an empty expression, which means that the parameter list is
empty.
Additionally, this adds the following machinery:
- A runtime flag "harmony_arrow_functions" (disabled by default).
Enabling "harmony" will enable it as well.
- An IsArrow bit in SharedFunctionInfo, and accessors for it.
- An IsArrow bit in FunctionLiteral, accessorts for it, and
a constructor parameter to set its value.
- In ParserBase: allow_arrow_functions() and set_allow_arrow_functions()
- A V8 native %FunctionIsArrow(), which is used to skip adding the
"function " prefix when getting the source code for an arrow
function.
R=marja@chromium.org
Review URL: https://codereview.chromium.org/160073006
Patch from Adrián Pérez de Castro <aperez@igalia.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22265 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 07:11:13 +00:00