|
@@ -3660,7 +3660,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
|
|
|
| ld CARG2, UPVAL:RB->v
|
|
|
| andi TMP3, TMP3, LJ_GC_BLACK // isblack(uv)
|
|
|
| lbu TMP0, UPVAL:RB->closed
|
|
|
- | gettp TMP2, RD
|
|
|
+ | gettp TMP2, CRET1
|
|
|
| sd CRET1, 0(CARG2)
|
|
|
| li AT, LJ_GC_BLACK|1
|
|
|
| or TMP3, TMP3, TMP0
|
|
@@ -3672,8 +3672,8 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
|
|
|
|2: // Check if new value is collectable.
|
|
|
| sltiu AT, TMP2, LJ_TISGCV - (LJ_TNUMX+1)
|
|
|
| beqz AT, <1 // tvisgcv(v)
|
|
|
- |. cleartp GCOBJ:TMP1, RB
|
|
|
- | lbu TMP3, GCOBJ:TMP1->gch.marked
|
|
|
+ |. cleartp GCOBJ:CRET1, CRET1
|
|
|
+ | lbu TMP3, GCOBJ:CRET1->gch.marked
|
|
|
| andi TMP3, TMP3, LJ_GC_WHITES // iswhite(v)
|
|
|
| beqz TMP3, <1
|
|
|
|. load_got lj_gc_barrieruv
|