< prev index next >

src/share/vm/gc/shared/genCollectedHeap.hpp

Print this page
rev 12854 : [mq]: gcinterface.patch

@@ -85,10 +85,11 @@
   // Collects the given generation.
   void collect_generation(Generation* gen, bool full, size_t size, bool is_tlab,
                           bool run_verification, bool clear_soft_refs,
                           bool restore_marks_for_biased_locking);
 
+protected:
   // In block contents verification, the number of header words to skip
   NOT_PRODUCT(static size_t _skip_header_HeapWords;)
 
   WorkGang* _workers;
 

@@ -119,10 +120,12 @@
 
   // Does the "cause" of GC indicate that
   // we absolutely __must__ clear soft refs?
   bool must_clear_all_soft_refs();
 
+  virtual CardTableModRefBSForCTRS* create_barrier_set(MemRegion heap);
+
 public:
   GenCollectedHeap(GenCollectorPolicy *policy);
 
   WorkGang* workers() const { return _workers; }
 

@@ -141,16 +144,12 @@
   virtual Name kind() const {
     return CollectedHeap::GenCollectedHeap;
   }
 
   virtual const char* name() const {
-    if (UseConcMarkSweepGC) {
-      return "Concurrent Mark Sweep";
-    } else {
       return "Serial";
     }
-  }
 
   Generation* young_gen() const { return _young_gen; }
   Generation* old_gen()   const { return _old_gen; }
 
   bool is_young_gen(const Generation* gen) const { return gen == _young_gen; }

@@ -188,11 +187,11 @@
   HeapWord** end_addr() const;
 
   // Perform a full collection of the heap; intended for use in implementing
   // "System.gc". This implies as full a collection as the CollectedHeap
   // supports. Caller does not hold the Heap_lock on entry.
-  void collect(GCCause::Cause cause);
+  virtual void collect(GCCause::Cause cause);
 
   // The same as above but assume that the caller holds the Heap_lock.
   void collect_locked(GCCause::Cause cause);
 
   // Perform a full collection of generations up to and including max_generation.

@@ -205,17 +204,13 @@
   // their inadvertent use in product jvm's, we restrict their use to
   // assertion checking or verification only.
   bool is_in(const void* p) const;
 
   // override
-  bool is_in_closed_subset(const void* p) const {
-    if (UseConcMarkSweepGC) {
-      return is_in_reserved(p);
-    } else {
+  virtual bool is_in_closed_subset(const void* p) const {
       return is_in(p);
     }
-  }
 
   // Returns true if the reference is to an object in the reserved space
   // for the young generation.
   // Assumes the the young gen address range is less than that of the old gen.
   bool is_in_young(oop p);

@@ -276,11 +271,11 @@
   virtual bool can_elide_tlab_store_barriers() const {
     return true;
   }
 
   virtual bool card_mark_must_follow_store() const {
-    return UseConcMarkSweepGC;
+    return false;
   }
 
   // We don't need barriers for stores to objects in the
   // young gen and, a fortiori, for initializing stores to
   // objects therein. This applies to DefNew+Tenured and ParNew+CMS

@@ -497,24 +492,15 @@
   // Perform a full collection of the generations up to and including max_generation.
   // This is the low level interface used by the public versions of
   // collect() and collect_locked(). Caller holds the Heap_lock on entry.
   void collect_locked(GCCause::Cause cause, GenerationType max_generation);
 
-  // Returns success or failure.
-  bool create_cms_collector();
-
-  // In support of ExplicitGCInvokesConcurrent functionality
-  bool should_do_concurrent_full_gc(GCCause::Cause cause);
-  void collect_mostly_concurrent(GCCause::Cause cause);
-
   // Save the tops of the spaces in all generations
   void record_gen_tops_before_GC() PRODUCT_RETURN;
 
 protected:
   void gc_prologue(bool full);
   void gc_epilogue(bool full);
 
-public:
-  void stop();
 };
 
 #endif // SHARE_VM_GC_SHARED_GENCOLLECTEDHEAP_HPP
< prev index next >