Lines Matching defs:func

308   size_t func;
425 #define bc_parse_push(p, i) (bc_vec_pushByte(&(p)->func->code, i))
451 BcFunc *func;
2379 void bc_func_free(void *func) {
2380 BcFunc *f = (BcFunc*) func;
2975 p->func = bc_vec_item(&p->prog->fns, fidx);
2979 bc_vec_npush(&p->func->code, strlen(name), name);
2984 bc_vec_pushIndex(&p->func->code, idx);
2989 BcFunc *f = p->func;
3002 p->func = bc_vec_item(&p->prog->fns, p->fidx);
3009 bc_func_reset(p->func);
3033 void bc_parse_init(BcParse *p, BcProgram *prog, size_t func)
3046 bc_parse_updateFunc(p, func);
3094 BcFunc *func = p->func;
3098 label = bc_vec_item(&func->labels, ip->idx);
3099 *label = func->code.len;
3105 bc_vec_push(&p->func->labels, &idx);
3109 bc_parse_createLabel(p, p->func->code.len);
3117 ip.func = loop;
3130 p->func = bc_vec_item(&p->prog->fns, p->fidx);
3502 if (p->func->voidfn) inst = BC_INST_RET_VOID;
3525 else if (p->func->voidfn)
3526 return bc_parse_verr(p, BC_ERROR_PARSE_RET_VOID, p->func->name);
3577 BcInst inst = (p->func->voidfn ? BC_INST_RET_VOID : BC_INST_RET0);
3652 idx = p->func->labels.len;
3663 size_t idx = p->func->labels.len;
3689 bc_parse_createCondLabel(p, p->func->labels.len);
3691 idx = p->func->labels.len;
3730 cond_idx = p->func->labels.len;
3735 bc_parse_createLabel(p, p->func->code.len);
3774 bc_parse_createLabel(p, p->func->code.len);
3797 while (!ip->func && i < p->exits.len) ip = bc_vec_item(&p->exits, i--);
3798 if (i >= p->exits.len && !ip->func)
3842 p->func->voidfn = voidfn;
3853 ++p->func->nparams;
3881 s = bc_func_insert(p->func, name, t, p->l.line);
3946 s = bc_func_insert(p->func, name, t, p->l.line);
4478 i = ip->func;
4746 if (ip_ptr->func == BC_PROG_READ)
4773 ip.func = BC_PROG_READ;
5150 ip.func = bc_program_index(code, idx);
5151 f = bc_vec_item(&p->fns, ip.func);
5208 f = bc_vec_item(&p->fns, ip->func);
5371 BcFunc *func = bc_vec_item(&p->fns, idx);
5372 bc_func_reset(func);
5413 BcFunc *func = bc_vec_item(&p->fns, ip->func);
5414 char *code = func->code.v;
5418 while (!s && ip->idx < func->code.len) {
5436 addr = bc_vec_item(&func->labels, idx);
5591 func = bc_vec_item(&p->fns, ip->func);
5592 code = func->code.v;
5632 BcFunc *f = bc_vec_item(&BC_VM->prog.fns, ip->func);