inline void MacroAssembler::load_const(Register t, const AddressLiteral& a) { assert(t != Z_R0, "R0 not allowed"); // First relocate (we don't change the offset in the RelocationHolder, // just pass a.rspec()), then delegate to load_const(Register, long). relocate(a.rspec()); load_const(t, (long)a.value()); }
inline void MacroAssembler::set_oop(AddressLiteral obj_addr, Register d) { assert(obj_addr.rspec().type() == relocInfo::oop_type, "must be an oop reloc"); load_const(d, obj_addr); }
inline void MacroAssembler::set_oop(const AddressLiteral& obj_addr, Register d) { assert(obj_addr.rspec().type() == relocInfo::oop_type, "must be an oop reloc"); set(obj_addr, d); }
inline void MacroAssembler::set_metadata(const AddressLiteral& obj_addr, Register d) { assert(obj_addr.rspec().type() == relocInfo::metadata_type, "must be a metadata reloc"); set(obj_addr, d); }
inline void MacroAssembler::load_const_optimized(Register t, const AddressLiteral& a) { assert(t != Z_R0, "R0 not allowed"); assert((relocInfo::relocType)a.rspec().reloc()->type() == relocInfo::none, "cannot relocate optimized load_consts"); load_const_optimized(t, a.value()); }