1478 // lists would require special handling.
1479 ref_processor()->disable_discovery();
1480 ref_processor()->abandon_partial_discovery();
1481 ref_processor()->verify_no_references_recorded();
1482
1483 if (first_state > Idling) {
1484 save_heap_summary();
1485 }
1486
1487 do_compaction_work(clear_all_soft_refs);
1488
1489 // Has the GC time limit been exceeded?
1490 size_t max_eden_size = _young_gen->max_eden_size();
1491 GCCause::Cause gc_cause = gch->gc_cause();
1492 size_policy()->check_gc_overhead_limit(_young_gen->used(),
1493 _young_gen->eden()->used(),
1494 _cmsGen->max_capacity(),
1495 max_eden_size,
1496 full,
1497 gc_cause,
1498 gch->collector_policy());
1499
1500 // Reset the expansion cause, now that we just completed
1501 // a collection cycle.
1502 clear_expansion_cause();
1503 _foregroundGCIsActive = false;
1504 return;
1505 }
1506
1507 // Resize the tenured generation
1508 // after obtaining the free list locks for the
1509 // two generations.
1510 void CMSCollector::compute_new_size() {
1511 assert_locked_or_safepoint(Heap_lock);
1512 FreelistLocker z(this);
1513 MetaspaceGC::compute_new_size();
1514 _cmsGen->compute_new_size_free_list();
1515 }
1516
1517 // A work method used by the foreground collector to do
1518 // a mark-sweep-compact.
|
1478 // lists would require special handling.
1479 ref_processor()->disable_discovery();
1480 ref_processor()->abandon_partial_discovery();
1481 ref_processor()->verify_no_references_recorded();
1482
1483 if (first_state > Idling) {
1484 save_heap_summary();
1485 }
1486
1487 do_compaction_work(clear_all_soft_refs);
1488
1489 // Has the GC time limit been exceeded?
1490 size_t max_eden_size = _young_gen->max_eden_size();
1491 GCCause::Cause gc_cause = gch->gc_cause();
1492 size_policy()->check_gc_overhead_limit(_young_gen->used(),
1493 _young_gen->eden()->used(),
1494 _cmsGen->max_capacity(),
1495 max_eden_size,
1496 full,
1497 gc_cause,
1498 gch->gen_policy());
1499
1500 // Reset the expansion cause, now that we just completed
1501 // a collection cycle.
1502 clear_expansion_cause();
1503 _foregroundGCIsActive = false;
1504 return;
1505 }
1506
1507 // Resize the tenured generation
1508 // after obtaining the free list locks for the
1509 // two generations.
1510 void CMSCollector::compute_new_size() {
1511 assert_locked_or_safepoint(Heap_lock);
1512 FreelistLocker z(this);
1513 MetaspaceGC::compute_new_size();
1514 _cmsGen->compute_new_size_free_list();
1515 }
1516
1517 // A work method used by the foreground collector to do
1518 // a mark-sweep-compact.
|