< prev index next >
src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp
Print this page
rev 50081 : [mq]: primitives2.patch
*** 489,503 ****
bool on_weak = (decorators & ON_WEAK_OOP_REF) != 0;
bool on_phantom = (decorators & ON_PHANTOM_OOP_REF) != 0;
bool on_reference = on_weak || on_phantom;
// tty->print_cr("RB src.base: %s", src.base()->name());
// __ verify_oop(src.base(), "broken oop before RB");
- /*
if (in_heap) {
read_barrier_not_null(masm, src.base());
}
- */
// __ verify_oop(src.base(), "broken oop before RB");
BarrierSetAssembler::load_at(masm, decorators, type, dst, src, tmp1, tmp_thread);
if (ShenandoahKeepAliveBarrier && on_oop && on_reference) {
const Register thread = NOT_LP64(tmp_thread) LP64_ONLY(r15_thread);
NOT_LP64(__ get_thread(thread));
--- 489,501 ----
*** 517,531 ****
void ShenandoahBarrierSetAssembler::store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
Address dst, Register val, Register tmp1, Register tmp2) {
bool in_heap = (decorators & IN_HEAP) != 0;
bool in_concurrent_root = (decorators & IN_CONCURRENT_ROOT) != 0;
- /*
if (in_heap) {
write_barrier(masm, dst.base());
}
- */
if (type == T_OBJECT || type == T_ARRAY) {
bool needs_pre_barrier = in_heap || in_concurrent_root;
bool needs_post_barrier = val != noreg && in_heap && UseShenandoahMatrix;
Register tmp3 = LP64_ONLY(r8) NOT_LP64(rsi);
--- 515,527 ----
< prev index next >