< prev index next >
src/share/vm/c1/c1_LIRGenerator.cpp
Print this page
@@ -399,11 +399,11 @@
}
}
CodeEmitInfo* LIRGenerator::state_for(Instruction* x, ValueStack* state, bool ignore_xhandler) {
- assert(state != NULL, "state must be defined");
+ assert(state != NULL, "state must be define");
#ifndef PRODUCT
state->verify();
#endif
@@ -1615,18 +1615,19 @@
} else {
LIR_Opr tmp_zero = new_register(T_INT);
__ move(LIR_OprFact::intConst(0), tmp_zero);
__ move(tmp_zero, card_addr);
}
-#elsif defined(TARGET_ARCH_aarch64)
+#elif defined(TARGET_ARCH_aarch64)
LIR_Opr tmp = new_pointer_register();
if (TwoOperandLIRForm) {
__ move(addr, tmp);
__ unsigned_shift_right(tmp, CardTableModRefBS::card_shift, tmp);
} else {
__ unsigned_shift_right(addr, CardTableModRefBS::card_shift, tmp);
}
+ __ membar_release();
if (can_inline_as_constant(card_table_base)) {
__ move(LIR_OprFact::intConst(0),
new LIR_Address(tmp, card_table_base->as_jint(), T_BYTE));
} else {
__ move(LIR_OprFact::intConst(0),
< prev index next >