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