Package jnr.a64asm
Class Assembler_A64
java.lang.Object
jnr.a64asm.SerializerCore
jnr.a64asm.SerializerIntrinsics_a64
jnr.a64asm.Serializer
jnr.a64asm.Assembler_A64
Low level code generation.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final CodeBuffer
private final Logger
private int
static final CPU_A64
private final CPU_A64
private final CpuInfo
Fields inherited from class jnr.a64asm.SerializerCore
_none
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) void
(package private) final void
_emitByte
(int x) Emit Byte to internal buffer.(package private) final void
_emitDWord
(int x) Emit DWord (4 bytes) to internal buffer.(package private) void
_emitImmediate
(Immediate imm, int size) (package private) final void
_emitInt32
(int x) Emit Int32 (4 bytes) to internal buffer.(package private) void
_emitJmpOrCallReloc
(InstructionGroup instruction, long target) (package private) final void
_emitOpCode
(int opCode) (package private) final void
_emitQWord
(long x) Emit QWord (8 bytes) to internal buffer.(package private) final void
_emitSysInt
(long x) Emit system signed integer (4 or 8 bytes) to internal buffer.(package private) final void
_emitWord
(int x) Emit Word (2 bytes) to internal buffer.final int
codeSize()
Gets the required size of memory required to store all the generated codefinal byte
getByteAt
(int pos) final int
getDWordAt
(int pos) final int
getInt32At
(int pos) final long
getQWordAt
(int pos) final short
getWordAt
(int pos) private static final int
intValue
(boolean b) (package private) boolean
is64()
final int
offset()
void
relocCode
(ByteBuffer buffer, long address) final void
setByteAt
(int pos, byte x) final void
setDWordAt
(int pos, int x) final void
setInt32At
(int pos, long x) final void
setQWordAt
(int pos, long x) final void
setVarAt
(int pos, long i, boolean isUnsigned, int size) final void
setWordAt
(int pos, short x) Methods inherited from class jnr.a64asm.SerializerIntrinsics_a64
adc, adcs, add, add, add, adds, adds, adds, adr, adrp, and, and, ands, ands, asr, asr, asrv, b, bcc, bcs, beq, bfi, bfm, bfxil, bge, bgt, bhi, bhs, bic, bics, bl, ble, blo, blr, bls, blt, bmi, bne, bpl, br, brk, bvc, bvs, cbnz, cbz, ccmn, ccmn, ccmp, ccmp, cinc, cinv, clrex, cls, clz, cmn, cmn, cmn, cmp, cmp, cmp, cneg, csel, cset, csetm, csinc, csinv, csneg, dc, dcps1, dcps2, dcps3, dmb, drps, dsb, eon, eor, eor, eret, extr, hint, hlt, hvc, ic, isb, ldar, ldarb, ldarh, ldaxp, ldaxr, ldaxrb, ldaxrh, ldnp, ldp, ldp, ldp, ldpsw, ldpsw, ldpsw, ldr, ldr, ldr, ldr, ldr, ldrb, ldrb, ldrb, ldrb, ldrh, ldrh, ldrh, ldrh, ldrsb, ldrsb, ldrsb, ldrsb, ldrsh, ldrsh, ldrsh, ldrsh, ldrsw, ldrsw, ldrsw, ldrsw, ldrsw, ldtr, ldtrb, ldtrh, ldtrsb, ldtrsh, ldtrsw, ldur, ldurb, ldurh, ldursb, ldursh, ldursw, ldxp, ldxr, ldxrb, ldxrh, lsl, lsl, lslv, lsr, lsr, lsrv, madd, mneg, mov, mov, mov, movk, movn, movz, mrs, msr, msr, msub, mul, mvn, neg, negs, ngc, ngcs, nop, orn, orr, orr, prfm, prfm, prfm, prfum, rbit, ret, rev, rev16, rev32, ror, ror, rorv, sbc, sbcs, sbfiz, sbfm, sbfx, sdiv, sev, sevl, smaddl, smc, smnegl, smsubl, smulh, smull, stlr, stlrb, stlrh, stlxp, stlxr, stlxrb, stlxrh, stnp, stp, stp, stp, str, str, str, str, strb, strb, strb, strb, strh, strh, strh, strh, sttr, sttrb, sttrh, stur, sturb, sturh, stxp, stxr, stxrb, stxrh, sub, sub, sub, subs, subs, subs, svc, sxtb, sxth, sxtw, tbnz, tbz, tst, tst, ubfiz, ubfm, ubfx, udiv, umaddl, umnegl, umsubl, umulh, umull, uxtb, uxth, uxtw, wfe, wfi, yield
-
Field Details
-
_buffer
-
_relocData
-
cpuInfo
-
_properties
private int _properties -
_logger
-
cpu
-
Aarch_64
-
-
Constructor Details
-
Assembler_A64
-
-
Method Details
-
is64
boolean is64()- Specified by:
is64
in classSerializerCore
-
intValue
private static final int intValue(boolean b) -
offset
public final int offset() -
codeSize
public final int codeSize()Gets the required size of memory required to store all the generated code -
getByteAt
public final byte getByteAt(int pos) -
getWordAt
public final short getWordAt(int pos) -
getDWordAt
public final int getDWordAt(int pos) -
getQWordAt
public final long getQWordAt(int pos) -
setByteAt
public final void setByteAt(int pos, byte x) -
setWordAt
public final void setWordAt(int pos, short x) -
setDWordAt
public final void setDWordAt(int pos, int x) -
setQWordAt
public final void setQWordAt(int pos, long x) -
getInt32At
public final int getInt32At(int pos) -
setInt32At
public final void setInt32At(int pos, long x) -
setVarAt
public final void setVarAt(int pos, long i, boolean isUnsigned, int size) -
_emitByte
final void _emitByte(int x) Emit Byte to internal buffer. -
_emitWord
final void _emitWord(int x) Emit Word (2 bytes) to internal buffer. -
_emitDWord
final void _emitDWord(int x) Emit DWord (4 bytes) to internal buffer. -
_emitQWord
final void _emitQWord(long x) Emit QWord (8 bytes) to internal buffer. -
_emitInt32
final void _emitInt32(int x) Emit Int32 (4 bytes) to internal buffer. -
_emitSysInt
final void _emitSysInt(long x) Emit system signed integer (4 or 8 bytes) to internal buffer. -
_emitOpCode
final void _emitOpCode(int opCode) -
_emitImmediate
-
_emita64
- Specified by:
_emita64
in classSerializerCore
-
_emitJmpOrCallReloc
-
relocCode
-