const Instr instr = emit_add_instr(emit, Reg2RegDeref);
instr->m_val = -SZ_INT;
instr->m_val2 = t->size;
-// regpush(emit, t->size - SZ_INT);
}
regpop(emit, SZ_INT);
const Instr pc = emit_add_instr(emit, Goto);
pc->m_val = start_index;
- top->m_val = emit_code_size(emit) - !!emit->env->func;
+ top->m_val = emit_code_size(emit);
regpop(emit, SZ_INT*3);
emit_add_instr(emit, ArrayPost);
}
}
static inline uint isgoto(const unsigned opcode) {
- return opcode == eGoto ||
+ return opcode == eGoto || opcode == eArrayTop ||
opcode == eBranchEqInt || opcode == eBranchNeqInt ||
opcode == eBranchEqFloat || opcode == eBranchNeqFloat;
}