src/share/vm/gc_interface/collectedHeap.hpp

Print this page
rev 5061 : imported patch nmethod_changes_original
rev 5062 : fix nmethod unregister synchronization


 588   }
 589 
 590   // Print all GC threads (other than the VM thread)
 591   // used by this heap.
 592   virtual void print_gc_threads_on(outputStream* st) const = 0;
 593   // The default behavior is to call print_gc_threads_on() on tty.
 594   void print_gc_threads() {
 595     print_gc_threads_on(tty);
 596   }
 597   // Iterator for all GC threads (other than VM thread)
 598   virtual void gc_threads_do(ThreadClosure* tc) const = 0;
 599 
 600   // Print any relevant tracing info that flags imply.
 601   // Default implementation does nothing.
 602   virtual void print_tracing_info() const = 0;
 603 
 604   void print_heap_before_gc();
 605   void print_heap_after_gc();
 606 
 607   // Registering and unregistering an nmethod (compiled code) with the heap.
 608   // Override with specific mechanism for each specialized heap type
 609   virtual void register_nmethod(nmethod* nm) {}
 610   virtual void unregister_nmethod(nmethod* nm) {}
 611 
 612   void trace_heap_before_gc(GCTracer* gc_tracer);
 613   void trace_heap_after_gc(GCTracer* gc_tracer);
 614 
 615   // Heap verification
 616   virtual void verify(bool silent, VerifyOption option) = 0;
 617 
 618   // Non product verification and debugging.
 619 #ifndef PRODUCT
 620   // Support for PromotionFailureALot.  Return true if it's time to cause a
 621   // promotion failure.  The no-argument version uses
 622   // this->_promotion_failure_alot_count as the counter.
 623   inline bool promotion_should_fail(volatile size_t* count);
 624   inline bool promotion_should_fail();
 625 
 626   // Reset the PromotionFailureALot counters.  Should be called at the end of a
 627   // GC in which promotion failure occurred.
 628   inline void reset_promotion_should_fail(volatile size_t* count);
 629   inline void reset_promotion_should_fail();
 630 #endif  // #ifndef PRODUCT




 588   }
 589 
 590   // Print all GC threads (other than the VM thread)
 591   // used by this heap.
 592   virtual void print_gc_threads_on(outputStream* st) const = 0;
 593   // The default behavior is to call print_gc_threads_on() on tty.
 594   void print_gc_threads() {
 595     print_gc_threads_on(tty);
 596   }
 597   // Iterator for all GC threads (other than VM thread)
 598   virtual void gc_threads_do(ThreadClosure* tc) const = 0;
 599 
 600   // Print any relevant tracing info that flags imply.
 601   // Default implementation does nothing.
 602   virtual void print_tracing_info() const = 0;
 603 
 604   void print_heap_before_gc();
 605   void print_heap_after_gc();
 606 
 607   // Registering and unregistering an nmethod (compiled code) with the heap.
 608   // Override with specific mechanism for each specialized heap type.
 609   virtual void register_nmethod(nmethod* nm);
 610   virtual void unregister_nmethod(nmethod* nm);
 611 
 612   void trace_heap_before_gc(GCTracer* gc_tracer);
 613   void trace_heap_after_gc(GCTracer* gc_tracer);
 614 
 615   // Heap verification
 616   virtual void verify(bool silent, VerifyOption option) = 0;
 617 
 618   // Non product verification and debugging.
 619 #ifndef PRODUCT
 620   // Support for PromotionFailureALot.  Return true if it's time to cause a
 621   // promotion failure.  The no-argument version uses
 622   // this->_promotion_failure_alot_count as the counter.
 623   inline bool promotion_should_fail(volatile size_t* count);
 624   inline bool promotion_should_fail();
 625 
 626   // Reset the PromotionFailureALot counters.  Should be called at the end of a
 627   // GC in which promotion failure occurred.
 628   inline void reset_promotion_should_fail(volatile size_t* count);
 629   inline void reset_promotion_should_fail();
 630 #endif  // #ifndef PRODUCT