src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp
changeset 55521 f9a2f93a0c87
parent 51374 7be0084191ed
child 57811 947252a54b98
equal deleted inserted replaced
55520:33bb8c970770 55521:f9a2f93a0c87
   284   add(temp, cpool, index, LSL, LogBytesPerWord);
   284   add(temp, cpool, index, LSL, LogBytesPerWord);
   285   ldrh(temp, Address(temp, sizeof(ConstantPool))); // temp = resolved_klass_index
   285   ldrh(temp, Address(temp, sizeof(ConstantPool))); // temp = resolved_klass_index
   286   ldr(klass, Address(cpool,  ConstantPool::resolved_klasses_offset_in_bytes())); // klass = cpool->_resolved_klasses
   286   ldr(klass, Address(cpool,  ConstantPool::resolved_klasses_offset_in_bytes())); // klass = cpool->_resolved_klasses
   287   add(klass, klass, temp, LSL, LogBytesPerWord);
   287   add(klass, klass, temp, LSL, LogBytesPerWord);
   288   ldr(klass, Address(klass, Array<Klass*>::base_offset_in_bytes()));
   288   ldr(klass, Address(klass, Array<Klass*>::base_offset_in_bytes()));
       
   289 }
       
   290 
       
   291 void InterpreterMacroAssembler::load_resolved_method_at_index(int byte_no,
       
   292                                                               Register method,
       
   293                                                               Register cache) {
       
   294   const int method_offset = in_bytes(
       
   295     ConstantPoolCache::base_offset() +
       
   296       ((byte_no == TemplateTable::f2_byte)
       
   297        ? ConstantPoolCacheEntry::f2_offset()
       
   298        : ConstantPoolCacheEntry::f1_offset()));
       
   299 
       
   300   ldr(method, Address(cache, method_offset)); // get f1 Method*
   289 }
   301 }
   290 
   302 
   291 // Generate a subtype check: branch to ok_is_subtype if sub_klass is a
   303 // Generate a subtype check: branch to ok_is_subtype if sub_klass is a
   292 // subtype of super_klass.
   304 // subtype of super_klass.
   293 //
   305 //