Top Inners Fields Constructors Methods
org.lwjgl.llvm

public Class LLVMDisassembler

extends Object
Class Inheritance
Imports
javax.annotation.*, java.nio.*, org.lwjgl.system.*

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class
LLVMDisassembler.Functions

Contains the function pointers loaded from LLVMCore.getLibrary().

Field Summary

Modifier and TypeField and Description
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final long
public static final long
public static final long
public static final long
public static final long
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public static long
LLVMCreateDisasm(ByteBuffer TripleName, long DisInfo, int TagType, LLVMOpInfoCallbackI GetOpInfo, LLVMSymbolLookupCallbackI SymbolLookUp)

Create a disassembler for the TripleName.

public static long
LLVMCreateDisasm(CharSequence TripleName, long DisInfo, int TagType, LLVMOpInfoCallbackI GetOpInfo, LLVMSymbolLookupCallbackI SymbolLookUp)

Create a disassembler for the TripleName.

public static long
LLVMCreateDisasmCPU(ByteBuffer Triple, ByteBuffer CPU, long DisInfo, int TagType, LLVMOpInfoCallbackI GetOpInfo, LLVMSymbolLookupCallbackI SymbolLookUp)

Create a disassembler for the TripleName and a specific CPU.

public static long
LLVMCreateDisasmCPU(CharSequence Triple, CharSequence CPU, long DisInfo, int TagType, LLVMOpInfoCallbackI GetOpInfo, LLVMSymbolLookupCallbackI SymbolLookUp)

Create a disassembler for the TripleName and a specific CPU.

public static long
LLVMCreateDisasmCPUFeatures(ByteBuffer Triple, ByteBuffer CPU, ByteBuffer Features, long DisInfo, int TagType, LLVMOpInfoCallbackI GetOpInfo, LLVMSymbolLookupCallbackI SymbolLookUp)

Create a disassembler for the TripleName, a specific CPU and specific feature string.

public static long
LLVMCreateDisasmCPUFeatures(CharSequence Triple, CharSequence CPU, CharSequence Features, long DisInfo, int TagType, LLVMOpInfoCallbackI GetOpInfo, LLVMSymbolLookupCallbackI SymbolLookUp)

Create a disassembler for the TripleName, a specific CPU and specific feature string.

public static void
LLVMDisasmDispose(long DC)

Dispose of a disassembler context.

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.

public static int
LLVMSetDisasmOptions(long DC, long Options)

Set the disassembler's options.

public static long
nLLVMCreateDisasm(long TripleName, long DisInfo, int TagType, long GetOpInfo, long SymbolLookUp)

Unsafe version of: CreateDisasm

public static long
nLLVMCreateDisasmCPU(long Triple, long CPU, long DisInfo, int TagType, long GetOpInfo, long SymbolLookUp)

Unsafe version of: CreateDisasmCPU

public static long
nLLVMCreateDisasmCPUFeatures(long Triple, long CPU, long Features, long DisInfo, int TagType, long GetOpInfo, long SymbolLookUp)

Unsafe version of: CreateDisasmCPUFeatures

public static long
nLLVMDisasmInstruction(long DC, long Bytes, long BytesSize, long PC, long OutString, long OutStringSize)

Unsafe version of: DisasmInstruction

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

LLVMDisassembler_Option_AsmPrinterVariantback to summary
public static final int LLVMDisassembler_Option_AsmPrinterVariant
LLVMDisassembler_Option_PrintImmHexback to summary
public static final int LLVMDisassembler_Option_PrintImmHex
LLVMDisassembler_Option_PrintLatencyback to summary
public static final int LLVMDisassembler_Option_PrintLatency
LLVMDisassembler_Option_SetInstrCommentsback to summary
public static final int LLVMDisassembler_Option_SetInstrComments
LLVMDisassembler_Option_UseMarkupback to summary
public static final int LLVMDisassembler_Option_UseMarkup
LLVMDisassembler_ReferenceType_DeMangled_Nameback to summary
public static final int LLVMDisassembler_ReferenceType_DeMangled_Name
LLVMDisassembler_ReferenceType_In_ARM64_ADDXriback to summary
public static final long LLVMDisassembler_ReferenceType_In_ARM64_ADDXri
LLVMDisassembler_ReferenceType_In_ARM64_ADRback to summary
public static final long LLVMDisassembler_ReferenceType_In_ARM64_ADR
LLVMDisassembler_ReferenceType_In_ARM64_ADRPback to summary
public static final long LLVMDisassembler_ReferenceType_In_ARM64_ADRP
LLVMDisassembler_ReferenceType_In_ARM64_LDRXlback to summary
public static final long LLVMDisassembler_ReferenceType_In_ARM64_LDRXl
LLVMDisassembler_ReferenceType_In_ARM64_LDRXuiback to summary
public static final long LLVMDisassembler_ReferenceType_In_ARM64_LDRXui
LLVMDisassembler_ReferenceType_In_Branchback to summary
public static final int LLVMDisassembler_ReferenceType_In_Branch
LLVMDisassembler_ReferenceType_In_PCrel_Loadback to summary
public static final int LLVMDisassembler_ReferenceType_In_PCrel_Load
LLVMDisassembler_ReferenceType_InOut_Noneback to summary
public static final int LLVMDisassembler_ReferenceType_InOut_None
LLVMDisassembler_ReferenceType_Out_LitPool_CstrAddrback to summary
public static final int LLVMDisassembler_ReferenceType_Out_LitPool_CstrAddr
LLVMDisassembler_ReferenceType_Out_LitPool_SymAddrback to summary
public static final int LLVMDisassembler_ReferenceType_Out_LitPool_SymAddr
LLVMDisassembler_ReferenceType_Out_Objc_CFString_Refback to summary
public static final int LLVMDisassembler_ReferenceType_Out_Objc_CFString_Ref
LLVMDisassembler_ReferenceType_Out_Objc_Class_Refback to summary
public static final int LLVMDisassembler_ReferenceType_Out_Objc_Class_Ref
LLVMDisassembler_ReferenceType_Out_Objc_Messageback to summary
public static final int LLVMDisassembler_ReferenceType_Out_Objc_Message
LLVMDisassembler_ReferenceType_Out_Objc_Message_Refback to summary
public static final int LLVMDisassembler_ReferenceType_Out_Objc_Message_Ref
LLVMDisassembler_ReferenceType_Out_Objc_Selector_Refback to summary
public static final int LLVMDisassembler_ReferenceType_Out_Objc_Selector_Ref
LLVMDisassembler_ReferenceType_Out_SymbolStubback to summary
public static final int LLVMDisassembler_ReferenceType_Out_SymbolStub
LLVMDisassembler_VariantKind_ARM64_GOTPAGEback to summary
public static final int LLVMDisassembler_VariantKind_ARM64_GOTPAGE
LLVMDisassembler_VariantKind_ARM64_GOTPAGEOFFback to summary
public static final int LLVMDisassembler_VariantKind_ARM64_GOTPAGEOFF
LLVMDisassembler_VariantKind_ARM64_PAGEback to summary
public static final int LLVMDisassembler_VariantKind_ARM64_PAGE
LLVMDisassembler_VariantKind_ARM64_PAGEOFFback to summary
public static final int LLVMDisassembler_VariantKind_ARM64_PAGEOFF
LLVMDisassembler_VariantKind_ARM64_TLVOFFback to summary
public static final int LLVMDisassembler_VariantKind_ARM64_TLVOFF
LLVMDisassembler_VariantKind_ARM64_TLVPback to summary
public static final int LLVMDisassembler_VariantKind_ARM64_TLVP
LLVMDisassembler_VariantKind_ARM_HI16back to summary
public static final int LLVMDisassembler_VariantKind_ARM_HI16
LLVMDisassembler_VariantKind_ARM_LO16back to summary
public static final int LLVMDisassembler_VariantKind_ARM_LO16
LLVMDisassembler_VariantKind_Noneback to summary
public static final int LLVMDisassembler_VariantKind_None

Constructor Detail

LLVMDisassemblerback to summary
protected LLVMDisassembler()

Method Detail

LLVMCreateDisasmback to summary
public static long LLVMCreateDisasm(ByteBuffer TripleName, long DisInfo, int TagType, LLVMOpInfoCallbackI GetOpInfo, 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.

Annotations
@NativeType:LLVMDisasmContextRef
LLVMCreateDisasmback to summary
public static long LLVMCreateDisasm(CharSequence TripleName, long DisInfo, int TagType, LLVMOpInfoCallbackI GetOpInfo, 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.

Annotations
@NativeType:LLVMDisasmContextRef
LLVMCreateDisasmCPUback to summary
public static long LLVMCreateDisasmCPU(ByteBuffer Triple, ByteBuffer CPU, long DisInfo, int TagType, LLVMOpInfoCallbackI GetOpInfo, 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.

Annotations
@NativeType:LLVMDisasmContextRef
LLVMCreateDisasmCPUback to summary
public static long LLVMCreateDisasmCPU(CharSequence Triple, CharSequence CPU, long DisInfo, int TagType, LLVMOpInfoCallbackI GetOpInfo, 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.

Annotations
@NativeType:LLVMDisasmContextRef
LLVMCreateDisasmCPUFeaturesback to summary
public static long LLVMCreateDisasmCPUFeatures(ByteBuffer Triple, ByteBuffer CPU, ByteBuffer Features, long DisInfo, int TagType, LLVMOpInfoCallbackI GetOpInfo, 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.

Annotations
@NativeType:LLVMDisasmContextRef
LLVMCreateDisasmCPUFeaturesback to summary
public static long LLVMCreateDisasmCPUFeatures(CharSequence Triple, CharSequence CPU, CharSequence Features, long DisInfo, int TagType, LLVMOpInfoCallbackI GetOpInfo, 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.

Annotations
@NativeType:LLVMDisasmContextRef
LLVMDisasmDisposeback to summary
public static void LLVMDisasmDispose(long DC)

Dispose of a disassembler context.

LLVMDisasmInstructionback to summary
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.

Annotations
@NativeType:size_t
LLVMSetDisasmOptionsback to summary
public static int LLVMSetDisasmOptions(long DC, long Options)

Set the disassembler's options. Returns 1 if it can set the Options and 0 otherwise.

nLLVMCreateDisasmback to summary
public static long nLLVMCreateDisasm(long TripleName, long DisInfo, int TagType, long GetOpInfo, long SymbolLookUp)

Unsafe version of: CreateDisasm

nLLVMCreateDisasmCPUback to summary
public static long nLLVMCreateDisasmCPU(long Triple, long CPU, long DisInfo, int TagType, long GetOpInfo, long SymbolLookUp)

Unsafe version of: CreateDisasmCPU

nLLVMCreateDisasmCPUFeaturesback to summary
public static long nLLVMCreateDisasmCPUFeatures(long Triple, long CPU, long Features, long DisInfo, int TagType, long GetOpInfo, long SymbolLookUp)

Unsafe version of: CreateDisasmCPUFeatures

nLLVMDisasmInstructionback to summary
public static long nLLVMDisasmInstruction(long DC, long Bytes, long BytesSize, long PC, long OutString, long OutStringSize)

Unsafe version of: DisasmInstruction

org.lwjgl.llvm back to summary

public final Class LLVMDisassembler.Functions

extends Object
Class Inheritance

Contains the function pointers loaded from LLVMCore.getLibrary().

Field Summary

Modifier and TypeField and Description
public static final long
CreateDisasm

Function address.

public static final long
CreateDisasmCPU

Function address.

public static final long
CreateDisasmCPUFeatures

Function address.

public static final long
DisasmDispose

Function address.

public static final long
DisasmInstruction

Function address.

public static final long
SetDisasmOptions

Function address.

Constructor Summary

AccessConstructor and Description
private

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

CreateDisasmback to summary
public static final long CreateDisasm

Function address.

CreateDisasmCPUback to summary
public static final long CreateDisasmCPU

Function address.

CreateDisasmCPUFeaturesback to summary
public static final long CreateDisasmCPUFeatures

Function address.

DisasmDisposeback to summary
public static final long DisasmDispose

Function address.

DisasmInstructionback to summary
public static final long DisasmInstruction

Function address.

SetDisasmOptionsback to summary
public static final long SetDisasmOptions

Function address.

Constructor Detail

Functionsback to summary
private Functions()