< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp

Print this page
rev 60420 : imported patch 8248401-Refactor-unify-RMI-gc-support-functionality


1176   //assert(false, "Shouldn't need to do full collections");
1177 }
1178 
1179 HeapWord* ShenandoahHeap::block_start(const void* addr) const {
1180   ShenandoahHeapRegion* r = heap_region_containing(addr);
1181   if (r != NULL) {
1182     return r->block_start(addr);
1183   }
1184   return NULL;
1185 }
1186 
1187 bool ShenandoahHeap::block_is_obj(const HeapWord* addr) const {
1188   ShenandoahHeapRegion* r = heap_region_containing(addr);
1189   return r->block_is_obj(addr);
1190 }
1191 
1192 bool ShenandoahHeap::print_location(outputStream* st, void* addr) const {
1193   return BlockLocationPrinter<ShenandoahHeap>::print_location(st, addr);
1194 }
1195 
1196 jlong ShenandoahHeap::millis_since_last_gc() {
1197   double v = heuristics()->time_since_last_gc() * 1000;
1198   assert(0 <= v && v <= max_jlong, "value should fit: %f", v);
1199   return (jlong)v;
1200 }
1201 
1202 void ShenandoahHeap::prepare_for_verify() {
1203   if (SafepointSynchronize::is_at_safepoint() && UseTLAB) {
1204     labs_make_parsable();
1205   }
1206 }
1207 
1208 void ShenandoahHeap::gc_threads_do(ThreadClosure* tcl) const {
1209   workers()->threads_do(tcl);
1210   if (_safepoint_workers != NULL) {
1211     _safepoint_workers->threads_do(tcl);
1212   }
1213   if (ShenandoahStringDedup::is_enabled()) {
1214     ShenandoahStringDedup::threads_do(tcl);
1215   }
1216 }
1217 
1218 void ShenandoahHeap::print_tracing_info() const {
1219   LogTarget(Info, gc, stats) lt;
1220   if (lt.is_enabled()) {
1221     ResourceMark rm;




1176   //assert(false, "Shouldn't need to do full collections");
1177 }
1178 
1179 HeapWord* ShenandoahHeap::block_start(const void* addr) const {
1180   ShenandoahHeapRegion* r = heap_region_containing(addr);
1181   if (r != NULL) {
1182     return r->block_start(addr);
1183   }
1184   return NULL;
1185 }
1186 
1187 bool ShenandoahHeap::block_is_obj(const HeapWord* addr) const {
1188   ShenandoahHeapRegion* r = heap_region_containing(addr);
1189   return r->block_is_obj(addr);
1190 }
1191 
1192 bool ShenandoahHeap::print_location(outputStream* st, void* addr) const {
1193   return BlockLocationPrinter<ShenandoahHeap>::print_location(st, addr);
1194 }
1195 






1196 void ShenandoahHeap::prepare_for_verify() {
1197   if (SafepointSynchronize::is_at_safepoint() && UseTLAB) {
1198     labs_make_parsable();
1199   }
1200 }
1201 
1202 void ShenandoahHeap::gc_threads_do(ThreadClosure* tcl) const {
1203   workers()->threads_do(tcl);
1204   if (_safepoint_workers != NULL) {
1205     _safepoint_workers->threads_do(tcl);
1206   }
1207   if (ShenandoahStringDedup::is_enabled()) {
1208     ShenandoahStringDedup::threads_do(tcl);
1209   }
1210 }
1211 
1212 void ShenandoahHeap::print_tracing_info() const {
1213   LogTarget(Info, gc, stats) lt;
1214   if (lt.is_enabled()) {
1215     ResourceMark rm;


< prev index next >