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

Issue 2035813002: [Interpreter] Move jump processing to bytecode array writer. (Closed)

Created:
4 years, 6 months ago by rmcilroy
Modified:
4 years, 6 months ago
Reviewers:
oth
CC:
v8-reviews_googlegroups.com, oth, rmcilroy
Base URL:
https://chromium.googlesource.com/v8/v8.git@int_fix_bytecode
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[Interpreter] Move jump processing to bytecode array writer. This moves processing of jumps out of bytecode array builder and into bytecode array writer. This simplifies the pipeline by avoiding having to flush for offset and patch up offsets in bytecode array builder based on what was emitted by the bytecode array writer. This also enables future refactorings to add dead code elimination back into the pipeline, and move processing of scalable operand sizes to the end of the pipeline (in the bytecode array writer) rather than having to deal with scalable operand types throughout pipeline. BUG=v8:4280, chromium:616064 Committed: https://crrev.com/de9d1d8bc6a79e9f488c606f302527f1c2a34a69 Cr-Commit-Position: refs/heads/master@{#36716}

Patch Set 1 : #

Total comments: 4

Patch Set 2 : Address comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+767 lines, -734 lines) Patch
M BUILD.gn View 1 chunk +1 line, -0 lines 0 comments Download
M src/interpreter/bytecode-array-builder.h View 6 chunks +2 lines, -57 lines 0 comments Download
M src/interpreter/bytecode-array-builder.cc View 38 chunks +25 lines, -279 lines 0 comments Download
M src/interpreter/bytecode-array-writer.h View 1 chunk +33 lines, -12 lines 0 comments Download
M src/interpreter/bytecode-array-writer.cc View 2 chunks +247 lines, -13 lines 0 comments Download
M src/interpreter/bytecode-generator.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/interpreter/bytecode-generator.cc View 60 chunks +0 lines, -80 lines 0 comments Download
A src/interpreter/bytecode-label.h View 1 chunk +56 lines, -0 lines 0 comments Download
M src/interpreter/bytecode-peephole-optimizer.h View 2 chunks +8 lines, -3 lines 0 comments Download
M src/interpreter/bytecode-peephole-optimizer.cc View 3 chunks +55 lines, -45 lines 0 comments Download
M src/interpreter/bytecode-pipeline.h View 2 chunks +21 lines, -6 lines 0 comments Download
M src/interpreter/bytecode-register-optimizer.h View 1 chunk +6 lines, -2 lines 0 comments Download
M src/interpreter/bytecode-register-optimizer.cc View 2 chunks +54 lines, -36 lines 0 comments Download
M src/interpreter/control-flow-builders.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/v8.gyp View 1 chunk +1 line, -0 lines 0 comments Download
M test/cctest/interpreter/test-interpreter.cc View 1 chunk +1 line, -0 lines 0 comments Download
M test/unittests/interpreter/bytecode-array-builder-unittest.cc View 1 9 chunks +49 lines, -14 lines 0 comments Download
M test/unittests/interpreter/bytecode-array-writer-unittest.cc View 5 chunks +66 lines, -38 lines 0 comments Download
M test/unittests/interpreter/bytecode-peephole-optimizer-unittest.cc View 22 chunks +102 lines, -102 lines 0 comments Download
M test/unittests/interpreter/bytecode-register-optimizer-unittest.cc View 4 chunks +38 lines, -47 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 19 (10 generated)
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2035813002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/2035813002/1
4 years, 6 months ago (2016-06-02 16:38:07 UTC) #2
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2035813002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/2035813002/20001
4 years, 6 months ago (2016-06-02 16:49:47 UTC) #4
rmcilroy
I'll run some benchmarks tomorrow but I don't think this should impact perf too much, ...
4 years, 6 months ago (2016-06-02 17:05:20 UTC) #7
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 6 months ago (2016-06-02 17:15:39 UTC) #9
oth
LGTM. Not as painful as expected, good job here. https://codereview.chromium.org/2035813002/diff/20001/test/unittests/interpreter/bytecode-array-builder-unittest.cc File test/unittests/interpreter/bytecode-array-builder-unittest.cc (right): https://codereview.chromium.org/2035813002/diff/20001/test/unittests/interpreter/bytecode-array-builder-unittest.cc#newcode356 test/unittests/interpreter/bytecode-array-builder-unittest.cc:356: ...
4 years, 6 months ago (2016-06-03 09:50:21 UTC) #10
rmcilroy
https://codereview.chromium.org/2035813002/diff/20001/test/unittests/interpreter/bytecode-array-builder-unittest.cc File test/unittests/interpreter/bytecode-array-builder-unittest.cc (right): https://codereview.chromium.org/2035813002/diff/20001/test/unittests/interpreter/bytecode-array-builder-unittest.cc#newcode356 test/unittests/interpreter/bytecode-array-builder-unittest.cc:356: // Insert entries for bytecodes only emiited by peephole ...
4 years, 6 months ago (2016-06-03 14:27:15 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2035813002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/2035813002/40001
4 years, 6 months ago (2016-06-03 14:27:29 UTC) #15
commit-bot: I haz the power
Committed patchset #2 (id:40001)
4 years, 6 months ago (2016-06-03 14:53:05 UTC) #17
commit-bot: I haz the power
4 years, 6 months ago (2016-06-03 14:53:34 UTC) #19
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/de9d1d8bc6a79e9f488c606f302527f1c2a34a69
Cr-Commit-Position: refs/heads/master@{#36716}

Powered by Google App Engine
This is Rietveld 408576698