aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2011-10-25 00:29:10 +0200
committerMike Pall <mike>2011-10-25 00:30:41 +0200
commitbec4d20fb615ccb4e0ac52955aa55b885f020f45 (patch)
treed5a849e69e9ff7e975de271bfeb9ceb8db4045c0 /src
parent0cf8c20be8ee009e01752874186a1dea352009fb (diff)
downloadluajit-bec4d20fb615ccb4e0ac52955aa55b885f020f45.tar.gz
luajit-bec4d20fb615ccb4e0ac52955aa55b885f020f45.tar.bz2
luajit-bec4d20fb615ccb4e0ac52955aa55b885f020f45.zip
PPC: Fix write barrier in USETV/USETS.
Diffstat (limited to 'src')
-rw-r--r--src/buildvm_ppc.dasc6
-rw-r--r--src/buildvm_ppc.h8
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)
3382 | addi RA, RA, offsetof(GCfuncL, uvptr) 3382 | addi RA, RA, offsetof(GCfuncL, uvptr)
3383 | lfdux f0, RD, BASE 3383 | lfdux f0, RD, BASE
3384 | lwzx UPVAL:RB, LFUNC:RB, RA 3384 | lwzx UPVAL:RB, LFUNC:RB, RA
3385 | ins_next1
3386 | lbz TMP3, UPVAL:RB->marked 3385 | lbz TMP3, UPVAL:RB->marked
3387 | lwz CARG2, UPVAL:RB->v 3386 | lwz CARG2, UPVAL:RB->v
3388 | andi. TMP3, TMP3, LJ_GC_BLACK // isblack(uv) 3387 | andi. TMP3, TMP3, LJ_GC_BLACK // isblack(uv)
@@ -3395,7 +3394,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
3395 | subi TMP2, TMP2, (LJ_TISNUM+1) 3394 | subi TMP2, TMP2, (LJ_TISNUM+1)
3396 | bne >2 // Upvalue is closed and black? 3395 | bne >2 // Upvalue is closed and black?
3397 |1: 3396 |1:
3398 | ins_next2 3397 | ins_next
3399 | 3398 |
3400 |2: // Check if new value is collectable. 3399 |2: // Check if new value is collectable.
3401 | cmplwi TMP2, LJ_TISGCV - (LJ_TISNUM+1) 3400 | cmplwi TMP2, LJ_TISGCV - (LJ_TISNUM+1)
@@ -3417,7 +3416,6 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
3417 | addi RA, RA, offsetof(GCfuncL, uvptr) 3416 | addi RA, RA, offsetof(GCfuncL, uvptr)
3418 | lwzx STR:TMP1, KBASE, TMP1 // KBASE-4-str_const*4 3417 | lwzx STR:TMP1, KBASE, TMP1 // KBASE-4-str_const*4
3419 | lwzx UPVAL:RB, LFUNC:RB, RA 3418 | lwzx UPVAL:RB, LFUNC:RB, RA
3420 | ins_next1
3421 | lbz TMP3, UPVAL:RB->marked 3419 | lbz TMP3, UPVAL:RB->marked
3422 | lwz CARG2, UPVAL:RB->v 3420 | lwz CARG2, UPVAL:RB->v
3423 | andi. TMP3, TMP3, LJ_GC_BLACK // isblack(uv) 3421 | andi. TMP3, TMP3, LJ_GC_BLACK // isblack(uv)
@@ -3428,7 +3426,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
3428 | stw TMP0, 0(CARG2) 3426 | stw TMP0, 0(CARG2)
3429 | bne >2 3427 | bne >2
3430 |1: 3428 |1:
3431 | ins_next2 3429 | ins_next
3432 | 3430 |
3433 |2: // Check if string is white and ensure upvalue is closed. 3431 |2: // Check if string is white and ensure upvalue is closed.
3434 | andi. TMP3, TMP3, LJ_GC_WHITES // iswhite(str) 3432 | 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] = {
57660x00098200, 57660x00098200,
57670x7c0c74ee, 57670x7c0c74ee,
57680x7d4aa02e, 57680x7d4aa02e,
57690x80f00000,
57700x3a100004,
57710x88ca0000, 57690x88ca0000,
57720x00098200, 57700x00098200,
57730x808a0000, 57710x808a0000,
@@ -5786,6 +5784,8 @@ static const unsigned int build_actionlist[7577] = {
57860x40820000, 57840x40820000,
57870x00050802, 57850x00050802,
57880x0006000b, 57860x0006000b,
57870x80f00000,
57880x3a100004,
57890x54e815ba, 57890x54e815ba,
57900x7c11402e, 57900x7c11402e,
57910x7c0903a6, 57910x7c0903a6,
@@ -5822,8 +5822,6 @@ static const unsigned int build_actionlist[7577] = {
58220x00098200, 58220x00098200,
58230x7d0f402e, 58230x7d0f402e,
58240x7d4aa02e, 58240x7d4aa02e,
58250x80f00000,
58260x3a100004,
58270x88ca0000, 58250x88ca0000,
58280x00098200, 58260x00098200,
58290x808a0000, 58270x808a0000,
@@ -5841,6 +5839,8 @@ static const unsigned int build_actionlist[7577] = {
58410x40820000, 58390x40820000,
58420x00050802, 58400x00050802,
58430x0006000b, 58410x0006000b,
58420x80f00000,
58430x3a100004,
58440x54e815ba, 58440x54e815ba,
58450x7c11402e, 58450x7c11402e,
58460x7c0903a6, 58460x7c0903a6,