bpo-41873: Add vectorcall for float() - #22432
Conversation
corona10
left a comment
There was a problem hiding this comment.
Your patch will cause the crash
Type "help", "copyright", "credits" or "license" for more information.
>>> float()
[1] 44448 segmentation fault ./python.exe
| return NULL; | ||
| } | ||
|
|
||
| return float_new_impl((PyTypeObject *)type, args[0]); |
There was a problem hiding this comment.
| return float_new_impl((PyTypeObject *)type, args[0]); | |
| PyObject *x = NULL; | |
| if (nargs > 0) { | |
| x = args[0]; | |
| } else { | |
| x = _PyLong_Zero; | |
| } | |
| return float_new_impl((PyTypeObject *)type, x); |
… into float_vectorcall
|
I have made the requested changes; please review again. @corona10 I didn't see any occurrences of |
|
Thanks for making the requested changes! @corona10: please review the changes made to this pull request. |
https://github.com/python/cpython/pull/22432/checks?check_run_id=1175574849 There was already a crash on your PR on CI phase. |
corona10
left a comment
There was a problem hiding this comment.
I am lgtm about the changes,
but let's wait for other core devs opinions about adding vectorcall for float type.
|
This PR is same case from #22427 Do you think that the vectorcall is good enough to apply for float() call also from the maintenance cost view? |
* origin/master: (113 commits) bpo-41773: Raise exception for non-finite weights in random.choices(). (pythonGH-22441) bpo-41873: Add vectorcall for float() (pythonGH-22432) bpo-41861: Convert _sqlite3 PrepareProtocolType to heap type (pythonGH-22428) bpo-41842: Add codecs.unregister() function (pythonGH-22360) bpo-41875: Use __builtin_unreachable when possible (pythonGH-22433) bpo-40105: ZipFile truncate in append mode with shorter comment (pythonGH-19337) bpo-41870: Use PEP 590 vectorcall to speed up bool() (pythonGH-22427) [doc] Leverage the fact that the actual types can now be indexed for typing (pythonGH-22340) bpo-41861: Convert _sqlite3 cache and node static types to heap types (pythonGH-22417) bpo-41858: Clarify line in optparse doc (pythonGH-22407) Revert "Fix all Python Cookbook links (python#22205)" (pythonGH-22424) bpo-1635741: Port _bisect module to multi-phase init (pythonGH-22415) bpo-41428: Fix compiler warning in unionobject.c (pythonGH-22416) Fix logging error message (pythonGH-22410) bpo-39934: Account for control blocks in 'except' in compiler. (pythonGH-22395) bpo-41775: Make 'IDLE Shell' the shell title (python#22399) bpo-41428: Fix compiler warnings in unionobject.c (pythonGH-22388) bpo-41654: Fix compiler warning in MemoryError_dealloc() (pythonGH-22387) bpo-41833: threading.Thread now uses the target name (pythonGH-22357) bpo-30155: Add macros to get tzinfo from datetime instances (pythonGH-21633) ...

https://bugs.python.org/issue41873