2
0
Эх сурвалжийг харах

PPC: Fix resume after yield from hook.

Mike Pall 13 жил өмнө
parent
commit
0a8fd0af8c
1 өөрчлөгдсөн 6 нэмэгдсэн , 6 устгасан
  1. 6 6
      src/buildvm_ppc.dasc

+ 6 - 6
src/buildvm_ppc.dasc

@@ -501,22 +501,22 @@ static void build_subroutines(BuildCtx *ctx)
   |   lwz TMP1, L->top
   |  lwz PC, FRAME_PC(BASE)
   |     lus TMP3, 0x59c0		// TOBIT = 2^52 + 2^51 (float).
-  |   sub RD, TMP1, BASE
   |    stb CARG3, L->status
   |     stw TMP3, TMPD
-  |  andi. TMP0, PC, FRAME_TYPE
   |     ori TMP3, TMP3, 0x0004		// TONUM = 2^52 + 2^51 + 2^31 (float).
   |     lfs TOBIT, TMPD
-  |     li ZERO, 0
+  |   sub RD, TMP1, BASE
   |     stw TMP3, TMPD
-  |   addi RD, RD, 8
   |     lus TMP0, 0x4338		// Hiword of 2^52 + 2^51 (double)
-  |   mr MULTRES, RD
+  |   addi RD, RD, 8
   |     stw TMP0, TONUM_HI
   |    li_vmstate INTERP
+  |     li ZERO, 0
+  |    st_vmstate
+  |  andi. TMP0, PC, FRAME_TYPE
+  |   mr MULTRES, RD
   |     lfs TONUM, TMPD
   |     li TISNIL, LJ_TNIL
-  |    st_vmstate
   |  beq ->BC_RET_Z
   |  b ->vm_return
   |