Class LLVMOpInfoSymbol1
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.llvm.LLVMOpInfoSymbol1
-
- All Implemented Interfaces:
java.lang.AutoCloseable
,org.lwjgl.system.NativeResource
,org.lwjgl.system.Pointer
public class LLVMOpInfoSymbol1 extends org.lwjgl.system.Struct implements org.lwjgl.system.NativeResource
The initial support in LLVM MC for the most general form of a relocatable expression is "AddSymbol - SubtractSymbol + Offset". For some Darwin targets this full form is encoded in the relocation information so thatAddSymbol
andSubtractSymbol
can be link edited independent of each other. Many other platforms only allow a relocatable expression of the formAddSymbol + Offset
to be encoded.The
LLVMOpInfoCallback()
for theTagType
value of 1 uses the structLLVMOpInfo1
. The value of the relocatable expression for the operand, including anyPC
adjustment, is passed in to the call back in theValue
field. The symbolic information about the operand is returned using all the fields of the structure with the Offset of the relocatable expression returned in theValue
field. It is possible that some symbols in the relocatable expression were assembly temporary symbols, for example "Ldata - LpicBase + constant", and only the Values of the symbols without symbol names are present in the relocation information. TheVariantKind
type is one of theTarget
specific#defines
below and is used to print operands like "_foo GOT ", ":lower16:_foo", etc.Member documentation
Present
– 1 if this symbol is presentName
– symbol name if notNULL
Value
– symbol value if name isNULL
Layout
struct LLVMOpInfoSymbol1 { uint64_t Present; char const * Name; uint64_t Value; }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
LLVMOpInfoSymbol1.Buffer
An array ofLLVMOpInfoSymbol1
structs.
-
Constructor Summary
Constructors Constructor Description LLVMOpInfoSymbol1(java.nio.ByteBuffer container)
Creates aLLVMOpInfoSymbol1
instance at the current position of the specifiedByteBuffer
container.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static LLVMOpInfoSymbol1
calloc()
Returns a newLLVMOpInfoSymbol1
instance allocated withmemCalloc
.static LLVMOpInfoSymbol1.Buffer
calloc(int capacity)
Returns a newLLVMOpInfoSymbol1.Buffer
instance allocated withmemCalloc
.static LLVMOpInfoSymbol1
callocStack()
Returns a newLLVMOpInfoSymbol1
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static LLVMOpInfoSymbol1.Buffer
callocStack(int capacity)
Returns a newLLVMOpInfoSymbol1.Buffer
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static LLVMOpInfoSymbol1.Buffer
callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newLLVMOpInfoSymbol1.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static LLVMOpInfoSymbol1
callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newLLVMOpInfoSymbol1
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static LLVMOpInfoSymbol1
create()
Returns a newLLVMOpInfoSymbol1
instance allocated withBufferUtils
.static LLVMOpInfoSymbol1.Buffer
create(int capacity)
Returns a newLLVMOpInfoSymbol1.Buffer
instance allocated withBufferUtils
.static LLVMOpInfoSymbol1
create(long address)
Returns a newLLVMOpInfoSymbol1
instance for the specified memory address.static LLVMOpInfoSymbol1.Buffer
create(long address, int capacity)
Create aLLVMOpInfoSymbol1.Buffer
instance at the specified memory.static LLVMOpInfoSymbol1
createSafe(long address)
static LLVMOpInfoSymbol1.Buffer
createSafe(long address, int capacity)
static LLVMOpInfoSymbol1
malloc()
Returns a newLLVMOpInfoSymbol1
instance allocated withmemAlloc
.static LLVMOpInfoSymbol1.Buffer
malloc(int capacity)
Returns a newLLVMOpInfoSymbol1.Buffer
instance allocated withmemAlloc
.static LLVMOpInfoSymbol1
mallocStack()
Returns a newLLVMOpInfoSymbol1
instance allocated on the thread-localMemoryStack
.static LLVMOpInfoSymbol1.Buffer
mallocStack(int capacity)
Returns a newLLVMOpInfoSymbol1.Buffer
instance allocated on the thread-localMemoryStack
.static LLVMOpInfoSymbol1.Buffer
mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newLLVMOpInfoSymbol1.Buffer
instance allocated on the specifiedMemoryStack
.static LLVMOpInfoSymbol1
mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newLLVMOpInfoSymbol1
instance allocated on the specifiedMemoryStack
.java.nio.ByteBuffer
Name()
Returns aByteBuffer
view of the null-terminated string pointed to by theName
field.LLVMOpInfoSymbol1
Name(java.nio.ByteBuffer value)
Sets the address of the specified encoded string to theName
field.java.lang.String
NameString()
Decodes the null-terminated string pointed to by theName
field.static java.nio.ByteBuffer
nName(long struct)
Unsafe version ofName()
.static void
nName(long struct, java.nio.ByteBuffer value)
Unsafe version ofName
.static java.lang.String
nNameString(long struct)
Unsafe version ofNameString()
.static long
nPresent(long struct)
Unsafe version ofPresent()
.static void
nPresent(long struct, long value)
Unsafe version ofPresent
.static long
nValue(long struct)
Unsafe version ofValue()
.static void
nValue(long struct, long value)
Unsafe version ofValue
.long
Present()
Returns the value of thePresent
field.LLVMOpInfoSymbol1
Present(long value)
Sets the specified value to thePresent
field.LLVMOpInfoSymbol1
set(long Present, java.nio.ByteBuffer Name, long Value)
Initializes this struct with the specified values.LLVMOpInfoSymbol1
set(LLVMOpInfoSymbol1 src)
Copies the specified struct data to this struct.int
sizeof()
long
Value()
Returns the value of theValue
field.LLVMOpInfoSymbol1
Value(long value)
Sets the specified value to theValue
field.
-
-
-
Constructor Detail
-
LLVMOpInfoSymbol1
public LLVMOpInfoSymbol1(java.nio.ByteBuffer container)
Creates aLLVMOpInfoSymbol1
instance at the current position of the specifiedByteBuffer
container. Changes to the buffer's content will be visible to the struct instance and vice versa.The created instance holds a strong reference to the container object.
-
-
Method Detail
-
sizeof
public int sizeof()
- Specified by:
sizeof
in classorg.lwjgl.system.Struct
-
Present
public long Present()
Returns the value of thePresent
field.
-
Name
@Nullable public java.nio.ByteBuffer Name()
Returns aByteBuffer
view of the null-terminated string pointed to by theName
field.
-
NameString
@Nullable public java.lang.String NameString()
Decodes the null-terminated string pointed to by theName
field.
-
Value
public long Value()
Returns the value of theValue
field.
-
Present
public LLVMOpInfoSymbol1 Present(long value)
Sets the specified value to thePresent
field.
-
Name
public LLVMOpInfoSymbol1 Name(@Nullable java.nio.ByteBuffer value)
Sets the address of the specified encoded string to theName
field.
-
Value
public LLVMOpInfoSymbol1 Value(long value)
Sets the specified value to theValue
field.
-
set
public LLVMOpInfoSymbol1 set(long Present, @Nullable java.nio.ByteBuffer Name, long Value)
Initializes this struct with the specified values.
-
set
public LLVMOpInfoSymbol1 set(LLVMOpInfoSymbol1 src)
Copies the specified struct data to this struct.- Parameters:
src
- the source struct- Returns:
- this struct
-
malloc
public static LLVMOpInfoSymbol1 malloc()
Returns a newLLVMOpInfoSymbol1
instance allocated withmemAlloc
. The instance must be explicitly freed.
-
calloc
public static LLVMOpInfoSymbol1 calloc()
Returns a newLLVMOpInfoSymbol1
instance allocated withmemCalloc
. The instance must be explicitly freed.
-
create
public static LLVMOpInfoSymbol1 create()
Returns a newLLVMOpInfoSymbol1
instance allocated withBufferUtils
.
-
create
public static LLVMOpInfoSymbol1 create(long address)
Returns a newLLVMOpInfoSymbol1
instance for the specified memory address.
-
createSafe
@Nullable public static LLVMOpInfoSymbol1 createSafe(long address)
-
malloc
public static LLVMOpInfoSymbol1.Buffer malloc(int capacity)
Returns a newLLVMOpInfoSymbol1.Buffer
instance allocated withmemAlloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
calloc
public static LLVMOpInfoSymbol1.Buffer calloc(int capacity)
Returns a newLLVMOpInfoSymbol1.Buffer
instance allocated withmemCalloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
create
public static LLVMOpInfoSymbol1.Buffer create(int capacity)
Returns a newLLVMOpInfoSymbol1.Buffer
instance allocated withBufferUtils
.- Parameters:
capacity
- the buffer capacity
-
create
public static LLVMOpInfoSymbol1.Buffer create(long address, int capacity)
Create aLLVMOpInfoSymbol1.Buffer
instance at the specified memory.- Parameters:
address
- the memory addresscapacity
- the buffer capacity
-
createSafe
@Nullable public static LLVMOpInfoSymbol1.Buffer createSafe(long address, int capacity)
-
mallocStack
public static LLVMOpInfoSymbol1 mallocStack()
Returns a newLLVMOpInfoSymbol1
instance allocated on the thread-localMemoryStack
.
-
callocStack
public static LLVMOpInfoSymbol1 callocStack()
Returns a newLLVMOpInfoSymbol1
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.
-
mallocStack
public static LLVMOpInfoSymbol1 mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newLLVMOpInfoSymbol1
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocate
-
callocStack
public static LLVMOpInfoSymbol1 callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newLLVMOpInfoSymbol1
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
stack
- the stack from which to allocate
-
mallocStack
public static LLVMOpInfoSymbol1.Buffer mallocStack(int capacity)
Returns a newLLVMOpInfoSymbol1.Buffer
instance allocated on the thread-localMemoryStack
.- Parameters:
capacity
- the buffer capacity
-
callocStack
public static LLVMOpInfoSymbol1.Buffer callocStack(int capacity)
Returns a newLLVMOpInfoSymbol1.Buffer
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.- Parameters:
capacity
- the buffer capacity
-
mallocStack
public static LLVMOpInfoSymbol1.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newLLVMOpInfoSymbol1.Buffer
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocatecapacity
- the buffer capacity
-
callocStack
public static LLVMOpInfoSymbol1.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newLLVMOpInfoSymbol1.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
stack
- the stack from which to allocatecapacity
- the buffer capacity
-
nPresent
public static long nPresent(long struct)
Unsafe version ofPresent()
.
-
nName
@Nullable public static java.nio.ByteBuffer nName(long struct)
Unsafe version ofName()
.
-
nNameString
@Nullable public static java.lang.String nNameString(long struct)
Unsafe version ofNameString()
.
-
nValue
public static long nValue(long struct)
Unsafe version ofValue()
.
-
nPresent
public static void nPresent(long struct, long value)
Unsafe version ofPresent
.
-
nName
public static void nName(long struct, @Nullable java.nio.ByteBuffer value)
Unsafe version ofName
.
-
nValue
public static void nValue(long struct, long value)
Unsafe version ofValue
.
-
-