提交 218c668e 编写于 作者: Y ysr

6848641: CMSCollector::_roots_scanning_options should be initialized

Summary: The field is now initialized in the constructor.
Reviewed-by: iveresov, jmasa, johnc
上级 3d210ee5
...@@ -555,6 +555,7 @@ CMSCollector::CMSCollector(ConcurrentMarkSweepGeneration* cmsGen, ...@@ -555,6 +555,7 @@ CMSCollector::CMSCollector(ConcurrentMarkSweepGeneration* cmsGen,
_collector_policy(cp), _collector_policy(cp),
_should_unload_classes(false), _should_unload_classes(false),
_concurrent_cycles_since_last_unload(0), _concurrent_cycles_since_last_unload(0),
_roots_scanning_options(0),
_sweep_estimate(CMS_SweepWeight, CMS_SweepPadding) _sweep_estimate(CMS_SweepWeight, CMS_SweepPadding)
{ {
if (ExplicitGCInvokesConcurrentAndUnloadsClasses) { if (ExplicitGCInvokesConcurrentAndUnloadsClasses) {
......
...@@ -545,6 +545,11 @@ class CMSCollector: public CHeapObj { ...@@ -545,6 +545,11 @@ class CMSCollector: public CHeapObj {
bool unloaded_classes_last_cycle() const { bool unloaded_classes_last_cycle() const {
return concurrent_cycles_since_last_unload() == 0; 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 // Verification support
CMSBitMap _verification_mark_bm; CMSBitMap _verification_mark_bm;
...@@ -719,11 +724,6 @@ class CMSCollector: public CHeapObj { ...@@ -719,11 +724,6 @@ class CMSCollector: public CHeapObj {
NOT_PRODUCT(bool simulate_overflow();) // sequential NOT_PRODUCT(bool simulate_overflow();) // sequential
NOT_PRODUCT(bool par_simulate_overflow();) // MT version 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 // CMS work methods
void checkpointRootsInitialWork(bool asynch); // initial checkpoint work void checkpointRootsInitialWork(bool asynch); // initial checkpoint work
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册