102
103
104 address* Relocation::pd_address_in_code() {
105 return (address*)(addr() + 8);
106 }
107
108
109 address Relocation::pd_get_address_from_code() {
110 return MacroAssembler::pd_call_destination(addr());
111 }
112
113 void poll_Relocation::fix_relocation_after_move(const CodeBuffer* src, CodeBuffer* dest) {
114 if (NativeInstruction::maybe_cpool_ref(addr())) {
115 address old_addr = old_addr_for(addr(), src, dest);
116 MacroAssembler::pd_patch_instruction(addr(), MacroAssembler::target_addr_for_insn(old_addr));
117 }
118 }
119
120 void metadata_Relocation::pd_fix_value(address x) {
121 }
|
102
103
104 address* Relocation::pd_address_in_code() {
105 return (address*)(addr() + 8);
106 }
107
108
109 address Relocation::pd_get_address_from_code() {
110 return MacroAssembler::pd_call_destination(addr());
111 }
112
113 void poll_Relocation::fix_relocation_after_move(const CodeBuffer* src, CodeBuffer* dest) {
114 if (NativeInstruction::maybe_cpool_ref(addr())) {
115 address old_addr = old_addr_for(addr(), src, dest);
116 MacroAssembler::pd_patch_instruction(addr(), MacroAssembler::target_addr_for_insn(old_addr));
117 }
118 }
119
120 void metadata_Relocation::pd_fix_value(address x) {
121 }
122
123 address trampoline_stub_Relocation::pd_destination() {
124 return nativeCallTrampolineStub_at(addr())->destination();
125 }
126
127 void trampoline_stub_Relocation::pd_set_destination(address x) {
128 nativeCallTrampolineStub_at(addr())->set_destination(x);
129 }
|