From 916f09d0a91155ce5ce1a78fdcd40ba42f61e493 Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Mon, 2 Dec 2013 09:18:01 +0100 Subject: [PATCH] x64: Fix store to upvalue for lightuserdata values. --- src/vm_arm.dasc | 2 +- src/vm_mips.dasc | 4 ++-- src/vm_ppc.dasc | 4 ++-- src/vm_x86.dasc | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/vm_arm.dasc b/src/vm_arm.dasc index 114416a4..a839fa7f 100644 --- a/src/vm_arm.dasc +++ b/src/vm_arm.dasc @@ -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 diff --git a/src/vm_mips.dasc b/src/vm_mips.dasc index a81dbeeb..9d578d05 100644 --- a/src/vm_mips.dasc +++ b/src/vm_mips.dasc @@ -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 diff --git a/src/vm_ppc.dasc b/src/vm_ppc.dasc index f2530811..7f7e2291 100644 --- a/src/vm_ppc.dasc +++ b/src/vm_ppc.dasc @@ -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) diff --git a/src/vm_x86.dasc b/src/vm_x86.dasc index f25dfd30..13f4cdaa 100644 --- a/src/vm_x86.dasc +++ b/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. | 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