1.1 --- a/src/share/vm/gc_implementation/g1/vm_operations_g1.hpp Mon Jun 28 14:13:18 2010 -0400 1.2 +++ b/src/share/vm/gc_implementation/g1/vm_operations_g1.hpp Mon Jun 28 14:13:17 2010 -0400 1.3 @@ -31,13 +31,12 @@ 1.4 // - VM_G1PopRegionCollectionPause 1.5 1.6 class VM_G1CollectFull: public VM_GC_Operation { 1.7 - private: 1.8 public: 1.9 - VM_G1CollectFull(int gc_count_before, 1.10 - GCCause::Cause gc_cause) 1.11 - : VM_GC_Operation(gc_count_before) 1.12 - { 1.13 - _gc_cause = gc_cause; 1.14 + VM_G1CollectFull(unsigned int gc_count_before, 1.15 + unsigned int full_gc_count_before, 1.16 + GCCause::Cause cause) 1.17 + : VM_GC_Operation(gc_count_before, full_gc_count_before) { 1.18 + _gc_cause = cause; 1.19 } 1.20 ~VM_G1CollectFull() {} 1.21 virtual VMOp_Type type() const { return VMOp_G1CollectFull; } 1.22 @@ -67,12 +66,28 @@ 1.23 }; 1.24 1.25 class VM_G1IncCollectionPause: public VM_GC_Operation { 1.26 - public: 1.27 - VM_G1IncCollectionPause(int gc_count_before, 1.28 - GCCause::Cause gc_cause = GCCause::_g1_inc_collection_pause) : 1.29 - VM_GC_Operation(gc_count_before) { _gc_cause = gc_cause; } 1.30 +private: 1.31 + bool _should_initiate_conc_mark; 1.32 + double _target_pause_time_ms; 1.33 + unsigned int _full_collections_completed_before; 1.34 +public: 1.35 + VM_G1IncCollectionPause(unsigned int gc_count_before, 1.36 + bool should_initiate_conc_mark, 1.37 + double target_pause_time_ms, 1.38 + GCCause::Cause cause) 1.39 + : VM_GC_Operation(gc_count_before), 1.40 + _full_collections_completed_before(0), 1.41 + _should_initiate_conc_mark(should_initiate_conc_mark), 1.42 + _target_pause_time_ms(target_pause_time_ms) { 1.43 + guarantee(target_pause_time_ms > 0.0, 1.44 + err_msg("target_pause_time_ms = %1.6lf should be positive", 1.45 + target_pause_time_ms)); 1.46 + 1.47 + _gc_cause = cause; 1.48 + } 1.49 virtual VMOp_Type type() const { return VMOp_G1IncCollectionPause; } 1.50 virtual void doit(); 1.51 + virtual void doit_epilogue(); 1.52 virtual const char* name() const { 1.53 return "garbage-first incremental collection pause"; 1.54 }