diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/vm_arm64.dasc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/vm_arm64.dasc b/src/vm_arm64.dasc index 241c58a1..c55794a6 100644 --- a/src/vm_arm64.dasc +++ b/src/vm_arm64.dasc | |||
| @@ -1182,7 +1182,7 @@ static void build_subroutines(BuildCtx *ctx) | |||
| 1182 | |.ffunc xpcall | 1182 | |.ffunc xpcall |
| 1183 | | ldp CARG1, CARG2, [BASE] | 1183 | | ldp CARG1, CARG2, [BASE] |
| 1184 | | ldrb TMP0w, GL->hookmask | 1184 | | ldrb TMP0w, GL->hookmask |
| 1185 | | subs NARGS8:RC, NARGS8:RC, #16 | 1185 | | subs NARGS8:TMP1, NARGS8:RC, #16 |
| 1186 | | blo ->fff_fallback | 1186 | | blo ->fff_fallback |
| 1187 | | mov RB, BASE | 1187 | | mov RB, BASE |
| 1188 | | asr ITYPE, CARG2, #47 | 1188 | | asr ITYPE, CARG2, #47 |
| @@ -1190,6 +1190,7 @@ static void build_subroutines(BuildCtx *ctx) | |||
| 1190 | | cmn ITYPE, #-LJ_TFUNC | 1190 | | cmn ITYPE, #-LJ_TFUNC |
| 1191 | | add PC, TMP0, #24+FRAME_PCALL | 1191 | | add PC, TMP0, #24+FRAME_PCALL |
| 1192 | | bne ->fff_fallback // Traceback must be a function. | 1192 | | bne ->fff_fallback // Traceback must be a function. |
| 1193 | | mov NARGS8:RC, NARGS8:TMP1 | ||
| 1193 | | add BASE, BASE, #24 | 1194 | | add BASE, BASE, #24 |
| 1194 | | stp CARG2, CARG1, [RB] // Swap function and traceback. | 1195 | | stp CARG2, CARG1, [RB] // Swap function and traceback. |
| 1195 | | cbz NARGS8:RC, ->vm_call_dispatch | 1196 | | cbz NARGS8:RC, ->vm_call_dispatch |
