| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
| |
Make _PyDict_LoadGlobal threadsafe
|
|
|
| |
Co-authored-by: Kirill Podoprigora <kirill.bast9@mail.ru>
|
|
|
|
| |
Use critical sections to make acquire, release, and _count thread-safe
without the GIL.
|
|
|
|
| |
file (#117496)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce a unified 16-bit backoff counter type (``_Py_BackoffCounter``),
shared between the Tier 1 adaptive specializer and the Tier 2 optimizer. The
API used for adaptive specialization counters is changed but the behavior is
(supposed to be) identical.
The behavior of the Tier 2 counters is changed:
- There are no longer dynamic thresholds (we never varied these).
- All counters now use the same exponential backoff.
- The counter for ``JUMP_BACKWARD`` starts counting down from 16.
- The ``temperature`` in side exits starts counting down from 64.
|
|
|
|
|
|
|
|
| |
* gh-109802: Add coverage test for complex_abs()
This tests overflow on L594.
// line numbers wrt to 0f2fa6150b
|
|
|
|
| |
example. (GH-117541)
|
| |
|
|
|
| |
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add libclinic.parser module and move the following classes and
functions there:
* Parser
* PythonParser
* create_parser_namespace()
Add libclinic.dsl_parser module and move the following classes,
functions and variables there:
* ConverterArgs
* DSLParser
* FunctionNames
* IndentStack
* ParamState
* StateKeeper
* eval_ast_expr()
* unsupported_special_methods
Add libclinic.app module and move the Clinic class there.
Add libclinic.cli module and move the following functions there:
* create_cli()
* main()
* parse_file()
* run_clinic()
|
| |
|
| |
|
|
|
|
| |
during deprecation period (GH-117354)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add libclinic.clanguage module and move the following classes and
functions there:
* CLanguage
* declare_parser()
Add libclinic.codegen and move the following classes there:
* BlockPrinter
* BufferSeries
* Destination
Move the following functions to libclinic.function:
* permute_left_option_groups()
* permute_optional_groups()
* permute_right_option_groups()
|
|
|
| |
This merges all `_CHECK_STACK_SPACE` uops in a trace into a single `_CHECK_STACK_SPACE_OPERAND` uop that checks whether there is enough stack space for all calls included in the entire trace.
|
|
|
|
|
| |
I had meant to switch everything to InterpreterError when I added it a while back. At the time I missed a few key spots.
As part of this, I've added print-the-exception to _PyXI_InitTypes() and fixed an error case in `_PyStaticType_InitBuiltin().
|
|
|
|
|
|
|
|
|
|
| |
This change gives a significant speedup, as the METH_FASTCALL calling
convention is now used. The following methods are adapted:
- str.count
- str.find
- str.index
- str.rfind
- str.rindex
|
|
|
|
|
|
|
|
|
| |
(#117481)
On Linux >= 2.6.36 with glibc < 2.27, `getcwd()` can return a relative
pathname starting with '(unreachable)'. We detect this and fail with
ENOENT, matching new glibc behaviour.
Co-authored-by: Petr Viktorin <encukou@gmail.com>
|
| |
|
| |
|
|
|
|
| |
(#117341)
|
| |
|
|
|
|
|
|
| |
`test_wrong_cert_tls13` (GH-117484)
On macOS, the closed connection can lead to a "Broken pipe" error instead of
a "Connection reset by peer" error.
|
|
|
|
| |
avoid leap-year bugs (GH-117107)
|
|
|
|
|
|
| |
Argument Clinic (#117495)
This change gives a significant speedup, as the METH_FASTCALL calling
convention is now used.
|
|
|
|
|
| |
The first parameter is named 'suffix', not 'prefix'.
Regression introduced by commit 444156ed
|
|
|
|
|
|
|
|
| |
Use the fully qualified type name in repr() of weakref.ref and
weakref.proxy types.
Fix a crash in proxy_repr() when the reference is dead.
Add also test_ref_repr() and test_proxy_repr().
|
|
|
|
|
| |
* Update issue tracker URL in commit message.
* Also update issue tracker URL in comment.
|
|
|
|
| |
This change gives a significant speedup, as the METH_FASTCALL calling
convention is now used.
|
|
|
| |
This is a follow-up to gh-117170 and gh-117485.
|
|
|
| |
This eliminates the duplication of functionally identical helpers in the _testinternalcapi and _xxsubinterpreters modules.
|
|
|
| |
These helpers make it easier to customize and inspect the config used to initialize interpreters. This is especially valuable in our tests. I found inspiration from the PyConfig API for the PyInterpreterConfig dict conversion stuff. As part of this PR I've also added a bunch of tests.
|
|
|
|
|
| |
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Co-authored-by: Barney Gale <barney.gale@gmail.com>
Co-authored-by: Pieter Eendebak <pieter.eendebak@gmail.com>
|
| |
|
|
|
|
|
|
|
|
| |
Add a special case for `list.extend(dict)` and `list(dict)` so that those
patterns behave atomically with respect to modifications to the list or
dictionary.
This is required by multiprocessing, which assumes that
`list(_finalizer_registry)` is atomic.
|
|
|
| |
Use critical sections to protect access to the syslog module.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move the following converter classes to libclinic.return_converters:
* CReturnConverter
* CReturnConverterAutoRegister
* Py_ssize_t_return_converter
* bool_return_converter
* double_return_converter
* float_return_converter
* int_return_converter
* long_return_converter
* size_t_return_converter
* unsigned_int_return_converter
* unsigned_long_return_converter
Move also the add_c_return_converter() function there.
|
|
|
|
| |
objects. (GH-116115)
|
| |
|
|
|
|
| |
(#117412)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move the following converter classes to libclinic.converters:
* PyByteArrayObject_converter
* PyBytesObject_converter
* Py_UNICODE_converter
* Py_buffer_converter
* Py_complex_converter
* Py_ssize_t_converter
* bool_converter
* byte_converter
* char_converter
* defining_class_converter
* double_converter
* fildes_converter
* float_converter
* int_converter
* long_converter
* long_long_converter
* object_converter
* self_converter
* short_converter
* size_t_converter
* slice_index_converter
* str_converter
* unicode_converter
* unsigned_char_converter
* unsigned_int_converter
* unsigned_long_converter
* unsigned_long_long_converter
* unsigned_short_converter
Move also the following classes to libclinic.converters:
* buffer
* robuffer
* rwbuffer
Move the following functions to libclinic.converters:
* correct_name_for_self()
* r()
* str_converter_key()
Move Null and NULL to libclinic.utils.
|
| |
|
| |
|
|
|
|
| |
These undocumented functions are no longer used by `msilib`, so there's no
reason to keep them around.
|
|
|
|
|
|
|
|
|
| |
* as_completed returns object that is both iterator and async iterator
* Existing tests adjusted to test both the old and new style
* New test to ensure iterator can be resumed
* New test to ensure async iterator yields any passed-in Futures as-is
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Guido van Rossum <gvanrossum@gmail.com>
|
| |
|
| |
|