Class LLVMDisassembler

java.lang.Object
org.lwjgl.llvm.LLVMDisassembler

public class LLVMDisassembler extends Object
  • Field Details

    • LLVMDisassembler_VariantKind_None

      public static final int LLVMDisassembler_VariantKind_None
      See Also:
    • LLVMDisassembler_VariantKind_ARM_HI16

      public static final int LLVMDisassembler_VariantKind_ARM_HI16
      See Also:
    • LLVMDisassembler_VariantKind_ARM_LO16

      public static final int LLVMDisassembler_VariantKind_ARM_LO16
      See Also:
    • LLVMDisassembler_VariantKind_ARM64_PAGE

      public static final int LLVMDisassembler_VariantKind_ARM64_PAGE
      See Also:
    • LLVMDisassembler_VariantKind_ARM64_PAGEOFF

      public static final int LLVMDisassembler_VariantKind_ARM64_PAGEOFF
      See Also:
    • LLVMDisassembler_VariantKind_ARM64_GOTPAGE

      public static final int LLVMDisassembler_VariantKind_ARM64_GOTPAGE
      See Also:
    • LLVMDisassembler_VariantKind_ARM64_GOTPAGEOFF

      public static final int LLVMDisassembler_VariantKind_ARM64_GOTPAGEOFF
      See Also:
    • LLVMDisassembler_VariantKind_ARM64_TLVP

      public static final int LLVMDisassembler_VariantKind_ARM64_TLVP
      See Also:
    • LLVMDisassembler_VariantKind_ARM64_TLVOFF

      public static final int LLVMDisassembler_VariantKind_ARM64_TLVOFF
      See Also:
    • LLVMDisassembler_ReferenceType_InOut_None

      public static final int LLVMDisassembler_ReferenceType_InOut_None
      See Also:
    • LLVMDisassembler_ReferenceType_In_Branch

      public static final int LLVMDisassembler_ReferenceType_In_Branch
      See Also:
    • LLVMDisassembler_ReferenceType_In_PCrel_Load

      public static final int LLVMDisassembler_ReferenceType_In_PCrel_Load
      See Also:
    • LLVMDisassembler_ReferenceType_Out_SymbolStub

      public static final int LLVMDisassembler_ReferenceType_Out_SymbolStub
      See Also:
    • LLVMDisassembler_ReferenceType_Out_LitPool_SymAddr

      public static final int LLVMDisassembler_ReferenceType_Out_LitPool_SymAddr
      See Also:
    • LLVMDisassembler_ReferenceType_Out_LitPool_CstrAddr

      public static final int LLVMDisassembler_ReferenceType_Out_LitPool_CstrAddr
      See Also:
    • LLVMDisassembler_ReferenceType_Out_Objc_CFString_Ref

      public static final int LLVMDisassembler_ReferenceType_Out_Objc_CFString_Ref
      See Also:
    • LLVMDisassembler_ReferenceType_Out_Objc_Message

      public static final int LLVMDisassembler_ReferenceType_Out_Objc_Message
      See Also:
    • LLVMDisassembler_ReferenceType_Out_Objc_Message_Ref

      public static final int LLVMDisassembler_ReferenceType_Out_Objc_Message_Ref
      See Also:
    • LLVMDisassembler_ReferenceType_Out_Objc_Selector_Ref

      public static final int LLVMDisassembler_ReferenceType_Out_Objc_Selector_Ref
      See Also:
    • LLVMDisassembler_ReferenceType_Out_Objc_Class_Ref

      public static final int LLVMDisassembler_ReferenceType_Out_Objc_Class_Ref
      See Also:
    • LLVMDisassembler_ReferenceType_DeMangled_Name

      public static final int LLVMDisassembler_ReferenceType_DeMangled_Name
      See Also:
    • LLVMDisassembler_ReferenceType_In_ARM64_ADRP

      public static final long LLVMDisassembler_ReferenceType_In_ARM64_ADRP
      See Also:
    • LLVMDisassembler_ReferenceType_In_ARM64_ADDXri

      public static final long LLVMDisassembler_ReferenceType_In_ARM64_ADDXri
      See Also:
    • LLVMDisassembler_ReferenceType_In_ARM64_LDRXui

      public static final long LLVMDisassembler_ReferenceType_In_ARM64_LDRXui
      See Also:
    • LLVMDisassembler_ReferenceType_In_ARM64_LDRXl

      public static final long LLVMDisassembler_ReferenceType_In_ARM64_LDRXl
      See Also:
    • LLVMDisassembler_ReferenceType_In_ARM64_ADR

      public static final long LLVMDisassembler_ReferenceType_In_ARM64_ADR
      See Also:
    • LLVMDisassembler_Option_UseMarkup

      public static final int LLVMDisassembler_Option_UseMarkup
      See Also:
    • LLVMDisassembler_Option_PrintImmHex

      public static final int LLVMDisassembler_Option_PrintImmHex
      See Also:
    • LLVMDisassembler_Option_AsmPrinterVariant

      public static final int LLVMDisassembler_Option_AsmPrinterVariant
      See Also:
    • LLVMDisassembler_Option_SetInstrComments

      public static final int LLVMDisassembler_Option_SetInstrComments
      See Also:
    • LLVMDisassembler_Option_PrintLatency

      public static final int LLVMDisassembler_Option_PrintLatency
      See Also:
  • Method Details

    • nLLVMCreateDisasm

      public static long nLLVMCreateDisasm(long TripleName, long DisInfo, int TagType, long GetOpInfo, long SymbolLookUp)
      Unsafe version of: CreateDisasm
    • LLVMCreateDisasm

      public static long LLVMCreateDisasm(ByteBuffer TripleName, long DisInfo, int TagType, @Nullable LLVMOpInfoCallbackI GetOpInfo, @Nullable LLVMSymbolLookupCallbackI SymbolLookUp)
      Create a disassembler for the TripleName.

      Symbolic disassembly is supported by passing a block of information in the DisInfo parameter and specifying the TagType and callback functions as described above. These can all be passed as NULL. If successful, this returns a disassembler context. If not, it returns NULL. This function is equivalent to calling CreateDisasmCPUFeatures with an empty CPU name and feature set.

    • LLVMCreateDisasm

      public static long LLVMCreateDisasm(CharSequence TripleName, long DisInfo, int TagType, @Nullable LLVMOpInfoCallbackI GetOpInfo, @Nullable LLVMSymbolLookupCallbackI SymbolLookUp)
      Create a disassembler for the TripleName.

      Symbolic disassembly is supported by passing a block of information in the DisInfo parameter and specifying the TagType and callback functions as described above. These can all be passed as NULL. If successful, this returns a disassembler context. If not, it returns NULL. This function is equivalent to calling CreateDisasmCPUFeatures with an empty CPU name and feature set.

    • nLLVMCreateDisasmCPU

      public static long nLLVMCreateDisasmCPU(long Triple, long CPU, long DisInfo, int TagType, long GetOpInfo, long SymbolLookUp)
      Unsafe version of: CreateDisasmCPU
    • LLVMCreateDisasmCPU

      public static long LLVMCreateDisasmCPU(ByteBuffer Triple, ByteBuffer CPU, long DisInfo, int TagType, @Nullable LLVMOpInfoCallbackI GetOpInfo, @Nullable LLVMSymbolLookupCallbackI SymbolLookUp)
      Create a disassembler for the TripleName and a specific CPU.

      Symbolic disassembly is supported by passing a block of information in the DisInfo parameter and specifying the TagType and callback functions as described above. These can all be passed as NULL. If successful, this returns a disassembler context. If not, it returns NULL. This function is equivalent to calling CreateDisasmCPUFeatures with an empty feature set.

    • LLVMCreateDisasmCPU

      public static long LLVMCreateDisasmCPU(CharSequence Triple, CharSequence CPU, long DisInfo, int TagType, @Nullable LLVMOpInfoCallbackI GetOpInfo, @Nullable LLVMSymbolLookupCallbackI SymbolLookUp)
      Create a disassembler for the TripleName and a specific CPU.

      Symbolic disassembly is supported by passing a block of information in the DisInfo parameter and specifying the TagType and callback functions as described above. These can all be passed as NULL. If successful, this returns a disassembler context. If not, it returns NULL. This function is equivalent to calling CreateDisasmCPUFeatures with an empty feature set.

    • nLLVMCreateDisasmCPUFeatures

      public static long nLLVMCreateDisasmCPUFeatures(long Triple, long CPU, long Features, long DisInfo, int TagType, long GetOpInfo, long SymbolLookUp)
      Unsafe version of: CreateDisasmCPUFeatures
    • LLVMCreateDisasmCPUFeatures

      public static long LLVMCreateDisasmCPUFeatures(ByteBuffer Triple, ByteBuffer CPU, ByteBuffer Features, long DisInfo, int TagType, @Nullable LLVMOpInfoCallbackI GetOpInfo, @Nullable LLVMSymbolLookupCallbackI SymbolLookUp)
      Create a disassembler for the TripleName, a specific CPU and specific feature string.

      Symbolic disassembly is supported by passing a block of information in the DisInfo parameter and specifying the TagType and callback functions as described above. These can all be passed as NULL. If successful, this returns a disassembler context. If not, it returns NULL.

    • LLVMCreateDisasmCPUFeatures

      public static long LLVMCreateDisasmCPUFeatures(CharSequence Triple, CharSequence CPU, CharSequence Features, long DisInfo, int TagType, @Nullable LLVMOpInfoCallbackI GetOpInfo, @Nullable LLVMSymbolLookupCallbackI SymbolLookUp)
      Create a disassembler for the TripleName, a specific CPU and specific feature string.

      Symbolic disassembly is supported by passing a block of information in the DisInfo parameter and specifying the TagType and callback functions as described above. These can all be passed as NULL. If successful, this returns a disassembler context. If not, it returns NULL.

    • LLVMSetDisasmOptions

      public static int LLVMSetDisasmOptions(long DC, long Options)
      Set the disassembler's options. Returns 1 if it can set the Options and 0 otherwise.
    • LLVMDisasmDispose

      public static void LLVMDisasmDispose(long DC)
      Dispose of a disassembler context.
    • nLLVMDisasmInstruction

      public static long nLLVMDisasmInstruction(long DC, long Bytes, long BytesSize, long PC, long OutString, long OutStringSize)
      Unsafe version of: DisasmInstruction
    • LLVMDisasmInstruction

      public static long LLVMDisasmInstruction(long DC, ByteBuffer Bytes, long PC, ByteBuffer OutString)
      Disassemble a single instruction using the disassembler context specified in the parameter DC.

      The bytes of the instruction are specified in the parameter Bytes, and contains at least BytesSize number of bytes. The instruction is at the address specified by the PC parameter. If a valid instruction can be disassembled, its string is returned indirectly in OutString whose size is specified in the parameter OutStringSize. This function returns the number of bytes in the instruction or zero if there was no valid instruction.