src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp

Print this page
rev 4535 : 6725714: par compact - add a table to speed up bitmap searches
Reviewed-by: jmasa, tschatzl


 112   static PSGCAdaptivePolicyCounters* gc_policy_counters() { return _gc_policy_counters; }
 113 
 114   static ParallelScavengeHeap* heap();
 115 
 116   static GCTaskManager* const gc_task_manager() { return _gc_task_manager; }
 117 
 118   AdjoiningGenerations* gens() { return _gens; }
 119 
 120   // Returns JNI_OK on success
 121   virtual jint initialize();
 122 
 123   void post_initialize();
 124   void update_counters();
 125   // The alignment used for the various generations.
 126   size_t perm_gen_alignment()  const { return _perm_gen_alignment; }
 127   size_t young_gen_alignment() const { return _young_gen_alignment; }
 128   size_t old_gen_alignment()  const { return _old_gen_alignment; }
 129 
 130   // The alignment used for eden and survivors within the young gen
 131   // and for boundary between young gen and old gen.
 132   size_t intra_heap_alignment() const { return 64 * K; }
 133 
 134   size_t capacity() const;
 135   size_t used() const;
 136 
 137   // Return "true" if all generations (but perm) have reached the
 138   // maximal committed limit that they can reach, without a garbage
 139   // collection.
 140   virtual bool is_maximal_no_gc() const;
 141 
 142   // Return true if the reference points to an object that
 143   // can be moved in a partial collection.  For currently implemented
 144   // generational collectors that means during a collection of
 145   // the young gen.
 146   virtual bool is_scavengable(const void* addr);
 147 
 148   // Does this heap support heap inspection? (+PrintClassHistogram)
 149   bool supports_heap_inspection() const { return true; }
 150 
 151   size_t permanent_capacity() const;
 152   size_t permanent_used() const;




 112   static PSGCAdaptivePolicyCounters* gc_policy_counters() { return _gc_policy_counters; }
 113 
 114   static ParallelScavengeHeap* heap();
 115 
 116   static GCTaskManager* const gc_task_manager() { return _gc_task_manager; }
 117 
 118   AdjoiningGenerations* gens() { return _gens; }
 119 
 120   // Returns JNI_OK on success
 121   virtual jint initialize();
 122 
 123   void post_initialize();
 124   void update_counters();
 125   // The alignment used for the various generations.
 126   size_t perm_gen_alignment()  const { return _perm_gen_alignment; }
 127   size_t young_gen_alignment() const { return _young_gen_alignment; }
 128   size_t old_gen_alignment()  const { return _old_gen_alignment; }
 129 
 130   // The alignment used for eden and survivors within the young gen
 131   // and for boundary between young gen and old gen.
 132   size_t intra_heap_alignment() const { return 64 * K * HeapWordSize; }
 133 
 134   size_t capacity() const;
 135   size_t used() const;
 136 
 137   // Return "true" if all generations (but perm) have reached the
 138   // maximal committed limit that they can reach, without a garbage
 139   // collection.
 140   virtual bool is_maximal_no_gc() const;
 141 
 142   // Return true if the reference points to an object that
 143   // can be moved in a partial collection.  For currently implemented
 144   // generational collectors that means during a collection of
 145   // the young gen.
 146   virtual bool is_scavengable(const void* addr);
 147 
 148   // Does this heap support heap inspection? (+PrintClassHistogram)
 149   bool supports_heap_inspection() const { return true; }
 150 
 151   size_t permanent_capacity() const;
 152   size_t permanent_used() const;