use of com.ibm.j9ddr.vm29.pointer.generated.MM_MemorySubSpacePointer in project openj9 by eclipse.
the class GCHeapRegionDescriptor_V1 method init.
protected void init() throws CorruptDataException {
lowAddress = heapRegionDescriptor._lowAddress();
regionsInSpan = heapRegionDescriptor._regionsInSpan();
regionType = heapRegionDescriptor._regionType();
MM_MemorySubSpacePointer subSpace = heapRegionDescriptor._memorySubSpace();
if (subSpace.notNull()) {
typeFlags = subSpace._memoryType().bitOr(J9MemorySegment.MEMORY_TYPE_RAM);
} else {
typeFlags = new UDATA(0);
}
memorySubSpace = heapRegionDescriptor._memorySubSpace();
memoryPool = heapRegionDescriptor._memoryPool();
if (regionsInSpan.eq(0)) {
highAddress = heapRegionDescriptor._highAddress();
} else {
UDATA delta = UDATA.cast(heapRegionDescriptor._highAddress()).sub(UDATA.cast(lowAddress));
highAddress = lowAddress.addOffset(regionsInSpan.mult(delta));
}
MM_HeapRegionDescriptorPointer head = heapRegionDescriptor._headOfSpan();
if (head.isNull() || head.eq(heapRegionDescriptor)) {
headOfSpan = this;
} else {
headOfSpan = GCHeapRegionDescriptor.fromHeapRegionDescriptor(head);
}
}
Aggregations