8129108: nmethod related crash in CMS
Summary: Add SO_AllCodeCache to root scanning options when not unloading classes with a CMS collection cycle
Reviewed-by: mgerdin, jwilhelm
--- a/hotspot/src/share/vm/gc/cms/concurrentMarkSweepGeneration.cpp Thu Jun 25 10:52:37 2015 +0000
+++ b/hotspot/src/share/vm/gc/cms/concurrentMarkSweepGeneration.cpp Thu Jun 25 06:52:05 2015 -0700
@@ -2702,9 +2702,11 @@
// Not unloading classes this cycle
assert(!should_unload_classes(), "Inconsistency!");
+ // If we are not unloading classes then add SO_AllCodeCache to root
+ // scanning options.
+ add_root_scanning_option(rso);
+
if ((!verifying() || unloaded_classes_last_cycle()) && should_verify) {
- // Include symbols, strings and code cache elements to prevent their resurrection.
- add_root_scanning_option(rso);
set_verifying(true);
} else if (verifying() && !should_verify) {
// We were verifying, but some verification flags got disabled.