--- old/src/hotspot/share/gc/serial/genMarkSweep.cpp 2019-03-28 11:22:38.000000000 -0700 +++ new/src/hotspot/share/gc/serial/genMarkSweep.cpp 2019-03-28 11:22:37.000000000 -0700 @@ -46,6 +46,9 @@ #include "gc/shared/space.hpp" #include "gc/shared/strongRootsScope.hpp" #include "gc/shared/weakProcessor.hpp" +#if INCLUDE_JVMCI +#include "jvmci/jvmci.hpp" +#endif #include "oops/instanceRefKlass.hpp" #include "oops/oop.inline.hpp" #include "prims/jvmtiExport.hpp" @@ -233,6 +236,11 @@ // Prune dead klasses from subklass/sibling/implementor lists. Klass::clean_weak_klass_links(purged_class); + +#if INCLUDE_JVMCI + // Clean JVMCI metadata handles. + JVMCI::do_unloading(&is_alive, purged_class); +#endif } gc_tracer()->report_object_count_after_gc(&is_alive);