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;
|