< prev index next >
src/cpu/ppc/vm/macroAssembler_ppc.cpp
Print this page
rev 10742 : Make fields used in lock-free algorithms volatile
*** 2808,2818 ****
#endif
card_table_write(bs->byte_map_base, Rtmp, Rstore_addr);
}
// Write the card table byte.
! void MacroAssembler::card_table_write(jbyte* byte_map_base, Register Rtmp, Register Robj) {
assert_different_registers(Robj, Rtmp, R0);
load_const_optimized(Rtmp, (address)byte_map_base, R0);
srdi(Robj, Robj, CardTableModRefBS::card_shift);
li(R0, 0); // dirty
if (UseConcMarkSweepGC) membar(Assembler::StoreStore);
--- 2808,2818 ----
#endif
card_table_write(bs->byte_map_base, Rtmp, Rstore_addr);
}
// Write the card table byte.
! void MacroAssembler::card_table_write(volatile jbyte* byte_map_base, Register Rtmp, Register Robj) {
assert_different_registers(Robj, Rtmp, R0);
load_const_optimized(Rtmp, (address)byte_map_base, R0);
srdi(Robj, Robj, CardTableModRefBS::card_shift);
li(R0, 0); // dirty
if (UseConcMarkSweepGC) membar(Assembler::StoreStore);
< prev index next >