< prev index next >

src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotCodeCacheProvider.java

Print this page
rev 12637 : 8174957: [JVMCI] jaotc is broken in Xcomp mode


  59         HotSpotVMConfigStore store = runtime.getConfigStore();
  60         for (Map.Entry<String, Long> e : store.getConstants().entrySet()) {
  61             String name = e.getKey();
  62             if (name.startsWith("MARKID_") && e.getValue() == markId) {
  63                 return name;
  64             }
  65         }
  66         return CodeCacheProvider.super.getMarkName(mark);
  67     }
  68 
  69     /**
  70      * Decodes a call target to a mnemonic if possible.
  71      */
  72     @Override
  73     public String getTargetName(Call call) {
  74         if (call.target instanceof HotSpotForeignCallTarget) {
  75             long address = ((HotSpotForeignCallTarget) call.target).address;
  76             HotSpotVMConfigStore store = runtime.getConfigStore();
  77             for (Map.Entry<String, VMField> e : store.getFields().entrySet()) {
  78                 VMField field = e.getValue();
  79                 if (field.isStatic() && field.value != null && field.value == address) {
  80                     return e.getValue() + ":0x" + Long.toHexString(address);
  81                 }
  82             }
  83         }
  84         return CodeCacheProvider.super.getTargetName(call);
  85     }
  86 
  87     @Override
  88     public RegisterConfig getRegisterConfig() {
  89         return regConfig;
  90     }
  91 
  92     @Override
  93     public int getMinimumOutgoingSize() {
  94         return runtime.getConfig().runtimeCallStackSize;
  95     }
  96 
  97     private InstalledCode logOrDump(InstalledCode installedCode, CompiledCode compiledCode) {
  98         ((HotSpotJVMCIRuntime) runtime).notifyInstall(this, installedCode, compiledCode);
  99         return installedCode;




  59         HotSpotVMConfigStore store = runtime.getConfigStore();
  60         for (Map.Entry<String, Long> e : store.getConstants().entrySet()) {
  61             String name = e.getKey();
  62             if (name.startsWith("MARKID_") && e.getValue() == markId) {
  63                 return name;
  64             }
  65         }
  66         return CodeCacheProvider.super.getMarkName(mark);
  67     }
  68 
  69     /**
  70      * Decodes a call target to a mnemonic if possible.
  71      */
  72     @Override
  73     public String getTargetName(Call call) {
  74         if (call.target instanceof HotSpotForeignCallTarget) {
  75             long address = ((HotSpotForeignCallTarget) call.target).address;
  76             HotSpotVMConfigStore store = runtime.getConfigStore();
  77             for (Map.Entry<String, VMField> e : store.getFields().entrySet()) {
  78                 VMField field = e.getValue();
  79                 if (field.isStatic() && field.value != null && field.value instanceof Long && ((Long) field.value) == address) {
  80                     return e.getValue() + ":0x" + Long.toHexString(address);
  81                 }
  82             }
  83         }
  84         return CodeCacheProvider.super.getTargetName(call);
  85     }
  86 
  87     @Override
  88     public RegisterConfig getRegisterConfig() {
  89         return regConfig;
  90     }
  91 
  92     @Override
  93     public int getMinimumOutgoingSize() {
  94         return runtime.getConfig().runtimeCallStackSize;
  95     }
  96 
  97     private InstalledCode logOrDump(InstalledCode installedCode, CompiledCode compiledCode) {
  98         ((HotSpotJVMCIRuntime) runtime).notifyInstall(this, installedCode, compiledCode);
  99         return installedCode;


< prev index next >