]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
x64: Fix store to upvalue for lightuserdata values.
authorMike Pall <mike>
Mon, 2 Dec 2013 08:18:01 +0000 (09:18 +0100)
committerMike Pall <mike>
Mon, 2 Dec 2013 08:18:01 +0000 (09:18 +0100)
src/vm_arm.dasc
src/vm_mips.dasc
src/vm_ppc.dasc
src/vm_x86.dasc

index 114416a46a0f941844710ba9e0a7a67e40aa89fc..a839fa7f814a6c528307ba9b8d6af5d1744bfff0 100644 (file)
@@ -3217,7 +3217,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
     |   ins_next
     |
     |2:  // Check if new value is collectable.
-    |  cmn RB, #-(LJ_TISNUM - LJ_TISGCV)
+    |  cmn RB, #-(LJ_TNUMX - LJ_TISGCV)
     |   ldrbhi RC, GCOBJ:CARG3->gch.marked
     |  bls <1                          // tvisgcv(v)
     |    sub CARG1, DISPATCH, #-GG_DISP2G
index a81dbeebf71bd5e3db84a5aef10d7294190c0a38..9d578d0532bfbdf8116723624c3c7bb7cf50fcab 100644 (file)
@@ -2882,12 +2882,12 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
     |  li AT, LJ_GC_BLACK|1
     |  or TMP3, TMP3, TMP0
     |  beq TMP3, AT, >2                        // Upvalue is closed and black?
-    |.  addiu TMP2, TMP2, -(LJ_TISNUM+1)
+    |.  addiu TMP2, TMP2, -(LJ_TNUMX+1)
     |1:
     |  ins_next
     |
     |2:  // Check if new value is collectable.
-    |  sltiu AT, TMP2, LJ_TISGCV - (LJ_TISNUM+1)
+    |  sltiu AT, TMP2, LJ_TISGCV - (LJ_TNUMX+1)
     |  beqz AT, <1                     // tvisgcv(v)
     |.  lw TMP1, LO(RD)
     |  lbu TMP3, GCOBJ:TMP1->gch.marked
index f253081100e72bc7fdf872c0b14943695276a23d..7f7e229169dd252d85a6e9d0191be600119a84ac 100644 (file)
@@ -3715,13 +3715,13 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
     |    cmplwi cr1, TMP0, 0
     |   lwz TMP1, 4(RD)
     |  cror 4*cr0+eq, 4*cr0+eq, 4*cr1+eq
-    |   subi TMP2, TMP2, (LJ_TISNUM+1)
+    |   subi TMP2, TMP2, (LJ_TNUMX+1)
     |  bne >2                          // Upvalue is closed and black?
     |1:
     |  ins_next
     |
     |2:  // Check if new value is collectable.
-    |  cmplwi TMP2, LJ_TISGCV - (LJ_TISNUM+1)
+    |  cmplwi TMP2, LJ_TISGCV - (LJ_TNUMX+1)
     |  bge <1                          // tvisgcv(v)
     |  lbz TMP3, GCOBJ:TMP1->gch.marked
     |  andix. TMP3, TMP3, LJ_GC_WHITES // iswhite(v)
index f25dfd302b87b22c223252a2af70823180243545..13f4cdaa8891b3a2ad7e6b9f4996ea278cd8140f 100644 (file)
@@ -4652,7 +4652,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
     |
     |2:  // Upvalue is black. Check if new value is collectable and white.
     |  sub RD, LJ_TISGCV
-    |  cmp RD, LJ_TISNUM - LJ_TISGCV                   // tvisgcv(v)
+    |  cmp RD, LJ_TNUMX - LJ_TISGCV                    // tvisgcv(v)
     |  jbe <1
     |  test byte GCOBJ:RA->gch.marked, LJ_GC_WHITES    // iswhite(v)
     |  jz <1