< prev index next >

src/share/vm/gc/g1/g1CollectedHeap.cpp

Print this page




1273       increment_old_marking_cycles_started();
1274 
1275       assert(used() == recalculate_used(), "Should be equal");
1276 
1277       _verifier->verify_before_gc();
1278 
1279       _verifier->check_bitmaps("Full GC Start");
1280       pre_full_gc_dump(gc_timer);
1281 
1282 #if defined(COMPILER2) || INCLUDE_JVMCI
1283       DerivedPointerTable::clear();
1284 #endif
1285 
1286       // Disable discovery and empty the discovered lists
1287       // for the CM ref processor.
1288       ref_processor_cm()->disable_discovery();
1289       ref_processor_cm()->abandon_partial_discovery();
1290       ref_processor_cm()->verify_no_references_recorded();
1291 
1292       // Abandon current iterations of concurrent marking and concurrent
1293       // refinement, if any are in progress. We have to do this before
1294       // wait_until_scan_finished() below.
1295       concurrent_mark()->abort();
1296 
1297       // Make sure we'll choose a new allocation region afterwards.
1298       _allocator->release_mutator_alloc_region();
1299       _allocator->abandon_gc_alloc_regions();
1300       g1_rem_set()->cleanupHRRS();
1301 
1302       // We may have added regions to the current incremental collection
1303       // set between the last GC or pause and now. We need to clear the
1304       // incremental collection set and then start rebuilding it afresh
1305       // after this full GC.
1306       abandon_collection_set(g1_policy()->inc_cset_head());
1307       g1_policy()->clear_incremental_cset();
1308       g1_policy()->stop_incremental_cset_building();
1309 
1310       tear_down_region_sets(false /* free_list_only */);
1311       collector_state()->set_gcs_are_young(true);
1312 
1313       // See the comments in g1CollectedHeap.hpp and
1314       // G1CollectedHeap::ref_processing_init() about




1273       increment_old_marking_cycles_started();
1274 
1275       assert(used() == recalculate_used(), "Should be equal");
1276 
1277       _verifier->verify_before_gc();
1278 
1279       _verifier->check_bitmaps("Full GC Start");
1280       pre_full_gc_dump(gc_timer);
1281 
1282 #if defined(COMPILER2) || INCLUDE_JVMCI
1283       DerivedPointerTable::clear();
1284 #endif
1285 
1286       // Disable discovery and empty the discovered lists
1287       // for the CM ref processor.
1288       ref_processor_cm()->disable_discovery();
1289       ref_processor_cm()->abandon_partial_discovery();
1290       ref_processor_cm()->verify_no_references_recorded();
1291 
1292       // Abandon current iterations of concurrent marking and concurrent
1293       // refinement, if any are in progress.

1294       concurrent_mark()->abort();
1295 
1296       // Make sure we'll choose a new allocation region afterwards.
1297       _allocator->release_mutator_alloc_region();
1298       _allocator->abandon_gc_alloc_regions();
1299       g1_rem_set()->cleanupHRRS();
1300 
1301       // We may have added regions to the current incremental collection
1302       // set between the last GC or pause and now. We need to clear the
1303       // incremental collection set and then start rebuilding it afresh
1304       // after this full GC.
1305       abandon_collection_set(g1_policy()->inc_cset_head());
1306       g1_policy()->clear_incremental_cset();
1307       g1_policy()->stop_incremental_cset_building();
1308 
1309       tear_down_region_sets(false /* free_list_only */);
1310       collector_state()->set_gcs_are_young(true);
1311 
1312       // See the comments in g1CollectedHeap.hpp and
1313       // G1CollectedHeap::ref_processing_init() about


< prev index next >