< prev index next >
src/cpu/aarch64/vm/interp_masm_aarch64.cpp
Print this page
rev 13551 : imported patch gcinterface-aarch64-5.patch
*** 22,31 ****
--- 22,32 ----
* questions.
*
*/
#include "precompiled.hpp"
+ #include "gc/shared/barrierSetCodeGen.hpp"
#include "interp_masm_aarch64.hpp"
#include "interpreter/interpreter.hpp"
#include "interpreter/interpreterRuntime.hpp"
#include "logging/log.hpp"
#include "oops/arrayOop.hpp"
*** 273,283 ****
ldr(result, Address(result, ConstantPool::cache_offset_in_bytes()));
ldr(result, Address(result, ConstantPoolCache::resolved_references_offset_in_bytes()));
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)));
}
void InterpreterMacroAssembler::load_resolved_klass_at_offset(
Register cpool, Register index, Register klass, Register temp) {
add(temp, cpool, index, LSL, LogBytesPerWord);
--- 274,285 ----
ldr(result, Address(result, ConstantPool::cache_offset_in_bytes()));
ldr(result, Address(result, ConstantPoolCache::resolved_references_offset_in_bytes()));
resolve_oop_handle(result);
// Add in the index
add(result, result, tmp);
! 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(
Register cpool, Register index, Register klass, Register temp) {
add(temp, cpool, index, LSL, LogBytesPerWord);
< prev index next >