Brandt Bucher
f36589510b
GH-91153: Handle mutating __index__ methods in bytearray item assignment (GH-94891)
2022-07-19 09:42:40 -07:00
Mark Shannon
3f738600f6
GH-94979: Pop the exception stack when jumping out of exception handlers. ( #95003 )
2022-07-19 16:33:18 +01:00
Eric Snow
7a1a85d640
gh-94673: [c-analyzer] Add a Script to Identify Static Types ( #94989 )
...
issue: https://github.com/python/cpython/issues/94673
2022-07-18 19:03:57 -06:00
Brandt Bucher
b407312a24
GH-94893: Ignore caches when adding LOAD_FAST_CHECKs (GH-94894)
2022-07-18 09:00:41 -07:00
Mark Shannon
2f8bff6879
GH-94739: Mark stacks of exception handling blocks for setting frame.f_lineno in the debugger. (GH-94958)
2022-07-18 16:06:42 +01:00
neonene
9b3f779209
gh-94841: Ensure arena_map_get() is inlined in PyObject_Free() ( #94842 )
2022-07-14 11:33:25 -07:00
Ken Jin
6442a9dd21
gh-94607: Fix subclassing generics (GH-94610)
...
Co-authored-by: Serhiy Storchaka <3659035+serhiy-storchaka@users.noreply.github.com>
2022-07-09 12:18:01 +08:00
Kumar Aditya
9dff9f4814
GH-90699: Intern statically allocated strings (GH-93597)
...
This is similar to how strings are interned for deepfreeze.
2022-07-08 10:47:37 -07:00
Irit Katriel
50b9a7762f
gh-94438: in frameobject's mark_stacks switch, the PUSH_EXC_INFO and POP_EXCEPT cases are no longer reachable (GH-94582)
2022-07-06 07:15:59 +01:00
Mark Shannon
be80db14c4
GH-94438: Account for NULLs on evaluation stack when jumping lines. (GH-94444)
2022-07-01 14:01:14 +01:00
Mark Shannon
544531de23
GH-94262: Don't create frame objects for frames that aren't yet complete. (GH-94371)
2022-07-01 11:08:20 +01:00
Pablo Galindo Salgado
c485ec014c
gh-88116: Avoid undefined behavior when decoding varints in code objects ( #94375 )
2022-06-28 14:24:54 +01:00
Serhiy Storchaka
efdc9d68de
gh-87995: Make MappingProxyType hashable (GH-94252)
2022-06-28 11:54:58 +02:00
Mark Shannon
c0453a40fa
GH-94163: Add BINARY_SLICE and STORE_SLICE instructions. (GH-94168)
2022-06-27 12:24:23 +01:00
Ken Jin
50a5ab2c0b
gh-93382: Sync up `co_code` changes with 3.11 (GH-94227)
...
Sync up co_code changes with 3.11 commit 852b4d4bcd
.
2022-06-25 01:55:18 +08:00
Kumar Aditya
5b6e5762ca
GH-91742: Fix pdb crash after jump (GH-94171)
2022-06-23 15:19:13 +01:00
Jelle Zijlstra
4e08fbcfdf
gh-93021: Fix __text_signature__ for __get__ (GH-93023)
...
Because of the way wrap_descr_get is written, the second argument
to __get__ methods implemented through the wrapper is always
optional.
2022-06-21 21:45:38 +02:00
Dennis Sweeney
5fcfdd87c9
GH-91432: Specialize FOR_ITER (GH-91713)
...
* Adds FOR_ITER_LIST and FOR_ITER_RANGE specializations.
* Adds _PyLong_AssignValue() internal function to avoid temporary boxing of ints.
2022-06-21 11:19:26 +01:00
Irit Katriel
1603a1029f
GH-93249: relax overly strict assertion on bounds->ar_start (GH-93961)
2022-06-20 17:13:39 +01:00
Mark Shannon
ab0e601016
GH-93516: Speedup line number checks when tracing. (GH-93763)
...
* Use a lookup table to reduce overhead of getting line numbers during tracing.
2022-06-20 13:00:42 +01:00
Mark Shannon
45e62a2bc1
GH-93897: Store frame size in code object and de-opt if insufficient space on thread frame stack. (GH-93908)
2022-06-20 12:59:25 +01:00
Christian Heimes
774ef28814
gh-84461: Silence some compiler warnings on WASM (GH-93978)
2022-06-20 13:34:40 +02:00
Victor Stinner
27b9894033
gh-93937, C API: Move PyFrame_GetBack() to Python.h ( #93938 )
...
Move the follow functions and type from frameobject.h to pyframe.h,
so the standard <Python.h> provide frame getter functions:
* PyFrame_Check()
* PyFrame_GetBack()
* PyFrame_GetBuiltins()
* PyFrame_GetGenerator()
* PyFrame_GetGlobals()
* PyFrame_GetLasti()
* PyFrame_GetLocals()
* PyFrame_Type
Remove #include "frameobject.h" from many C files. It's no longer
needed.
2022-06-19 12:02:33 +02:00
Kumar Aditya
726448ebe1
GH-93990: fix refcounting bug in `add_subclass` in `typeobject.c` (GH-93989)
2022-06-19 14:06:37 +08:00
Ken Jin
fea1e9bc5c
gh-93955: Use unbound methods for slot `__getattr__` and `__getattribute__` (GH-93956)
2022-06-18 22:42:42 +08:00
Serhiy Storchaka
f9433fff47
gh-89828: Do not relay the __class__ attribute in GenericAlias ( #93754 )
...
list[int].__class__ returned type, and isinstance(list[int], type)
returned True. It caused numerous problems in code that checks
isinstance(x, type).
2022-06-18 11:34:57 +03:00
Ken Jin
11190c4ad0
gh-92888: Fix memoryview bad `__index__` use after free (GH-92946)
...
Co-authored-by: chilaxan <35645806+chilaxan@users.noreply.github.com>
Co-authored-by: Serhiy Storchaka <3659035+serhiy-storchaka@users.noreply.github.com>
2022-06-17 23:14:53 +08:00
Ken Jin
a51742ab82
gh-93911: Specialize `LOAD_ATTR_PROPERTY` (GH-93912)
2022-06-17 23:13:17 +08:00
Pamela Fox
ff095e13df
Update includes in call.c (GH-93786)
2022-06-15 13:24:12 +01:00
Mark Shannon
3cd1a5d3ec
GH-93516: Store offset of first traceable instruction in code object (GH-93769)
2022-06-14 11:09:30 +01:00
Petr Viktorin
3597c12941
gh-89546: Clean up PyType_FromMetaclass (GH-93686)
...
When changing PyType_FromMetaclass recently (GH-93012, GH-93466, GH-28748)
I found a bunch of opportunities to improve the code. Here they are.
Fixes : #89546
Automerge-Triggered-By: GH:encukou
2022-06-14 02:13:29 -07:00
Serhiy Storchaka
8352e322e8
gh-79512: Fixed names and __module__ value of weakref classes (GH-93719)
...
Classes ReferenceType, ProxyType and CallableProxyType have now correct
atrtributes __module__, __name__ and __qualname__.
It makes them (types, not instances) pickleable.
2022-06-14 07:18:03 +03:00
Serhiy Storchaka
6fd4c8ec77
gh-93741: Add private C API _PyImport_GetModuleAttrString() (GH-93742)
...
It combines PyImport_ImportModule() and PyObject_GetAttrString()
and saves 4-6 lines of code on every use.
Add also _PyImport_GetModuleAttr() which takes Python strings as arguments.
2022-06-14 07:15:26 +03:00
Kumar Aditya
9331087966
GH-90699: use statically allocated strings in typeobject.c (gh-93751)
2022-06-13 01:38:18 +09:00
Dong-hee Na
ae1ca74513
gh-93747: Fix Refleak when handling multiple Py_tp_doc slots (gh-93749)
2022-06-13 00:55:01 +09:00
Kumar Aditya
8f728e5baa
gh-93728: fix memory leak in deepfrozen code objects (GH-93729)
2022-06-12 22:42:18 +08:00
Serhiy Storchaka
3473817106
gh-91162: Support splitting of unpacked arbitrary-length tuple over TypeVar and TypeVarTuple parameters (alt) (GH-93412)
...
For example:
A[T, *Ts][*tuple[int, ...]] -> A[int, *tuple[int, ...]]
A[*Ts, T][*tuple[int, ...]] -> A[*tuple[int, ...], int]
2022-06-12 16:22:01 +03:00
Petr Viktorin
21a9a85ff4
gh-93466: Document PyType_Spec doesn't accept repeated slot IDs; raise where this was problematic (GH-93471)
2022-06-10 15:55:09 +02:00
Sebastian Berg
7fef847662
bpo-45383: Get metaclass from bases in PyType_From* (GH-28748)
...
This checks the bases of of a type created using the FromSpec
API to inherit the bases metaclasses. The metaclass's alloc
function will be called as is done in `tp_new` for classes
created in Python.
Co-authored-by: Petr Viktorin <encukou@gmail.com>
Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@protonmail.com>
2022-06-09 17:11:08 +02:00
Mark Dickinson
e12f34b6d8
Fix missing word in sys.float_info docstring (GH-93489)
2022-06-04 17:28:14 +01:00
Ken Jin
d52ffc1d1f
gh-93382: Cache result of `PyCode_GetCode` in codeobject (GH-93383)
...
Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
Co-authored-by: Dennis Sweeney <36520290+sweeneyde@users.noreply.github.com>
2022-06-04 00:41:18 +08:00
Dennis Sweeney
f425f3bb27
gh-93143: Avoid NULL check in LOAD_FAST based on analysis in the compiler (GH-93144)
2022-05-31 16:32:30 -04:00
Serhiy Storchaka
f545fc955a
gh-93345: Fix a crash in substitution of nested TypeVar after TypeVarTuple (GH-93346)
...
For example: tuple[*Ts, list[T]][int, str, bool]
2022-05-31 08:46:16 +03:00
Sergei Izmailov
66f5add1f0
bpo-41287: Handle `doc` argument of `property.__init__` in subclasses ( #23205 )
...
Fixes #85459
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2022-05-28 20:25:51 -07:00
Eric Snow
caa279d6fd
bpo-40514: Drop EXPERIMENTAL_ISOLATED_SUBINTERPRETERS (gh-93185)
...
This was added for bpo-40514 (gh-84694) to test out a per-interpreter GIL. However, it has since proven unnecessary to keep the experiment in the repo. (It can be done as a branch in a fork like normal.) So here we are removing:
* the configure option
* the macro
* the code enabled by the macro
2022-05-27 17:38:01 -06:00
Mark Shannon
bbcf42449e
GH-90230: Add stats to breakdown the origin of calls to `PyEval_EvalFrame` (GH-93284)
2022-05-27 16:31:41 +01:00
Kumar Aditya
cb04a09d2d
GH-93207: Remove HAVE_STDARG_PROTOTYPES configure check for stdarg.h ( #93215 )
2022-05-27 13:30:45 +02:00
Wenzel Jakob
5e34b494a0
gh-60074: add new stable API function PyType_FromMetaclass (GH-93012)
...
Added a new stable API function ``PyType_FromMetaclass``, which mirrors
the behavior of ``PyType_FromModuleAndSpec`` except that it takes an
additional metaclass argument. This is, e.g., useful for language
binding tools that need to store additional information in the type
object.
2022-05-27 10:27:39 +02:00
Victor Stinner
5f8c3fb997
gh-91924: Optimize unicode_check_encoding_errors() ( #93200 )
...
Avoid _PyCodec_Lookup() and PyCodec_LookupError() for most common
built-in encodings and error handlers to avoid creating a temporary
Unicode string object, whereas these encodings and error handlers are
known to be valid.
2022-05-27 00:39:49 +02:00
oda-gitso
854db1a606
Remove unnecessary for loop initializer in long_lshift1() (GH-93071)
...
* Remove unnecessary for loop initialization.
2022-05-25 18:57:33 +01:00