eGcEnd,
eGack,
eGack3,
+ eNoOp,
eDotTmplVal,
eOP_MAX,
eEOC,
#define GcEnd (f_instr)eGcEnd
#define Gack (f_instr)eGack
#define Gack3 (f_instr)eGack3
+#define NoOp (f_instr)eNoOp
#define DotTmplVal (f_instr)eDotTmplVal
#define OP_MAX (f_instr)eOP_MAX
#define EOC (f_instr)eEOC
&&staticint, &&staticfloat, &&staticother,
&&dotfunc, &&dotstaticfunc, &&pushstaticcode,
&&gcini, &&gcadd, &&gcend,
- &&gack, &&gack3, &®pushimm, &&other, &&eoc
+ &&gack, &&gack3, &&noop, &®pushimm, &&other, &&eoc
};
const Shreduler s = vm->shreduler;
register VM_Shred shred;
goto in;
gack3:
gw_out("\n");
+noop:
DISPATCH();
other:
VM_OUT
if(instr->opcode < eGack)
memcpy(ptr + i*BYTECODE_SZ, instr, BYTECODE_SZ);
else {
- if(instr->execute == NoOp) {
+ if(instr->execute == NoOp) { // RegSetImm
memset(ptr + i*BYTECODE_SZ, 0, BYTECODE_SZ);
continue;
}