Mercurial > hg > graal-jvmci-8
comparison src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp @ 10290:05a17f270c7e
8014240: G1: Add remembered set size information to output of G1PrintRegionLivenessInfo
Summary: Improve the output of G1PrintRegionLivenessInfo by adding a per-region remembered set size information column
Reviewed-by: jwilhelm, johnc
author | tschatzl |
---|---|
date | Thu, 16 May 2013 13:02:33 +0200 |
parents | d58c62b7447d |
children | 2958af1d8c5a |
comparison
equal
deleted
inserted
replaced
10289:bed55d125e37 | 10290:05a17f270c7e |
---|---|
704 | 704 |
705 size_t OtherRegionsTable::mem_size() const { | 705 size_t OtherRegionsTable::mem_size() const { |
706 // Cast away const in this case. | 706 // Cast away const in this case. |
707 MutexLockerEx x((Mutex*)&_m, Mutex::_no_safepoint_check_flag); | 707 MutexLockerEx x((Mutex*)&_m, Mutex::_no_safepoint_check_flag); |
708 size_t sum = 0; | 708 size_t sum = 0; |
709 PerRegionTable * cur = _first_all_fine_prts; | 709 // all PRTs are of the same size so it is sufficient to query only one of them. |
710 while (cur != NULL) { | 710 if (_first_all_fine_prts != NULL) { |
711 sum += cur->mem_size(); | 711 assert(_last_all_fine_prts != NULL && |
712 cur = cur->next(); | 712 _first_all_fine_prts->mem_size() == _last_all_fine_prts->mem_size(), "check that mem_size() is constant"); |
713 sum += _first_all_fine_prts->mem_size() * _n_fine_entries; | |
713 } | 714 } |
714 sum += (sizeof(PerRegionTable*) * _max_fine_entries); | 715 sum += (sizeof(PerRegionTable*) * _max_fine_entries); |
715 sum += (_coarse_map.size_in_words() * HeapWordSize); | 716 sum += (_coarse_map.size_in_words() * HeapWordSize); |
716 sum += (_sparse_table.mem_size()); | 717 sum += (_sparse_table.mem_size()); |
717 sum += sizeof(*this) - sizeof(_sparse_table); // Avoid double counting above. | 718 sum += sizeof(*this) - sizeof(_sparse_table); // Avoid double counting above. |