< prev index next >

src/cpu/arm/vm/interp_masm_arm.cpp

Print this page

        

*** 298,309 **** Register cache = result; // load pointer for resolved_references[] objArray ldr(cache, Address(result, ConstantPool::cache_offset_in_bytes())); ldr(cache, Address(result, ConstantPoolCache::resolved_references_offset_in_bytes())); ! // JNIHandles::resolve(result) ! ldr(cache, Address(cache, 0)); // Add in the index // convert from field index to resolved_references() index and from // word index to byte offset. Since this is a java object, it can be compressed add(cache, cache, AsmOperand(index, lsl, LogBytesPerHeapOop)); load_heap_oop(result, Address(cache, arrayOopDesc::base_offset_in_bytes(T_OBJECT))); --- 298,308 ---- Register cache = result; // load pointer for resolved_references[] objArray ldr(cache, Address(result, ConstantPool::cache_offset_in_bytes())); ldr(cache, Address(result, ConstantPoolCache::resolved_references_offset_in_bytes())); ! resolve_oop_handle(cache); // Add in the index // convert from field index to resolved_references() index and from // word index to byte offset. Since this is a java object, it can be compressed add(cache, cache, AsmOperand(index, lsl, LogBytesPerHeapOop)); load_heap_oop(result, Address(cache, arrayOopDesc::base_offset_in_bytes(T_OBJECT)));
< prev index next >