-
-
Save niner/f3b62798b717bce59874d1d388c3765b to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/src/spesh/frame_walker.c b/src/spesh/frame_walker.c | |
index 4071a97a6..30b66ccb5 100644 | |
--- a/src/spesh/frame_walker.c | |
+++ b/src/spesh/frame_walker.c | |
@@ -87,7 +87,7 @@ static void go_to_first_inline(MVMThreadContext *tc, MVMSpeshFrameWalker *fw, MV | |
} | |
} | |
else { | |
- if (f == tc->cur_frame) { | |
+ if (f == tc->cur_frame && !fw->started) { | |
fw->deopt_offset = *(tc->interp_cur_op) - spesh_cand->body.bytecode; | |
fw->inline_idx = -1; | |
go_to_next_inline(tc, fw); | |
@@ -141,8 +141,8 @@ MVMuint32 move_one_caller(MVMThreadContext *tc, MVMSpeshFrameWalker *fw) { | |
* over). */ | |
MVMuint32 MVM_spesh_frame_walker_next(MVMThreadContext *tc, MVMSpeshFrameWalker *fw) { | |
if (!fw->started) { | |
- fw->started = 1; | |
go_to_first_inline(tc, fw, NULL); | |
+ fw->started = 1; | |
return fw->cur_caller_frame ? 1 : 0; | |
} | |
else if (fw->traversed) { |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment