8181823: [AOT] jaotc doesn't work with Graal
authorkvn
Wed, 21 Jun 2017 10:28:27 -0700
changeset 46553 7030aea81558
parent 46552 5cebeef576b2
child 46554 aa1cfd918c4f
8181823: [AOT] jaotc doesn't work with Graal Summary: add new flag to indicate when to calculate class fingerprint Reviewed-by: iklam, iveresov
hotspot/src/jdk.internal.vm.compiler/share/classes/module-info.java
hotspot/src/share/vm/oops/instanceKlass.cpp
hotspot/src/share/vm/runtime/globals.hpp
hotspot/src/share/vm/runtime/java.cpp
--- a/hotspot/src/jdk.internal.vm.compiler/share/classes/module-info.java	Tue Jun 20 17:00:07 2017 +0800
+++ b/hotspot/src/jdk.internal.vm.compiler/share/classes/module-info.java	Wed Jun 21 10:28:27 2017 -0700
@@ -39,6 +39,7 @@
     uses org.graalvm.compiler.debug.TTYStreamProvider;
     uses org.graalvm.compiler.hotspot.CompilerConfigurationFactory;
     uses org.graalvm.compiler.hotspot.HotSpotBackendFactory;
+    uses org.graalvm.compiler.hotspot.HotSpotCodeCacheListener;
     uses org.graalvm.compiler.options.OptionValuesAccess;
     uses org.graalvm.compiler.nodes.graphbuilderconf.NodeIntrinsicPluginFactory;
 
--- a/hotspot/src/share/vm/oops/instanceKlass.cpp	Tue Jun 20 17:00:07 2017 +0800
+++ b/hotspot/src/share/vm/oops/instanceKlass.cpp	Wed Jun 21 10:28:27 2017 -0700
@@ -1954,7 +1954,7 @@
 bool InstanceKlass::should_store_fingerprint() {
 #if INCLUDE_AOT
   // We store the fingerprint into the InstanceKlass only in the following 2 cases:
-  if (EnableJVMCI && !UseJVMCICompiler) {
+  if (CalculateClassFingerprint) {
     // (1) We are running AOT to generate a shared library.
     return true;
   }
--- a/hotspot/src/share/vm/runtime/globals.hpp	Tue Jun 20 17:00:07 2017 +0800
+++ b/hotspot/src/share/vm/runtime/globals.hpp	Wed Jun 21 10:28:27 2017 -0700
@@ -3387,6 +3387,9 @@
   diagnostic(bool, UseAOTStrictLoading, false,                              \
           "Exit the VM if any of the AOT libraries has invalid config")     \
                                                                             \
+  product(bool, CalculateClassFingerprint, false,                           \
+          "Calculate class fingerprint")                                    \
+                                                                            \
   /* interpreter debugging */                                               \
   develop(intx, BinarySwitchThreshold, 5,                                   \
           "Minimal number of lookupswitch entries for rewriting to binary " \
--- a/hotspot/src/share/vm/runtime/java.cpp	Tue Jun 20 17:00:07 2017 +0800
+++ b/hotspot/src/share/vm/runtime/java.cpp	Wed Jun 21 10:28:27 2017 -0700
@@ -437,6 +437,7 @@
   Thread* THREAD = thread;
   JVMCIRuntime::shutdown(THREAD);
   if (HAS_PENDING_EXCEPTION) {
+    HandleMark hm(THREAD);
     Handle exception(THREAD, PENDING_EXCEPTION);
     CLEAR_PENDING_EXCEPTION;
     java_lang_Throwable::java_printStackTrace(exception, THREAD);