Search in sources :

Example 1 with MM_MemorySubSpacePointer

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);
    }
}
Also used : UDATA(com.ibm.j9ddr.vm29.types.UDATA) MM_HeapRegionDescriptorPointer(com.ibm.j9ddr.vm29.pointer.generated.MM_HeapRegionDescriptorPointer) MM_MemorySubSpacePointer(com.ibm.j9ddr.vm29.pointer.generated.MM_MemorySubSpacePointer)

Aggregations

MM_HeapRegionDescriptorPointer (com.ibm.j9ddr.vm29.pointer.generated.MM_HeapRegionDescriptorPointer)1 MM_MemorySubSpacePointer (com.ibm.j9ddr.vm29.pointer.generated.MM_MemorySubSpacePointer)1 UDATA (com.ibm.j9ddr.vm29.types.UDATA)1