src/share/vm/memory/cardTableModRefBS.cpp

changeset 3900
d2a62e0f25eb
parent 3687
fd09f2d8283e
child 4153
b9a9ed0f8eeb
     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

mercurial