Mercurial > hg > graal-compiler
comparison src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp @ 10293:2958af1d8c5a
Merge
author | jwilhelm |
---|---|
date | Fri, 17 May 2013 06:01:10 +0200 |
parents | f9be75d21404 05a17f270c7e |
children | 6702da6b6082 |
comparison
equal
deleted
inserted
replaced
10272:513a5298c1dd | 10293:2958af1d8c5a |
---|---|
705 | 705 |
706 size_t OtherRegionsTable::mem_size() const { | 706 size_t OtherRegionsTable::mem_size() const { |
707 // Cast away const in this case. | 707 // Cast away const in this case. |
708 MutexLockerEx x((Mutex*)&_m, Mutex::_no_safepoint_check_flag); | 708 MutexLockerEx x((Mutex*)&_m, Mutex::_no_safepoint_check_flag); |
709 size_t sum = 0; | 709 size_t sum = 0; |
710 PerRegionTable * cur = _first_all_fine_prts; | 710 // all PRTs are of the same size so it is sufficient to query only one of them. |
711 while (cur != NULL) { | 711 if (_first_all_fine_prts != NULL) { |
712 sum += cur->mem_size(); | 712 assert(_last_all_fine_prts != NULL && |
713 cur = cur->next(); | 713 _first_all_fine_prts->mem_size() == _last_all_fine_prts->mem_size(), "check that mem_size() is constant"); |
714 sum += _first_all_fine_prts->mem_size() * _n_fine_entries; | |
714 } | 715 } |
715 sum += (sizeof(PerRegionTable*) * _max_fine_entries); | 716 sum += (sizeof(PerRegionTable*) * _max_fine_entries); |
716 sum += (_coarse_map.size_in_words() * HeapWordSize); | 717 sum += (_coarse_map.size_in_words() * HeapWordSize); |
717 sum += (_sparse_table.mem_size()); | 718 sum += (_sparse_table.mem_size()); |
718 sum += sizeof(*this) - sizeof(_sparse_table); // Avoid double counting above. | 719 sum += sizeof(*this) - sizeof(_sparse_table); // Avoid double counting above. |