Search in sources :

Example 1 with MM_SegregatedGCPointer

use of com.ibm.j9ddr.vm29.pointer.generated.MM_SegregatedGCPointer in project openj9 by eclipse.

the class GCHeapMap method from.

public static GCHeapMap from() throws CorruptDataException {
    MM_GCExtensionsPointer extensions = GCExtensions.getGCExtensionsPointer();
    if (GCExtensions.isStandardGC()) {
        if (!GCExtensions.isSegregatedHeap()) {
            MM_ParallelGlobalGCPointer pgc = MM_ParallelGlobalGCPointer.cast(extensions._globalCollector());
            MM_MarkMapPointer markMap = pgc._markingScheme()._markMap();
            return new GCMarkMapStandard(markMap);
        } else {
            MM_SegregatedGCPointer sgc = MM_SegregatedGCPointer.cast(extensions._globalCollector());
            MM_MarkMapPointer markMap = sgc._markingScheme()._markMap();
            return new GCMarkMap(markMap);
        }
    } else if (GCExtensions.isVLHGC()) {
        // probably needs a proper subclass
        MM_IncrementalGenerationalGCPointer igc = MM_IncrementalGenerationalGCPointer.cast(extensions._globalCollector());
        MM_MarkMapPointer markMap = igc._markMapManager()._previousMarkMap();
        return new GCMarkMap(markMap);
    } else if (GCExtensions.isMetronomeGC()) {
        MM_MarkMapPointer markMap = extensions.realtimeGC()._markingScheme()._markMap();
        return new GCMarkMap(markMap);
    } else {
        throw new UnsupportedOperationException("GC policy not supported");
    }
}
Also used : MM_SegregatedGCPointer(com.ibm.j9ddr.vm29.pointer.generated.MM_SegregatedGCPointer) MM_IncrementalGenerationalGCPointer(com.ibm.j9ddr.vm29.pointer.generated.MM_IncrementalGenerationalGCPointer) MM_ParallelGlobalGCPointer(com.ibm.j9ddr.vm29.pointer.generated.MM_ParallelGlobalGCPointer) MM_GCExtensionsPointer(com.ibm.j9ddr.vm29.pointer.generated.MM_GCExtensionsPointer) MM_MarkMapPointer(com.ibm.j9ddr.vm29.pointer.generated.MM_MarkMapPointer)

Aggregations

MM_GCExtensionsPointer (com.ibm.j9ddr.vm29.pointer.generated.MM_GCExtensionsPointer)1 MM_IncrementalGenerationalGCPointer (com.ibm.j9ddr.vm29.pointer.generated.MM_IncrementalGenerationalGCPointer)1 MM_MarkMapPointer (com.ibm.j9ddr.vm29.pointer.generated.MM_MarkMapPointer)1 MM_ParallelGlobalGCPointer (com.ibm.j9ddr.vm29.pointer.generated.MM_ParallelGlobalGCPointer)1 MM_SegregatedGCPointer (com.ibm.j9ddr.vm29.pointer.generated.MM_SegregatedGCPointer)1