comparison src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp @ 23164:9613775cef0d

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
author poonam
date Mon, 06 Jul 2015 06:48:11 -0700
parents 38d6febe66af
children 1bfa56af8869 1f646daf0d67
comparison
equal deleted inserted replaced
23094:0e4094950cd3 23164:9613775cef0d
3337 } 3337 }
3338 3338
3339 // Not unloading classes this cycle 3339 // Not unloading classes this cycle
3340 assert(!should_unload_classes(), "Inconsitency!"); 3340 assert(!should_unload_classes(), "Inconsitency!");
3341 3341
3342 // If we are not unloading classes then add SO_AllCodeCache to root
3343 // scanning options.
3344 add_root_scanning_option(rso);
3345
3342 if ((!verifying() || unloaded_classes_last_cycle()) && should_verify) { 3346 if ((!verifying() || unloaded_classes_last_cycle()) && should_verify) {
3343 // Include symbols, strings and code cache elements to prevent their resurrection.
3344 add_root_scanning_option(rso);
3345 set_verifying(true); 3347 set_verifying(true);
3346 } else if (verifying() && !should_verify) { 3348 } else if (verifying() && !should_verify) {
3347 // We were verifying, but some verification flags got disabled. 3349 // We were verifying, but some verification flags got disabled.
3348 set_verifying(false); 3350 set_verifying(false);
3349 // Exclude symbols, strings and code cache elements from root scanning to 3351 // Exclude symbols, strings and code cache elements from root scanning to