# HG changeset patch # User eosterlund # Date 1544116313 -3600 # Node ID 8b8935b5cfd454f009ee0bc68ba0c02aa18fd4cd # Parent dfdc025ad9ea606d027bb00965b597f4e6b0c9b2 8214401: [AOT] crash in ClassLoaderData::is_alive() with AOTed jdk.base Reviewed-by: kvn, dlong diff -r dfdc025ad9ea -r 8b8935b5cfd4 src/hotspot/share/aot/aotCompiledMethod.cpp --- 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()); diff -r dfdc025ad9ea -r 8b8935b5cfd4 src/hotspot/share/aot/aotCompiledMethod.hpp --- 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 diff -r dfdc025ad9ea -r 8b8935b5cfd4 src/hotspot/share/code/compiledMethod.hpp --- 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) {