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

Issue 1245133002: [interpreter] Add Interpreter{Entry,Exit}Trampoline builtins. (Closed)

Created:
5 years, 5 months ago by rmcilroy
Modified:
5 years, 4 months ago
Reviewers:
Benedikt Meurer, oth, danno
CC:
v8-dev, MTBrandyberry
Base URL:
https://chromium.googlesource.com/v8/v8.git@oth_bytecode_array
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[interpreter] Add Interpreter{Entry,Exit}Trampoline builtins. Adds interpreter entry and exit trampoline builtins. Also implements the Return bytecode handler and fixes a few bugs in InterpreterAssembler highlighted by running on other architectures. MIPS and MIPS64 port contributed by Paul Lind (paul.lind@imgtec.com) BUG=v8:4280 LOG=N Committed: https://crrev.com/c5dd553cf3a44cd8c17958a595198b5ea9492cd0 Cr-Commit-Position: refs/heads/master@{#29929}

Patch Set 1 #

Patch Set 2 : Fill out Arm builtin and add Return unittest #

Patch Set 3 : Fix a couple of things and remove unecessary HeapConstant<Handle> function. #

Patch Set 4 : Modified to deal with seperate BytecodeArray and BytecodeOffset registers #

Total comments: 2

Patch Set 5 : Add other architectures and fix a couple of bugs exposed when running on other arches. #

Patch Set 6 : Adding MIPS based on https://codereview.chromium.org/1257953002/ #

Unified diffs Side-by-side diffs Delta from patch set Stats (+958 lines, -25 lines) Patch
M src/arm/builtins-arm.cc View 1 2 3 4 2 chunks +138 lines, -0 lines 0 comments Download
M src/arm/macro-assembler-arm.h View 1 2 3 1 chunk +9 lines, -0 lines 0 comments Download
M src/arm64/assembler-arm64.h View 1 2 3 4 1 chunk +3 lines, -0 lines 0 comments Download
M src/arm64/builtins-arm64.cc View 1 2 3 4 1 chunk +135 lines, -0 lines 0 comments Download
M src/bailout-reason.h View 1 1 chunk +2 lines, -0 lines 0 comments Download
M src/builtins.h View 1 2 chunks +4 lines, -0 lines 0 comments Download
M src/compiler/arm/linkage-arm.cc View 1 2 3 1 chunk +9 lines, -3 lines 0 comments Download
M src/compiler/arm64/linkage-arm64.cc View 1 2 3 4 1 chunk +9 lines, -3 lines 0 comments Download
M src/compiler/interpreter-assembler.h View 1 2 3 3 chunks +5 lines, -0 lines 0 comments Download
M src/compiler/interpreter-assembler.cc View 1 2 3 4 4 chunks +25 lines, -3 lines 0 comments Download
M src/compiler/mips/linkage-mips.cc View 1 2 3 4 5 1 chunk +9 lines, -3 lines 0 comments Download
M src/compiler/mips64/linkage-mips64.cc View 1 2 3 4 5 1 chunk +9 lines, -3 lines 0 comments Download
M src/compiler/raw-machine-assembler.h View 1 1 chunk +3 lines, -0 lines 0 comments Download
M src/compiler/x64/linkage-x64.cc View 1 2 3 4 1 chunk +2 lines, -2 lines 0 comments Download
M src/full-codegen/arm/full-codegen-arm.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M src/heap/heap.cc View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M src/ia32/builtins-ia32.cc View 1 2 3 4 1 chunk +133 lines, -0 lines 0 comments Download
M src/interpreter/interpreter.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M src/mips/assembler-mips.h View 1 2 3 4 5 1 chunk +3 lines, -0 lines 0 comments Download
M src/mips/builtins-mips.cc View 1 2 3 4 5 2 chunks +139 lines, -0 lines 0 comments Download
M src/mips64/assembler-mips64.h View 1 2 3 4 5 1 chunk +3 lines, -0 lines 0 comments Download
M src/mips64/builtins-mips64.cc View 1 2 3 4 5 1 chunk +138 lines, -0 lines 0 comments Download
M src/x64/builtins-x64.cc View 1 2 3 4 1 chunk +127 lines, -0 lines 0 comments Download
M test/unittests/compiler/interpreter-assembler-unittest.cc View 1 2 3 4 5 chunks +47 lines, -6 lines 0 comments Download
M test/unittests/compiler/node-test-utils.h View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M test/unittests/compiler/node-test-utils.cc View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download

Depends on Patchset:

Dependent Patchsets:

Messages

Total messages: 26 (10 generated)
rmcilroy
Benedikt / Orion, please take a look. I'll work on Arm64/x86/x64 and add them in ...
5 years, 4 months ago (2015-07-24 17:15:31 UTC) #4
rmcilroy
+danno
5 years, 4 months ago (2015-07-27 07:46:04 UTC) #6
oth
LGTM.
5 years, 4 months ago (2015-07-28 08:40:09 UTC) #7
rmcilroy
Modified to pass a seperate BytecodeArray and BytecodeOffset in registers to avoid having an inner ...
5 years, 4 months ago (2015-07-28 13:00:27 UTC) #8
Benedikt Meurer
Looks good to me, thanks for updating this. https://codereview.chromium.org/1245133002/diff/100001/src/arm/builtins-arm.cc File src/arm/builtins-arm.cc (right): https://codereview.chromium.org/1245133002/diff/100001/src/arm/builtins-arm.cc#newcode951 src/arm/builtins-arm.cc:951: // ...
5 years, 4 months ago (2015-07-28 13:06:53 UTC) #9
paul.l...
DBC: looks like your new use of r5 conflicts with r5 use in CEntryStub. More ...
5 years, 4 months ago (2015-07-29 04:37:51 UTC) #10
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1245133002/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1245133002/120001
5 years, 4 months ago (2015-07-29 20:14:11 UTC) #12
rmcilroy
Updated with support for other architectures and a couple of fixes exposed by testing. PTAL. ...
5 years, 4 months ago (2015-07-29 20:18:11 UTC) #13
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_linux_mips64el_compile_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_mips64el_compile_rel/builds/3175)
5 years, 4 months ago (2015-07-29 20:21:11 UTC) #15
rmcilroy
https://codereview.chromium.org/1245133002/diff/100001/src/arm/builtins-arm.cc File src/arm/builtins-arm.cc (right): https://codereview.chromium.org/1245133002/diff/100001/src/arm/builtins-arm.cc#newcode951 src/arm/builtins-arm.cc:951: // - Allocating a new local context if applicable. ...
5 years, 4 months ago (2015-07-30 07:18:15 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/1245133002/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1245133002/140001
5 years, 4 months ago (2015-07-30 08:48:44 UTC) #18
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
5 years, 4 months ago (2015-07-30 09:28:44 UTC) #20
Benedikt Meurer
LGTM.
5 years, 4 months ago (2015-07-30 11:18:26 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1245133002/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1245133002/140001
5 years, 4 months ago (2015-07-30 11:34:47 UTC) #24
commit-bot: I haz the power
Committed patchset #6 (id:140001)
5 years, 4 months ago (2015-07-30 11:36:32 UTC) #25
commit-bot: I haz the power
5 years, 4 months ago (2015-07-30 11:36:54 UTC) #26
Message was sent while issue was closed.
Patchset 6 (id:??) landed as
https://crrev.com/c5dd553cf3a44cd8c17958a595198b5ea9492cd0
Cr-Commit-Position: refs/heads/master@{#29929}

Powered by Google App Engine
This is Rietveld 408576698