< prev index next >

src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp

Print this page




 203   void resize_all_tlabs();
 204 
 205   bool supports_tlab_allocation() const { return true; }
 206 
 207   size_t tlab_capacity(Thread* thr) const;
 208   size_t tlab_used(Thread* thr) const;
 209   size_t unsafe_max_tlab_alloc(Thread* thr) const;
 210 
 211   void object_iterate(ObjectClosure* cl);
 212 
 213   HeapWord* block_start(const void* addr) const;
 214   bool block_is_obj(const HeapWord* addr) const;
 215 
 216   jlong millis_since_last_gc();
 217 
 218   void prepare_for_verify();
 219   PSHeapSummary create_ps_heap_summary();
 220   virtual void print_on(outputStream* st) const;
 221   virtual void print_on_error(outputStream* st) const;
 222   virtual void gc_threads_do(ThreadClosure* tc) const;


 223   virtual void print_tracing_info() const;
 224 
 225   virtual WorkGang* get_safepoint_workers() { return &_workers; }
 226 
 227   PreGenGCValues get_pre_gc_values() const;
 228   void print_heap_change(const PreGenGCValues& pre_gc_values) const;
 229 
 230   // Used to print information about locations in the hs_err file.
 231   virtual bool print_location(outputStream* st, void* addr) const;
 232 
 233   void verify(VerifyOption option /* ignored */);
 234 
 235   // Resize the young generation.  The reserved space for the
 236   // generation may be expanded in preparation for the resize.
 237   void resize_young_gen(size_t eden_size, size_t survivor_size);
 238 
 239   // Resize the old generation.  The reserved space for the
 240   // generation may be expanded in preparation for the resize.
 241   void resize_old_gen(size_t desired_free_space);
 242 
 243   // Save the tops of the spaces in all generations
 244   void record_gen_tops_before_GC() PRODUCT_RETURN;
 245 
 246   // Mangle the unused parts of all spaces in the heap
 247   void gen_mangle_unused_area() PRODUCT_RETURN;
 248 
 249   // Call these in sequential code around the processing of strong roots.
 250   class ParStrongRootsScope : public MarkScope {
 251    public:
 252     ParStrongRootsScope();
 253     ~ParStrongRootsScope();
 254   };
 255 
 256   GCMemoryManager* old_gc_manager() const { return _old_manager; }
 257   GCMemoryManager* young_gc_manager() const { return _young_manager; }
 258 
 259   WorkGang& workers() {
 260     return _workers;
 261   }
 262 
 263   // Runs the given AbstractGangTask with the current active workers.
 264   virtual void run_task(AbstractGangTask* task);
 265 };
 266 
 267 // Class that can be used to print information about the
 268 // adaptive size policy at intervals specified by
 269 // AdaptiveSizePolicyOutputInterval.  Only print information
 270 // if an adaptive size policy is in use.
 271 class AdaptiveSizePolicyOutput : AllStatic {
 272   static bool enabled() {
 273     return UseParallelGC &&
 274            UseAdaptiveSizePolicy &&
 275            log_is_enabled(Debug, gc, ergo);
 276   }
 277  public:
 278   static void print() {
 279     if (enabled()) {
 280       ParallelScavengeHeap::heap()->size_policy()->print();
 281     }
 282   }
 283 
 284   static void print(AdaptiveSizePolicy* size_policy, uint count) {


 203   void resize_all_tlabs();
 204 
 205   bool supports_tlab_allocation() const { return true; }
 206 
 207   size_t tlab_capacity(Thread* thr) const;
 208   size_t tlab_used(Thread* thr) const;
 209   size_t unsafe_max_tlab_alloc(Thread* thr) const;
 210 
 211   void object_iterate(ObjectClosure* cl);
 212 
 213   HeapWord* block_start(const void* addr) const;
 214   bool block_is_obj(const HeapWord* addr) const;
 215 
 216   jlong millis_since_last_gc();
 217 
 218   void prepare_for_verify();
 219   PSHeapSummary create_ps_heap_summary();
 220   virtual void print_on(outputStream* st) const;
 221   virtual void print_on_error(outputStream* st) const;
 222   virtual void gc_threads_do(ThreadClosure* tc) const;
 223   // Runs the given AbstractGangTask with the current active workers.
 224   virtual void run_task(AbstractGangTask* task);
 225   virtual void print_tracing_info() const;
 226 
 227   virtual WorkGang* get_safepoint_workers() { return &_workers; }
 228 
 229   PreGenGCValues get_pre_gc_values() const;
 230   void print_heap_change(const PreGenGCValues& pre_gc_values) const;
 231 
 232   // Used to print information about locations in the hs_err file.
 233   virtual bool print_location(outputStream* st, void* addr) const;
 234 
 235   void verify(VerifyOption option /* ignored */);
 236 
 237   // Resize the young generation.  The reserved space for the
 238   // generation may be expanded in preparation for the resize.
 239   void resize_young_gen(size_t eden_size, size_t survivor_size);
 240 
 241   // Resize the old generation.  The reserved space for the
 242   // generation may be expanded in preparation for the resize.
 243   void resize_old_gen(size_t desired_free_space);
 244 
 245   // Save the tops of the spaces in all generations
 246   void record_gen_tops_before_GC() PRODUCT_RETURN;
 247 
 248   // Mangle the unused parts of all spaces in the heap
 249   void gen_mangle_unused_area() PRODUCT_RETURN;
 250 
 251   // Call these in sequential code around the processing of strong roots.
 252   class ParStrongRootsScope : public MarkScope {
 253    public:
 254     ParStrongRootsScope();
 255     ~ParStrongRootsScope();
 256   };
 257 
 258   GCMemoryManager* old_gc_manager() const { return _old_manager; }
 259   GCMemoryManager* young_gc_manager() const { return _young_manager; }
 260 
 261   WorkGang& workers() {
 262     return _workers;
 263   }



 264 };
 265 
 266 // Class that can be used to print information about the
 267 // adaptive size policy at intervals specified by
 268 // AdaptiveSizePolicyOutputInterval.  Only print information
 269 // if an adaptive size policy is in use.
 270 class AdaptiveSizePolicyOutput : AllStatic {
 271   static bool enabled() {
 272     return UseParallelGC &&
 273            UseAdaptiveSizePolicy &&
 274            log_is_enabled(Debug, gc, ergo);
 275   }
 276  public:
 277   static void print() {
 278     if (enabled()) {
 279       ParallelScavengeHeap::heap()->size_policy()->print();
 280     }
 281   }
 282 
 283   static void print(AdaptiveSizePolicy* size_policy, uint count) {
< prev index next >