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

Issue 1502243002: [Interpreter] Local flow control in the bytecode graph builder. (Closed)

Created:
5 years ago by oth
Modified:
5 years ago
CC:
v8-reviews_googlegroups.com
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[Interpreter] Local flow control in the bytecode graph builder. This change adds support for local control flow when building graphs from bytecode. The change ensures loop emitted from the bytecode generator are in natural order so the only back branches are for loops. BUG=v8:4280 LOG=N Committed: https://crrev.com/d3168202f52d78cbcfe755d17884bbafa6cc09b5 Cr-Commit-Position: refs/heads/master@{#32911}

Patch Set 1 #

Patch Set 2 : Build fix. #

Total comments: 44

Patch Set 3 : Incorporate review comments on https://codereview.chromium.org/1502243002/#ps20001 #

Patch Set 4 : Remove an unnecessary test uploaded by accident. #

Patch Set 5 : Fix compilation for Android. #

Patch Set 6 : Simplify by making bytecode order and control flow order the same. #

Patch Set 7 : Remove dead file. #

Patch Set 8 : Rebase #

Total comments: 28

Patch Set 9 : Incorporate comments by rmcilroy on patchset 8. #

Patch Set 10 : Fix bug in jump classification. #

Total comments: 22

Patch Set 11 : Incorporate comments by mstarzinger on patchet 10. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1409 lines, -298 lines) Patch
M BUILD.gn View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
A src/compiler/bytecode-branch-analysis.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +79 lines, -0 lines 0 comments Download
A src/compiler/bytecode-branch-analysis.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +125 lines, -0 lines 0 comments Download
M src/compiler/bytecode-graph-builder.h View 1 2 3 4 5 6 7 8 7 chunks +72 lines, -5 lines 0 comments Download
M src/compiler/bytecode-graph-builder.cc View 1 2 3 4 5 6 7 8 9 10 9 chunks +271 lines, -17 lines 0 comments Download
M src/interpreter/bytecode-array-builder.h View 1 2 3 4 5 6 7 1 chunk +7 lines, -5 lines 0 comments Download
M src/interpreter/bytecode-array-iterator.h View 1 2 3 4 5 6 7 8 1 chunk +5 lines, -0 lines 0 comments Download
M src/interpreter/bytecode-array-iterator.cc View 1 2 3 4 5 1 chunk +15 lines, -0 lines 0 comments Download
M src/interpreter/bytecode-generator.cc View 1 2 3 4 5 6 7 8 3 chunks +43 lines, -82 lines 0 comments Download
M src/interpreter/bytecodes.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +20 lines, -1 line 0 comments Download
M src/interpreter/bytecodes.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +37 lines, -6 lines 0 comments Download
M src/interpreter/control-flow-builders.h View 1 2 3 4 5 6 7 8 9 10 5 chunks +16 lines, -4 lines 0 comments Download
M src/interpreter/control-flow-builders.cc View 1 2 3 4 5 6 7 8 3 chunks +31 lines, -0 lines 0 comments Download
M test/cctest/compiler/test-run-bytecode-graph-builder.cc View 1 2 3 4 5 6 7 1 chunk +390 lines, -0 lines 0 comments Download
M test/cctest/interpreter/test-bytecode-generator.cc View 1 2 3 4 5 6 7 12 chunks +294 lines, -178 lines 0 comments Download
M tools/gyp/v8.gyp View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 23 (7 generated)
oth
rmcilroy@chromium.org: PTAL, thanks! mstarzinger@chromium.org: PTAL at the changes in the compiler directory, thanks!
5 years ago (2015-12-07 16:42:33 UTC) #2
rmcilroy
I'll not pretend to understand all of this, but looks pretty awesome! Some comments, but ...
5 years ago (2015-12-08 13:25:08 UTC) #3
oth
Thanks for the excellent comments. Incorporated all which simplified block creation and linking. https://codereview.chromium.org/1502243002/diff/20001/src/compiler/bytecode-basic-block-analysis.cc File ...
5 years ago (2015-12-09 11:26:45 UTC) #4
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1502243002/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1502243002/120001
5 years ago (2015-12-12 13:36:56 UTC) #6
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_linux64_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux64_rel/builds/13136) v8_linux_dbg on ...
5 years ago (2015-12-12 13:38:26 UTC) #8
oth
Michi, Ross, PTAL. This latest change aims to constrain and simplify the problem as discussed ...
5 years ago (2015-12-14 07:47:14 UTC) #10
rmcilroy
Looking good. I like the changes in the bytecode-generator, makes things simpler IMO. https://codereview.chromium.org/1502243002/diff/140001/src/compiler/bytecode-branch-analysis.cc File ...
5 years ago (2015-12-15 17:35:44 UTC) #11
oth
Thanks for the excellent feedback, incorporated nearly everything. https://codereview.chromium.org/1502243002/diff/140001/src/compiler/bytecode-branch-analysis.cc File src/compiler/bytecode-branch-analysis.cc (right): https://codereview.chromium.org/1502243002/diff/140001/src/compiler/bytecode-branch-analysis.cc#newcode27 src/compiler/bytecode-branch-analysis.cc:27: // ...
5 years ago (2015-12-15 22:42:17 UTC) #12
Michael Starzinger
Looking good, I like this new approach. Only nits. https://codereview.chromium.org/1502243002/diff/180001/src/compiler/bytecode-branch-analysis.h File src/compiler/bytecode-branch-analysis.h (right): https://codereview.chromium.org/1502243002/diff/180001/src/compiler/bytecode-branch-analysis.h#newcode9 src/compiler/bytecode-branch-analysis.h:9: ...
5 years ago (2015-12-16 12:40:12 UTC) #13
oth
Excellent comments. Revised and updated the CL. Thanks! https://codereview.chromium.org/1502243002/diff/180001/src/compiler/bytecode-branch-analysis.h File src/compiler/bytecode-branch-analysis.h (right): https://codereview.chromium.org/1502243002/diff/180001/src/compiler/bytecode-branch-analysis.h#newcode9 src/compiler/bytecode-branch-analysis.h:9: #include ...
5 years ago (2015-12-16 14:17:06 UTC) #14
rmcilroy
lgtm
5 years ago (2015-12-16 15:08:51 UTC) #15
Michael Starzinger
LGTM.
5 years ago (2015-12-16 15:12:04 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1502243002/200001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1502243002/200001
5 years ago (2015-12-16 16:03:55 UTC) #18
oth
Thanks for the help with this. Attempting to land now.
5 years ago (2015-12-16 16:04:34 UTC) #19
commit-bot: I haz the power
Committed patchset #11 (id:200001)
5 years ago (2015-12-16 16:29:14 UTC) #21
commit-bot: I haz the power
5 years ago (2015-12-16 16:29:54 UTC) #23
Message was sent while issue was closed.
Patchset 11 (id:??) landed as
https://crrev.com/d3168202f52d78cbcfe755d17884bbafa6cc09b5
Cr-Commit-Position: refs/heads/master@{#32911}

Powered by Google App Engine
This is Rietveld 408576698