< prev index next >

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

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

*** 85,94 **** --- 85,95 ---- // 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,128 **** --- 120,131 ---- // 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,156 **** 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; } --- 144,155 ----
*** 188,198 **** 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); // 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. --- 187,197 ---- 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. ! 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,221 **** // 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 { 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); --- 204,216 ---- // 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 ! 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,286 **** virtual bool can_elide_tlab_store_barriers() const { return true; } virtual bool card_mark_must_follow_store() const { ! return UseConcMarkSweepGC; } // 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 --- 271,281 ---- virtual bool can_elide_tlab_store_barriers() const { return true; } virtual bool card_mark_must_follow_store() const { ! 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,520 **** // 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 --- 492,506 ----
< prev index next >