< prev index next >

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

Print this page




1119 void ShenandoahHeap::collect(GCCause::Cause cause) {
1120   control_thread()->request_gc(cause);
1121 }
1122 
1123 void ShenandoahHeap::do_full_collection(bool clear_all_soft_refs) {
1124   //assert(false, "Shouldn't need to do full collections");
1125 }
1126 
1127 CollectorPolicy* ShenandoahHeap::collector_policy() const {
1128   return _shenandoah_policy;
1129 }
1130 
1131 HeapWord* ShenandoahHeap::block_start(const void* addr) const {
1132   Space* sp = heap_region_containing(addr);
1133   if (sp != NULL) {
1134     return sp->block_start(addr);
1135   }
1136   return NULL;
1137 }
1138 
1139 size_t ShenandoahHeap::block_size(const HeapWord* addr) const {
1140   Space* sp = heap_region_containing(addr);
1141   assert(sp != NULL, "block_size of address outside of heap");
1142   return sp->block_size(addr);
1143 }
1144 
1145 bool ShenandoahHeap::block_is_obj(const HeapWord* addr) const {
1146   Space* sp = heap_region_containing(addr);
1147   return sp->block_is_obj(addr);
1148 }
1149 
1150 jlong ShenandoahHeap::millis_since_last_gc() {
1151   double v = heuristics()->time_since_last_gc() * 1000;
1152   assert(0 <= v && v <= max_jlong, "value should fit: %f", v);
1153   return (jlong)v;
1154 }
1155 
1156 void ShenandoahHeap::prepare_for_verify() {
1157   if (SafepointSynchronize::is_at_safepoint() || ! UseTLAB) {
1158     make_parsable(false);
1159   }
1160 }
1161 
1162 void ShenandoahHeap::print_gc_threads_on(outputStream* st) const {
1163   workers()->print_worker_threads_on(st);
1164   if (ShenandoahStringDedup::is_enabled()) {




1119 void ShenandoahHeap::collect(GCCause::Cause cause) {
1120   control_thread()->request_gc(cause);
1121 }
1122 
1123 void ShenandoahHeap::do_full_collection(bool clear_all_soft_refs) {
1124   //assert(false, "Shouldn't need to do full collections");
1125 }
1126 
1127 CollectorPolicy* ShenandoahHeap::collector_policy() const {
1128   return _shenandoah_policy;
1129 }
1130 
1131 HeapWord* ShenandoahHeap::block_start(const void* addr) const {
1132   Space* sp = heap_region_containing(addr);
1133   if (sp != NULL) {
1134     return sp->block_start(addr);
1135   }
1136   return NULL;
1137 }
1138 






1139 bool ShenandoahHeap::block_is_obj(const HeapWord* addr) const {
1140   Space* sp = heap_region_containing(addr);
1141   return sp->block_is_obj(addr);
1142 }
1143 
1144 jlong ShenandoahHeap::millis_since_last_gc() {
1145   double v = heuristics()->time_since_last_gc() * 1000;
1146   assert(0 <= v && v <= max_jlong, "value should fit: %f", v);
1147   return (jlong)v;
1148 }
1149 
1150 void ShenandoahHeap::prepare_for_verify() {
1151   if (SafepointSynchronize::is_at_safepoint() || ! UseTLAB) {
1152     make_parsable(false);
1153   }
1154 }
1155 
1156 void ShenandoahHeap::print_gc_threads_on(outputStream* st) const {
1157   workers()->print_worker_threads_on(st);
1158   if (ShenandoahStringDedup::is_enabled()) {


< prev index next >