aboutsummaryrefslogtreecommitdiff
path: root/src/share/vm/gc_implementation/parallelScavenge/objectStartArray.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/share/vm/gc_implementation/parallelScavenge/objectStartArray.cpp')
-rw-r--r--src/share/vm/gc_implementation/parallelScavenge/objectStartArray.cpp6
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());