summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Pall <mike>2012-04-26 23:34:54 +0200
committerMike Pall <mike>2012-04-26 23:34:54 +0200
commit325a1820eb2f9938a734f78619426eac8d490374 (patch)
tree7b7a245f83e7101b2f74dabadf9aa3b4438d1c4d
parent0522f74f6936f578b45b5e6cd659d0d6f94c7d5e (diff)
downloadluajit2-325a1820eb2f9938a734f78619426eac8d490374.tar.gz
ARM: Fix conditional branch fixup for OBAR.
-rw-r--r--src/lj_asm_arm.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lj_asm_arm.h b/src/lj_asm_arm.h
index 0501f4bc..5ec3d59f 100644
--- a/src/lj_asm_arm.h
+++ b/src/lj_asm_arm.h
@@ -1017,8 +1017,8 @@ static void asm_obar(ASMState *as, IRIns *ir)
args[0] = ASMREF_TMP1; /* global_State *g */
args[1] = ir->op1; /* TValue *tv */
asm_gencall(as, ci, args);
- if ((*as->mcp >> 28) == CC_AL)
- *as->mcp = ARMF_CC(*as->mcp, CC_NE);
+ if ((l_end[-1] >> 28) == CC_AL)
+ l_end[-1] = ARMF_CC(l_end[-1], CC_NE);
else
emit_branch(as, ARMF_CC(ARMI_B, CC_EQ), l_end);
ra_allockreg(as, i32ptr(J2G(as->J)), ra_releasetmp(as, ASMREF_TMP1));