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. #
Messages
Total messages: 32 (22 generated)
|