diff options
Diffstat (limited to 'src/share/vm/gc_implementation/parallelScavenge/objectStartArray.cpp')
-rw-r--r-- | src/share/vm/gc_implementation/parallelScavenge/objectStartArray.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/share/vm/gc_implementation/parallelScavenge/objectStartArray.cpp b/src/share/vm/gc_implementation/parallelScavenge/objectStartArray.cpp index 1b8083921..8a852cc95 100644 --- a/src/share/vm/gc_implementation/parallelScavenge/objectStartArray.cpp +++ b/src/share/vm/gc_implementation/parallelScavenge/objectStartArray.cpp @@ -28,6 +28,7 @@ #include "memory/cardTableModRefBS.hpp" #include "oops/oop.inline.hpp" #include "runtime/java.hpp" +#include "services/memTracker.hpp" void ObjectStartArray::initialize(MemRegion reserved_region) { // We're based on the assumption that we use the same @@ -50,6 +51,7 @@ void ObjectStartArray::initialize(MemRegion reserved_region) { if (!backing_store.is_reserved()) { vm_exit_during_initialization("Could not reserve space for ObjectStartArray"); } + MemTracker::record_virtual_memory_type((address)backing_store.base(), mtGC); // We do not commit any memory initially if (!_virtual_space.initialize(backing_store, 0)) { @@ -57,10 +59,14 @@ void ObjectStartArray::initialize(MemRegion reserved_region) { } _raw_base = (jbyte*)_virtual_space.low_boundary(); + if (_raw_base == NULL) { vm_exit_during_initialization("Could not get raw_base address"); } + MemTracker::record_virtual_memory_type((address)_raw_base, mtGC); + + _offset_base = _raw_base - (size_t(reserved_region.start()) >> block_shift); _covered_region.set_start(reserved_region.start()); |