diff options
Diffstat (limited to '')
-rw-r--r-- | src/vm_arm64.dasc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/vm_arm64.dasc b/src/vm_arm64.dasc index 2aaa64cb..a6ce0507 100644 --- a/src/vm_arm64.dasc +++ b/src/vm_arm64.dasc | |||
@@ -1211,6 +1211,10 @@ static void build_subroutines(BuildCtx *ctx) | |||
1211 | |//-- Base library: catch errors ---------------------------------------- | 1211 | |//-- Base library: catch errors ---------------------------------------- |
1212 | | | 1212 | | |
1213 | |.ffunc pcall | 1213 | |.ffunc pcall |
1214 | | ldr TMP1, L->maxstack | ||
1215 | | add TMP2, BASE, NARGS8:RC | ||
1216 | | cmp TMP1, TMP2 | ||
1217 | | blo ->fff_fallback | ||
1214 | | cmp NARGS8:RC, #8 | 1218 | | cmp NARGS8:RC, #8 |
1215 | | ldrb TMP0w, GL->hookmask | 1219 | | ldrb TMP0w, GL->hookmask |
1216 | | blo ->fff_fallback | 1220 | | blo ->fff_fallback |
@@ -1230,6 +1234,10 @@ static void build_subroutines(BuildCtx *ctx) | |||
1230 | | b ->vm_call_dispatch | 1234 | | b ->vm_call_dispatch |
1231 | | | 1235 | | |
1232 | |.ffunc xpcall | 1236 | |.ffunc xpcall |
1237 | | ldr TMP1, L->maxstack | ||
1238 | | add TMP2, BASE, NARGS8:RC | ||
1239 | | cmp TMP1, TMP2 | ||
1240 | | blo ->fff_fallback | ||
1233 | | ldp CARG1, CARG2, [BASE] | 1241 | | ldp CARG1, CARG2, [BASE] |
1234 | | ldrb TMP0w, GL->hookmask | 1242 | | ldrb TMP0w, GL->hookmask |
1235 | | subs NARGS8:TMP1, NARGS8:RC, #16 | 1243 | | subs NARGS8:TMP1, NARGS8:RC, #16 |