hotspot/src/cpu/arm/vm/macroAssembler_arm.cpp
changeset 46961 c9094b1e5f87
parent 44406 a46a6c4d1dd9
equal deleted inserted replaced
46959:1863b25339a9 46961:c9094b1e5f87
  2885     bind(ret_addr);
  2885     bind(ret_addr);
  2886   }
  2886   }
  2887   return offset();
  2887   return offset();
  2888 }
  2888 }
  2889 
  2889 
       
  2890 // ((OopHandle)result).resolve();
       
  2891 void MacroAssembler::resolve_oop_handle(Register result) {
       
  2892   // OopHandle::resolve is an indirection.
       
  2893   ldr(result, Address(result, 0));
       
  2894 }
  2890 
  2895 
  2891 void MacroAssembler::load_mirror(Register mirror, Register method, Register tmp) {
  2896 void MacroAssembler::load_mirror(Register mirror, Register method, Register tmp) {
  2892   const int mirror_offset = in_bytes(Klass::java_mirror_offset());
  2897   const int mirror_offset = in_bytes(Klass::java_mirror_offset());
  2893   ldr(tmp, Address(method, Method::const_offset()));
  2898   ldr(tmp, Address(method, Method::const_offset()));
  2894   ldr(tmp, Address(tmp,  ConstMethod::constants_offset()));
  2899   ldr(tmp, Address(tmp,  ConstMethod::constants_offset()));
  2895   ldr(tmp, Address(tmp, ConstantPool::pool_holder_offset_in_bytes()));
  2900   ldr(tmp, Address(tmp, ConstantPool::pool_holder_offset_in_bytes()));
  2896   ldr(mirror, Address(tmp, mirror_offset));
  2901   ldr(mirror, Address(tmp, mirror_offset));
  2897 }
  2902 }
       
  2903 
  2898 
  2904 
  2899 ///////////////////////////////////////////////////////////////////////////////
  2905 ///////////////////////////////////////////////////////////////////////////////
  2900 
  2906 
  2901 // Compressed pointers
  2907 // Compressed pointers
  2902 
  2908