8214401: [AOT] crash in ClassLoaderData::is_alive() with AOTed jdk.base
authoreosterlund
Thu, 06 Dec 2018 18:11:53 +0100
changeset 52882 8b8935b5cfd4
parent 52881 dfdc025ad9ea
child 52884 66a5a30cf26e
8214401: [AOT] crash in ClassLoaderData::is_alive() with AOTed jdk.base Reviewed-by: kvn, dlong
src/hotspot/share/aot/aotCompiledMethod.cpp
src/hotspot/share/aot/aotCompiledMethod.hpp
src/hotspot/share/code/compiledMethod.hpp
--- a/src/hotspot/share/aot/aotCompiledMethod.cpp	Thu Dec 06 10:46:10 2018 -0500
+++ b/src/hotspot/share/aot/aotCompiledMethod.cpp	Thu Dec 06 18:11:53 2018 +0100
@@ -155,6 +155,10 @@
   ShouldNotReachHere(); return NULL;
 }
 
+void AOTCompiledMethod::do_unloading(bool unloading_occurred) {
+  unload_nmethod_caches(unloading_occurred);
+}
+
 bool AOTCompiledMethod::make_not_entrant_helper(int new_state) {
   // Make sure the method is not flushed in case of a safepoint in code below.
   methodHandle the_method(method());
--- a/src/hotspot/share/aot/aotCompiledMethod.hpp	Thu Dec 06 10:46:10 2018 -0500
+++ b/src/hotspot/share/aot/aotCompiledMethod.hpp	Thu Dec 06 18:11:53 2018 +0100
@@ -265,6 +265,7 @@
 #endif
   }
 
+  virtual void do_unloading(bool unloading_occurred);
 
 protected:
   // AOT compiled methods are not flushed
--- a/src/hotspot/share/code/compiledMethod.hpp	Thu Dec 06 10:46:10 2018 -0500
+++ b/src/hotspot/share/code/compiledMethod.hpp	Thu Dec 06 18:11:53 2018 +0100
@@ -400,7 +400,7 @@
   virtual bool is_unloading() = 0;
 
   bool unload_nmethod_caches(bool class_unloading_occurred);
-  virtual void do_unloading(bool unloading_occurred) { }
+  virtual void do_unloading(bool unloading_occurred) = 0;
 
 private:
   PcDesc* find_pc_desc(address pc, bool approximate) {