◐ Shell
clean mode source ↗

Apply vectorcall for more places by youknowone · Pull Request #7336 · RustPython/RustPython

@youknowone marked this pull request as ready for review

March 3, 2026 16:29

coderabbitai[bot]

coderabbitai[bot]

…paths

Remove has_vectorcall checks from execute_call_vectorcall and
execute_call_kw_vectorcall. The invoke_vectorcall fallback now uses
from_vectorcall_owned to move args instead of cloning.
- Collapse conditional deopt + unconditional vectorcall pattern in
  CallBuiltinClass, CallNonPyGeneral, CallKwNonPy
- Use checked_sub for nargs_usize - kw_count in execute_call_kw_vectorcall
  to prevent silent underflow in release builds

coderabbitai[bot]

This was referenced

Mar 5, 2026

youknowone added a commit to youknowone/RustPython that referenced this pull request

Mar 22, 2026
* Add PyType vectorcall and use vectorcall in all specialized call fallbacks

* Add vectorcall slot for PyMethodDescriptor and PyWrapper

* Add FuncArgs::from_vectorcall_owned and simplify vectorcall fallback paths

Remove has_vectorcall checks from execute_call_vectorcall and
execute_call_kw_vectorcall. The invoke_vectorcall fallback now uses
from_vectorcall_owned to move args instead of cloning.