--- a/src/hotspot/cpu/x86/macroAssembler_x86.cpp Thu Aug 09 17:11:11 2018 +0200
+++ b/src/hotspot/cpu/x86/macroAssembler_x86.cpp Fri Jun 22 16:07:15 2018 +0200
@@ -6287,6 +6287,15 @@
}
}
+void MacroAssembler::resolve(DecoratorSet decorators, Register obj) {
+ // 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);
+}
+
void MacroAssembler::load_heap_oop(Register dst, Address src, Register tmp1,
Register thread_tmp, DecoratorSet decorators) {
access_load_at(T_OBJECT, IN_HEAP | decorators, dst, src, tmp1, thread_tmp);