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
Nested ClassesModifier and TypeClassDescriptionstatic classClass used to pass maps by reference to jitGetMapsFromPC. - 
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final longstatic final long - 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionstatic UDATAgetCurrentByteCodeIndexAndIsSameReceiver(com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer methodMetaData, VoidPointer stackMap, VoidPointer currentInlinedCallSite, boolean[] isSameReceiver) static VoidPointergetFirstInlinedCallSite(com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer methodMetaData, VoidPointer stackMap) static VoidPointergetInlinedMethod(VoidPointer inlinedCallSite) static UDATAstatic com.ibm.j9ddr.vm29.pointer.generated.J9JITStackAtlasPointergetJitGCStackAtlas(com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer md) static VoidPointergetJitInlinedCallInfo(com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer md) static UDATAgetJitInlineDepthFromCallSite(com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer methodMetaData, VoidPointer inlinedCallSite) static U8PointergetJitInternalPointerMap(com.ibm.j9ddr.vm29.pointer.generated.J9JITStackAtlasPointer sa) static U16getJitNumberOfMapBytes(com.ibm.j9ddr.vm29.pointer.generated.J9JITStackAtlasPointer sa) static U16getJitNumberOfParmSlots(com.ibm.j9ddr.vm29.pointer.generated.J9JITStackAtlasPointer sa) static intstatic U32getJitRegisterMap(com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer methodMetaData, VoidPointer stackMap) static U8PointergetJitStackSlots(com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer metaData, VoidPointer stackMap) static intstatic I16getJitTotalFrameSize(com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer md) static intstatic U8getNextDescriptionBit(U8Pointer jitDescriptionCursor) static U8PointergetNextDescriptionCursor(com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer metadata, VoidPointer stackMap, U8Pointer jitDescriptionCursor) static VoidPointergetNextInlinedCallSite(com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer methodMetaData, VoidPointer inlinedCallSite) static UDATAPointergetObjectArgScanCursor(WalkState walkState) static UDATAPointergetObjectTempScanCursor(WalkState walkState) static VoidPointergetStackAllocMapFromJitPC(com.ibm.j9ddr.vm29.pointer.generated.J9JavaVMPointer javaVM, com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer methodMetaData, UDATA jitPC, VoidPointer curStackMap) static VoidPointergetStackMapFromJitPC(com.ibm.j9ddr.vm29.pointer.generated.J9JavaVMPointer javaVM, com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer methodMetaData, UDATA jitPC) static booleanhasMoreInlinedMethods(VoidPointer inlinedCallSite) static voidjitAddSpilledRegisters(WalkState walkState) static voidjitAddSpilledRegisters(WalkState walkState, VoidPointer stackMap) static voidjitAddSpilledRegistersForDataResolve(WalkState walkState) static voidjitGetMapsFromPC(com.ibm.j9ddr.vm29.pointer.generated.J9JavaVMPointer javaVM, com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer methodMetaData, UDATA jitPC, MethodMetaData.JITMaps maps) static voidmarkClassesInInlineRanges(com.ibm.j9ddr.vm29.pointer.generated.J9JITExceptionTablePointer metaData, WalkState walkState) static voidwalkJITFrameSlotsForInternalPointers(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
 
 -