120 }
121 }
122
123 void CollectedHeap::print_heap_after_gc() {
124 Universe::print_heap_after_gc();
125 if (_gc_heap_log != NULL) {
126 _gc_heap_log->log_heap_after(this);
127 }
128 }
129
130 void CollectedHeap::print_on_error(outputStream* st) const {
131 st->print_cr("Heap:");
132 print_extended_on(st);
133 st->cr();
134
135 _barrier_set->print_on(st);
136 }
137
138 void CollectedHeap::register_nmethod(nmethod* nm) {
139 assert_locked_or_safepoint(CodeCache_lock);
140 if (!nm->on_scavenge_root_list() && nm->detect_scavenge_root_oops()) {
141 CodeCache::add_scavenge_root_nmethod(nm);
142 }
143 }
144
145 void CollectedHeap::unregister_nmethod(nmethod* nm) {
146 assert_locked_or_safepoint(CodeCache_lock);
147 }
148
149 void CollectedHeap::trace_heap(GCWhen::Type when, const GCTracer* gc_tracer) {
150 const GCHeapSummary& heap_summary = create_heap_summary();
151 gc_tracer->report_gc_heap_summary(when, heap_summary);
152
153 const MetaspaceSummary& metaspace_summary = create_metaspace_summary();
154 gc_tracer->report_metaspace_summary(when, metaspace_summary);
155 }
156
157 void CollectedHeap::trace_heap_before_gc(const GCTracer* gc_tracer) {
158 trace_heap(GCWhen::BeforeGC, gc_tracer);
159 }
160
161 void CollectedHeap::trace_heap_after_gc(const GCTracer* gc_tracer) {
162 trace_heap(GCWhen::AfterGC, gc_tracer);
|
120 }
121 }
122
123 void CollectedHeap::print_heap_after_gc() {
124 Universe::print_heap_after_gc();
125 if (_gc_heap_log != NULL) {
126 _gc_heap_log->log_heap_after(this);
127 }
128 }
129
130 void CollectedHeap::print_on_error(outputStream* st) const {
131 st->print_cr("Heap:");
132 print_extended_on(st);
133 st->cr();
134
135 _barrier_set->print_on(st);
136 }
137
138 void CollectedHeap::register_nmethod(nmethod* nm) {
139 assert_locked_or_safepoint(CodeCache_lock);
140 }
141
142 void CollectedHeap::unregister_nmethod(nmethod* nm) {
143 assert_locked_or_safepoint(CodeCache_lock);
144 }
145
146 void CollectedHeap::trace_heap(GCWhen::Type when, const GCTracer* gc_tracer) {
147 const GCHeapSummary& heap_summary = create_heap_summary();
148 gc_tracer->report_gc_heap_summary(when, heap_summary);
149
150 const MetaspaceSummary& metaspace_summary = create_metaspace_summary();
151 gc_tracer->report_metaspace_summary(when, metaspace_summary);
152 }
153
154 void CollectedHeap::trace_heap_before_gc(const GCTracer* gc_tracer) {
155 trace_heap(GCWhen::BeforeGC, gc_tracer);
156 }
157
158 void CollectedHeap::trace_heap_after_gc(const GCTracer* gc_tracer) {
159 trace_heap(GCWhen::AfterGC, gc_tracer);
|