85 MacroAssembler::pd_patch_instruction(addr(), x); 86 assert(pd_call_destination(addr()) == x, "fail in reloc"); 87 } 88 89 address* Relocation::pd_address_in_code() { 90 return (address*)(addr() + 8); 91 } 92 93 94 address Relocation::pd_get_address_from_code() { 95 return MacroAssembler::pd_call_destination(addr()); 96 } 97 98 void poll_Relocation::fix_relocation_after_move(const CodeBuffer* src, CodeBuffer* dest) { 99 if (NativeInstruction::maybe_cpool_ref(addr())) { 100 address old_addr = old_addr_for(addr(), src, dest); 101 MacroAssembler::pd_patch_instruction(addr(), MacroAssembler::target_addr_for_insn(old_addr)); 102 } 103 } 104 105 void poll_return_Relocation::fix_relocation_after_move(const CodeBuffer* src, CodeBuffer* dest) { 106 if (NativeInstruction::maybe_cpool_ref(addr())) { 107 address old_addr = old_addr_for(addr(), src, dest); 108 MacroAssembler::pd_patch_instruction(addr(), MacroAssembler::target_addr_for_insn(old_addr)); 109 } 110 } 111 112 void metadata_Relocation::pd_fix_value(address x) { 113 } | 85 MacroAssembler::pd_patch_instruction(addr(), x); 86 assert(pd_call_destination(addr()) == x, "fail in reloc"); 87 } 88 89 address* Relocation::pd_address_in_code() { 90 return (address*)(addr() + 8); 91 } 92 93 94 address Relocation::pd_get_address_from_code() { 95 return MacroAssembler::pd_call_destination(addr()); 96 } 97 98 void poll_Relocation::fix_relocation_after_move(const CodeBuffer* src, CodeBuffer* dest) { 99 if (NativeInstruction::maybe_cpool_ref(addr())) { 100 address old_addr = old_addr_for(addr(), src, dest); 101 MacroAssembler::pd_patch_instruction(addr(), MacroAssembler::target_addr_for_insn(old_addr)); 102 } 103 } 104 105 void metadata_Relocation::pd_fix_value(address x) { 106 } |