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

Issue 1673333004: [Interpreter] Make InterpreterAssembler a subclass of CodeStubAssembler. (Closed)

Created:
4 years, 10 months ago by rmcilroy
Modified:
4 years, 10 months ago
CC:
oth, rmcilroy, 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] Make InterpreterAssembler a subclass of CodeStubAssembler. Moves InterpreterAssembler out of the compiler directory and into the interpreter directory. Makes InterpreterAssembler as subclass of CodeStubAssembler. As part of this change, the special bytecode dispatch linkage type is removed and instead we use a InterfaceDispatchDescriptor and a normal CodeStub linkage type. Removes a bunch of duplicated logic in InterpreterAssembler and instead uses the CodeStubAssembler logic. Refactors Interpreter with these changes. Modifies CodeStubAssembler to add the extra operations required by the Interpreter (extra call types, raw memory access and some extra binary ops). Also adds the ability for subclasses to add extra prologue and epilogue operations around calls, which is required for the Interpreter. BUG=v8:4280 LOG=N Committed: https://crrev.com/d1c28849c77892ec74e58891aba44d5bfda8c0ba Cr-Commit-Position: refs/heads/master@{#33873}

Patch Set 1 : #

Total comments: 2

Patch Set 2 : Fix debug-code #

Total comments: 14

Patch Set 3 : Address review comments. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1083 lines, -3055 lines) Patch
M BUILD.gn View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M WATCHLISTS View 1 2 1 chunk +0 lines, -1 line 0 comments Download
M src/arm/interface-descriptors-arm.cc View 3 chunks +8 lines, -2 lines 0 comments Download
M src/arm64/interface-descriptors-arm64.cc View 3 chunks +8 lines, -2 lines 0 comments Download
M src/compiler/code-stub-assembler.h View 1 2 7 chunks +59 lines, -8 lines 0 comments Download
M src/compiler/code-stub-assembler.cc View 9 chunks +180 lines, -11 lines 0 comments Download
D src/compiler/interpreter-assembler.h View 1 chunk +0 lines, -241 lines 0 comments Download
D src/compiler/interpreter-assembler.cc View 1 chunk +0 lines, -788 lines 0 comments Download
M src/compiler/linkage.h View 2 chunks +0 lines, -14 lines 0 comments Download
M src/compiler/linkage.cc View 1 chunk +0 lines, -54 lines 0 comments Download
M src/ia32/interface-descriptors-ia32.cc View 3 chunks +7 lines, -2 lines 0 comments Download
M src/interface-descriptors.h View 3 chunks +13 lines, -1 line 0 comments Download
M src/interface-descriptors.cc View 1 chunk +13 lines, -0 lines 0 comments Download
D src/interpreter/DEPS View 1 chunk +0 lines, -3 lines 0 comments Download
M src/interpreter/interpreter.h View 3 chunks +24 lines, -25 lines 0 comments Download
M src/interpreter/interpreter.cc View 154 chunks +266 lines, -300 lines 0 comments Download
A + src/interpreter/interpreter-assembler.h View 1 2 2 chunks +78 lines, -127 lines 0 comments Download
A + src/interpreter/interpreter-assembler.cc View 1 7 chunks +195 lines, -496 lines 0 comments Download
M src/mips/interface-descriptors-mips.cc View 3 chunks +8 lines, -2 lines 0 comments Download
M src/mips64/interface-descriptors-mips64.cc View 3 chunks +8 lines, -2 lines 0 comments Download
M src/ppc/interface-descriptors-ppc.cc View 3 chunks +8 lines, -2 lines 0 comments Download
M src/x64/interface-descriptors-x64.cc View 3 chunks +8 lines, -2 lines 0 comments Download
M src/x87/interface-descriptors-x87.cc View 3 chunks +8 lines, -2 lines 0 comments Download
D test/unittests/compiler/interpreter-assembler-unittest.h View 1 chunk +0 lines, -57 lines 0 comments Download
D test/unittests/compiler/interpreter-assembler-unittest.cc View 1 chunk +0 lines, -705 lines 0 comments Download
A + test/unittests/interpreter/interpreter-assembler-unittest.h View 1 2 3 chunks +21 lines, -21 lines 0 comments Download
A + test/unittests/interpreter/interpreter-assembler-unittest.cc View 30 chunks +165 lines, -181 lines 0 comments Download
M test/unittests/unittests.gyp View 2 chunks +2 lines, -2 lines 0 comments Download
M tools/gyp/v8.gyp View 1 2 2 chunks +2 lines, -2 lines 0 comments Download

Depends on Patchset:

Dependent Patchsets:

Messages

Total messages: 38 (20 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/1673333004/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1673333004/1
4 years, 10 months ago (2016-02-09 17:38:56 UTC) #2
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_linux64_asan_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux64_asan_rel/builds/13440) v8_linux64_avx2_rel on ...
4 years, 10 months ago (2016-02-09 17:39:55 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/1673333004/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1673333004/20001
4 years, 10 months ago (2016-02-09 17:49:57 UTC) #7
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_linux_nodcheck_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_nodcheck_rel/builds/11989)
4 years, 10 months ago (2016-02-09 17:52:13 UTC) #9
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1673333004/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1673333004/60001
4 years, 10 months ago (2016-02-09 19:05:33 UTC) #14
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_mac_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_mac_rel/builds/15203) v8_win_rel_ng on ...
4 years, 10 months ago (2016-02-09 19:10:53 UTC) #16
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1673333004/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1673333004/80001
4 years, 10 months ago (2016-02-09 19:20:22 UTC) #19
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_linux_dbg_ng on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_dbg_ng/builds/1142) v8_linux_dbg_ng_triggered on ...
4 years, 10 months ago (2016-02-09 19:40:53 UTC) #21
rmcilroy
Enrico, please take a look at code-assembler changes. Orion, please take a look at the ...
4 years, 10 months ago (2016-02-09 21:37:27 UTC) #23
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1673333004/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1673333004/100001
4 years, 10 months ago (2016-02-10 10:14:16 UTC) #25
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 10 months ago (2016-02-10 10:46:51 UTC) #27
epertoso
lgtm https://codereview.chromium.org/1673333004/diff/80001/src/compiler/code-stub-assembler.h File src/compiler/code-stub-assembler.h (right): https://codereview.chromium.org/1673333004/diff/80001/src/compiler/code-stub-assembler.h#newcode69 src/compiler/code-stub-assembler.h:69: V(UintPtrLessThanOrEqual) I think you just need one of ...
4 years, 10 months ago (2016-02-10 11:05:37 UTC) #28
oth
lgtm, quite a change and for the better. https://codereview.chromium.org/1673333004/diff/100001/src/compiler/code-stub-assembler.h File src/compiler/code-stub-assembler.h (right): https://codereview.chromium.org/1673333004/diff/100001/src/compiler/code-stub-assembler.h#newcode76 src/compiler/code-stub-assembler.h:76: size_t ...
4 years, 10 months ago (2016-02-10 11:57:53 UTC) #29
Michael Starzinger
LGTM. Nice, I like! Just nits. https://codereview.chromium.org/1673333004/diff/100001/src/compiler/linkage.h File src/compiler/linkage.h (left): https://codereview.chromium.org/1673333004/diff/100001/src/compiler/linkage.h#oldcode342 src/compiler/linkage.h:342: static CallDescriptor* GetInterpreterDispatchDescriptor(Zone* ...
4 years, 10 months ago (2016-02-10 12:51:37 UTC) #30
rmcilroy
https://codereview.chromium.org/1673333004/diff/80001/src/compiler/code-stub-assembler.h File src/compiler/code-stub-assembler.h (right): https://codereview.chromium.org/1673333004/diff/80001/src/compiler/code-stub-assembler.h#newcode69 src/compiler/code-stub-assembler.h:69: V(UintPtrLessThanOrEqual) On 2016/02/10 11:05:37, epertoso wrote: > I think ...
4 years, 10 months ago (2016-02-10 16:13:40 UTC) #31
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1673333004/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1673333004/120001
4 years, 10 months ago (2016-02-10 16:14:54 UTC) #34
commit-bot: I haz the power
Committed patchset #3 (id:120001)
4 years, 10 months ago (2016-02-10 16:38:56 UTC) #36
commit-bot: I haz the power
4 years, 10 months ago (2016-02-10 16:39:41 UTC) #38
Message was sent while issue was closed.
Patchset 3 (id:??) landed as
https://crrev.com/d1c28849c77892ec74e58891aba44d5bfda8c0ba
Cr-Commit-Position: refs/heads/master@{#33873}

Powered by Google App Engine
This is Rietveld 408576698