1.1 --- a/src/share/vm/memory/cardTableModRefBS.cpp Wed Jun 27 15:23:36 2012 +0200 1.2 +++ b/src/share/vm/memory/cardTableModRefBS.cpp Thu Jun 28 17:03:16 2012 -0400 1.3 @@ -33,6 +33,7 @@ 1.4 #include "runtime/java.hpp" 1.5 #include "runtime/mutexLocker.hpp" 1.6 #include "runtime/virtualspace.hpp" 1.7 +#include "services/memTracker.hpp" 1.8 #ifdef COMPILER1 1.9 #include "c1/c1_LIR.hpp" 1.10 #include "c1/c1_LIRGenerator.hpp" 1.11 @@ -90,6 +91,9 @@ 1.12 const size_t rs_align = _page_size == (size_t) os::vm_page_size() ? 0 : 1.13 MAX2(_page_size, (size_t) os::vm_allocation_granularity()); 1.14 ReservedSpace heap_rs(_byte_map_size, rs_align, false); 1.15 + 1.16 + MemTracker::record_virtual_memory_type((address)heap_rs.base(), mtGC); 1.17 + 1.18 os::trace_page_sizes("card table", _guard_index + 1, _guard_index + 1, 1.19 _page_size, heap_rs.base(), heap_rs.size()); 1.20 if (!heap_rs.is_reserved()) { 1.21 @@ -113,16 +117,17 @@ 1.22 // Do better than this for Merlin 1.23 vm_exit_out_of_memory(_page_size, "card table last card"); 1.24 } 1.25 + 1.26 *guard_card = last_card; 1.27 1.28 _lowest_non_clean = 1.29 - NEW_C_HEAP_ARRAY(CardArr, max_covered_regions); 1.30 + NEW_C_HEAP_ARRAY(CardArr, max_covered_regions, mtGC); 1.31 _lowest_non_clean_chunk_size = 1.32 - NEW_C_HEAP_ARRAY(size_t, max_covered_regions); 1.33 + NEW_C_HEAP_ARRAY(size_t, max_covered_regions, mtGC); 1.34 _lowest_non_clean_base_chunk_index = 1.35 - NEW_C_HEAP_ARRAY(uintptr_t, max_covered_regions); 1.36 + NEW_C_HEAP_ARRAY(uintptr_t, max_covered_regions, mtGC); 1.37 _last_LNC_resizing_collection = 1.38 - NEW_C_HEAP_ARRAY(int, max_covered_regions); 1.39 + NEW_C_HEAP_ARRAY(int, max_covered_regions, mtGC); 1.40 if (_lowest_non_clean == NULL 1.41 || _lowest_non_clean_chunk_size == NULL 1.42 || _lowest_non_clean_base_chunk_index == NULL