diff options
author | Mike Pall <mike> | 2021-03-23 00:35:46 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2021-03-23 00:39:50 +0100 |
commit | a32aeadc6878305658fb3939830e6abaef587e40 (patch) | |
tree | 48f3df3a4ca72b1fb7cd628f15b9d21d864bbbc2 /src/vm_mips64.dasc | |
parent | ddd0fd8f3754ad83423623655d8b3f8454a7cf1e (diff) | |
download | luajit-a32aeadc6878305658fb3939830e6abaef587e40.tar.gz luajit-a32aeadc6878305658fb3939830e6abaef587e40.tar.bz2 luajit-a32aeadc6878305658fb3939830e6abaef587e40.zip |
Handle on-trace OOM errors from helper functions.
Diffstat (limited to 'src/vm_mips64.dasc')
-rw-r--r-- | src/vm_mips64.dasc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/vm_mips64.dasc b/src/vm_mips64.dasc index 0b642095..877d9885 100644 --- a/src/vm_mips64.dasc +++ b/src/vm_mips64.dasc | |||
@@ -556,6 +556,10 @@ static void build_subroutines(BuildCtx *ctx) | |||
556 | | b ->vm_returnc | 556 | | b ->vm_returnc |
557 | |. li RD, 16 // 2 results: false + error message. | 557 | |. li RD, 16 // 2 results: false + error message. |
558 | | | 558 | | |
559 | |->vm_unwind_stub: // Jump to exit stub from unwinder. | ||
560 | | jr CARG1 | ||
561 | |. move ra, CARG2 | ||
562 | | | ||
559 | |//----------------------------------------------------------------------- | 563 | |//----------------------------------------------------------------------- |
560 | |//-- Grow stack for calls ----------------------------------------------- | 564 | |//-- Grow stack for calls ----------------------------------------------- |
561 | |//----------------------------------------------------------------------- | 565 | |//----------------------------------------------------------------------- |
@@ -2622,8 +2626,9 @@ static void build_subroutines(BuildCtx *ctx) | |||
2622 | |. daddu RA, RA, BASE | 2626 | |. daddu RA, RA, BASE |
2623 | | | 2627 | | |
2624 | |9: // Rethrow error from the right C frame. | 2628 | |9: // Rethrow error from the right C frame. |
2625 | | load_got lj_err_run | 2629 | | load_got lj_err_trace |
2626 | | call_intern lj_err_run // (lua_State *L) | 2630 | | sub CARG2, r0, CRET1 |
2631 | | call_intern lj_err_trace // (lua_State *L, int errcode) | ||
2627 | |. move CARG1, L | 2632 | |. move CARG1, L |
2628 | |.endif | 2633 | |.endif |
2629 | | | 2634 | | |