imported all finished opcodes that do not require jumping/relocation
--HG-- extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4076
This commit is contained in:
parent
f7df595ca5
commit
7b3530de67
File diff suppressed because it is too large
Load Diff
@ -176,6 +176,7 @@ JITX86::JITX86()
|
|||||||
OpAdvTable[OP_HALT] = sizeof(cell_t);
|
OpAdvTable[OP_HALT] = sizeof(cell_t);
|
||||||
OpAdvTable[OP_BOUNDS] = sizeof(cell_t);
|
OpAdvTable[OP_BOUNDS] = sizeof(cell_t);
|
||||||
OpAdvTable[OP_PUSH_ADR] = sizeof(cell_t);
|
OpAdvTable[OP_PUSH_ADR] = sizeof(cell_t);
|
||||||
|
OpAdvTable[OP_PUSH_HEAP_C] = sizeof(cell_t);
|
||||||
|
|
||||||
/* instructions with 0 parameters */
|
/* instructions with 0 parameters */
|
||||||
OpAdvTable[OP_LOAD_I] = 0;
|
OpAdvTable[OP_LOAD_I] = 0;
|
||||||
@ -236,6 +237,8 @@ JITX86::JITX86()
|
|||||||
OpAdvTable[OP_SWAP_ALT] = 0;
|
OpAdvTable[OP_SWAP_ALT] = 0;
|
||||||
OpAdvTable[OP_NOP] = 0;
|
OpAdvTable[OP_NOP] = 0;
|
||||||
OpAdvTable[OP_BREAK] = 0;
|
OpAdvTable[OP_BREAK] = 0;
|
||||||
|
OpAdvTable[OP_HEAP_PRI] = 0;
|
||||||
|
OpAdvTable[OP_POP_HEAP_PRI] = 0;
|
||||||
|
|
||||||
/* opcodes that need relocation */
|
/* opcodes that need relocation */
|
||||||
OpAdvTable[OP_CALL] = -2;
|
OpAdvTable[OP_CALL] = -2;
|
||||||
|
@ -11,170 +11,170 @@ void Macro_PushN(JitWriter *jit, int i);
|
|||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
OP_NONE, /* invalid opcode */
|
OP_NONE, /* invalid opcode */
|
||||||
OP_LOAD_PRI, //DONE
|
OP_LOAD_PRI, //DONE
|
||||||
OP_LOAD_ALT, //DONE
|
OP_LOAD_ALT, //DONE
|
||||||
OP_LOAD_S_PRI, //DONE
|
OP_LOAD_S_PRI, //DONE
|
||||||
OP_LOAD_S_ALT, //DONE
|
OP_LOAD_S_ALT, //DONE
|
||||||
OP_LREF_PRI, //DONE
|
OP_LREF_PRI, //DONE
|
||||||
OP_LREF_ALT, //DONE
|
OP_LREF_ALT, //DONE
|
||||||
OP_LREF_S_PRI, //DONE
|
OP_LREF_S_PRI, //DONE
|
||||||
OP_LREF_S_ALT, //DONE
|
OP_LREF_S_ALT, //DONE
|
||||||
OP_LOAD_I, //DONE
|
OP_LOAD_I,
|
||||||
OP_LODB_I,
|
OP_LODB_I,
|
||||||
OP_CONST_PRI, //DONE
|
OP_CONST_PRI, //DONE
|
||||||
OP_CONST_ALT, //DONE
|
OP_CONST_ALT, //DONE
|
||||||
OP_ADDR_PRI, //DONE
|
OP_ADDR_PRI, //DONE
|
||||||
OP_ADDR_ALT, //DONE
|
OP_ADDR_ALT, //DONE
|
||||||
OP_STOR_PRI, //DONE
|
OP_STOR_PRI, //DONE
|
||||||
OP_STOR_ALT, //DONE
|
OP_STOR_ALT, //DONE
|
||||||
OP_STOR_S_PRI, //DONE
|
OP_STOR_S_PRI, //DONE
|
||||||
OP_STOR_S_ALT, //DONE
|
OP_STOR_S_ALT, //DONE
|
||||||
OP_SREF_PRI, //DONE
|
OP_SREF_PRI, //DONE
|
||||||
OP_SREF_ALT, //DONE
|
OP_SREF_ALT, //DONE
|
||||||
OP_SREF_S_PRI, //DONE
|
OP_SREF_S_PRI, //DONE
|
||||||
OP_SREF_S_ALT, //DONE
|
OP_SREF_S_ALT, //DONE
|
||||||
OP_STOR_I, //DONE
|
OP_STOR_I,
|
||||||
OP_STRB_I,
|
OP_STRB_I,
|
||||||
OP_LIDX, //DONE
|
OP_LIDX,
|
||||||
OP_LIDX_B,
|
OP_LIDX_B,
|
||||||
OP_IDXADDR, //DONE
|
OP_IDXADDR, //DONE
|
||||||
OP_IDXADDR_B,
|
OP_IDXADDR_B,
|
||||||
OP_ALIGN_PRI, //DONE
|
OP_ALIGN_PRI, //DONE
|
||||||
OP_ALIGN_ALT, //DONE
|
OP_ALIGN_ALT, //DONE
|
||||||
OP_LCTRL,
|
OP_LCTRL,
|
||||||
OP_SCTRL,
|
OP_SCTRL,
|
||||||
OP_MOVE_PRI, //DONE
|
OP_MOVE_PRI, //DONE
|
||||||
OP_MOVE_ALT, //DONE
|
OP_MOVE_ALT, //DONE
|
||||||
OP_XCHG, //DONE
|
OP_XCHG, //DONE
|
||||||
OP_PUSH_PRI, //DONE
|
OP_PUSH_PRI, //DONE
|
||||||
OP_PUSH_ALT, //DONE
|
OP_PUSH_ALT, //DONE
|
||||||
OP_PUSH_R, //DONE
|
OP_PUSH_R, //DEPRECATED
|
||||||
OP_PUSH_C, //DONE
|
OP_PUSH_C, //DONE
|
||||||
OP_PUSH, //DONE
|
OP_PUSH, //DONE
|
||||||
OP_PUSH_S, //DONE
|
OP_PUSH_S, //DONE
|
||||||
OP_POP_PRI, //DONE
|
OP_POP_PRI, //DONE
|
||||||
OP_POP_ALT, //DONE
|
OP_POP_ALT, //DONE
|
||||||
OP_STACK, //DONE
|
OP_STACK,
|
||||||
OP_HEAP, //DONE
|
OP_HEAP,
|
||||||
OP_PROC, //DONE
|
OP_PROC, //DONE
|
||||||
OP_RET,
|
OP_RET,
|
||||||
OP_RETN, //DONE
|
OP_RETN,
|
||||||
OP_CALL,
|
OP_CALL,
|
||||||
OP_CALL_PRI,
|
OP_CALL_PRI,
|
||||||
OP_JUMP, //DONE
|
OP_JUMP,
|
||||||
OP_JREL, //DONE
|
OP_JREL,
|
||||||
OP_JZER, //DONE
|
OP_JZER,
|
||||||
OP_JNZ, //DONE
|
OP_JNZ,
|
||||||
OP_JEQ, //DONE
|
OP_JEQ,
|
||||||
OP_JNEQ, //DONE
|
OP_JNEQ,
|
||||||
OP_JLESS, //DONE
|
OP_JLESS,
|
||||||
OP_JLEQ, //DONE
|
OP_JLEQ,
|
||||||
OP_JGRTR, //DONE
|
OP_JGRTR,
|
||||||
OP_JGEQ, //DONE
|
OP_JGEQ,
|
||||||
OP_JSLESS, //DONE
|
OP_JSLESS,
|
||||||
OP_JSLEQ, //DONE
|
OP_JSLEQ,
|
||||||
OP_JSGRTR, //DONE
|
OP_JSGRTR,
|
||||||
OP_JSGEQ, //DONE
|
OP_JSGEQ,
|
||||||
OP_SHL, //DONE
|
OP_SHL, //DONE
|
||||||
OP_SHR, //DONE
|
OP_SHR, //DONE
|
||||||
OP_SSHR, //DONE
|
OP_SSHR, //DONE
|
||||||
OP_SHL_C_PRI, //DONE
|
OP_SHL_C_PRI, //DONE
|
||||||
OP_SHL_C_ALT, //DONE
|
OP_SHL_C_ALT, //DONE
|
||||||
OP_SHR_C_PRI, //DONE
|
OP_SHR_C_PRI, //DONE
|
||||||
OP_SHR_C_ALT, //DONE
|
OP_SHR_C_ALT, //DONE
|
||||||
OP_SMUL, //DONE
|
OP_SMUL, //DONE
|
||||||
OP_SDIV, //DONE
|
OP_SDIV,
|
||||||
OP_SDIV_ALT, //DONE
|
OP_SDIV_ALT,
|
||||||
OP_UMUL, //DONE
|
OP_UMUL, //DONE
|
||||||
OP_UDIV, //DONE
|
OP_UDIV,
|
||||||
OP_UDIV_ALT, //DONE
|
OP_UDIV_ALT,
|
||||||
OP_ADD, //DONE
|
OP_ADD, //DONE
|
||||||
OP_SUB, //DONE
|
OP_SUB, //DONE
|
||||||
OP_SUB_ALT, //DONE
|
OP_SUB_ALT, //DONE
|
||||||
OP_AND, //DONE
|
OP_AND, //DONE
|
||||||
OP_OR, //DONE
|
OP_OR, //DONE
|
||||||
OP_XOR, //DONE
|
OP_XOR, //DONE
|
||||||
OP_NOT, //DONE
|
OP_NOT, //DONE
|
||||||
OP_NEG, //DONE
|
OP_NEG, //DONE
|
||||||
OP_INVERT, //DONE
|
OP_INVERT, //DONE
|
||||||
OP_ADD_C, //DONE
|
OP_ADD_C, //DONE
|
||||||
OP_SMUL_C, //DONE
|
OP_SMUL_C, //DONE
|
||||||
OP_ZERO_PRI, //DONE
|
OP_ZERO_PRI, //DONE
|
||||||
OP_ZERO_ALT, //DONE
|
OP_ZERO_ALT, //DONE
|
||||||
OP_ZERO, //DONE
|
OP_ZERO, //DONE
|
||||||
OP_ZERO_S, //DONE
|
OP_ZERO_S, //DONE
|
||||||
OP_SIGN_PRI, //DONE
|
OP_SIGN_PRI, //DONE
|
||||||
OP_SIGN_ALT, //DONE
|
OP_SIGN_ALT, //DONE
|
||||||
OP_EQ, //DONE
|
OP_EQ, //DONE
|
||||||
OP_NEQ, //DONE
|
OP_NEQ, //DONE
|
||||||
OP_LESS, //DONE
|
OP_LESS, //DONE
|
||||||
OP_LEQ, //DONE
|
OP_LEQ, //DONE
|
||||||
OP_GRTR, //DONE
|
OP_GRTR, //DONE
|
||||||
OP_GEQ, //DONE
|
OP_GEQ, //DONE
|
||||||
OP_SLESS, //DONE
|
OP_SLESS, //DONE
|
||||||
OP_SLEQ, //DONE
|
OP_SLEQ, //DONE
|
||||||
OP_SGRTR, //DONE
|
OP_SGRTR, //DONE
|
||||||
OP_SGEQ, //DONE
|
OP_SGEQ, //DONE
|
||||||
OP_EQ_C_PRI, //DONE
|
OP_EQ_C_PRI, //DONE
|
||||||
OP_EQ_C_ALT, //DONE
|
OP_EQ_C_ALT, //DONE
|
||||||
OP_INC_PRI, //DONE
|
OP_INC_PRI, //DONE
|
||||||
OP_INC_ALT, //DONE
|
OP_INC_ALT, //DONE
|
||||||
OP_INC, //DONE
|
OP_INC, //DONE
|
||||||
OP_INC_S, //DONE
|
OP_INC_S, //DONE
|
||||||
OP_INC_I, //DONE
|
OP_INC_I, //DONE
|
||||||
OP_DEC_PRI, //DONE
|
OP_DEC_PRI, //DONE
|
||||||
OP_DEC_ALT, //DONE
|
OP_DEC_ALT, //DONE
|
||||||
OP_DEC, //DONE
|
OP_DEC, //DONE
|
||||||
OP_DEC_S, //DONE
|
OP_DEC_S, //DONE
|
||||||
OP_DEC_I, //DONE
|
OP_DEC_I, //DONE
|
||||||
OP_MOVS, //DONE
|
OP_MOVS, //DONE
|
||||||
OP_CMPS, //DONE
|
OP_CMPS,
|
||||||
OP_FILL, //DONE
|
OP_FILL, //DONE
|
||||||
OP_HALT, //DONE
|
OP_HALT,
|
||||||
OP_BOUNDS,
|
OP_BOUNDS,
|
||||||
OP_SYSREQ_PRI,
|
OP_SYSREQ_PRI,
|
||||||
OP_SYSREQ_C,
|
OP_SYSREQ_C,
|
||||||
OP_FILE,
|
OP_FILE, //DEPRECATED
|
||||||
OP_LINE,
|
OP_LINE, //DEPRECATED
|
||||||
OP_SYMBOL,
|
OP_SYMBOL, //DEPRECATED
|
||||||
OP_SRANGE,
|
OP_SRANGE, //DEPRECATED
|
||||||
OP_JUMP_PRI,
|
OP_JUMP_PRI,
|
||||||
OP_SWITCH,
|
OP_SWITCH,
|
||||||
OP_CASETBL, //DONE
|
OP_CASETBL,
|
||||||
OP_SWAP_PRI, //DONE
|
OP_SWAP_PRI, //DONE
|
||||||
OP_SWAP_ALT, //DONE
|
OP_SWAP_ALT, //DONE
|
||||||
OP_PUSH_ADR, //DONE
|
OP_PUSH_ADR,
|
||||||
OP_NOP, //DONE
|
OP_NOP, //DONE
|
||||||
OP_SYSREQ_N,
|
OP_SYSREQ_N,
|
||||||
OP_SYMTAG,
|
OP_SYMTAG, //DEPRECATED
|
||||||
OP_BREAK,
|
OP_BREAK,
|
||||||
OP_PUSH2_C, //DONE
|
OP_PUSH2_C, //DONE
|
||||||
OP_PUSH2, //DONE
|
OP_PUSH2, //DONE
|
||||||
OP_PUSH2_S, //DONE
|
OP_PUSH2_S, //DONE
|
||||||
OP_PUSH2_ADR, //DONE
|
OP_PUSH2_ADR, //DONE
|
||||||
OP_PUSH3_C, //DONE
|
OP_PUSH3_C, //DONE
|
||||||
OP_PUSH3, //DONE
|
OP_PUSH3, //DONE
|
||||||
OP_PUSH3_S, //DONE
|
OP_PUSH3_S, //DONE
|
||||||
OP_PUSH3_ADR, //DONE
|
OP_PUSH3_ADR, //DONE
|
||||||
OP_PUSH4_C, //DONE
|
OP_PUSH4_C, //DONE
|
||||||
OP_PUSH4, //DONE
|
OP_PUSH4, //DONE
|
||||||
OP_PUSH4_S, //DONE
|
OP_PUSH4_S, //DONE
|
||||||
OP_PUSH4_ADR, //DONE
|
OP_PUSH4_ADR, //DONE
|
||||||
OP_PUSH5_C, //DONE
|
OP_PUSH5_C, //DONE
|
||||||
OP_PUSH5, //DONE
|
OP_PUSH5, //DONE
|
||||||
OP_PUSH5_S, //DONE
|
OP_PUSH5_S, //DONE
|
||||||
OP_PUSH5_ADR, //DONE
|
OP_PUSH5_ADR, //DONE
|
||||||
OP_LOAD_BOTH,
|
OP_LOAD_BOTH,
|
||||||
OP_LOAD_S_BOTH,
|
OP_LOAD_S_BOTH,
|
||||||
OP_CONST,
|
OP_CONST,
|
||||||
OP_CONST_S,
|
OP_CONST_S,
|
||||||
/* ----- */
|
/* ----- */
|
||||||
OP_SYSREQ_D,
|
OP_SYSREQ_D, //UNSUPPORTED
|
||||||
OP_SYSREQ_ND,
|
OP_SYSREQ_ND, //UNSUPPORTED
|
||||||
/* ----- */
|
/* ----- */
|
||||||
OP_HEAP_PRI,
|
OP_HEAP_PRI, //DONE
|
||||||
OP_PUSH_HEAP_C,
|
OP_PUSH_HEAP_C, //DONE
|
||||||
OP_POP_HEAP_PRI,
|
OP_POP_HEAP_PRI, //DONE
|
||||||
/* ----- */
|
/* ----- */
|
||||||
OP_NUM_OPCODES
|
OP_NUM_OPCODES
|
||||||
} OPCODE;
|
} OPCODE;
|
||||||
|
Loading…
Reference in New Issue
Block a user