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