Commit Graph

847 Commits

Author SHA1 Message Date
wingo
652061ed72 Rebase GDBJIT interface solely on JITCodeEvent
R=mstarzinger@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26858}
2015-02-25 15:40:57 +00:00
bmeurer
49b112e117 Revert of Rebase GDBJIT interface solely on JITCodeEvent (patchset #2 id:20001 of https://codereview.chromium.org/957673004/)
Reason for revert:
Doesn't compile

Original issue's description:
> Rebase GDBJIT interface solely on JITCodeEvent
>
> R=mstarzinger@chromium.org
> BUG=
>
> Committed: 8989d828e8

TBR=mstarzinger@chromium.org,wingo@igalia.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26848}
2015-02-25 12:03:04 +00:00
Andy Wingo
8989d828e8 Rebase GDBJIT interface solely on JITCodeEvent
R=mstarzinger@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26847}
2015-02-25 11:49:47 +00:00
jochen
3735a0851a Revert of Revert of Turn on job based recompilation (patchset #1 id:1 of https://codereview.chromium.org/937263004/)
Reason for revert:
reland

Original issue's description:
> Revert of Turn on job based recompilation (patchset #1 id:1 of https://codereview.chromium.org/935243003/)
>
> Reason for revert:
> waterfall disagrees
>
> Original issue's description:
> > Turn on job based recompilation
> >
> > BUG=v8:3608
> > R=yangguo@chromium.org
> > LOG=y
> >
> > Committed: https://crrev.com/4ae82f64b09cdc0182cee3a5cc619a9117ac5fbc
> > Cr-Commit-Position: refs/heads/master@{#26826}
>
> TBR=yangguo@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=v8:3608
>
> Committed: https://crrev.com/35cc692aecdea54fb07479b8d7b71059851e07e8
> Cr-Commit-Position: refs/heads/master@{#26827}

TBR=yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3608

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

Cr-Commit-Position: refs/heads/master@{#26829}
2015-02-24 16:37:36 +00:00
jochen
35cc692aec Revert of Turn on job based recompilation (patchset #1 id:1 of https://codereview.chromium.org/935243003/)
Reason for revert:
waterfall disagrees

Original issue's description:
> Turn on job based recompilation
>
> BUG=v8:3608
> R=yangguo@chromium.org
> LOG=y
>
> Committed: https://crrev.com/4ae82f64b09cdc0182cee3a5cc619a9117ac5fbc
> Cr-Commit-Position: refs/heads/master@{#26826}

TBR=yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3608

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

Cr-Commit-Position: refs/heads/master@{#26827}
2015-02-24 15:50:12 +00:00
jochen
4ae82f64b0 Turn on job based recompilation
BUG=v8:3608
R=yangguo@chromium.org
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#26826}
2015-02-24 15:20:33 +00:00
jochen
2f7c192676 Get rid of recursive locks for job based recompilation
For flushing the input queue, use the input queue lock. Introduce an
explicit refcount to make sure we don't delete the thread object before
all jobs are finished.

BUG=v8:3608
R=yangguo@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26812}
2015-02-24 10:41:41 +00:00
bmeurer
0882d3ff81 [turbofan] Initial version of branch cloning.
This implements a special case of block cloning to recognize constructs like

 if (a ? b : c) { ... }

that happen to be generated by Emscripten quite often.

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

Cr-Commit-Position: refs/heads/master@{#26808}
2015-02-24 07:41:36 +00:00
adamk
27e8a455df Rename Interface to ModuleDescriptor
ModuleDescriptor will end up holding the set of data described in the
spec as a "Module record". This introduces a little bit of confusion
with ModuleInfo, but I hope that'll become clearer over time.

Also removed the interface-printing flags. We probably want
Module-printing flags, but that can wait until we have more
Module-related structures.

BUG=v8:1569
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26728}
2015-02-18 18:25:21 +00:00
rossberg
5fc2b41ccd Reship classes & object literal extensions
R=arv@chromium.org,marja@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26709}
2015-02-17 21:06:31 +00:00
bmeurer
acd9c46ca7 [turbofan] Optimize certain chains of Branch into a Switch.
This adds a new ControlFlowOptimizer that - for now - recognizes chains
of Branches generated by the SwitchBuilder for a subset of javascript
switches into Switch nodes. Those Switch nodes are then lowered to
either table or lookup switches.

Also rename Case to IfValue (and introduce IfDefault) for consistency.

BUG=v8:3872
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26691}
2015-02-17 13:29:46 +00:00
ulan
66ca91b9d2 Add historgram for number of GC needed to collect a detached context.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26690}
2015-02-17 13:22:05 +00:00
Dmitry Lomov
7866f00508 Remove --experimental-classes flag and related dead code.
R=arv@chromium.org
BUG=v8:3834
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#26631}
2015-02-12 20:07:15 +00:00
Dmitry Lomov
2707d4c9f4 new classes: no longer experimental.
This CL fixes tests that no longer valid and also fixes two issues:
1. 'super()' in non derived constructors.
2. Failure to step into derived constructors.

R=arv@chromium.org, yurys@chromium.org
BUG=v8:3834
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#26628}
2015-02-12 18:06:52 +00:00
rossberg
5cd84502bf [strong] Introduce --use-strong flag
R=marja@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26556}
2015-02-10 19:13:01 +00:00
jochen
4357bef53b Add a flag to over approximate the weak closure during GC
BUG=v8:3862
R=hpayer@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26532}
2015-02-09 16:26:03 +00:00
marja
299b369cc9 Split --harmony-unicode and --harmony-unicode-regexps.
This way we can ship \u{..} escapes in strings / identifiers before shipping /u
regexps.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26461}
2015-02-05 14:17:09 +00:00
marja
d21b9a1422 Add strong mode.
It doesn't do anything for now, but it implies strict mode. Added tests to
test-parsing.cc to test that.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26460}
2015-02-05 14:11:47 +00:00
ulan
b7d27ea583 Add a flag to track detached contexts.
When embedder detaches the global objects, its context must be garbage
collected eventually.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26450}
2015-02-05 09:35:59 +00:00
verwaest
fea7ddb640 Reset inlining limits due to overly long compilation times in Speedometer, Dart2JS
BUG=454625
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#26405}
2015-02-03 15:03:01 +00:00
Benedikt Meurer
d8cfbc633d [turbofan] Split pure nodes in the scheduler if beneficial.
If a (pure) node has two or more uses, but there exists a path from the
common dominator of these uses to end, which does not contain a use,
then we split the node such that no unnecessary computation takes place.
Note however, that this only applies if the node cannot be hoisted out
of a loop.

BUG=v8:3864
LOG=n
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26404}
2015-02-03 14:51:08 +00:00
danno
21cdb967a4 [turbofan]: Small visualizer cleanup and fix for string handling
R=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26399}
2015-02-03 13:11:00 +00:00
mstarzinger
77d612691d First stab at try-catch and try-finally in TurboFan.
R=titzer@chromium.org,jarin@chromium.org
TEST=cctest/test-run-jsexceptions

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

Cr-Commit-Position: refs/heads/master@{#26398}
2015-02-03 13:10:01 +00:00
Yang Guo
b856e87859 Revert of Fix --max_old_space_size=4096 integer overflow. (patchset #1 id:1 of https://codereview.chromium.org/890563003/)
Reason for revert:
Win64 compile failure.

Original issue's description:
> Fix --max_old_space_size=4096 integer overflow.
>
> R=yangguo@chromium.org
>
> Committed: https://crrev.com/6253aa8908c55535473ddbe1db8e5a6f5e559b73
> Cr-Commit-Position: refs/heads/master@{#26371}

TBR=svenpanne@chromium.org,ben@strongloop.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26372}
2015-02-01 08:08:47 +00:00
Yang Guo
6253aa8908 Fix --max_old_space_size=4096 integer overflow.
R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26371}
2015-01-31 20:45:46 +00:00
caitpotter88
9355457b55 Implement parsing of ES6 Rest Parameters
BUG=v8:2159
LOG=N
R=marja@chromium.org, arv@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26362}
2015-01-30 15:21:50 +00:00
verwaest
df5b2ee334 Bump max-inlined-nodes-cumulative
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26321}
2015-01-29 10:11:31 +00:00
mvstanton
7d363783e1 Continue learning for calls in crankshaft.
The type feedback vector makes this easy to do.
This is a re-land of https://codereview.chromium.org/868453005/
with a fix for the DCHECK failure.

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

Cr-Commit-Position: refs/heads/master@{#26302}
2015-01-28 09:03:19 +00:00
bmeurer
4f1597a92d [turbofan] Add new JSIntrinsicsLowering reducer.
The lowering of intrinsics is therefore now decoupled from the general
inlining logic.

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

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

Cr-Commit-Position: refs/heads/master@{#26263}
2015-01-26 09:06:03 +00:00
dslomov
22ce08ade6 new classes: change semantics of super(...) call and add new.target to construct stub.
R=arv@chromium.org,rossberg@chromium.org
BUG=v8:3834
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#26227}
2015-01-22 18:39:47 +00:00
jkummerow
feffccca22 Profiler improvements
(1) --prof-cpp: Collects ticks like --prof, but ignores code creation events to reduce distortion (so all JS ticks will be "unaccounted"). Useful for profiling C++ code.
(2) --timed-range flag for tick processor: Ignores ticks before the first and after the last call to Date.now(). Useful for focusing on the timed section of a test.

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

Cr-Commit-Position: refs/heads/master@{#26168}
2015-01-20 16:06:09 +00:00
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