#define NEXT_OP(i) (i->op = *(MVMuint16 *)(i->cur_op), i->cur_op += 2, i->op) #define DISPATCH(op) {goto (CODES[op])(i);} #define OP(name) OP_ ## name #define NEXT(i) CODES[NEXT_OP(i)](i) static int tracing_enabled = 0; __code cbc_next(INTERP i){ goto NEXT(i); } __code cbc_no_op(INTERP i){ goto cbc_next(i); }