< prev index next >

src/hotspot/cpu/x86/macroAssembler_x86.cpp

Print this page
@@ -9727,10 +9727,24 @@
    movq(rcx, Address(rsp, 14 * wordSize));
    movq(rax, Address(rsp, 15 * wordSize));
    addq(rsp, 16 * wordSize);
  }
  
+ void MacroAssembler::load_aotrc_address(Register reg, address a) {
+ #if INCLUDE_CDS
+   assert(AOTRuntimeConstants::contains(a), "address out of range for data area");
+   if (AOTCodeCache::is_on_for_dump()) {
+     // all aotrc field addresses should be registered in the AOTCodeCache address table
+     lea(reg, ExternalAddress(a));
+   } else {
+     mov64(reg, (uint64_t)a);
+   }
+ #else
+   ShouldNotReachHere();
+ #endif
+ }
+ 
  void MacroAssembler::setcc(Assembler::Condition comparison, Register dst) {
    if (VM_Version::supports_apx_f()) {
      esetzucc(comparison, dst);
    } else {
      setb(comparison, dst);
< prev index next >