Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(108)

Issue 636403003: Assign bailout and type feedback IDs in a post-pass (Closed)

Created:
6 years, 2 months ago by wingo
Modified:
6 years, 2 months ago
CC:
v8-dev, Dmitry Lomov (no reviews)
Project:
v8
Visibility:
Public.

Description

Assign bailout and type feedback IDs in a post-pass This will allow us to move expressions from one function to another, for example when the parser determines that a given cover grammar instance is actually the default value initializer for an arrow function. R=svenpanne@chromium.org, marja@chromium.org BUG= Committed: https://code.google.com/p/v8/source/detail?r=24757

Patch Set 1 #

Total comments: 8

Patch Set 2 : Address feedback #

Total comments: 9

Patch Set 3 : Fix nits #

Patch Set 4 : Fix traversal #

Patch Set 5 : Rebased #

Unified diffs Side-by-side diffs Delta from patch set Stats (+794 lines, -362 lines) Patch
M BUILD.gn View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M src/ast.h View 1 2 3 4 71 chunks +301 lines, -321 lines 0 comments Download
M src/ast.cc View 1 2 3 4 4 chunks +8 lines, -9 lines 0 comments Download
A src/ast-numbering.h View 1 2 1 chunk +19 lines, -0 lines 0 comments Download
A src/ast-numbering.cc View 1 2 3 1 chunk +416 lines, -0 lines 0 comments Download
M src/ast-value-factory.h View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M src/compiler.h View 2 chunks +0 lines, -3 lines 0 comments Download
M src/compiler.cc View 1 2 3 4 2 chunks +2 lines, -0 lines 0 comments Download
M src/compiler/js-inlining.cc View 1 2 3 4 2 chunks +3 lines, -0 lines 0 comments Download
M src/full-codegen.cc View 1 2 3 4 2 chunks +7 lines, -0 lines 0 comments Download
M src/hydrogen.cc View 1 2 3 4 2 chunks +3 lines, -1 line 0 comments Download
M src/parser.cc View 1 2 4 chunks +4 lines, -5 lines 0 comments Download
M src/preparser.h View 1 2 3 4 8 chunks +5 lines, -10 lines 0 comments Download
M src/preparser.cc View 1 2 3 4 2 chunks +3 lines, -3 lines 0 comments Download
M src/rewriter.cc View 1 2 2 chunks +4 lines, -6 lines 0 comments Download
M src/scopes.cc View 1 2 3 4 1 chunk +1 line, -2 lines 0 comments Download
M test/cctest/compiler/function-tester.h View 1 3 chunks +3 lines, -0 lines 0 comments Download
M test/cctest/compiler/test-codegen-deopt.cc View 1 2 3 4 2 chunks +2 lines, -0 lines 0 comments Download
M test/cctest/compiler/test-pipeline.cc View 1 2 chunks +2 lines, -0 lines 0 comments Download
M test/cctest/test-ast.cc View 1 2 1 chunk +2 lines, -2 lines 0 comments Download
M test/cctest/test-parsing.cc View 1 2 3 4 2 chunks +3 lines, -0 lines 0 comments Download
M tools/gyp/v8.gyp View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 30 (5 generated)
wingo
Here's a patch to move assignment of bailout/feedback IDs to a post-pass. Some initial perf ...
6 years, 2 months ago (2014-10-13 14:09:09 UTC) #1
marja
https://codereview.chromium.org/636403003/diff/1/src/ast-numbering.cc File src/ast-numbering.cc (right): https://codereview.chromium.org/636403003/diff/1/src/ast-numbering.cc#newcode256 src/ast-numbering.cc:256: if (visitor.HasStackOverflow()) return false; Hmm, when can stack overflow ...
6 years, 2 months ago (2014-10-13 14:44:55 UTC) #2
wingo
https://codereview.chromium.org/636403003/diff/1/src/ast-numbering.cc File src/ast-numbering.cc (right): https://codereview.chromium.org/636403003/diff/1/src/ast-numbering.cc#newcode256 src/ast-numbering.cc:256: if (visitor.HasStackOverflow()) return false; On 2014/10/13 14:44:55, marja wrote: ...
6 years, 2 months ago (2014-10-13 15:47:24 UTC) #3
marja
Alright, turns out things related to the bailout IDs have changed a lot since we ...
6 years, 2 months ago (2014-10-13 15:56:26 UTC) #4
Sven Panne
Could you please explain how this is supposed to work? As it is, I don't ...
6 years, 2 months ago (2014-10-14 06:56:27 UTC) #6
Sven Panne
Another hint: Whenever you change something deopt-related, please run the deopt fuzzer, e.g.: ./tools/run-deopt-fuzzer.py --mode ...
6 years, 2 months ago (2014-10-14 06:59:43 UTC) #7
wingo
On 2014/10/14 06:56:27, Sven Panne wrote: > Could you please explain how this is supposed ...
6 years, 2 months ago (2014-10-14 07:32:38 UTC) #8
Sven Panne
Just a few more quick remarks. I still don't understand why we suddenly need 5 ...
6 years, 2 months ago (2014-10-14 11:06:00 UTC) #9
marja
dslomov@ had some alternative ideas on how to do the numbering, pls don't land before ...
6 years, 2 months ago (2014-10-14 11:08:37 UTC) #11
marja
https://codereview.chromium.org/636403003/diff/1/src/ast-numbering.cc File src/ast-numbering.cc (right): https://codereview.chromium.org/636403003/diff/1/src/ast-numbering.cc#newcode24 src/ast-numbering.cc:24: #define DEFINE_VISIT(type) \ On 2014/10/14 11:06:00, Sven Panne wrote: ...
6 years, 2 months ago (2014-10-14 11:10:00 UTC) #12
Sven Panne
On 2014/10/14 11:10:00, marja wrote: > Acutally, I think it's silly that all visitors need ...
6 years, 2 months ago (2014-10-14 11:37:11 UTC) #13
wingo
On 2014/10/14 11:06:00, Sven Panne wrote: > Just a few more quick remarks. I still ...
6 years, 2 months ago (2014-10-14 12:20:30 UTC) #14
wingo
Updated a new changeset addressing feedback; ptal :) I haven't fuzzed it or run the ...
6 years, 2 months ago (2014-10-14 17:22:03 UTC) #16
Sven Panne
https://codereview.chromium.org/636403003/diff/270001/src/ast-numbering.h File src/ast-numbering.h (right): https://codereview.chromium.org/636403003/diff/270001/src/ast-numbering.h#newcode13 src/ast-numbering.h:13: class AstNumbering { This is not really a class, ...
6 years, 2 months ago (2014-10-15 07:41:56 UTC) #17
wingo
Fixed nits. https://codereview.chromium.org/636403003/diff/270001/src/ast-numbering.h File src/ast-numbering.h (right): https://codereview.chromium.org/636403003/diff/270001/src/ast-numbering.h#newcode13 src/ast-numbering.h:13: class AstNumbering { On 2014/10/15 07:41:56, Sven ...
6 years, 2 months ago (2014-10-15 13:53:19 UTC) #18
wingo
On 2014/10/14 06:59:43, Sven Panne wrote: > Another hint: Whenever you change something deopt-related, please ...
6 years, 2 months ago (2014-10-15 14:04:14 UTC) #19
wingo
Turns out in the previous version I was doing an n² traversal -- it was ...
6 years, 2 months ago (2014-10-20 11:32:10 UTC) #22
wingo
Patchset 4 is just patchset 3, rebased.
6 years, 2 months ago (2014-10-20 13:55:04 UTC) #23
wingo
On 2014/10/20 13:55:04, wingo wrote: > Patchset 4 is just patchset 3, rebased. Er, um. ...
6 years, 2 months ago (2014-10-20 13:57:38 UTC) #24
rossberg
On 2014/10/20 11:32:10, wingo wrote: > The end result here is that now the time ...
6 years, 2 months ago (2014-10-20 14:20:14 UTC) #25
Sven Panne
LGTM, I can land this when we have some performance numbers and the fuzzer is ...
6 years, 2 months ago (2014-10-21 07:03:41 UTC) #26
Sven Panne
The benchmarks look OK, I can't see any regression (in all that noise :-P ), ...
6 years, 2 months ago (2014-10-21 08:51:21 UTC) #27
Sven Panne
Committed patchset #5 (id:370001) manually as 24757 (presubmit successful).
6 years, 2 months ago (2014-10-21 08:52:57 UTC) #28
Sven Panne
I'll have to revert this, it breaks the ARM64 simulator build. Simple repro: out/arm64.debug/d8 -e ...
6 years, 2 months ago (2014-10-21 10:51:41 UTC) #29
wingo (chromium)
6 years, 2 months ago (2014-10-21 11:04:06 UTC) #30
Message was sent while issue was closed.
On 2014/10/21 10:51:41, Sven Panne wrote:
> I'll have to revert this, it breaks the ARM64 simulator build. Simple repro:
> 
> out/arm64.debug/d8 -e 'eval("(function(){ const x; var x; })")'

whoops -- will fix and resubmit.  thanks for the help and sorry for the noise!

Powered by Google App Engine
This is Rietveld 408576698