if (sp->is_spork) {
const Instr instr = emit_add_instr(emit, SporkIni);
instr->m_val = (m_uint)sp->vm_code;
- instr->m_val2 = sp->is_spork;
return;
}
- regpushi(emit, (m_uint)sp->type);
const Instr instr = emit_add_instr(emit, ForkIni);
instr->m_val = (m_uint)sp->vm_code;
+ instr->m_val2 = (m_uint)sp->type;
}
ANN m_bool emit_exp_spork(const Emitter emit, const Exp_Unary *unary) {
child = init_spork_shred(shred, (VM_Code)VAL);
DISPATCH()
forkini:
- reg -= SZ_INT;
- child = init_fork_shred(shred, (VM_Code)VAL, *(Type *)reg),
+ child = init_fork_shred(shred, (VM_Code)VAL, (Type)VAL2);
DISPATCH()
sporkfunc:
PRAGMA_PUSH()