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

Issue 1370893002: [Interpreter] Add support for short (16 bit) operands. (Closed)

Created:
5 years, 2 months ago by rmcilroy
Modified:
5 years, 2 months ago
Reviewers:
oth, Michael Starzinger
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] Add support for short (16 bit) operands. Adds support for short operands, starting with kIdx16. Introduces BytecodeTraits to enable compile time determination of various traits for a bytecode, such as size, operands, etc. Reworks BytecodeIterator, BytecodeArrayBuilder and Bytecodes::Decode to support 16 bit operands. Adds support to Interpreter to load 16 bit operands. Also fixes a bug with ToBoolean where it wouldn't get emitted at the start of a block, and added a test. BytecodeTraits template magic inspired by oth@chromium.org. BUG=v8:4280 LOG=N Committed: https://crrev.com/03369ed2cb95d26e174e603152aace966c866077 Cr-Commit-Position: refs/heads/master@{#31058}

Patch Set 1 : #

Patch Set 2 : Fix Win bots. #

Total comments: 6

Patch Set 3 : Rename to kIdx16 and add support for architectures which don't support unaligned accesses. #

Total comments: 10

Patch Set 4 : Rebase #

Patch Set 5 : Fix final nits #

Patch Set 6 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+730 lines, -228 lines) Patch
M BUILD.gn View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/bytecode-graph-builder.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/interpreter-assembler.h View 1 2 3 3 chunks +10 lines, -3 lines 0 comments Download
M src/compiler/interpreter-assembler.cc View 1 2 3 4 4 chunks +69 lines, -8 lines 0 comments Download
M src/interpreter/bytecode-array-builder.h View 1 2 3 4 5 1 chunk +8 lines, -8 lines 0 comments Download
M src/interpreter/bytecode-array-builder.cc View 1 2 3 4 5 3 chunks +45 lines, -27 lines 0 comments Download
M src/interpreter/bytecode-array-iterator.h View 1 2 1 chunk +2 lines, -2 lines 0 comments Download
M src/interpreter/bytecode-array-iterator.cc View 1 2 1 chunk +22 lines, -8 lines 0 comments Download
A src/interpreter/bytecode-traits.h View 1 2 1 chunk +180 lines, -0 lines 0 comments Download
M src/interpreter/bytecodes.h View 1 2 3 4 5 6 chunks +103 lines, -74 lines 0 comments Download
M src/interpreter/bytecodes.cc View 1 2 3 4 5 8 chunks +119 lines, -41 lines 0 comments Download
M src/interpreter/interpreter.cc View 1 2 3 11 chunks +16 lines, -16 lines 0 comments Download
M test/cctest/interpreter/test-bytecode-generator.cc View 1 2 3 4 5 1 chunk +21 lines, -6 lines 0 comments Download
M test/unittests/compiler/interpreter-assembler-unittest.h View 1 2 1 chunk +3 lines, -2 lines 0 comments Download
M test/unittests/compiler/interpreter-assembler-unittest.cc View 1 2 4 chunks +54 lines, -12 lines 0 comments Download
M test/unittests/compiler/node-test-utils.h View 1 2 2 chunks +4 lines, -0 lines 0 comments Download
M test/unittests/compiler/node-test-utils.cc View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M test/unittests/interpreter/bytecode-array-builder-unittest.cc View 1 2 6 chunks +63 lines, -17 lines 0 comments Download
M test/unittests/interpreter/bytecode-array-iterator-unittest.cc View 1 2 3 4 2 chunks +4 lines, -1 line 0 comments Download
M tools/gyp/v8.gyp View 1 2 3 4 5 1 chunk +3 lines, -2 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 35 (16 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/1370893002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1370893002/1
5 years, 2 months ago (2015-09-25 23:58:04 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/8346) v8_linux64_avx2_rel on ...
5 years, 2 months ago (2015-09-25 23:59:05 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/1370893002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1370893002/20001
5 years, 2 months ago (2015-09-26 00:03:11 UTC) #7
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_win_compile_dbg on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_win_compile_dbg/builds/7986)
5 years, 2 months ago (2015-09-26 00:07:14 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/1370893002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1370893002/40001
5 years, 2 months ago (2015-09-26 11:10:34 UTC) #12
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_win_compile_dbg on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_win_compile_dbg/builds/7988)
5 years, 2 months ago (2015-09-26 11:14:23 UTC) #14
rmcilroy
PTAL, thanks. This is needed for the CallRuntime support, since the runtime function_id doesn't fit ...
5 years, 2 months ago (2015-09-28 08:34:03 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/1370893002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1370893002/60001
5 years, 2 months ago (2015-09-28 08:34:26 UTC) #18
oth
LGTM. Very tidy, good job! Not a fan of the wide operand name (see comments), ...
5 years, 2 months ago (2015-09-28 09:21:25 UTC) #19
Michael Starzinger
LGTM on the compiler directory. I'll just pretend I didn't see BytecodeTraits and won't comment ...
5 years, 2 months ago (2015-09-28 09:29:49 UTC) #20
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
5 years, 2 months ago (2015-09-28 09:50:35 UTC) #22
rmcilroy
Changes addressed. Also added support for architecture which don't support unaligned access (e.g. MIPS). PTAL. ...
5 years, 2 months ago (2015-10-01 14:09:15 UTC) #24
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1370893002/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1370893002/120001
5 years, 2 months ago (2015-10-01 15:02:22 UTC) #26
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/8531)
5 years, 2 months ago (2015-10-01 15:06:27 UTC) #28
oth
A few minor nits, but lgtm. https://codereview.chromium.org/1370893002/diff/100001/src/compiler/interpreter-assembler.cc File src/compiler/interpreter-assembler.cc (right): https://codereview.chromium.org/1370893002/diff/100001/src/compiler/interpreter-assembler.cc#newcode129 src/compiler/interpreter-assembler.cc:129: DCHECK(interpreter::OperandSize::kByte == DCHECK_EQ ...
5 years, 2 months ago (2015-10-01 15:12:15 UTC) #29
rmcilroy
https://codereview.chromium.org/1370893002/diff/100001/src/compiler/interpreter-assembler.cc File src/compiler/interpreter-assembler.cc (right): https://codereview.chromium.org/1370893002/diff/100001/src/compiler/interpreter-assembler.cc#newcode129 src/compiler/interpreter-assembler.cc:129: DCHECK(interpreter::OperandSize::kByte == On 2015/10/01 15:12:15, oth wrote: > DCHECK_EQ ...
5 years, 2 months ago (2015-10-01 16:25:07 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1370893002/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1370893002/160001
5 years, 2 months ago (2015-10-01 16:25:30 UTC) #33
commit-bot: I haz the power
Committed patchset #6 (id:160001)
5 years, 2 months ago (2015-10-01 17:23:02 UTC) #34
commit-bot: I haz the power
5 years, 2 months ago (2015-10-01 17:23:26 UTC) #35
Message was sent while issue was closed.
Patchset 6 (id:??) landed as
https://crrev.com/03369ed2cb95d26e174e603152aace966c866077
Cr-Commit-Position: refs/heads/master@{#31058}

Powered by Google App Engine
This is Rietveld 408576698