diff --git a/src/vm_mips64.dasc b/src/vm_mips64.dasc index f0c22a74..918fbcba 100644 --- a/src/vm_mips64.dasc +++ b/src/vm_mips64.dasc @@ -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