public class LLVMDisassembler
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
static class |
LLVMDisassembler.Functions
Contains the function pointers loaded from
LLVMCore.getLibrary(). |
| Modifier and Type | Method and Description |
|---|---|
static long |
LLVMCreateDisasm(java.nio.ByteBuffer TripleName,
long DisInfo,
int TagType,
LLVMOpInfoCallbackI GetOpInfo,
LLVMSymbolLookupCallbackI SymbolLookUp)
Create a disassembler for the
TripleName. |
static long |
LLVMCreateDisasm(java.lang.CharSequence TripleName,
long DisInfo,
int TagType,
LLVMOpInfoCallbackI GetOpInfo,
LLVMSymbolLookupCallbackI SymbolLookUp)
Create a disassembler for the
TripleName. |
static long |
LLVMCreateDisasmCPU(java.nio.ByteBuffer Triple,
java.nio.ByteBuffer CPU,
long DisInfo,
int TagType,
LLVMOpInfoCallbackI GetOpInfo,
LLVMSymbolLookupCallbackI SymbolLookUp)
Create a disassembler for the
TripleName and a specific CPU. |
static long |
LLVMCreateDisasmCPU(java.lang.CharSequence Triple,
java.lang.CharSequence CPU,
long DisInfo,
int TagType,
LLVMOpInfoCallbackI GetOpInfo,
LLVMSymbolLookupCallbackI SymbolLookUp)
Create a disassembler for the
TripleName and a specific CPU. |
static long |
LLVMCreateDisasmCPUFeatures(java.nio.ByteBuffer Triple,
java.nio.ByteBuffer CPU,
java.nio.ByteBuffer Features,
long DisInfo,
int TagType,
LLVMOpInfoCallbackI GetOpInfo,
LLVMSymbolLookupCallbackI SymbolLookUp)
Create a disassembler for the
TripleName, a specific CPU and specific feature string. |
static long |
LLVMCreateDisasmCPUFeatures(java.lang.CharSequence Triple,
java.lang.CharSequence CPU,
java.lang.CharSequence Features,
long DisInfo,
int TagType,
LLVMOpInfoCallbackI GetOpInfo,
LLVMSymbolLookupCallbackI SymbolLookUp)
Create a disassembler for the
TripleName, a specific CPU and specific feature string. |
static void |
LLVMDisasmDispose(long DC)
Dispose of a disassembler context.
|
static long |
LLVMDisasmInstruction(long DC,
java.nio.ByteBuffer Bytes,
long PC,
java.nio.ByteBuffer OutString)
Disassemble a single instruction using the disassembler context specified in the parameter DC.
|
static int |
LLVMSetDisasmOptions(long DC,
long Options)
Set the disassembler's options.
|
static long |
nLLVMCreateDisasm(long TripleName,
long DisInfo,
int TagType,
long GetOpInfo,
long SymbolLookUp)
Unsafe version of:
CreateDisasm |
static long |
nLLVMCreateDisasmCPU(long Triple,
long CPU,
long DisInfo,
int TagType,
long GetOpInfo,
long SymbolLookUp)
Unsafe version of:
CreateDisasmCPU |
static long |
nLLVMCreateDisasmCPUFeatures(long Triple,
long CPU,
long Features,
long DisInfo,
int TagType,
long GetOpInfo,
long SymbolLookUp)
Unsafe version of:
CreateDisasmCPUFeatures |
static long |
nLLVMDisasmInstruction(long DC,
long Bytes,
long BytesSize,
long PC,
long OutString,
long OutStringSize)
Unsafe version of:
DisasmInstruction |
public static final int LLVMDisassembler_VariantKind_None
public static final int LLVMDisassembler_VariantKind_ARM_HI16
public static final int LLVMDisassembler_VariantKind_ARM_LO16
public static final int LLVMDisassembler_VariantKind_ARM64_PAGE
public static final int LLVMDisassembler_VariantKind_ARM64_PAGEOFF
public static final int LLVMDisassembler_VariantKind_ARM64_GOTPAGE
public static final int LLVMDisassembler_VariantKind_ARM64_GOTPAGEOFF
public static final int LLVMDisassembler_VariantKind_ARM64_TLVP
public static final int LLVMDisassembler_VariantKind_ARM64_TLVOFF
public static final int LLVMDisassembler_ReferenceType_InOut_None
public static final int LLVMDisassembler_ReferenceType_In_Branch
public static final int LLVMDisassembler_ReferenceType_In_PCrel_Load
public static final int LLVMDisassembler_ReferenceType_Out_SymbolStub
public static final int LLVMDisassembler_ReferenceType_Out_LitPool_SymAddr
public static final int LLVMDisassembler_ReferenceType_Out_LitPool_CstrAddr
public static final int LLVMDisassembler_ReferenceType_Out_Objc_CFString_Ref
public static final int LLVMDisassembler_ReferenceType_Out_Objc_Message
public static final int LLVMDisassembler_ReferenceType_Out_Objc_Message_Ref
public static final int LLVMDisassembler_ReferenceType_Out_Objc_Selector_Ref
public static final int LLVMDisassembler_ReferenceType_Out_Objc_Class_Ref
public static final int LLVMDisassembler_ReferenceType_DeMangled_Name
public static final long LLVMDisassembler_ReferenceType_In_ARM64_ADRP
public static final long LLVMDisassembler_ReferenceType_In_ARM64_ADDXri
public static final long LLVMDisassembler_ReferenceType_In_ARM64_LDRXui
public static final long LLVMDisassembler_ReferenceType_In_ARM64_LDRXl
public static final long LLVMDisassembler_ReferenceType_In_ARM64_ADR
public static final int LLVMDisassembler_Option_UseMarkup
public static final int LLVMDisassembler_Option_PrintImmHex
public static final int LLVMDisassembler_Option_AsmPrinterVariant
public static final int LLVMDisassembler_Option_SetInstrComments
public static final int LLVMDisassembler_Option_PrintLatency
public static long nLLVMCreateDisasm(long TripleName,
long DisInfo,
int TagType,
long GetOpInfo,
long SymbolLookUp)
CreateDisasmpublic static long LLVMCreateDisasm(java.nio.ByteBuffer TripleName,
long DisInfo,
int TagType,
@Nullable
LLVMOpInfoCallbackI GetOpInfo,
@Nullable
LLVMSymbolLookupCallbackI SymbolLookUp)
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.
public static long LLVMCreateDisasm(java.lang.CharSequence TripleName,
long DisInfo,
int TagType,
@Nullable
LLVMOpInfoCallbackI GetOpInfo,
@Nullable
LLVMSymbolLookupCallbackI SymbolLookUp)
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.
public static long nLLVMCreateDisasmCPU(long Triple,
long CPU,
long DisInfo,
int TagType,
long GetOpInfo,
long SymbolLookUp)
CreateDisasmCPUpublic static long LLVMCreateDisasmCPU(java.nio.ByteBuffer Triple,
java.nio.ByteBuffer CPU,
long DisInfo,
int TagType,
@Nullable
LLVMOpInfoCallbackI GetOpInfo,
@Nullable
LLVMSymbolLookupCallbackI SymbolLookUp)
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.
public static long LLVMCreateDisasmCPU(java.lang.CharSequence Triple,
java.lang.CharSequence CPU,
long DisInfo,
int TagType,
@Nullable
LLVMOpInfoCallbackI GetOpInfo,
@Nullable
LLVMSymbolLookupCallbackI SymbolLookUp)
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.
public static long nLLVMCreateDisasmCPUFeatures(long Triple,
long CPU,
long Features,
long DisInfo,
int TagType,
long GetOpInfo,
long SymbolLookUp)
CreateDisasmCPUFeaturespublic static long LLVMCreateDisasmCPUFeatures(java.nio.ByteBuffer Triple,
java.nio.ByteBuffer CPU,
java.nio.ByteBuffer Features,
long DisInfo,
int TagType,
@Nullable
LLVMOpInfoCallbackI GetOpInfo,
@Nullable
LLVMSymbolLookupCallbackI SymbolLookUp)
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.
public static long LLVMCreateDisasmCPUFeatures(java.lang.CharSequence Triple,
java.lang.CharSequence CPU,
java.lang.CharSequence Features,
long DisInfo,
int TagType,
@Nullable
LLVMOpInfoCallbackI GetOpInfo,
@Nullable
LLVMSymbolLookupCallbackI SymbolLookUp)
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.
public static int LLVMSetDisasmOptions(long DC,
long Options)
Options and 0 otherwise.public static void LLVMDisasmDispose(long DC)
public static long nLLVMDisasmInstruction(long DC,
long Bytes,
long BytesSize,
long PC,
long OutString,
long OutStringSize)
DisasmInstructionpublic static long LLVMDisasmInstruction(long DC,
java.nio.ByteBuffer Bytes,
long PC,
java.nio.ByteBuffer OutString)
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.
Copyright LWJGL. All Rights Reserved. License terms.