From bec4d20fb615ccb4e0ac52955aa55b885f020f45 Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Tue, 25 Oct 2011 00:29:10 +0200 Subject: [PATCH] PPC: Fix write barrier in USETV/USETS. --- src/buildvm_ppc.dasc | 6 ++---- src/buildvm_ppc.h | 8 ++++---- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/buildvm_ppc.dasc b/src/buildvm_ppc.dasc index aa133dcc..0bcc5ad7 100644 --- a/src/buildvm_ppc.dasc +++ b/src/buildvm_ppc.dasc @@ -3382,7 +3382,6 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop) | addi RA, RA, offsetof(GCfuncL, uvptr) | lfdux f0, RD, BASE | lwzx UPVAL:RB, LFUNC:RB, RA - | ins_next1 | lbz TMP3, UPVAL:RB->marked | lwz CARG2, UPVAL:RB->v | andi. TMP3, TMP3, LJ_GC_BLACK // isblack(uv) @@ -3395,7 +3394,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop) | subi TMP2, TMP2, (LJ_TISNUM+1) | bne >2 // Upvalue is closed and black? |1: - | ins_next2 + | ins_next | |2: // Check if new value is collectable. | cmplwi TMP2, LJ_TISGCV - (LJ_TISNUM+1) @@ -3417,7 +3416,6 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop) | addi RA, RA, offsetof(GCfuncL, uvptr) | lwzx STR:TMP1, KBASE, TMP1 // KBASE-4-str_const*4 | lwzx UPVAL:RB, LFUNC:RB, RA - | ins_next1 | lbz TMP3, UPVAL:RB->marked | lwz CARG2, UPVAL:RB->v | andi. TMP3, TMP3, LJ_GC_BLACK // isblack(uv) @@ -3428,7 +3426,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop) | stw TMP0, 0(CARG2) | bne >2 |1: - | ins_next2 + | ins_next | |2: // Check if string is white and ensure upvalue is closed. | andi. TMP3, TMP3, LJ_GC_WHITES // iswhite(str) diff --git a/src/buildvm_ppc.h b/src/buildvm_ppc.h index 0bc8229f..ea35c990 100644 --- a/src/buildvm_ppc.h +++ b/src/buildvm_ppc.h @@ -5766,8 +5766,6 @@ static const unsigned int build_actionlist[7577] = { 0x00098200, 0x7c0c74ee, 0x7d4aa02e, -0x80f00000, -0x3a100004, 0x88ca0000, 0x00098200, 0x808a0000, @@ -5786,6 +5784,8 @@ static const unsigned int build_actionlist[7577] = { 0x40820000, 0x00050802, 0x0006000b, +0x80f00000, +0x3a100004, 0x54e815ba, 0x7c11402e, 0x7c0903a6, @@ -5822,8 +5822,6 @@ static const unsigned int build_actionlist[7577] = { 0x00098200, 0x7d0f402e, 0x7d4aa02e, -0x80f00000, -0x3a100004, 0x88ca0000, 0x00098200, 0x808a0000, @@ -5841,6 +5839,8 @@ static const unsigned int build_actionlist[7577] = { 0x40820000, 0x00050802, 0x0006000b, +0x80f00000, +0x3a100004, 0x54e815ba, 0x7c11402e, 0x7c0903a6,