Class MethodMetaData
java.lang.Object
com.ibm.j9ddr.vm29.j9.stackwalker.MethodMetaData
Java-equivalent of MethodMetaData.c.
Encapsulates the JIT-specific information required for stack walking.
Note that in the C, there's typedef J9JITExceptionTablePointer J9TR_MethodMetaData. That alias isn't
represented in the Java.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Class used to pass maps by reference to jitGetMapsFromPC. -
Field Summary
Modifier and TypeFieldDescriptionstatic final long
static final long
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic UDATA
getCurrentByteCodeIndexAndIsSameReceiver
(com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer methodMetaData, VoidPointer stackMap, VoidPointer currentInlinedCallSite, boolean[] isSameReceiver) static VoidPointer
getFirstInlinedCallSite
(com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer methodMetaData, VoidPointer stackMap) static VoidPointer
getInlinedMethod
(VoidPointer inlinedCallSite) static UDATA
static com.ibm.j9ddr.vm29.pointer.generated.J9JITStackAtlasPointer
getJitGCStackAtlas
(com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer md) static VoidPointer
getJitInlinedCallInfo
(com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer md) static UDATA
getJitInlineDepthFromCallSite
(com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer methodMetaData, VoidPointer inlinedCallSite) static U8Pointer
getJitInternalPointerMap
(com.ibm.j9ddr.vm29.pointer.generated.J9JITStackAtlasPointer sa) static U16
getJitNumberOfMapBytes
(com.ibm.j9ddr.vm29.pointer.generated.J9JITStackAtlasPointer sa) static U16
getJitNumberOfParmSlots
(com.ibm.j9ddr.vm29.pointer.generated.J9JITStackAtlasPointer sa) static int
static U32
getJitRegisterMap
(com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer methodMetaData, VoidPointer stackMap) static U8Pointer
getJitStackSlots
(com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer metaData, VoidPointer stackMap) static int
static I16
getJitTotalFrameSize
(com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer md) static int
static U8
getNextDescriptionBit
(U8Pointer jitDescriptionCursor) static U8Pointer
getNextDescriptionCursor
(com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer metadata, VoidPointer stackMap, U8Pointer jitDescriptionCursor) static VoidPointer
getNextInlinedCallSite
(com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer methodMetaData, VoidPointer inlinedCallSite) static UDATAPointer
getObjectArgScanCursor
(WalkState walkState) static UDATAPointer
getObjectTempScanCursor
(WalkState walkState) static VoidPointer
getStackAllocMapFromJitPC
(com.ibm.j9ddr.vm29.pointer.generated.J9JavaVMPointer javaVM, com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer methodMetaData, UDATA jitPC, VoidPointer curStackMap) static VoidPointer
getStackMapFromJitPC
(com.ibm.j9ddr.vm29.pointer.generated.J9JavaVMPointer javaVM, com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer methodMetaData, UDATA jitPC) static boolean
hasMoreInlinedMethods
(VoidPointer inlinedCallSite) static void
jitAddSpilledRegisters
(WalkState walkState) static void
jitAddSpilledRegisters
(WalkState walkState, VoidPointer stackMap) static void
jitAddSpilledRegistersForDataResolve
(WalkState walkState) static void
jitGetMapsFromPC
(com.ibm.j9ddr.vm29.pointer.generated.J9JavaVMPointer javaVM, com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer methodMetaData, UDATA jitPC, MethodMetaData.JITMaps maps) static void
markClassesInInlineRanges
(com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer metaData, WalkState walkState) static void
walkJITFrameSlotsForInternalPointers
(WalkState walkState, U8Pointer jitDescriptionCursor, UDATAPointer scanCursor, VoidPointer stackMap, com.ibm.j9ddr.vm29.pointer.generated.J9JITStackAtlasPointer gcStackAtlas)
-
Field Details
-
REGISTER_MAP_VALUE_FOR_GAP
public static final long REGISTER_MAP_VALUE_FOR_GAP- See Also:
-
BYTE_CODE_INFO_VALUE_FOR_GAP
public static final long BYTE_CODE_INFO_VALUE_FOR_GAP- See Also:
-
-
Constructor Details
-
MethodMetaData
public MethodMetaData()
-
-
Method Details
-
getJitTotalFrameSize
public static I16 getJitTotalFrameSize(com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer md) throws CorruptDataException - Throws:
CorruptDataException
-
getJitInlinedCallInfo
public static VoidPointer getJitInlinedCallInfo(com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer md) throws CorruptDataException - Throws:
CorruptDataException
-
jitAddSpilledRegistersForDataResolve
public static void jitAddSpilledRegistersForDataResolve(WalkState walkState) throws CorruptDataException - Throws:
CorruptDataException
-
getJitDataResolvePushes
- Throws:
CorruptDataException
-
getStackMapFromJitPC
public static VoidPointer getStackMapFromJitPC(com.ibm.j9ddr.vm29.pointer.generated.J9JavaVMPointer javaVM, com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer methodMetaData, UDATA jitPC) throws CorruptDataException - Throws:
CorruptDataException
-
getJitGCStackAtlas
public static com.ibm.j9ddr.vm29.pointer.generated.J9JITStackAtlasPointer getJitGCStackAtlas(com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer md) throws CorruptDataException - Throws:
CorruptDataException
-
getFirstInlinedCallSite
public static VoidPointer getFirstInlinedCallSite(com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer methodMetaData, VoidPointer stackMap) throws CorruptDataException - Throws:
CorruptDataException
-
getJitInlineDepthFromCallSite
public static UDATA getJitInlineDepthFromCallSite(com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer methodMetaData, VoidPointer inlinedCallSite) throws CorruptDataException - Throws:
CorruptDataException
-
hasMoreInlinedMethods
public static boolean hasMoreInlinedMethods(VoidPointer inlinedCallSite) throws CorruptDataException - Throws:
CorruptDataException
-
getInlinedMethod
- Throws:
CorruptDataException
-
getCurrentByteCodeIndexAndIsSameReceiver
public static UDATA getCurrentByteCodeIndexAndIsSameReceiver(com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer methodMetaData, VoidPointer stackMap, VoidPointer currentInlinedCallSite, boolean[] isSameReceiver) throws CorruptDataException - Throws:
CorruptDataException
-
jitAddSpilledRegisters
- Throws:
CorruptDataException
-
jitAddSpilledRegisters
public static void jitAddSpilledRegisters(WalkState walkState, VoidPointer stackMap) throws CorruptDataException - Throws:
CorruptDataException
-
getObjectArgScanCursor
- Throws:
CorruptDataException
-
getJitNumberOfMapBytes
public static U16 getJitNumberOfMapBytes(com.ibm.j9ddr.vm29.pointer.generated.J9JITStackAtlasPointer sa) throws CorruptDataException - Throws:
CorruptDataException
-
getJitRegisterMap
public static U32 getJitRegisterMap(com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer methodMetaData, VoidPointer stackMap) throws CorruptDataException - Throws:
CorruptDataException
-
getNextDescriptionCursor
public static U8Pointer getNextDescriptionCursor(com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer metadata, VoidPointer stackMap, U8Pointer jitDescriptionCursor) throws CorruptDataException - Throws:
CorruptDataException
-
getJitNumberOfParmSlots
public static U16 getJitNumberOfParmSlots(com.ibm.j9ddr.vm29.pointer.generated.J9JITStackAtlasPointer sa) throws CorruptDataException - Throws:
CorruptDataException
-
getJitInternalPointerMap
public static U8Pointer getJitInternalPointerMap(com.ibm.j9ddr.vm29.pointer.generated.J9JITStackAtlasPointer sa) throws CorruptDataException - Throws:
CorruptDataException
-
walkJITFrameSlotsForInternalPointers
public static void walkJITFrameSlotsForInternalPointers(WalkState walkState, U8Pointer jitDescriptionCursor, UDATAPointer scanCursor, VoidPointer stackMap, com.ibm.j9ddr.vm29.pointer.generated.J9JITStackAtlasPointer gcStackAtlas) throws CorruptDataException - Throws:
CorruptDataException
-
getNextInlinedCallSite
public static VoidPointer getNextInlinedCallSite(com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer methodMetaData, VoidPointer inlinedCallSite) throws CorruptDataException - Throws:
CorruptDataException
-
getNextDescriptionBit
- Throws:
CorruptDataException
-
getObjectTempScanCursor
- Throws:
CorruptDataException
-
getJitRecompilationResolvePushes
public static int getJitRecompilationResolvePushes() -
getJitVirtualMethodResolvePushes
public static int getJitVirtualMethodResolvePushes() -
getJitStaticMethodResolvePushes
public static int getJitStaticMethodResolvePushes() -
getStackAllocMapFromJitPC
public static VoidPointer getStackAllocMapFromJitPC(com.ibm.j9ddr.vm29.pointer.generated.J9JavaVMPointer javaVM, com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer methodMetaData, UDATA jitPC, VoidPointer curStackMap) throws CorruptDataException - Throws:
CorruptDataException
-
getJitStackSlots
public static U8Pointer getJitStackSlots(com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer metaData, VoidPointer stackMap) throws CorruptDataException - Throws:
CorruptDataException
-
markClassesInInlineRanges
public static void markClassesInInlineRanges(com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer metaData, WalkState walkState) throws CorruptDataException - Throws:
CorruptDataException
-
jitGetMapsFromPC
public static void jitGetMapsFromPC(com.ibm.j9ddr.vm29.pointer.generated.J9JavaVMPointer javaVM, com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer methodMetaData, UDATA jitPC, MethodMetaData.JITMaps maps) throws CorruptDataException - Throws:
CorruptDataException
-