< prev index next >

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

Print this page
@@ -152,20 +152,24 @@
              }
          }
          return logOrDump(resultInstalledCode, compiledCode);
      }
  
-     @Override
-     public void invalidateInstalledCode(InstalledCode installedCode) {
+     public void invalidateInstalledCode(InstalledCode installedCode, int invalidationReason) {
          if (installedCode instanceof HotSpotNmethod) {
              HotSpotNmethod nmethod = (HotSpotNmethod) installedCode;
-             nmethod.invalidate(true);
+             nmethod.invalidate(true, invalidationReason);
          } else {
              throw new IllegalArgumentException("Cannot invalidate a " + Objects.requireNonNull(installedCode).getClass().getName());
          }
      }
  
+     @Override
+     public void invalidateInstalledCode(InstalledCode installedCode) {
+         invalidateInstalledCode(installedCode, jvmciInvalidationReason());
+     }
+ 
      @Override
      public TargetDescription getTarget() {
          return target;
      }
  

@@ -199,6 +203,10 @@
       * Resets all compilation statistics.
       */
      public void resetCompilationStatistics() {
          runtime.getCompilerToVM().resetCompilationStatistics();
      }
+ 
+     private static int jvmciInvalidationReason() {
+         return HotSpotJVMCIRuntime.runtime().config.getConstant("nmethod::InvalidationReason::JVMCI_INVALIDATE", Integer.class);
+     }
  }
< prev index next >