Print this page


Split Close
Expand all
Collapse all
          --- old/src/share/vm/gc_implementation/concurrentMarkSweep/vmCMSOperations.hpp
          +++ new/src/share/vm/gc_implementation/concurrentMarkSweep/vmCMSOperations.hpp
↓ open down ↓ 120 lines elided ↑ open up ↑
 121  121  
 122  122    virtual const bool needs_pll() const {
 123  123      return true;
 124  124    }
 125  125  };
 126  126  
 127  127  
 128  128  // VM operation to invoke a concurrent collection of the heap as a
 129  129  // GenCollectedHeap heap.
 130  130  class VM_GenCollectFullConcurrent: public VM_GC_Operation {
      131 +  bool _disabled_icms;
 131  132   public:
 132  133    VM_GenCollectFullConcurrent(unsigned int gc_count_before,
 133  134                                unsigned int full_gc_count_before,
 134  135                                GCCause::Cause gc_cause)
 135      -    : VM_GC_Operation(gc_count_before, gc_cause, full_gc_count_before, true /* full */) {
      136 +    : VM_GC_Operation(gc_count_before, gc_cause, full_gc_count_before, true /* full */),
      137 +      _disabled_icms(false)
      138 +  {
 136  139      assert(FullGCCount_lock != NULL, "Error");
 137  140      assert(UseAsyncConcMarkSweepGC, "Else will hang caller");
 138  141    }
 139  142    ~VM_GenCollectFullConcurrent() {}
 140  143    virtual VMOp_Type type() const { return VMOp_GenCollectFullConcurrent; }
 141  144    virtual void doit();
 142  145    virtual void doit_epilogue();
 143  146    virtual bool is_cheap_allocated() const { return false; }
 144  147    virtual bool evaluate_at_safepoint() const;
 145  148  };
 146  149  
 147  150  #endif // SHARE_VM_GC_IMPLEMENTATION_CONCURRENTMARKSWEEP_VMCMSOPERATIONS_HPP
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX