diff options
| author | Mike Pall <mike> | 2011-10-25 00:29:10 +0200 |
|---|---|---|
| committer | Mike Pall <mike> | 2011-10-25 00:30:41 +0200 |
| commit | bec4d20fb615ccb4e0ac52955aa55b885f020f45 (patch) | |
| tree | d5a849e69e9ff7e975de271bfeb9ceb8db4045c0 /src | |
| parent | 0cf8c20be8ee009e01752874186a1dea352009fb (diff) | |
| download | luajit-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.dasc | 6 | ||||
| -rw-r--r-- | 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) | |||
| 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] = { | |||
| 5766 | 0x00098200, | 5766 | 0x00098200, |
| 5767 | 0x7c0c74ee, | 5767 | 0x7c0c74ee, |
| 5768 | 0x7d4aa02e, | 5768 | 0x7d4aa02e, |
| 5769 | 0x80f00000, | ||
| 5770 | 0x3a100004, | ||
| 5771 | 0x88ca0000, | 5769 | 0x88ca0000, |
| 5772 | 0x00098200, | 5770 | 0x00098200, |
| 5773 | 0x808a0000, | 5771 | 0x808a0000, |
| @@ -5786,6 +5784,8 @@ static const unsigned int build_actionlist[7577] = { | |||
| 5786 | 0x40820000, | 5784 | 0x40820000, |
| 5787 | 0x00050802, | 5785 | 0x00050802, |
| 5788 | 0x0006000b, | 5786 | 0x0006000b, |
| 5787 | 0x80f00000, | ||
| 5788 | 0x3a100004, | ||
| 5789 | 0x54e815ba, | 5789 | 0x54e815ba, |
| 5790 | 0x7c11402e, | 5790 | 0x7c11402e, |
| 5791 | 0x7c0903a6, | 5791 | 0x7c0903a6, |
| @@ -5822,8 +5822,6 @@ static const unsigned int build_actionlist[7577] = { | |||
| 5822 | 0x00098200, | 5822 | 0x00098200, |
| 5823 | 0x7d0f402e, | 5823 | 0x7d0f402e, |
| 5824 | 0x7d4aa02e, | 5824 | 0x7d4aa02e, |
| 5825 | 0x80f00000, | ||
| 5826 | 0x3a100004, | ||
| 5827 | 0x88ca0000, | 5825 | 0x88ca0000, |
| 5828 | 0x00098200, | 5826 | 0x00098200, |
| 5829 | 0x808a0000, | 5827 | 0x808a0000, |
| @@ -5841,6 +5839,8 @@ static const unsigned int build_actionlist[7577] = { | |||
| 5841 | 0x40820000, | 5839 | 0x40820000, |
| 5842 | 0x00050802, | 5840 | 0x00050802, |
| 5843 | 0x0006000b, | 5841 | 0x0006000b, |
| 5842 | 0x80f00000, | ||
| 5843 | 0x3a100004, | ||
| 5844 | 0x54e815ba, | 5844 | 0x54e815ba, |
| 5845 | 0x7c11402e, | 5845 | 0x7c11402e, |
| 5846 | 0x7c0903a6, | 5846 | 0x7c0903a6, |
