aboutsummaryrefslogtreecommitdiff
path: root/src
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 /src
parent0522f74f6936f578b45b5e6cd659d0d6f94c7d5e (diff)
downloadluajit-325a1820eb2f9938a734f78619426eac8d490374.tar.gz
luajit-325a1820eb2f9938a734f78619426eac8d490374.tar.bz2
luajit-325a1820eb2f9938a734f78619426eac8d490374.zip
ARM: Fix conditional branch fixup for OBAR.
Diffstat (limited to 'src')
-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)
1017 args[0] = ASMREF_TMP1; /* global_State *g */ 1017 args[0] = ASMREF_TMP1; /* global_State *g */
1018 args[1] = ir->op1; /* TValue *tv */ 1018 args[1] = ir->op1; /* TValue *tv */
1019 asm_gencall(as, ci, args); 1019 asm_gencall(as, ci, args);
1020 if ((*as->mcp >> 28) == CC_AL) 1020 if ((l_end[-1] >> 28) == CC_AL)
1021 *as->mcp = ARMF_CC(*as->mcp, CC_NE); 1021 l_end[-1] = ARMF_CC(l_end[-1], CC_NE);
1022 else 1022 else
1023 emit_branch(as, ARMF_CC(ARMI_B, CC_EQ), l_end); 1023 emit_branch(as, ARMF_CC(ARMI_B, CC_EQ), l_end);
1024 ra_allockreg(as, i32ptr(J2G(as->J)), ra_releasetmp(as, ASMREF_TMP1)); 1024 ra_allockreg(as, i32ptr(J2G(as->J)), ra_releasetmp(as, ASMREF_TMP1));