< prev index next >

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

Print this page
rev 13349 : imported patch deflate.patch


2541 }
2542 
2543 void ShenandoahHeap::defer_recycle(ShenandoahHeapRegion* r) {
2544   assert_heaplock_owned_by_current_thread();
2545   _recycled_regions[_recycled_region_count++] = r->region_number();
2546 }
2547 
2548 void ShenandoahHeap::finish_deferred_recycle() {
2549   assert_heaplock_owned_by_current_thread();
2550   if (UseShenandoahMatrix) {
2551     for (size_t i = 0; i < _recycled_region_count; i++) {
2552       regions()->get(_recycled_regions[i])->recycle_no_matrix();
2553     }
2554     connection_matrix()->clear_batched(_recycled_regions, _recycled_region_count);
2555   } else {
2556     for (size_t i = 0; i < _recycled_region_count; i++) {
2557       regions()->get(_recycled_regions[i])->recycle();
2558     }
2559   }
2560 }






2541 }
2542 
2543 void ShenandoahHeap::defer_recycle(ShenandoahHeapRegion* r) {
2544   assert_heaplock_owned_by_current_thread();
2545   _recycled_regions[_recycled_region_count++] = r->region_number();
2546 }
2547 
2548 void ShenandoahHeap::finish_deferred_recycle() {
2549   assert_heaplock_owned_by_current_thread();
2550   if (UseShenandoahMatrix) {
2551     for (size_t i = 0; i < _recycled_region_count; i++) {
2552       regions()->get(_recycled_regions[i])->recycle_no_matrix();
2553     }
2554     connection_matrix()->clear_batched(_recycled_regions, _recycled_region_count);
2555   } else {
2556     for (size_t i = 0; i < _recycled_region_count; i++) {
2557       regions()->get(_recycled_regions[i])->recycle();
2558     }
2559   }
2560 }
2561 
2562 void ShenandoahHeap::deflate_idle_monitors_all_threads() {
2563   parallel_deflate_idle_monitors(workers());
2564 }
< prev index next >