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

Issue 2172233002: [interpreter] Add explicit OSR polling bytecode. (Closed)

Created:
4 years, 5 months ago by Michael Starzinger
Modified:
4 years, 4 months ago
Reviewers:
rmcilroy
CC:
v8-reviews_googlegroups.com, v8-mips-ports_googlegroups.com, v8-x87-ports_googlegroups.com, rmcilroy, v8-ppc-ports_googlegroups.com, oth
Base URL:
https://chromium.googlesource.com/v8/v8.git@local_interpreter-osr-1
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[interpreter] Add explicit OSR polling bytecode. This adds an explicit {OsrPoll} bytecode into every loop header which triggers on-stack replacement when armed. Note that each such bytecode stores the static loop depths as an operand, and hence can be armed for specific loop depths. This also adds builtin code that triggers OSR compilation and switches execution over to optimized code in case compilation succeeds. In case compilation fails, the bytecode dispatch just continues unhindered. R=rmcilroy@chromium.org TEST=mjsunit/ignition/osr-from-bytecode BUG=v8:4764 Committed: https://crrev.com/a55beb68e0ededb3773affa294a71edc50621458 Cr-Commit-Position: refs/heads/master@{#38043}

Patch Set 1 #

Patch Set 2 : Ported to most architectures. #

Patch Set 3 : Minor cleanups. #

Patch Set 4 : Minor cleanups. #

Total comments: 10

Patch Set 5 : Addressed comments. #

Patch Set 6 : Rebased. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+292 lines, -45 lines) Patch
M src/builtins/arm/builtins-arm.cc View 1 4 chunks +24 lines, -3 lines 0 comments Download
M src/builtins/arm64/builtins-arm64.cc View 1 3 chunks +24 lines, -3 lines 0 comments Download
M src/builtins/builtins.h View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M src/builtins/ia32/builtins-ia32.cc View 1 3 chunks +24 lines, -3 lines 0 comments Download
M src/builtins/mips/builtins-mips.cc View 1 3 chunks +24 lines, -3 lines 0 comments Download
M src/builtins/mips64/builtins-mips64.cc View 1 3 chunks +24 lines, -3 lines 0 comments Download
M src/builtins/x64/builtins-x64.cc View 3 chunks +24 lines, -3 lines 0 comments Download
M src/code-factory.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/code-factory.cc View 1 chunk +6 lines, -0 lines 0 comments Download
M src/compiler.cc View 1 2 3 4 5 1 chunk +5 lines, -0 lines 0 comments Download
M src/compiler/bytecode-graph-builder.cc View 1 2 3 4 5 1 chunk +5 lines, -0 lines 0 comments Download
M src/compiler/code-assembler.h View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
M src/compiler/code-assembler.cc View 1 2 3 4 1 chunk +13 lines, -0 lines 0 comments Download
M src/interpreter/bytecode-array-builder.h View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
M src/interpreter/bytecode-array-builder.cc View 1 2 3 4 5 1 chunk +5 lines, -0 lines 0 comments Download
M src/interpreter/bytecode-generator.cc View 1 2 3 4 5 1 chunk +10 lines, -0 lines 0 comments Download
M src/interpreter/bytecodes.h View 1 2 3 4 5 1 chunk +3 lines, -0 lines 0 comments Download
M src/interpreter/interpreter.cc View 1 2 3 4 5 1 chunk +26 lines, -0 lines 0 comments Download
M src/interpreter/interpreter-assembler.h View 1 2 3 4 5 1 chunk +3 lines, -0 lines 0 comments Download
M src/interpreter/interpreter-assembler.cc View 1 chunk +6 lines, -0 lines 0 comments Download
M src/runtime/runtime-compiler.cc View 2 chunks +54 lines, -20 lines 0 comments Download
A + test/mjsunit/ignition/osr-from-bytecode.js View 1 1 chunk +3 lines, -7 lines 0 comments Download
M test/unittests/interpreter/bytecode-array-builder-unittest.cc View 1 2 3 4 5 1 chunk +3 lines, -0 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 30 (22 generated)
Michael Starzinger
4 years, 5 months ago (2016-07-25 12:16:32 UTC) #12
rmcilroy
https://codereview.chromium.org/2172233002/diff/60001/src/interpreter/bytecode-generator.cc File src/interpreter/bytecode-generator.cc (right): https://codereview.chromium.org/2172233002/diff/60001/src/interpreter/bytecode-generator.cc#newcode669 src/interpreter/bytecode-generator.cc:669: // on-stack replacement when armed for the given loop ...
4 years, 5 months ago (2016-07-25 12:40:24 UTC) #15
Michael Starzinger
Addressed comments. PTAL. https://codereview.chromium.org/2172233002/diff/60001/src/interpreter/bytecode-generator.cc File src/interpreter/bytecode-generator.cc (right): https://codereview.chromium.org/2172233002/diff/60001/src/interpreter/bytecode-generator.cc#newcode669 src/interpreter/bytecode-generator.cc:669: // on-stack replacement when armed for ...
4 years, 5 months ago (2016-07-25 13:40:48 UTC) #16
rmcilroy
LGTM, thanks! https://codereview.chromium.org/2172233002/diff/60001/src/interpreter/bytecode-generator.cc File src/interpreter/bytecode-generator.cc (right): https://codereview.chromium.org/2172233002/diff/60001/src/interpreter/bytecode-generator.cc#newcode669 src/interpreter/bytecode-generator.cc:669: // on-stack replacement when armed for the ...
4 years, 4 months ago (2016-07-26 09:26:45 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2172233002/100001
4 years, 4 months ago (2016-07-26 10:31:29 UTC) #24
commit-bot: I haz the power
Committed patchset #6 (id:100001)
4 years, 4 months ago (2016-07-26 10:34:04 UTC) #26
commit-bot: I haz the power
Patchset 6 (id:??) landed as https://crrev.com/a55beb68e0ededb3773affa294a71edc50621458 Cr-Commit-Position: refs/heads/master@{#38043}
4 years, 4 months ago (2016-07-26 10:35:28 UTC) #28
Michael Achenbach
4 years, 4 months ago (2016-07-26 11:04:45 UTC) #29
Message was sent while issue was closed.
A revert of this CL (patchset #6 id:100001) has been created in
https://codereview.chromium.org/2184553003/ by machenbach@chromium.org.

The reason for reverting is: Bunch of breakages. Maybe bad interaction with
https://chromium.googlesource.com/v8/v8/+/e520e5da5550f0d1a975e87d6e66a2edecb...
?

E.g.:
https://build.chromium.org/p/client.v8/builders/V8%20Linux64/builds/11607.

Powered by Google App Engine
This is Rietveld 408576698