--- old/src/cpu/aarch64/vm/interp_masm_aarch64.cpp 2017-09-21 10:12:23.964545311 -0400 +++ new/src/cpu/aarch64/vm/interp_masm_aarch64.cpp 2017-09-21 10:12:23.702535312 -0400 @@ -24,6 +24,7 @@ */ #include "precompiled.hpp" +#include "gc/shared/barrierSetCodeGen.hpp" #include "interp_masm_aarch64.hpp" #include "interpreter/interpreter.hpp" #include "interpreter/interpreterRuntime.hpp" @@ -275,7 +276,8 @@ resolve_oop_handle(result); // Add in the index add(result, result, tmp); - load_heap_oop(result, Address(result, arrayOopDesc::base_offset_in_bytes(T_OBJECT))); + BarrierSetCodeGen *code_gen = BarrierSet::barrier_set()->code_gen(); + code_gen->load_at(this, ACCESS_IN_HEAP, T_OBJECT, result, Address(result, arrayOopDesc::base_offset_in_bytes(T_OBJECT)), /*tmp1*/ noreg, /*tmp_thread*/ noreg); } void InterpreterMacroAssembler::load_resolved_klass_at_offset(