diff options
-rw-r--r-- | src/vm_mips64.dasc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/vm_mips64.dasc b/src/vm_mips64.dasc index 75b38dee..a78cd251 100644 --- a/src/vm_mips64.dasc +++ b/src/vm_mips64.dasc | |||
@@ -1399,15 +1399,16 @@ static void build_subroutines(BuildCtx *ctx) | |||
1399 | |. nop | 1399 | |. nop |
1400 | | | 1400 | | |
1401 | |.ffunc xpcall | 1401 | |.ffunc xpcall |
1402 | | daddiu NARGS8:RC, NARGS8:RC, -16 | 1402 | | daddiu NARGS8:TMP0, NARGS8:RC, -16 |
1403 | | ld CARG1, 0(BASE) | 1403 | | ld CARG1, 0(BASE) |
1404 | | ld CARG2, 8(BASE) | 1404 | | ld CARG2, 8(BASE) |
1405 | | bltz NARGS8:RC, ->fff_fallback | 1405 | | bltz NARGS8:TMP0, ->fff_fallback |
1406 | |. lbu TMP1, DISPATCH_GL(hookmask)(DISPATCH) | 1406 | |. lbu TMP1, DISPATCH_GL(hookmask)(DISPATCH) |
1407 | | gettp AT, CARG2 | 1407 | | gettp AT, CARG2 |
1408 | | daddiu AT, AT, -LJ_TFUNC | 1408 | | daddiu AT, AT, -LJ_TFUNC |
1409 | | bnez AT, ->fff_fallback // Traceback must be a function. | 1409 | | bnez AT, ->fff_fallback // Traceback must be a function. |
1410 | |. move TMP2, BASE | 1410 | |. move TMP2, BASE |
1411 | | move NARGS8:RC, NARGS8:TMP0 | ||
1411 | | daddiu BASE, BASE, 24 | 1412 | | daddiu BASE, BASE, 24 |
1412 | | // Remember active hook before pcall. | 1413 | | // Remember active hook before pcall. |
1413 | | srl TMP3, TMP3, HOOK_ACTIVE_SHIFT | 1414 | | srl TMP3, TMP3, HOOK_ACTIVE_SHIFT |