py/emitnative: Stop after finding an unwind target.

The loop searches backwards for a target, but doesn't stop after finding
the first result, meaning that it'll always end up at the outermost
exception handler.
This commit is contained in:
Jim Mussared 2020-01-24 18:01:55 +11:00 committed by Damien George
parent 0de304e7da
commit 888ddb81dd
1 changed files with 1 additions and 0 deletions

View File

@ -2774,6 +2774,7 @@ STATIC void emit_native_yield(emit_t *emit, int kind) {
// Found active handler, get its PC
ASM_MOV_REG_PCREL(emit->as, REG_RET, e->label);
ASM_MOV_LOCAL_REG(emit->as, LOCAL_IDX_EXC_HANDLER_PC(emit), REG_RET);
break;
}
}
}