< prev index next >

src/cpu/aarch64/vm/interp_masm_aarch64.cpp

Print this page

*** 277,286 **** --- 277,295 ---- // 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); + ldrh(temp, Address(temp, sizeof(ConstantPool))); // temp = resolved_klass_index + ldr(klass, Address(cpool, ConstantPool::resolved_klasses_offset_in_bytes())); // klass = cpool->_resolved_klasses + add(klass, klass, temp, LSL, LogBytesPerWord); + ldr(klass, Address(klass, Array<Klass*>::base_offset_in_bytes())); + } + // Generate a subtype check: branch to ok_is_subtype if sub_klass is a // subtype of super_klass. // // Args: // r0: superklass
< prev index next >