Skip to content

Instantly share code, notes, and snippets.

@niner
Created December 23, 2019 09:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save niner/b2988f1824f58473195caad9f26163f0 to your computer and use it in GitHub Desktop.
Save niner/b2988f1824f58473195caad9f26163f0 to your computer and use it in GitHub Desktop.
diff --git a/src/core/frame.c b/src/core/frame.c
index 6965e6c65..c0f93d907 100644
--- a/src/core/frame.c
+++ b/src/core/frame.c
@@ -933,7 +933,7 @@ static MVMuint64 remove_one_frame(MVMThreadContext *tc, MVMuint8 unwind) {
*(tc->interp_cu) = caller->static_info->body.cu;
/* Handle any special return hooks. */
- if (caller->extra) {
+ if (caller->extra && returner != tc->thread_entry_frame) {
MVMFrameExtra *e = caller->extra;
if (e->special_return || e->special_unwind) {
MVMSpecialReturn sr = e->special_return;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment