93 }
94
95 address* Relocation::pd_address_in_code() {
96 return (address*)(addr() + 8);
97 }
98
99
100 address Relocation::pd_get_address_from_code() {
101 return MacroAssembler::pd_call_destination(addr());
102 }
103
104 void poll_Relocation::fix_relocation_after_move(const CodeBuffer* src, CodeBuffer* dest) {
105 if (NativeInstruction::maybe_cpool_ref(addr())) {
106 address old_addr = old_addr_for(addr(), src, dest);
107 MacroAssembler::pd_patch_instruction(addr(), MacroAssembler::target_addr_for_insn(old_addr));
108 }
109 }
110
111 void metadata_Relocation::pd_fix_value(address x) {
112 }
|
93 }
94
95 address* Relocation::pd_address_in_code() {
96 return (address*)(addr() + 8);
97 }
98
99
100 address Relocation::pd_get_address_from_code() {
101 return MacroAssembler::pd_call_destination(addr());
102 }
103
104 void poll_Relocation::fix_relocation_after_move(const CodeBuffer* src, CodeBuffer* dest) {
105 if (NativeInstruction::maybe_cpool_ref(addr())) {
106 address old_addr = old_addr_for(addr(), src, dest);
107 MacroAssembler::pd_patch_instruction(addr(), MacroAssembler::target_addr_for_insn(old_addr));
108 }
109 }
110
111 void metadata_Relocation::pd_fix_value(address x) {
112 }
113
114 address trampoline_stub_Relocation::pd_destination() {
115 return nativeCallTrampolineStub_at(addr())->destination();
116 }
117
118 void trampoline_stub_Relocation::pd_set_destination(address x) {
119 nativeCallTrampolineStub_at(addr())->set_destination(x);
120 }
|