Search in sources :

Example 6 with J9MemorySegmentListPointer

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

the class DTFJContext method cacheJITMethodAddresses.

private static void cacheJITMethodAddresses() {
    jitMethodCache = new HashMap<J9MethodPointer, List<J9JITExceptionTablePointer>>();
    try {
        J9MemorySegmentListPointer dataCacheList = getVm().jitConfig().dataCacheList();
        J9MemorySegmentPointer dataCache = dataCacheList.nextSegment();
        while (dataCache.notNull()) {
            UDATA current = UDATA.cast(dataCache.heapBase());
            UDATA end = UDATA.cast(dataCache.heapAlloc());
            while (current.lt(end)) {
                J9JITDataCacheHeaderPointer hdr = J9JITDataCacheHeaderPointer.cast(current);
                if (hdr.type().longValue() == J9DataTypeExceptionInfo) {
                    J9JITExceptionTablePointer metaData = J9JITExceptionTablePointer.cast(current.add(J9JITDataCacheHeader.SIZEOF));
                    addMetaData(metaData);
                }
                current = current.add(hdr.size());
            }
            dataCache = dataCache.nextSegment();
        }
    } catch (CorruptDataException e) {
        return;
    }
}
Also used : UDATA(com.ibm.j9ddr.vm29.types.UDATA) J9JITDataCacheHeaderPointer(com.ibm.j9ddr.vm29.pointer.generated.J9JITDataCacheHeaderPointer) J9MethodPointer(com.ibm.j9ddr.vm29.pointer.generated.J9MethodPointer) J9MemorySegmentListPointer(com.ibm.j9ddr.vm29.pointer.generated.J9MemorySegmentListPointer) J9JITExceptionTablePointer(com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer) ArrayList(java.util.ArrayList) List(java.util.List) J9MemorySegmentPointer(com.ibm.j9ddr.vm29.pointer.generated.J9MemorySegmentPointer) CorruptDataException(com.ibm.j9ddr.CorruptDataException)

Aggregations

CorruptDataException (com.ibm.j9ddr.CorruptDataException)3 MemorySegmentIterator (com.ibm.j9ddr.vm29.j9.walkers.MemorySegmentIterator)3 J9MemorySegmentListPointer (com.ibm.j9ddr.vm29.pointer.generated.J9MemorySegmentListPointer)2 J9MemorySegmentPointer (com.ibm.j9ddr.vm29.pointer.generated.J9MemorySegmentPointer)2 UDATA (com.ibm.j9ddr.vm29.types.UDATA)2 ArrayList (java.util.ArrayList)2 DDRInteractiveCommandException (com.ibm.j9ddr.tools.ddrinteractive.DDRInteractiveCommandException)1 GCSegmentIterator (com.ibm.j9ddr.vm29.j9.gc.GCSegmentIterator)1 J9JITDataCacheHeaderPointer (com.ibm.j9ddr.vm29.pointer.generated.J9JITDataCacheHeaderPointer)1 J9JITExceptionTablePointer (com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer)1 J9MethodPointer (com.ibm.j9ddr.vm29.pointer.generated.J9MethodPointer)1 List (java.util.List)1