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