aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/host/buildvm_peobj.c3
-rw-r--r--src/vm_arm64.dasc4
2 files changed, 5 insertions, 2 deletions
diff --git a/src/host/buildvm_peobj.c b/src/host/buildvm_peobj.c
index 7ce3b05a..8f04c496 100644
--- a/src/host/buildvm_peobj.c
+++ b/src/host/buildvm_peobj.c
@@ -373,11 +373,12 @@ void emit_peobj(BuildCtx *ctx)
373 373
374 /* Unwind codes for .text section with handler. */ 374 /* Unwind codes for .text section with handler. */
375 p = uwc; 375 p = uwc;
376 CADD_FP(192); /* +2 */
376 CSAVE_REGS(19, 28, 176); /* +5*2 */ 377 CSAVE_REGS(19, 28, 176); /* +5*2 */
377 CSAVE_FREGS(8, 15, 96); /* +4*2 */ 378 CSAVE_FREGS(8, 15, 96); /* +4*2 */
378 CSAVE_FPLR(192); /* +1 */ 379 CSAVE_FPLR(192); /* +1 */
379 CALLOC_S(208); /* +1 */ 380 CALLOC_S(208); /* +1 */
380 CEND_ALIGN; /* +1 +3 -> 24 */ 381 CEND_ALIGN; /* +1 +1 -> 24 */
381 382
382 u32 = ((24u >> 2) << 27) | (1u << 20) | (fcofs >> 2); 383 u32 = ((24u >> 2) << 27) | (1u << 20) | (fcofs >> 2);
383 owrite(ctx, &u32, 4); 384 owrite(ctx, &u32, 4);
diff --git a/src/vm_arm64.dasc b/src/vm_arm64.dasc
index 3044a8ac..26973686 100644
--- a/src/vm_arm64.dasc
+++ b/src/vm_arm64.dasc
@@ -430,6 +430,7 @@ static void build_subroutines(BuildCtx *ctx)
430 | 430 |
431 |->vm_unwind_c: // Unwind C stack, return from vm_pcall. 431 |->vm_unwind_c: // Unwind C stack, return from vm_pcall.
432 | // (void *cframe, int errcode) 432 | // (void *cframe, int errcode)
433 | add fp, CARG1, # SAVE_FP_LR_
433 | mov sp, CARG1 434 | mov sp, CARG1
434 | mov CRET1, CARG2 435 | mov CRET1, CARG2
435 | ldr L, SAVE_L 436 | ldr L, SAVE_L
@@ -441,7 +442,8 @@ static void build_subroutines(BuildCtx *ctx)
441 | 442 |
442 |->vm_unwind_ff: // Unwind C stack, return from ff pcall. 443 |->vm_unwind_ff: // Unwind C stack, return from ff pcall.
443 | // (void *cframe) 444 | // (void *cframe)
444 | and sp, CARG1, #CFRAME_RAWMASK 445 | add fp, CARG1, # SAVE_FP_LR_
446 | mov sp, CARG1
445 | ldr L, SAVE_L 447 | ldr L, SAVE_L
446 | movz TISNUM, #(LJ_TISNUM>>1)&0xffff, lsl #48 448 | movz TISNUM, #(LJ_TISNUM>>1)&0xffff, lsl #48
447 | movz TISNUMhi, #(LJ_TISNUM>>1)&0xffff, lsl #16 449 | movz TISNUMhi, #(LJ_TISNUM>>1)&0xffff, lsl #16