aboutsummaryrefslogtreecommitdiff
path: root/src/vm_arm.dasc
diff options
context:
space:
mode:
authorMike Pall <mike>2023-11-12 15:11:29 +0100
committerMike Pall <mike>2023-11-12 15:11:29 +0100
commit7c9671a043468b27c02301b6261a9e2a8eff787f (patch)
tree0b9d99bcc7b4319a5d9274c7b320a7e07a7dbdb2 /src/vm_arm.dasc
parent69bbbf77363ceb00ad2653a7729a5c9e8316e61f (diff)
parenta4c1640432a9d8a60624cdc8065b15078c228e36 (diff)
downloadluajit-7c9671a043468b27c02301b6261a9e2a8eff787f.tar.gz
luajit-7c9671a043468b27c02301b6261a9e2a8eff787f.tar.bz2
luajit-7c9671a043468b27c02301b6261a9e2a8eff787f.zip
Merge branch 'master' into v2.1
Diffstat (limited to 'src/vm_arm.dasc')
-rw-r--r--src/vm_arm.dasc7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/vm_arm.dasc b/src/vm_arm.dasc
index 0d1ea95f..fc08c658 100644
--- a/src/vm_arm.dasc
+++ b/src/vm_arm.dasc
@@ -1195,8 +1195,11 @@ static void build_subroutines(BuildCtx *ctx)
1195 |//-- Base library: catch errors ---------------------------------------- 1195 |//-- Base library: catch errors ----------------------------------------
1196 | 1196 |
1197 |.ffunc pcall 1197 |.ffunc pcall
1198 | ldr RB, L->maxstack
1199 | add INS, BASE, NARGS8:RC
1198 | ldrb RA, [DISPATCH, #DISPATCH_GL(hookmask)] 1200 | ldrb RA, [DISPATCH, #DISPATCH_GL(hookmask)]
1199 | cmp NARGS8:RC, #8 1201 | cmp NARGS8:RC, #8
1202 | cmphs RB, INS
1200 | blo ->fff_fallback 1203 | blo ->fff_fallback
1201 | tst RA, #HOOK_ACTIVE // Remember active hook before pcall. 1204 | tst RA, #HOOK_ACTIVE // Remember active hook before pcall.
1202 | mov RB, BASE 1205 | mov RB, BASE
@@ -1207,7 +1210,11 @@ static void build_subroutines(BuildCtx *ctx)
1207 | b ->vm_call_dispatch 1210 | b ->vm_call_dispatch
1208 | 1211 |
1209 |.ffunc_2 xpcall 1212 |.ffunc_2 xpcall
1213 | ldr RB, L->maxstack
1214 | add INS, BASE, NARGS8:RC
1210 | ldrb RA, [DISPATCH, #DISPATCH_GL(hookmask)] 1215 | ldrb RA, [DISPATCH, #DISPATCH_GL(hookmask)]
1216 | cmp RB, INS
1217 | blo ->fff_fallback
1211 | checkfunc CARG4, ->fff_fallback // Traceback must be a function. 1218 | checkfunc CARG4, ->fff_fallback // Traceback must be a function.
1212 | mov RB, BASE 1219 | mov RB, BASE
1213 | strd CARG12, [BASE, #8] // Swap function and traceback. 1220 | strd CARG12, [BASE, #8] // Swap function and traceback.