Justine Tunney
fa20edc44d
Reduce header complexity
...
- Remove most __ASSEMBLER__ __LINKER__ ifdefs
- Rename libc/intrin/bits.h to libc/serialize.h
- Block pthread cancelation in fchmodat() polyfill
- Remove `clang-format off` statements in third_party
2023-11-28 14:39:42 -08:00
Gautham
83b743cf96
Python 3.7 METH_FASTCALL backport ( #406 )
2022-05-13 05:05:12 -07:00
Justine Tunney
2ea1dc405c
Revert "Backport METH_FASTCALL from Python 3.7 ( #328 )"
...
This reverts commit cf73bbd678
.
2022-05-12 06:49:54 -07:00
Gautham
cf73bbd678
Backport METH_FASTCALL from Python 3.7 ( #328 )
2022-05-12 02:27:16 -07:00
Gautham
7fe9e70117
Backporting METH_FASTCALL from Python 3.7 ( #317 )
...
* dict copy speedup
refer to bpo-31179 or python/cpython@boa7a037b8fde
* __build_class__() uses METH_FASTCALL
refer python/cpython@69de71b255
refer python/cpython@773dc6dd06
a single test related to __prepare__ fails.
* type_prepare uses METH_FASTCALL
refer python/cpython@d526cfe546
refer python/cpython@80ab22fa2c
the prepare-related test still fails. It's just related to the error
message format though.
* separate into ParseStack and ParseStackAndKeywords
refer python/cpython@6518a93cb1
refer python/cpython@3e1fad6913
refer python/cpython@c0083fc47d
* Add _PyArg_NoStackKeywords
refer python/cpython@29d39cc8f5
* _PyStack_UnpackDict now returns int
refer python/cpython@998c20962c
* METH_FASTCALL changes to .inc files
done via python's Argument Clinic tool,
refer python/cpython@259f0e4437
* Added _PyArg_UnpackStack
refer python/cpython@fe54dda08
* Argument Clinic FASTCALL again
refer python/cpython@0c4a828ca
* Argument Clinic for ordered dictionary object
refer python/cpython@b05cbac052
* speed up getargs
refer python/cpython@1741441649
* FASTCALL for sorted, next, and getattr
refer python/cpython@5a60ecaa7a
refer python/cpython@fda6d0acf0
refer python/cpython@84b388bb80
* Optimize methoddescr_call
refer python/cpython@2a1b676d1f
refer python/cpython@c52572319c
refer python/cpython@35ecebe165
refer python/cpython@8128d5a491
* cleanup _PyMethodDef_RawFastCallDict
refer python/cpython@0a2e46835d
refer python/cpython@98ccba8344
refer python/cpython@c89ef828cf
refer python/cpython@250e4b0063
* print now uses METH_FASTCALL
refer python/cpython@c3858bd7c6
refer python/cpython@bd584f169f
refer python/cpython@06d34393c2
* _struct module now uses Argument Clinic
refer python/cpython@3f2d10132d
* make deque methods faster
refer python/cpython@dd407d5006
* recursive calls in PyObject_Call
refer python/cpython@7399a05965
only partially ported, because RawFastCallKeywords hasn't been ported
* add macros
refer python/cpython@68a001dd59
* all tests pass in MODE=dbg
* convert some internal functions to FASTCALL
__import__ might need to be changed later, if it is possible to backport
the METH_FASTCALL | METH_KEYWORDS flag distinction later.
* speed up unpickling
refer python/cpython@bee09aecc2
* added _PyMethodDef_RawFastCallKeywords
refer python/cpython@7399a05965
* PyCFunction_Call performance
refer python/cpython@12c5838dae
* avoid PyMethodObject in slots
main change in python/cpython@516b98161a
test_exceptions changed in python/cpython@331bbe6aaa
type_settattro changed in python/cpython@193f7e094f
_PyObject_CallFunctionVa changed in python/cpython@fe4ff83049
* fix refcount error found in MODE=dbg
all tests now pass in MODE=dbg
2021-11-12 15:26:57 -08:00
Justine Tunney
d26d7ae0e4
Perform build and magnum tuning
...
Building o//third_party/python now takes 5 seconds on my PC
This change works towards modifying Python to use runtime dispatching
when appropriate. For example, when loading the magnums in the socket
module, it's a good idea to check if the magnum is zero, because that
means the local system platform doesn't support it.
2021-08-10 10:26:13 -07:00