| Modifier and Type | Field and Description |
|---|---|
| private final CodeBuffer | |
| private final Logger | |
| private int | |
| private final List | |
| pack-priv int | _trampolineSize
Size of possible trampolines. |
| private final CPU | |
| private final CpuInfo | |
| public static final CPU | |
| private static final int[] | |
| private static final int[] | |
| private static final int[] | |
| private static final int[] | |
| private static final int[] | |
| private static final int[] | |
| private static final int[] | |
| private static final int[] | |
| private static final int[] | |
| private static final int[] | |
| private static final int[] | |
| public static final CPU |
| Modifier and Type | Method and Description |
|---|---|
| pack-priv final void | |
| pack-priv LinkData | |
| pack-priv final void | |
| pack-priv void | |
| pack-priv void | |
| pack-priv void | |
| pack-priv void | |
| pack-priv final void | |
| pack-priv void | |
| pack-priv void | |
| pack-priv void | |
| pack-priv void | |
| pack-priv void | |
| pack-priv void | |
| pack-priv void | |
| pack-priv final void | |
| pack-priv final void | |
| pack-priv void | |
| pack-priv void | |
| pack-priv void | |
| pack-priv void | |
| pack-priv void | |
| pack-priv void | |
| pack-priv final void | |
| pack-priv final void | |
| pack-priv void | |
| pack-priv void | |
| pack-priv void | |
| pack-priv void | |
| pack-priv void | |
| public void | |
| public final int | |
| public final byte | |
| public final int | |
| public final int | |
| public final long | |
| public final short | |
| private static final int | |
| pack-priv boolean | |
| public final int | |
| public void | |
| public final void | |
| public final void | |
| public final void | |
| public final void | |
| public final void | |
| public final void | |
| pack-priv int | trampolineSize()
Return size of all possible trampolines needed to successfuly generate relative jumps to absolute addresses. |
| _buffer | back to summary |
|---|---|
| private final CodeBuffer _buffer | |
| _logger | back to summary |
|---|---|
| private final Logger _logger | |
| _properties | back to summary |
|---|---|
| private int _properties | |
| _relocData | back to summary |
|---|---|
| private final List<RelocData> _relocData | |
| _trampolineSize | back to summary |
|---|---|
| pack-priv int _trampolineSize Size of possible trampolines. | |
| cpu | back to summary |
|---|---|
| private final CPU cpu | |
| cpuInfo | back to summary |
|---|---|
| private final CpuInfo cpuInfo | |
| I386 | back to summary |
|---|---|
| public static final CPU I386 | |
| nop1 | back to summary |
|---|---|
| private static final int[] nop1 | |
| nop10 | back to summary |
|---|---|
| private static final int[] nop10 | |
| nop11 | back to summary |
|---|---|
| private static final int[] nop11 | |
| nop2 | back to summary |
|---|---|
| private static final int[] nop2 | |
| nop3 | back to summary |
|---|---|
| private static final int[] nop3 | |
| nop4 | back to summary |
|---|---|
| private static final int[] nop4 | |
| nop5 | back to summary |
|---|---|
| private static final int[] nop5 | |
| nop6 | back to summary |
|---|---|
| private static final int[] nop6 | |
| nop7 | back to summary |
|---|---|
| private static final int[] nop7 | |
| nop8 | back to summary |
|---|---|
| private static final int[] nop8 | |
| nop9 | back to summary |
|---|---|
| private static final int[] nop9 | |
| X86_64 | back to summary |
|---|---|
| public static final CPU X86_64 | |
| Assembler | back to summary |
|---|---|
| public Assembler(CPU cpu) | |
| _emitByte | back to summary |
|---|---|
| pack-priv final void _emitByte(int x) Emit Byte to internal buffer. | |
| _emitDisplacement | back to summary |
|---|---|
| pack-priv LinkData _emitDisplacement(Label label, long inlinedDisplacement, int size) | |
| _emitDWord | back to summary |
|---|---|
| pack-priv final void _emitDWord(int x) Emit DWord (4 bytes) to internal buffer. | |
| _emitFpu | back to summary |
|---|---|
| pack-priv void _emitFpu(int opCode) | |
| _emitFpuMEM | back to summary |
|---|---|
| pack-priv void _emitFpuMEM(int opCode, int opReg, Mem mem) | |
| _emitFpuSTI | back to summary |
|---|---|
| pack-priv void _emitFpuSTI(int opCode, int sti) | |
| _emitImmediate | back to summary |
|---|---|
| pack-priv void _emitImmediate(Immediate imm, int size) | |
| _emitInt32 | back to summary |
|---|---|
| pack-priv final void _emitInt32(int x) Emit Int32 (4 bytes) to internal buffer. | |
| _emitJmpOrCallReloc | back to summary |
|---|---|
| pack-priv void _emitJmpOrCallReloc(InstructionGroup instruction, long target) | |
| _emitMmu | back to summary |
|---|---|
| pack-priv void _emitMmu(int opCode, int rexw, int opReg, Operand src, int immSize) | |
| _emitMod | back to summary |
|---|---|
| pack-priv void _emitMod(int m, int o, int r) Emit MODR/M byte. | |
| _emitModM | back to summary |
|---|---|
| pack-priv void _emitModM(int opReg, Mem mem, int immSize) | |
| _emitModR | back to summary |
|---|---|
| pack-priv void _emitModR(int opReg, int r) Emit Register / Register - calls _emitMod(3, opReg, r) | |
| _emitModR | back to summary |
|---|---|
| pack-priv void _emitModR(int opReg, BaseReg r) Emit Register / Register - calls _emitMod(3, opReg, r.code()) | |
| _emitModRM | back to summary |
|---|---|
| pack-priv void _emitModRM(int opReg, Operand op, int immSize) | |
| _emitOpCode | back to summary |
|---|---|
| pack-priv final void _emitOpCode(int opCode) | |
| _emitQWord | back to summary |
|---|---|
| pack-priv final void _emitQWord(long x) Emit QWord (8 bytes) to internal buffer. | |
| _emitRexR | back to summary |
|---|---|
| pack-priv void _emitRexR(int w, int opReg, int regCode) Emit REX prefix (64 bit mode only). | |
| _emitRexR | back to summary |
|---|---|
| pack-priv void _emitRexR(boolean w, int opReg, int regCode) | |
| _emitRexRM | back to summary |
|---|---|
| pack-priv void _emitRexRM(int w, int opReg, Operand rm) Emit REX prefix (64 bit mode only). | |
| _emitRexRM | back to summary |
|---|---|
| pack-priv void _emitRexRM(boolean w, int opReg, Operand rm) | |
| _emitSegmentPrefix | back to summary |
|---|---|
| pack-priv void _emitSegmentPrefix(Operand rm) | |
| _emitSib | back to summary |
|---|---|
| pack-priv void _emitSib(int s, int i, int b) Emit SIB byte. | |
| _emitSysInt | back to summary |
|---|---|
| pack-priv final void _emitSysInt(long x) Emit system signed integer (4 or 8 bytes) to internal buffer. | |
| _emitWord | back to summary |
|---|---|
| pack-priv final void _emitWord(int x) Emit Word (2 bytes) to internal buffer. | |
| _emitX86 | back to summary |
|---|---|
| pack-priv void _emitX86(INST_CODE code, Operand o1, Operand o2, Operand o3) Implements abstract jnr. | |
| _emitX86Inl | back to summary |
|---|---|
| pack-priv void _emitX86Inl(int opCode, boolean i16bit, boolean rexw, int reg) | |
| _emitX86Inl | back to summary |
|---|---|
| pack-priv void _emitX86Inl(int opCode, boolean i16bit, int rexw, int reg) | |
| _emitX86RM | back to summary |
|---|---|
| pack-priv void _emitX86RM(int opCode, boolean i16bit, boolean rexw, int o, Operand op, int immSize) | |
| _emitX86RM | back to summary |
|---|---|
| pack-priv void _emitX86RM(int opCode, boolean i16bit, int rexw, int o, Operand op, int immSize) | |
| align | back to summary |
|---|---|
| public void align(long m) | |
| codeSize | back to summary |
|---|---|
| public final int codeSize() Gets the required size of memory required to store all the generated code | |
| getByteAt | back to summary |
|---|---|
| public final byte getByteAt(int pos) | |
| getDWordAt | back to summary |
|---|---|
| public final int getDWordAt(int pos) | |
| getInt32At | back to summary |
|---|---|
| public final int getInt32At(int pos) | |
| getQWordAt | back to summary |
|---|---|
| public final long getQWordAt(int pos) | |
| getWordAt | back to summary |
|---|---|
| public final short getWordAt(int pos) | |
| intValue | back to summary |
|---|---|
| private static final int intValue(boolean b) | |
| is64 | back to summary |
|---|---|
| pack-priv boolean is64() Implements abstract jnr.
| |
| offset | back to summary |
|---|---|
| public final int offset() | |
| relocCode | back to summary |
|---|---|
| public void relocCode(ByteBuffer buffer, long address) | |
| setByteAt | back to summary |
|---|---|
| public final void setByteAt(int pos, byte x) | |
| setDWordAt | back to summary |
|---|---|
| public final void setDWordAt(int pos, int x) | |
| setInt32At | back to summary |
|---|---|
| public final void setInt32At(int pos, long x) | |
| setQWordAt | back to summary |
|---|---|
| public final void setQWordAt(int pos, long x) | |
| setVarAt | back to summary |
|---|---|
| public final void setVarAt(int pos, long i, boolean isUnsigned, int size) | |
| setWordAt | back to summary |
|---|---|
| public final void setWordAt(int pos, short x) | |
| trampolineSize | back to summary |
|---|---|
| pack-priv int trampolineSize() Return size of all possible trampolines needed to successfuly generate relative jumps to absolute addresses. This value is only non-zero if jmp of call instructions were used with immediate operand (this means jump or call absolute address directly). Currently only _emitJmpOrCallReloc() method can increase trampoline size value. | |