hotspot/src/cpu/aarch64/vm/jvmciCodeInstaller_aarch64.cpp
changeset 36329 06727ae6971e
parent 36063 96e86c7f8fec
child 36842 8f0d0faa51e2
equal deleted inserted replaced
36328:f627026bc04a 36329:06727ae6971e
    72 }
    72 }
    73 
    73 
    74 void CodeInstaller::pd_patch_DataSectionReference(int pc_offset, int data_offset, TRAPS) {
    74 void CodeInstaller::pd_patch_DataSectionReference(int pc_offset, int data_offset, TRAPS) {
    75   address pc = _instructions->start() + pc_offset;
    75   address pc = _instructions->start() + pc_offset;
    76   NativeInstruction* inst = nativeInstruction_at(pc);
    76   NativeInstruction* inst = nativeInstruction_at(pc);
    77   if (inst->is_adr_aligned()) {
    77   if (inst->is_adr_aligned() || inst->is_ldr_literal()) {
    78     address dest = _constants->start() + data_offset;
    78     address dest = _constants->start() + data_offset;
    79     _instructions->relocate(pc, section_word_Relocation::spec((address) dest, CodeBuffer::SECT_CONSTS));
    79     _instructions->relocate(pc, section_word_Relocation::spec((address) dest, CodeBuffer::SECT_CONSTS));
    80     TRACE_jvmci_3("relocating at " PTR_FORMAT " (+%d) with destination at %d", p2i(pc), pc_offset, data_offset);
    80     TRACE_jvmci_3("relocating at " PTR_FORMAT " (+%d) with destination at %d", p2i(pc), pc_offset, data_offset);
    81   } else {
    81   } else {
    82     JVMCI_ERROR("unknown load or move instruction at " PTR_FORMAT, p2i(pc));
    82     JVMCI_ERROR("unknown load or move instruction at " PTR_FORMAT, p2i(pc));