Nikita Sobolev
bdd8ddfda1
gh-105724: Add location information to `assert` errors (GH-105935)
2023-08-16 11:35:38 +01:00
Irit Katriel
bafedfbebd
gh-106149: move CFG and basicblock definitions into flowgraph.c, use them as opaque types in compile.c ( #107639 )
2023-08-10 13:03:47 +01:00
Brandt Bucher
a9caf9cf90
GH-105848: Simplify the arrangement of CALL's stack (GH-107788)
2023-08-09 18:19:39 +00:00
Irit Katriel
507d8bc39a
gh-106149: fix comment on stackdepth of generators ( #107321 )
2023-07-26 22:31:47 +00:00
Irit Katriel
b0202a4e5d
gh-106149: Simplify stack depth calculation. Replace asserts by exceptions. ( #107255 )
2023-07-26 13:32:47 +01:00
Victor Stinner
2e0744955f
gh-107211: Rename PySymtable_Lookup() to _PySymtable_Lookup() ( #107212 )
...
Rename the internal PySymtable_Lookup() function to
_PySymtable_Lookup() and no longer export it.
2023-07-25 00:54:09 +00:00
Victor Stinner
5e4af2a3e9
gh-106320: Move private _PySet API to the internal API ( #107041 )
...
* Add pycore_setobject.h header file.
* Move the following API to the internal C API:
* _PySet_Dummy
* _PySet_NextEntry()
* _PySet_Update()
2023-07-22 17:04:34 +02:00
Kirill Podoprigora
85ed1d2442
gh-106916: Add missing error check _PyCompile_CleanDoc ( #106921 )
...
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2023-07-21 13:56:58 +09:00
Irit Katriel
40f3f11a77
gh-105481: Generate the opcode lists in dis from data extracted from bytecodes.c ( #106758 )
2023-07-18 19:42:44 +01:00
Inada Naoki
ece3b9d12a
gh-106843: fix memleak in _PyCompile_CleanDoc ( #106846 )
2023-07-18 03:44:16 +00:00
Inada Naoki
2566b74b26
gh-81283: compiler: remove indent from docstring ( #106411 )
...
Co-authored-by: Éric <merwok@netwok.org>
2023-07-15 19:33:32 +09:00
Irit Katriel
6a70edf24c
gh-105481: expose opcode metadata via the _opcode module ( #106688 )
2023-07-14 18:41:52 +01:00
Irit Katriel
2ca008e2b7
gh-105481: move Python/opcode_metadata.h to Include/internal/pycore_opcode_metadata.h ( #106673 )
2023-07-12 11:30:25 +01:00
Victor Stinner
8571b271e7
gh-106320: Remove private _PyInterpreterState functions ( #106325 )
...
Remove private _PyThreadState and _PyInterpreterState C API
functions: move them to the internal C API (pycore_pystate.h and
pycore_interp.h). Don't export most of these functions anymore, but
still export functions used by tests.
Remove _PyThreadState_Prealloc() and _PyThreadState_Init() from the C
API, but keep it in the stable API.
2023-07-02 01:39:38 +00:00
Brandt Bucher
7b2d94d875
GH-106008: Make implicit boolean conversions explicit (GH-106003)
2023-06-29 13:49:54 -07:00
hms
8bff940ad6
gh-105775: Convert LOAD_CLOSURE to a pseudo-op ( #106059 )
...
This enables super-instruction formation,
removal of checks for uninitialized variables,
and frees up an instruction.
2023-06-29 09:34:00 -07:00
Irit Katriel
5290881009
gh-106149: move jump target resolution from optimizer to assembler ( #106150 )
2023-06-27 20:24:58 +01:00
Mark Shannon
04492cbc9a
GH-91095: Specialize calls to normal Python classes. (GH-99331)
2023-06-22 09:48:19 +01:00
Crowthebird
28187a9c4f
gh-105908: fix `barry_as_FLUFL` future import ( #105909 )
2023-06-19 22:50:57 +01:00
Irit Katriel
14d01262da
gh-105481: remove HAS_ARG, HAS_CONST, IS_JUMP_OPCODE, IS_PSEUDO_OPCODE and replace by their new versions ( #105865 )
2023-06-17 17:00:16 +01:00
Irit Katriel
d1b0297d3e
gh-105481: add HAS_JUMP flag to opcode metadata ( #105791 )
2023-06-14 23:14:22 +00:00
Mark Shannon
1d857da7f0
GH-77273: Better bytecodes for f-strings (GH-6132)
2023-06-14 16:15:08 +01:00
Irit Katriel
be2779c0cb
gh-105481: add flags to each instr in the opcode metadata table, to replace opcode.hasarg/hasname/hasconst ( #105482 )
2023-06-13 21:42:03 +01:00
Mark Shannon
09ffa69e2e
GH-105678: Split MAKE_FUNCTION into MAKE_FUNCTION and SET_FUNCTION_ATTRIBUTE (GH-105680)
2023-06-13 09:51:05 +01:00
Irit Katriel
58f5227d7c
gh-105481: add pseudo-instructions to the bytecodes DSL ( #105506 )
2023-06-11 22:31:59 +01:00
Erlend E. Aasland
6c832ddcf2
gh-105375: Improve error handling in compiler_enter_scope() ( #105494 )
2023-06-09 18:55:53 +02:00
Dong-hee Na
058b960535
gh-103906: Remove immortal refcounting in compile/marshal.c (gh-103922)
2023-06-05 22:38:36 +09:00
Jelle Zijlstra
69d1245685
gh-105164: Detect annotations inside match blocks ( #105177 )
2023-06-05 06:07:17 -07:00
Irit Katriel
94a1eea511
gh-103277: remove unused macros ( #105247 )
2023-06-03 05:12:07 -06:00
Jelle Zijlstra
44bb03f856
gh-105214: Use named constants for MAKE_FUNCTION oparg ( #105215 )
2023-06-02 14:10:45 +00:00
Irit Katriel
76b9c0cfaa
remove unused #includes of pycore_pymem.h ( #105166 )
2023-06-01 12:12:53 +01:00
Irit Katriel
f990bb8b2d
gh-105148: make _PyASTOptimizeState internal to ast_opt.c ( #105149 )
2023-05-31 20:21:46 +01:00
Jelle Zijlstra
a5f244d627
gh-104656: Rename typeparams AST node to type_params ( #104657 )
2023-05-21 21:25:09 -07:00
Jelle Zijlstra
cd9748409a
gh-104686: Fix tracing for decorated classes ( #104708 )
2023-05-21 16:20:19 -07:00
Carl Meyer
70c7796477
gh-104619: never leak comprehension locals to outer locals() ( #104637 )
2023-05-18 18:50:24 -07:00
Carl Meyer
86e6f16ccb
gh-104602: ensure all cellvars are known up front ( #104603 )
...
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2023-05-19 00:07:35 +00:00
Carl Meyer
0589c6a4d3
gh-104615: don't make unsafe swaps in apply_static_swaps ( #104620 )
2023-05-18 21:22:03 +00:00
Jelle Zijlstra
662aede68b
gh-104374: Remove access to class scopes for inlined comprehensions ( #104528 )
...
Co-authored-by: Carl Meyer <carl@oddbird.net>
2023-05-18 05:22:17 +00:00
Carl Meyer
f40890b124
gh-103865: add monitoring support to LOAD_SUPER_ATTR ( #103866 )
2023-05-16 10:29:00 -06:00
Jelle Zijlstra
24d8b88420
gh-103763: Implement PEP 695 ( #103764 )
...
This implements PEP 695, Type Parameter Syntax. It adds support for:
- Generic functions (def func[T](): ...)
- Generic classes (class X[T](): ...)
- Type aliases (type X = ...)
- New scoping when the new syntax is used within a class body
- Compiler and interpreter changes to support the new syntax and scoping rules
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
Co-authored-by: Eric Traut <eric@traut.com>
Co-authored-by: Larry Hastings <larry@hastings.org>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-05-15 20:36:23 -07:00
Irit Katriel
8a3702f0c7
gh-104482: Fix error handling bugs in ast.c ( #104483 )
2023-05-15 21:53:55 +01:00
Carl Meyer
ac66cc17f2
gh-104377: fix cell in comprehension that is free in outer scope ( #104394 )
2023-05-11 16:48:21 -07:00
Carl Meyer
c3b595e73e
gh-97933: (PEP 709) inline list/dict/set comprehensions ( #101441 )
...
Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2023-05-09 11:02:14 -06:00
Irit Katriel
ca95edf177
gh-104240: return code unit metadata from codegen ( #104300 )
2023-05-09 14:33:40 +01:00
Irit Katriel
2c2dc61e8d
gh-104240: make _PyCompile_CodeGen support different compilation modes ( #104241 )
2023-05-07 18:47:28 +01:00
Irit Katriel
80b714835d
gh-87092: Expose assembler to unit tests ( #103988 )
2023-05-01 22:29:30 +01:00
Irit Katriel
fbf3596c3e
gh-87092: change assembler to use instruction sequence instead of CFG ( #103933 )
2023-04-29 12:06:04 +01:00
Carl Meyer
0dc8b50d33
gh-87729: add LOAD_SUPER_ATTR instruction for faster super() ( #103497 )
...
This speeds up `super()` (by around 85%, for a simple one-level
`super().meth()` microbenchmark) by avoiding allocation of a new
single-use `super()` object on each use.
2023-04-24 22:22:14 +00:00
Shantanu
ae25855045
gh-103492: Clarify SyntaxWarning with literal comparison ( #103493 )
2023-04-24 15:42:57 -06:00
Irit Katriel
1c01f8d797
gh-101517: fix line number propagation in code generated for except* ( #103550 )
2023-04-24 21:58:51 +01:00