< prev index next >

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

Print this page
rev 12508 : imported patch 8162104-use-is_in_cset-instead-of-obj_in_cs
rev 12512 : imported patch 8155094-logging-for-long-lasting-methods
rev 12513 : [mq]: 8155094-kim-review


4515   } else {
4516     g1_policy()->phase_times()->record_ref_enq_time(0);
4517   }
4518 
4519   _allocator->release_gc_alloc_regions(evacuation_info);
4520 
4521   merge_per_thread_state_info(per_thread_states);
4522 
4523   // Reset and re-enable the hot card cache.
4524   // Note the counts for the cards in the regions in the
4525   // collection set are reset when the collection set is freed.
4526   _hot_card_cache->reset_hot_cache();
4527   _hot_card_cache->set_use_cache(true);
4528 
4529   purge_code_root_memory();
4530 
4531   redirty_logged_cards();
4532 #if defined(COMPILER2) || INCLUDE_JVMCI
4533   double start = os::elapsedTime();
4534   DerivedPointerTable::update_pointers();
4535   g1_policy()->phase_times()->record_dpt_update_time((os::elapsedTime() - start) * 1000.0);
4536 #endif
4537   g1_policy()->print_age_table();
4538 }
4539 
4540 void G1CollectedHeap::record_obj_copy_mem_stats() {
4541   g1_policy()->add_bytes_allocated_in_old_since_last_gc(_old_evac_stats.allocated() * HeapWordSize);
4542 
4543   _gc_tracer_stw->report_evacuation_statistics(create_g1_evac_summary(&_survivor_evac_stats),
4544                                                create_g1_evac_summary(&_old_evac_stats));
4545 }
4546 
4547 void G1CollectedHeap::free_region(HeapRegion* hr,
4548                                   FreeRegionList* free_list,
4549                                   bool skip_remset,
4550                                   bool skip_hot_card_cache,
4551                                   bool locked) {
4552   assert(!hr->is_free(), "the region should not be free");
4553   assert(!hr->is_empty(), "the region should not be empty");
4554   assert(_hrm.is_available(hr->hrm_index()), "region should be committed");
4555   assert(free_list != NULL, "pre-condition");




4515   } else {
4516     g1_policy()->phase_times()->record_ref_enq_time(0);
4517   }
4518 
4519   _allocator->release_gc_alloc_regions(evacuation_info);
4520 
4521   merge_per_thread_state_info(per_thread_states);
4522 
4523   // Reset and re-enable the hot card cache.
4524   // Note the counts for the cards in the regions in the
4525   // collection set are reset when the collection set is freed.
4526   _hot_card_cache->reset_hot_cache();
4527   _hot_card_cache->set_use_cache(true);
4528 
4529   purge_code_root_memory();
4530 
4531   redirty_logged_cards();
4532 #if defined(COMPILER2) || INCLUDE_JVMCI
4533   double start = os::elapsedTime();
4534   DerivedPointerTable::update_pointers();
4535   g1_policy()->phase_times()->record_derived_pointer_table_update_time((os::elapsedTime() - start) * 1000.0);
4536 #endif
4537   g1_policy()->print_age_table();
4538 }
4539 
4540 void G1CollectedHeap::record_obj_copy_mem_stats() {
4541   g1_policy()->add_bytes_allocated_in_old_since_last_gc(_old_evac_stats.allocated() * HeapWordSize);
4542 
4543   _gc_tracer_stw->report_evacuation_statistics(create_g1_evac_summary(&_survivor_evac_stats),
4544                                                create_g1_evac_summary(&_old_evac_stats));
4545 }
4546 
4547 void G1CollectedHeap::free_region(HeapRegion* hr,
4548                                   FreeRegionList* free_list,
4549                                   bool skip_remset,
4550                                   bool skip_hot_card_cache,
4551                                   bool locked) {
4552   assert(!hr->is_free(), "the region should not be free");
4553   assert(!hr->is_empty(), "the region should not be empty");
4554   assert(_hrm.is_available(hr->hrm_index()), "region should be committed");
4555   assert(free_list != NULL, "pre-condition");


< prev index next >