hotspot/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp
changeset 38074 8475fdc6dcc3
parent 38057 1eba14626850
child 38093 5bc7b4b8a473
equal deleted inserted replaced
38071:cdc19fb67395 38074:8475fdc6dcc3
  3215   } else {
  3215   } else {
  3216     ldr(dst, Address(src, oopDesc::klass_offset_in_bytes()));
  3216     ldr(dst, Address(src, oopDesc::klass_offset_in_bytes()));
  3217   }
  3217   }
  3218 }
  3218 }
  3219 
  3219 
       
  3220 void MacroAssembler::load_mirror(Register dst, Register method) {
       
  3221   const int mirror_offset = in_bytes(Klass::java_mirror_offset());
       
  3222   ldr(dst, Address(rmethod, Method::const_offset()));
       
  3223   ldr(dst, Address(dst, ConstMethod::constants_offset()));
       
  3224   ldr(dst, Address(dst, ConstantPool::pool_holder_offset_in_bytes()));
       
  3225   ldr(dst, Address(dst, mirror_offset));
       
  3226 }
       
  3227 
  3220 void MacroAssembler::cmp_klass(Register oop, Register trial_klass, Register tmp) {
  3228 void MacroAssembler::cmp_klass(Register oop, Register trial_klass, Register tmp) {
  3221   if (UseCompressedClassPointers) {
  3229   if (UseCompressedClassPointers) {
  3222     ldrw(tmp, Address(oop, oopDesc::klass_offset_in_bytes()));
  3230     ldrw(tmp, Address(oop, oopDesc::klass_offset_in_bytes()));
  3223     if (Universe::narrow_klass_base() == NULL) {
  3231     if (Universe::narrow_klass_base() == NULL) {
  3224       cmp(trial_klass, tmp, LSL, Universe::narrow_klass_shift());
  3232       cmp(trial_klass, tmp, LSL, Universe::narrow_klass_shift());