Top Description Fields Constructors Methods
jnr.a64asm

public final Class Assembler_A64

extends Serializer
Class Inheritance
Imports
java.nio.ByteBuffer, java.util.LinkedList, .List

Low level code generation.

Field Summary

Modifier and TypeField and Description
private final CodeBuffer
private final Logger
private int
private final List<RelocData>
public static final CPU_A64
private final CPU_A64
private final CpuInfo

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
pack-priv void
pack-priv final void
_emitByte(int x)

Emit Byte to internal buffer.

pack-priv final void
_emitDWord(int x)

Emit DWord (4 bytes) to internal buffer.

pack-priv void
_emitImmediate(Immediate imm, int size)

pack-priv final void
_emitInt32(int x)

Emit Int32 (4 bytes) to internal buffer.

pack-priv void
_emitJmpOrCallReloc(InstructionGroup instruction, long target)

pack-priv final void
_emitOpCode(int opCode)

pack-priv final void
_emitQWord(long x)

Emit QWord (8 bytes) to internal buffer.

pack-priv final void
_emitSysInt(long x)

Emit system signed integer (4 or 8 bytes) to internal buffer.

pack-priv final void
_emitWord(int x)

Emit Word (2 bytes) to internal buffer.

public final int
codeSize()

Gets the required size of memory required to store all the generated code

public final byte
getByteAt(int pos)

public final int
getDWordAt(int pos)

public final int
getInt32At(int pos)

public final long
getQWordAt(int pos)

public final short
getWordAt(int pos)

private static final int
intValue(boolean b)

pack-priv boolean
is64()

Implements abstract jnr.a64asm.SerializerCore.is64.

public final int
public void
relocCode(ByteBuffer buffer, long address)

public final void
setByteAt(int pos, byte x)

public final void
setDWordAt(int pos, int x)

public final void
setInt32At(int pos, long x)

public final void
setQWordAt(int pos, long x)

public final void
setVarAt(int pos, long i, boolean isUnsigned, int size)

public final void
setWordAt(int pos, short x)

Field Detail

_bufferback to summary
private final CodeBuffer _buffer
_loggerback to summary
private final Logger _logger
_propertiesback to summary
private int _properties
_relocDataback to summary
private final List<RelocData> _relocData
Aarch_64back to summary
public static final CPU_A64 Aarch_64
cpuback to summary
private final CPU_A64 cpu
cpuInfoback to summary
private final CpuInfo cpuInfo

Constructor Detail

Assembler_A64back to summary
public Assembler_A64(CPU_A64 cpu)

Method Detail

_emita64back to summary
pack-priv void _emita64(INST_CODE code, Operand o1, Operand o2, Operand o3, Operand o4, Operand o5)

Implements abstract jnr.a64asm.SerializerCore._emita64.

_emitByteback to summary
pack-priv final void _emitByte(int x)

Emit Byte to internal buffer.

_emitDWordback to summary
pack-priv final void _emitDWord(int x)

Emit DWord (4 bytes) to internal buffer.

_emitImmediateback to summary
pack-priv void _emitImmediate(Immediate imm, int size)
_emitInt32back to summary
pack-priv final void _emitInt32(int x)

Emit Int32 (4 bytes) to internal buffer.

_emitJmpOrCallRelocback to summary
pack-priv void _emitJmpOrCallReloc(InstructionGroup instruction, long target)
_emitOpCodeback to summary
pack-priv final void _emitOpCode(int opCode)
_emitQWordback to summary
pack-priv final void _emitQWord(long x)

Emit QWord (8 bytes) to internal buffer.

_emitSysIntback to summary
pack-priv final void _emitSysInt(long x)

Emit system signed integer (4 or 8 bytes) to internal buffer.

_emitWordback to summary
pack-priv final void _emitWord(int x)

Emit Word (2 bytes) to internal buffer.

codeSizeback to summary
public final int codeSize()

Gets the required size of memory required to store all the generated code

getByteAtback to summary
public final byte getByteAt(int pos)
getDWordAtback to summary
public final int getDWordAt(int pos)
getInt32Atback to summary
public final int getInt32At(int pos)
getQWordAtback to summary
public final long getQWordAt(int pos)
getWordAtback to summary
public final short getWordAt(int pos)
intValueback to summary
private static final int intValue(boolean b)
is64back to summary
pack-priv boolean is64()

Implements abstract jnr.a64asm.SerializerCore.is64.

Annotations
@Override
offsetback to summary
public final int offset()
relocCodeback to summary
public void relocCode(ByteBuffer buffer, long address)
setByteAtback to summary
public final void setByteAt(int pos, byte x)
setDWordAtback to summary
public final void setDWordAt(int pos, int x)
setInt32Atback to summary
public final void setInt32At(int pos, long x)
setQWordAtback to summary
public final void setQWordAt(int pos, long x)
setVarAtback to summary
public final void setVarAt(int pos, long i, boolean isUnsigned, int size)
setWordAtback to summary
public final void setWordAt(int pos, short x)