--- old/src/hotspot/cpu/x86/macroAssembler_x86.cpp 2018-07-26 16:10:28.279933091 +0200 +++ new/src/hotspot/cpu/x86/macroAssembler_x86.cpp 2018-07-26 16:10:28.100933095 +0200 @@ -6288,9 +6288,9 @@ } void MacroAssembler::resolve(DecoratorSet decorators, Register obj) { - // Use stronger ACCESS_WRITE by default. - if ((decorators & ACCESS_READ) == 0) { - decorators |= ACCESS_WRITE; + // Use stronger ACCESS_WRITE|ACCESS_READ by default. + if ((decorators & (ACCESS_READ | ACCESS_WRITE)) == 0) { + decorators |= ACCESS_READ | ACCESS_WRITE; } BarrierSetAssembler* bs = BarrierSet::barrier_set()->barrier_set_assembler(); return bs->resolve(this, decorators, obj);