[#llvm-StackMaps] = xref:llvm.adoc[llvm]::StackMaps :relfileprefix: ../ :mrdocs: Collects stackmap, patchpoint, and statepoint records and serializes them into the object file's stack map section via AsmPrinter. == Synopsis Declared in `<llvm/CodeGen/StackMaps.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class StackMaps; ---- == Types [cols="1,4"] |=== | Name| Description | xref:llvm/StackMaps/CallsiteInfo.adoc[`CallsiteInfo`] | Recorded stackmap/patchpoint callsite offset, ID, locations, and live‐outs. | xref:llvm/StackMaps/FunctionInfo.adoc[`FunctionInfo`] | Per‐function stack size and stack map record count. | xref:llvm/StackMaps/LiveOutReg.adoc[`LiveOutReg`] | Live‐out register recorded in a stack map call site. | xref:llvm/StackMaps/Location.adoc[`Location`] | Encodes a single stack map location (register, memory, or constant). |=== == Type Aliases [cols="1,4"] |=== | Name| Description | xref:llvm/StackMaps/CallsiteInfoList.adoc[`CallsiteInfoList`] | Ordered list of recorded stackmap/patchpoint call sites. | xref:llvm/StackMaps/ConstantPool.adoc[`ConstantPool`] | Constant pool mapping large constants to dense indices. | xref:llvm/StackMaps/FnInfoMap.adoc[`FnInfoMap`] | Map from function symbols to recorded stackmap function info. | xref:llvm/StackMaps/LiveOutVec.adoc[`LiveOutVec`] | Recorded live‐out register locations for a stack map call site. | xref:llvm/StackMaps/LocationVec.adoc[`LocationVec`] | Vector of stack map locations for a call site. | xref:llvm/StackMaps/OpType-04.adoc[`OpType`] | Operand‐type markers used by the stack map operand parser. |=== == Enums [cols="1,4"] |=== | Name| Description | xref:llvm/StackMaps/OpType-0d.adoc[`OpType`] | Operand‐type markers used by the stack map operand parser. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:llvm/StackMaps/2constructor.adoc[`StackMaps`] [.small]#[constructor]# | Construct a stack maps collector bound to AsmPrinter `AP.` | xref:llvm/StackMaps/getCSInfos.adoc[`getCSInfos`] | Get call site info. | xref:llvm/StackMaps/getFnInfos.adoc[`getFnInfos`] | Get function info. | xref:llvm/StackMaps/recordPatchPoint.adoc[`recordPatchPoint`] | Generate a stackmap record for a patchpoint instruction. | xref:llvm/StackMaps/recordStackMap.adoc[`recordStackMap`] | Generate a stackmap record for a stackmap instruction. | xref:llvm/StackMaps/recordStatepoint.adoc[`recordStatepoint`] | Generate a stackmap record for a statepoint instruction. | xref:llvm/StackMaps/reset.adoc[`reset`] | Clear all recorded call sites, constants, and function info. | xref:llvm/StackMaps/serializeToStackMapSection.adoc[`serializeToStackMapSection`] | If there is any stack map data, create a stack map section and serialize the map info into it. This clears the stack map data structures afterwards. |=== == Static Member Functions [cols="1,4"] |=== | Name| Description | xref:llvm/StackMaps/getNextMetaArgIdx.adoc[`getNextMetaArgIdx`] | Get index of next meta operand. Similar to parseOperand, but does not actually parses operand meaning. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#