6848641: CMSCollector::_roots_scanning_options should be initialized
Summary: The field is now initialized in the constructor.
Reviewed-by: iveresov, jmasa, johnc
--- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Tue May 26 16:43:42 2009 -0700
+++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Sun Jun 07 00:27:41 2009 -0700
@@ -555,6 +555,7 @@
_collector_policy(cp),
_should_unload_classes(false),
_concurrent_cycles_since_last_unload(0),
+ _roots_scanning_options(0),
_sweep_estimate(CMS_SweepWeight, CMS_SweepPadding)
{
if (ExplicitGCInvokesConcurrentAndUnloadsClasses) {
--- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp Tue May 26 16:43:42 2009 -0700
+++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp Sun Jun 07 00:27:41 2009 -0700
@@ -545,6 +545,11 @@
bool unloaded_classes_last_cycle() const {
return concurrent_cycles_since_last_unload() == 0;
}
+ // Root scanning options for perm gen
+ int _roots_scanning_options;
+ int roots_scanning_options() const { return _roots_scanning_options; }
+ void add_root_scanning_option(int o) { _roots_scanning_options |= o; }
+ void remove_root_scanning_option(int o) { _roots_scanning_options &= ~o; }
// Verification support
CMSBitMap _verification_mark_bm;
@@ -719,11 +724,6 @@
NOT_PRODUCT(bool simulate_overflow();) // sequential
NOT_PRODUCT(bool par_simulate_overflow();) // MT version
- int _roots_scanning_options;
- int roots_scanning_options() const { return _roots_scanning_options; }
- void add_root_scanning_option(int o) { _roots_scanning_options |= o; }
- void remove_root_scanning_option(int o) { _roots_scanning_options &= ~o; }
-
// CMS work methods
void checkpointRootsInitialWork(bool asynch); // initial checkpoint work