Browse Source

x64: Fix store to upvalue for lightuserdata values.

Mike Pall 11 years ago
parent
commit
916f09d0a9
4 changed files with 6 additions and 6 deletions
  1. 1 1
      src/vm_arm.dasc
  2. 2 2
      src/vm_mips.dasc
  3. 2 2
      src/vm_ppc.dasc
  4. 1 1
      src/vm_x86.dasc

+ 1 - 1
src/vm_arm.dasc

@@ -3217,7 +3217,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
     |   ins_next
     |   ins_next
     |
     |
     |2:  // Check if new value is collectable.
     |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
     |   ldrbhi RC, GCOBJ:CARG3->gch.marked
     |  bls <1				// tvisgcv(v)
     |  bls <1				// tvisgcv(v)
     |    sub CARG1, DISPATCH, #-GG_DISP2G
     |    sub CARG1, DISPATCH, #-GG_DISP2G

+ 2 - 2
src/vm_mips.dasc

@@ -2882,12 +2882,12 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
     |  li AT, LJ_GC_BLACK|1
     |  li AT, LJ_GC_BLACK|1
     |  or TMP3, TMP3, TMP0
     |  or TMP3, TMP3, TMP0
     |  beq TMP3, AT, >2			// Upvalue is closed and black?
     |  beq TMP3, AT, >2			// Upvalue is closed and black?
-    |.  addiu TMP2, TMP2, -(LJ_TISNUM+1)
+    |.  addiu TMP2, TMP2, -(LJ_TNUMX+1)
     |1:
     |1:
     |  ins_next
     |  ins_next
     |
     |
     |2:  // Check if new value is collectable.
     |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)
     |  beqz AT, <1			// tvisgcv(v)
     |.  lw TMP1, LO(RD)
     |.  lw TMP1, LO(RD)
     |  lbu TMP3, GCOBJ:TMP1->gch.marked
     |  lbu TMP3, GCOBJ:TMP1->gch.marked

+ 2 - 2
src/vm_ppc.dasc

@@ -3715,13 +3715,13 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
     |    cmplwi cr1, TMP0, 0
     |    cmplwi cr1, TMP0, 0
     |   lwz TMP1, 4(RD)
     |   lwz TMP1, 4(RD)
     |  cror 4*cr0+eq, 4*cr0+eq, 4*cr1+eq
     |  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?
     |  bne >2				// Upvalue is closed and black?
     |1:
     |1:
     |  ins_next
     |  ins_next
     |
     |
     |2:  // Check if new value is collectable.
     |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)
     |  bge <1				// tvisgcv(v)
     |  lbz TMP3, GCOBJ:TMP1->gch.marked
     |  lbz TMP3, GCOBJ:TMP1->gch.marked
     |  andix. TMP3, TMP3, LJ_GC_WHITES	// iswhite(v)
     |  andix. TMP3, TMP3, LJ_GC_WHITES	// iswhite(v)

+ 1 - 1
src/vm_x86.dasc

@@ -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.
     |2:  // Upvalue is black. Check if new value is collectable and white.
     |  sub RD, LJ_TISGCV
     |  sub RD, LJ_TISGCV
-    |  cmp RD, LJ_TISNUM - LJ_TISGCV			// tvisgcv(v)
+    |  cmp RD, LJ_TNUMX - LJ_TISGCV			// tvisgcv(v)
     |  jbe <1
     |  jbe <1
     |  test byte GCOBJ:RA->gch.marked, LJ_GC_WHITES	// iswhite(v)
     |  test byte GCOBJ:RA->gch.marked, LJ_GC_WHITES	// iswhite(v)
     |  jz <1
     |  jz <1