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

Issue 2487173002: [turbofan] Advance bytecode offset after lazy deopt. (Closed)

Created:
4 years, 1 month ago by Michael Starzinger
Modified:
4 years, 1 month ago
Reviewers:
Jarin, rmcilroy
CC:
v8-reviews_googlegroups.com, rmcilroy
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[turbofan] Advance bytecode offset after lazy deopt. This changes {FrameState} nodes modeling "after" states to use bytecode offsets pointing to the deoptimizing bytecode. This is in sync with the normal execution, as the bytecode offset is advanced after operations complete in regular bytecode handlers. The change is necessary to ensure lazy deoptimized frames contain an accurate bytecode offset while they are on the stack. Such frames can be inspected by various stack walks. The continuation builtin will advance the bytecode offset upon return. R=jarin@chromium.org TEST=mjsunit/regress/regress-crbug-660379 BUG=chromium:660379 Committed: https://crrev.com/93c65952009a611b840142e63237c58c7267bfd1 Cr-Commit-Position: refs/heads/master@{#40887}

Patch Set 1 #

Patch Set 2 : Fix bogus off-by-one compensation. #

Patch Set 3 : Fix another off-by-one compensation. #

Patch Set 4 : Ported to most architectures. #

Patch Set 5 : Enable test that no longer fails. #

Patch Set 6 : Rebased. #

Total comments: 2

Patch Set 7 : Addressed comments. #

Patch Set 8 : Properly restore context. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+227 lines, -29 lines) Patch
M src/builtins/arm/builtins-arm.cc View 1 2 3 4 5 6 7 2 chunks +24 lines, -1 line 0 comments Download
M src/builtins/arm64/builtins-arm64.cc View 1 2 3 4 5 6 7 2 chunks +24 lines, -1 line 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 2 3 4 5 6 7 2 chunks +26 lines, -1 line 0 comments Download
M src/builtins/mips/builtins-mips.cc View 1 2 3 4 5 6 7 2 chunks +24 lines, -1 line 0 comments Download
M src/builtins/mips64/builtins-mips64.cc View 1 2 3 4 5 6 7 2 chunks +24 lines, -1 line 0 comments Download
M src/builtins/x64/builtins-x64.cc View 1 2 3 4 5 6 7 2 chunks +26 lines, -1 line 0 comments Download
M src/compiler/bytecode-graph-builder.cc View 1 2 3 4 5 2 chunks +4 lines, -5 lines 0 comments Download
M src/deoptimizer.cc View 1 4 chunks +10 lines, -7 lines 0 comments Download
M src/frames.cc View 1 2 2 chunks +5 lines, -3 lines 0 comments Download
M src/objects-inl.h View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M src/runtime/runtime.h View 1 2 3 4 5 6 1 chunk +2 lines, -1 line 0 comments Download
M src/runtime/runtime-interpreter.cc View 1 2 3 4 5 6 1 chunk +14 lines, -0 lines 0 comments Download
M test/debugger/debugger.status View 1 2 3 4 5 1 chunk +0 lines, -7 lines 0 comments Download
A test/mjsunit/regress/regress-crbug-660379.js View 1 chunk +42 lines, -0 lines 0 comments Download

Messages

Total messages: 32 (22 generated)
Michael Starzinger
Note that this is still work in progress (i.e. ports are missing and a lot ...
4 years, 1 month ago (2016-11-09 10:35:24 UTC) #2
Michael Starzinger
Update: The debugger failures are fixed. I will start porting now.
4 years, 1 month ago (2016-11-09 12:09:38 UTC) #3
Jarin
lgtm. Thanks!
4 years, 1 month ago (2016-11-09 12:24:05 UTC) #4
Michael Starzinger
PTAL. This should be ready for prime time now.
4 years, 1 month ago (2016-11-09 14:22:56 UTC) #12
rmcilroy
LGTM with one comment. https://codereview.chromium.org/2487173002/diff/100001/src/builtins/arm/builtins-arm.cc File src/builtins/arm/builtins-arm.cc (right): https://codereview.chromium.org/2487173002/diff/100001/src/builtins/arm/builtins-arm.cc#newcode1345 src/builtins/arm/builtins-arm.cc:1345: FrameScope scope(masm, StackFrame::MANUAL); Any reason ...
4 years, 1 month ago (2016-11-09 14:48:29 UTC) #15
Michael Starzinger
Thanks! Addressed comment. Landing. https://codereview.chromium.org/2487173002/diff/100001/src/builtins/arm/builtins-arm.cc File src/builtins/arm/builtins-arm.cc (right): https://codereview.chromium.org/2487173002/diff/100001/src/builtins/arm/builtins-arm.cc#newcode1345 src/builtins/arm/builtins-arm.cc:1345: FrameScope scope(masm, StackFrame::MANUAL); On 2016/11/09 ...
4 years, 1 month ago (2016-11-10 10:09:40 UTC) #16
rmcilroy
Awesome, thanks! LGTM.
4 years, 1 month ago (2016-11-10 10:19:10 UTC) #19
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/2487173002/140001
4 years, 1 month ago (2016-11-10 11:32:47 UTC) #28
commit-bot: I haz the power
Committed patchset #8 (id:140001)
4 years, 1 month ago (2016-11-10 11:34:53 UTC) #30
commit-bot: I haz the power
4 years, 1 month ago (2016-11-17 22:28:57 UTC) #32
Message was sent while issue was closed.
Patchset 8 (id:??) landed as
https://crrev.com/93c65952009a611b840142e63237c58c7267bfd1
Cr-Commit-Position: refs/heads/master@{#40887}

Powered by Google App Engine
This is Rietveld 408576698