diff options
author | Mike Pall <mike> | 2017-04-17 12:02:33 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2017-04-17 12:02:33 +0200 |
commit | 58aaac3c6401bf2cd994a624defb6e5433db498a (patch) | |
tree | 449d7fb84af4c8f4909748cb69c961f6dff87f9e /src | |
parent | 18efb331a4703f1df18b5448dabd5e1d9be54825 (diff) | |
download | luajit-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.dasc | 6 |
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 |