58 } |
58 } |
59 |
59 |
60 void CodeInstaller::pd_patch_MetaspaceConstant(int pc_offset, Handle constant, TRAPS) { |
60 void CodeInstaller::pd_patch_MetaspaceConstant(int pc_offset, Handle constant, TRAPS) { |
61 address pc = _instructions->start() + pc_offset; |
61 address pc = _instructions->start() + pc_offset; |
62 if (HotSpotMetaspaceConstantImpl::compressed(constant)) { |
62 if (HotSpotMetaspaceConstantImpl::compressed(constant)) { |
63 narrowKlass narrowOop = record_narrow_metadata_reference(constant, CHECK); |
63 narrowKlass narrowOop = record_narrow_metadata_reference(_instructions, pc, constant, CHECK); |
64 TRACE_jvmci_3("relocating (narrow metaspace constant) at " PTR_FORMAT "/0x%x", p2i(pc), narrowOop); |
64 TRACE_jvmci_3("relocating (narrow metaspace constant) at " PTR_FORMAT "/0x%x", p2i(pc), narrowOop); |
65 Unimplemented(); |
65 Unimplemented(); |
66 } else { |
66 } else { |
67 NativeMovConstReg* move = nativeMovConstReg_at(pc); |
67 NativeMovConstReg* move = nativeMovConstReg_at(pc); |
68 void* reference = record_metadata_reference(constant, CHECK); |
68 void* reference = record_metadata_reference(_instructions, pc, constant, CHECK); |
69 move->set_data((intptr_t) reference); |
69 move->set_data((intptr_t) reference); |
70 TRACE_jvmci_3("relocating (metaspace constant) at " PTR_FORMAT "/" PTR_FORMAT, p2i(pc), p2i(reference)); |
70 TRACE_jvmci_3("relocating (metaspace constant) at " PTR_FORMAT "/" PTR_FORMAT, p2i(pc), p2i(reference)); |
71 } |
71 } |
72 } |
72 } |
73 |
73 |