aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2017-04-17 12:02:33 +0200
committerMike Pall <mike>2017-04-17 12:02:33 +0200
commit58aaac3c6401bf2cd994a624defb6e5433db498a (patch)
tree449d7fb84af4c8f4909748cb69c961f6dff87f9e /src
parent18efb331a4703f1df18b5448dabd5e1d9be54825 (diff)
downloadluajit-58aaac3c6401bf2cd994a624defb6e5433db498a.tar.gz
luajit-58aaac3c6401bf2cd994a624defb6e5433db498a.tar.bz2
luajit-58aaac3c6401bf2cd994a624defb6e5433db498a.zip
MIPS64: Fix write barrier in BC_USETV.
Contributed by Stefan Pejic.
Diffstat (limited to 'src')
-rw-r--r--src/vm_mips64.dasc6
1 files changed, 3 insertions, 3 deletions
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)
3660 | ld CARG2, UPVAL:RB->v 3660 | ld CARG2, UPVAL:RB->v
3661 | andi TMP3, TMP3, LJ_GC_BLACK // isblack(uv) 3661 | andi TMP3, TMP3, LJ_GC_BLACK // isblack(uv)
3662 | lbu TMP0, UPVAL:RB->closed 3662 | lbu TMP0, UPVAL:RB->closed
3663 | gettp TMP2, RD 3663 | gettp TMP2, CRET1
3664 | sd CRET1, 0(CARG2) 3664 | sd CRET1, 0(CARG2)
3665 | li AT, LJ_GC_BLACK|1 3665 | li AT, LJ_GC_BLACK|1
3666 | or TMP3, TMP3, TMP0 3666 | or TMP3, TMP3, TMP0
@@ -3672,8 +3672,8 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
3672 |2: // Check if new value is collectable. 3672 |2: // Check if new value is collectable.
3673 | sltiu AT, TMP2, LJ_TISGCV - (LJ_TNUMX+1) 3673 | sltiu AT, TMP2, LJ_TISGCV - (LJ_TNUMX+1)
3674 | beqz AT, <1 // tvisgcv(v) 3674 | beqz AT, <1 // tvisgcv(v)
3675 |. cleartp GCOBJ:TMP1, RB 3675 |. cleartp GCOBJ:CRET1, CRET1
3676 | lbu TMP3, GCOBJ:TMP1->gch.marked 3676 | lbu TMP3, GCOBJ:CRET1->gch.marked
3677 | andi TMP3, TMP3, LJ_GC_WHITES // iswhite(v) 3677 | andi TMP3, TMP3, LJ_GC_WHITES // iswhite(v)
3678 | beqz TMP3, <1 3678 | beqz TMP3, <1
3679 |. load_got lj_gc_barrieruv 3679 |. load_got lj_gc_barrieruv