From bdece9e80c9bd3a50aa73cee3dddc0fdbea9eae0 Mon Sep 17 00:00:00 2001 From: blueloveTH Date: Sun, 26 May 2024 18:49:42 +0800 Subject: [PATCH] skip kwargc check on -1 --- include/pocketpy/codeobject.h | 1 - src/vm.cpp | 13 ++++++------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/include/pocketpy/codeobject.h b/include/pocketpy/codeobject.h index 3258eb2f..3d8df164 100644 --- a/include/pocketpy/codeobject.h +++ b/include/pocketpy/codeobject.h @@ -140,7 +140,6 @@ struct NativeFunc { NativeFunc(NativeFuncC f, FuncDecl_ decl, any userdata={}): f(f), argc(-1), decl(decl), _userdata(std::move(userdata)) {} PyVar call(VM* vm, ArgsView args) const { return f(vm, args); } - void check_size(VM* vm, ArgsView args) const; void _gc_mark(VM*) const; }; diff --git a/src/vm.cpp b/src/vm.cpp index c492ec39..6e28c794 100644 --- a/src/vm.cpp +++ b/src/vm.cpp @@ -1123,8 +1123,12 @@ PyVar VM::vectorcall(int ARGC, int KWARGC, bool op_call){ for(int j=0; jTypeError(_S("expected ", f.argc, " arguments, got ", args.size())); + } + } ret = f.call(this, args); } s_data.reset(p0); @@ -1619,11 +1623,6 @@ void Dict::_probe_1(VM* vm, PyVar key, bool &ok, int &i) const{ } } -void NativeFunc::check_size(VM* vm, ArgsView args) const{ - if(args.size() != argc && argc != -1) { - vm->TypeError(_S("expected ", argc, " arguments, got ", args.size())); - } -} #if PK_ENABLE_PROFILER void NextBreakpoint::_step(VM* vm){