Lines Matching refs:ufunc

117 ufunc_argcount(ufunc_T *ufunc)  in ufunc_argcount()  argument
119 return ufunc->uf_args.ga_len + (ufunc->uf_va_name != NULL ? 1 : 0); in ufunc_argcount()
156 update_has_breakpoint(ufunc_T *ufunc) in update_has_breakpoint() argument
158 if (ufunc->uf_debug_tick != debug_tick) in update_has_breakpoint()
162 ufunc->uf_debug_tick = debug_tick; in update_has_breakpoint()
163 breakpoint = dbg_find_breakpoint(FALSE, ufunc->uf_name, 0); in update_has_breakpoint()
164 ufunc->uf_has_breakpoint = breakpoint > 0; in update_has_breakpoint()
261 ufunc_T *ufunc = dfunc->df_ufunc; in call_dfunc() local
288 profile_may_start_func(info, ufunc, in call_dfunc()
296 update_has_breakpoint(ufunc); in call_dfunc()
300 if (func_needs_compiling(ufunc, COMPILE_TYPE(ufunc))) in call_dfunc()
302 res = compile_def_function(ufunc, FALSE, COMPILE_TYPE(ufunc), NULL); in call_dfunc()
311 printable_func_name(ufunc)); in call_dfunc()
315 if (ufunc->uf_va_name != NULL) in call_dfunc()
333 vararg_count = argcount - ufunc->uf_args.ga_len; in call_dfunc()
344 arg_to_add = ufunc->uf_args.ga_len - argcount; in call_dfunc()
410 if (pt != NULL || ufunc->uf_partial != NULL in call_dfunc()
411 || (ufunc->uf_flags & FC_CLOSURE)) in call_dfunc()
423 else if (ufunc->uf_partial != NULL) in call_dfunc()
425 ref->or_outer = &ufunc->uf_partial->pt_outer; in call_dfunc()
426 ++ufunc->uf_partial->pt_refcount; in call_dfunc()
427 ref->or_partial = ufunc->uf_partial; in call_dfunc()
448 ++ufunc->uf_calls; in call_dfunc()
453 entry = estack_push_ufunc(ufunc, 1); in call_dfunc()
459 current_sctx = ufunc->uf_script_ctx; in call_dfunc()
833 ufunc_T *ufunc, in call_ufunc() argument
845 compiletype_T compile_type = COMPILE_TYPE(ufunc); in call_ufunc()
847 if (func_needs_compiling(ufunc, compile_type) in call_ufunc()
848 && compile_def_function(ufunc, FALSE, compile_type, NULL) in call_ufunc()
851 if (ufunc->uf_def_status == UF_COMPILED) in call_ufunc()
853 error = check_user_func_argcount(ufunc, argcount); in call_ufunc()
857 semsg(_(e_toomanyarg), ufunc->uf_name); in call_ufunc()
859 semsg(_(e_toofewarg), ufunc->uf_name); in call_ufunc()
870 iptr->isn_arg.dfunc.cdf_idx = ufunc->uf_dfunc_idx; in call_ufunc()
873 return call_dfunc(ufunc->uf_dfunc_idx, pt, argcount, ectx); in call_ufunc()
884 error = call_user_func_check(ufunc, argcount, argvars, in call_ufunc()
893 user_func_error(error, ufunc->uf_name); in call_ufunc()
941 ufunc_T *ufunc; in call_by_name() local
954 ufunc = find_func(name, FALSE, NULL); in call_by_name()
956 if (ufunc == NULL) in call_by_name()
962 ufunc = find_func(name, FALSE, NULL); in call_by_name()
968 if (ufunc != NULL) in call_by_name()
970 if (ufunc->uf_arg_types != NULL || ufunc->uf_va_type != NULL) in call_by_name()
981 if (i < ufunc->uf_args.ga_len && ufunc->uf_arg_types != NULL) in call_by_name()
982 type = ufunc->uf_arg_types[i]; in call_by_name()
983 else if (ufunc->uf_va_type != NULL) in call_by_name()
984 type = ufunc->uf_va_type->tt_member; in call_by_name()
991 return call_ufunc(ufunc, NULL, argcount, ectx, iptr, selfdict); in call_by_name()
1429 fill_partial_and_closure(partial_T *pt, ufunc_T *ufunc, ectx_T *ectx) in fill_partial_and_closure() argument
1431 pt->pt_func = ufunc; in fill_partial_and_closure()
1434 if (ufunc->uf_flags & FC_CLOSURE) in fill_partial_and_closure()
1472 ++ufunc->uf_refcount; in fill_partial_and_closure()
1533 ufunc_T *ufunc; in lookup_debug_var() local
1549 ufunc = dfunc->df_ufunc; in lookup_debug_var()
1550 varargs_off = ufunc->uf_va_name == NULL ? 0 : 1; in lookup_debug_var()
1551 for (idx = 0; idx < ufunc->uf_args.ga_len; ++idx) in lookup_debug_var()
1552 if (STRCMP(((char_u **)(ufunc->uf_args.ga_data))[idx], name) == 0) in lookup_debug_var()
1553 return STACK_TV(ectx->ec_frame_idx - ufunc->uf_args.ga_len in lookup_debug_var()
1555 if (ufunc->uf_va_name != NULL && STRCMP(ufunc->uf_va_name, name) == 0) in lookup_debug_var()
1566 may_break_in_function(ufunc_T *ufunc) in may_break_in_function() argument
1568 return ufunc->uf_has_breakpoint || debug_has_expr_breakpoint(); in may_break_in_function()
1575 ufunc_T *ufunc = (((dfunc_T *)def_functions.ga_data) in handle_debug() local
1586 if (!may_break_in_function(ufunc)) in handle_debug()
1590 breakpoint = dbg_find_breakpoint(FALSE, ufunc->uf_name, in handle_debug()
1614 char_u *p = ((char_u **)ufunc->uf_lines.ga_data)[lnum - 1]; in handle_debug()
1630 line = ((char_u **)ufunc->uf_lines.ga_data)[iptr->isn_lnum - 1]; in handle_debug()
3123 cufunc_T *cufunc = &iptr->isn_arg.ufunc; in exec_instructions()
4653 ufunc_T *ufunc, in call_def_function() argument
4664 int defcount = ufunc->uf_args.ga_len - argc; in call_def_function()
4688 update_has_breakpoint(ufunc); in call_def_function()
4690 if (ufunc->uf_def_status == UF_NOT_COMPILED in call_def_function()
4691 || ufunc->uf_def_status == UF_COMPILE_ERROR in call_def_function()
4692 || (func_needs_compiling(ufunc, COMPILE_TYPE(ufunc)) in call_def_function()
4693 && compile_def_function(ufunc, FALSE, COMPILE_TYPE(ufunc), NULL) in call_def_function()
4698 printable_func_name(ufunc)); in call_def_function()
4705 + ufunc->uf_dfunc_idx; in call_def_function()
4719 ectx.ec_dfunc_idx = ufunc->uf_dfunc_idx; in call_def_function()
4731 idx = argc - ufunc->uf_args.ga_len; in call_def_function()
4732 if (idx > 0 && ufunc->uf_va_name == NULL) in call_def_function()
4740 idx = argc - ufunc->uf_args.ga_len + ufunc->uf_def_args.ga_len; in call_def_function()
4753 && (ufunc->uf_va_name != NULL || idx < ufunc->uf_args.ga_len); in call_def_function()
4756 if (idx >= ufunc->uf_args.ga_len - ufunc->uf_def_args.ga_len in call_def_function()
4765 if (ufunc->uf_arg_types != NULL && idx < ufunc->uf_args.ga_len in call_def_function()
4767 ufunc->uf_arg_types[idx], &argv[idx], in call_def_function()
4776 if (ufunc->uf_va_name != NULL) in call_def_function()
4778 int vararg_count = argc - ufunc->uf_args.ga_len; in call_def_function()
4789 if (ufunc->uf_va_type != NULL in call_def_function()
4790 && ufunc->uf_va_type != &t_list_any in call_def_function()
4791 && ufunc->uf_va_type->tt_member != &t_any in call_def_function()
4794 type_T *expected = ufunc->uf_va_type->tt_member; in call_def_function()
4820 if (ufunc->uf_va_name != NULL) in call_def_function()
4829 + ufunc->uf_dfunc_idx; in call_def_function()
4874 + ufunc->uf_dfunc_idx; in call_def_function()
4891 estack_push_ufunc(ufunc, 1); in call_def_function()
4892 current_sctx = ufunc->uf_script_ctx; in call_def_function()
4904 ++ufunc->uf_calls; in call_def_function()
4919 if (ufunc->uf_ret_type == &t_void) in call_def_function()
4946 --ufunc->uf_calls; in call_def_function()
4992 printable_func_name(ufunc)); in call_def_function()
5003 list_instructions(char *pfx, isn_T *instr, int instr_count, ufunc_T *ufunc) in list_instructions() argument
5015 if (ufunc != NULL) in list_instructions()
5018 && line_idx < ufunc->uf_lines.ga_len) in list_instructions()
5025 line = ((char **)ufunc->uf_lines.ga_data)[line_idx++]; in list_instructions()
5031 int first_def_arg = ufunc->uf_args.ga_len in list_instructions()
5032 - ufunc->uf_def_args.ga_len; in list_instructions()
5038 msg_puts(((char **)(ufunc->uf_args.ga_data))[ in list_instructions()
5041 msg_puts(((char **)(ufunc->uf_def_args.ga_data))[def_arg_idx++]); in list_instructions()
5431 cufunc_T *cufunc = &iptr->isn_arg.ufunc; in list_instructions()
5844 ufunc_T *ufunc; in ex_disassemble() local
5877 ufunc = find_func(fname, is_global, NULL); in ex_disassemble()
5878 if (ufunc == NULL) in ex_disassemble()
5884 ufunc = find_func(p, FALSE, NULL); in ex_disassemble()
5887 if (ufunc == NULL) in ex_disassemble()
5892 if (func_needs_compiling(ufunc, compile_type) in ex_disassemble()
5893 && compile_def_function(ufunc, FALSE, compile_type, NULL) == FAIL) in ex_disassemble()
5895 if (ufunc->uf_def_status != UF_COMPILED) in ex_disassemble()
5900 msg((char *)printable_func_name(ufunc)); in ex_disassemble()
5902 dfunc = ((dfunc_T *)def_functions.ga_data) + ufunc->uf_dfunc_idx; in ex_disassemble()
5922 list_instructions("", instr, instr_count, ufunc); in ex_disassemble()