< prev index next >

src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp

Print this page
*** 40,10 ***
--- 40,11 ---
  #include "nativeInst_aarch64.hpp"
  #include "oops/objArrayKlass.hpp"
  #include "runtime/frame.inline.hpp"
  #include "runtime/sharedRuntime.hpp"
  #include "runtime/stubRoutines.hpp"
+ #include "runtime/threadIdentifier.hpp"
  #include "utilities/powerOfTwo.hpp"
  #include "vmreg_aarch64.inline.hpp"
  
  
  #ifndef PRODUCT

*** 534,10 ***
--- 535,14 ---
      case T_LONG: {
        assert(patch_code == lir_patch_none, "no patching handled here");
  #if INCLUDE_CDS
        if (AOTCodeCache::is_on_for_dump()) {
          address b = c->as_pointer();
+         if (b == (address)ThreadIdentifier::unsafe_offset()) {
+           __ lea(dest->as_register_lo(), ExternalAddress(b));
+           break;
+         }
          if (AOTRuntimeConstants::contains(b)) {
            __ load_aotrc_address(dest->as_register_lo(), b);
            break;
          }
        }
< prev index next >