summaryrefslogtreecommitdiffstats
path: root/Python/compile.c
Commit message (Collapse)AuthorAgeFilesLines
* gh-106149: fix comment on stackdepth of generators (#107321)Irit Katriel2023-07-261-2/+3
|
* gh-106149: Simplify stack depth calculation. Replace asserts by exceptions. ↵Irit Katriel2023-07-261-16/+31
| | | | (#107255)
* gh-107211: Rename PySymtable_Lookup() to _PySymtable_Lookup() (#107212)Victor Stinner2023-07-251-2/+2
| | | | Rename the internal PySymtable_Lookup() function to _PySymtable_Lookup() and no longer export it.
* gh-106320: Move private _PySet API to the internal API (#107041)Victor Stinner2023-07-221-1/+2
| | | | | | | | * Add pycore_setobject.h header file. * Move the following API to the internal C API: * _PySet_Dummy * _PySet_NextEntry() * _PySet_Update()
* gh-106916: Add missing error check _PyCompile_CleanDoc (#106921)Kirill Podoprigora2023-07-211-0/+6
| | | Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
* gh-105481: Generate the opcode lists in dis from data extracted from ↵Irit Katriel2023-07-181-0/+18
| | | | bytecodes.c (#106758)
* gh-106843: fix memleak in _PyCompile_CleanDoc (#106846)Inada Naoki2023-07-181-1/+4
|
* gh-81283: compiler: remove indent from docstring (#106411)Inada Naoki2023-07-151-1/+98
| | | Co-authored-by: Éric <merwok@netwok.org>
* gh-105481: expose opcode metadata via the _opcode module (#106688)Irit Katriel2023-07-141-0/+32
|
* gh-105481: move Python/opcode_metadata.h to ↵Irit Katriel2023-07-121-1/+1
| | | | Include/internal/pycore_opcode_metadata.h (#106673)
* gh-106320: Remove private _PyInterpreterState functions (#106325)Victor Stinner2023-07-021-0/+1
| | | | | | | | | 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.
* GH-106008: Make implicit boolean conversions explicit (GH-106003)Brandt Bucher2023-06-291-5/+16
|
* gh-105775: Convert LOAD_CLOSURE to a pseudo-op (#106059)hms2023-06-291-0/+2
| | | | | | This enables super-instruction formation, removal of checks for uninitialized variables, and frees up an instruction.
* gh-106149: move jump target resolution from optimizer to assembler (#106150)Irit Katriel2023-06-271-12/+5
|
* GH-91095: Specialize calls to normal Python classes. (GH-99331)Mark Shannon2023-06-221-0/+3
|
* gh-105908: fix `barry_as_FLUFL` future import (#105909)Crowthebird2023-06-191-6/+10
|
* gh-105481: remove HAS_ARG, HAS_CONST, IS_JUMP_OPCODE, IS_PSEUDO_OPCODE and ↵Irit Katriel2023-06-171-12/+5
| | | | replace by their new versions (#105865)
* gh-105481: add HAS_JUMP flag to opcode metadata (#105791)Irit Katriel2023-06-141-1/+4
|
* GH-77273: Better bytecodes for f-strings (GH-6132)Mark Shannon2023-06-141-14/+14
|
* gh-105481: add flags to each instr in the opcode metadata table, to replace ↵Irit Katriel2023-06-131-0/+2
| | | | opcode.hasarg/hasname/hasconst (#105482)
* GH-105678: Split MAKE_FUNCTION into MAKE_FUNCTION and SET_FUNCTION_ATTRIBUTE ↵Mark Shannon2023-06-131-1/+15
| | | | (GH-105680)
* gh-105481: add pseudo-instructions to the bytecodes DSL (#105506)Irit Katriel2023-06-111-1/+11
|
* gh-105375: Improve error handling in compiler_enter_scope() (#105494)Erlend E. Aasland2023-06-091-1/+5
|
* gh-103906: Remove immortal refcounting in compile/marshal.c (gh-103922)Dong-hee Na2023-06-051-3/+3
|
* gh-105164: Detect annotations inside match blocks (#105177)Jelle Zijlstra2023-06-051-0/+10
|
* gh-103277: remove unused macros (#105247)Irit Katriel2023-06-031-19/+0
|
* gh-105214: Use named constants for MAKE_FUNCTION oparg (#105215)Jelle Zijlstra2023-06-021-11/+8
|
* remove unused #includes of pycore_pymem.h (#105166)Irit Katriel2023-06-011-1/+0
|
* gh-105148: make _PyASTOptimizeState internal to ast_opt.c (#105149)Irit Katriel2023-05-311-5/+1
|
* gh-104656: Rename typeparams AST node to type_params (#104657)Jelle Zijlstra2023-05-221-36/+36
|
* gh-104686: Fix tracing for decorated classes (#104708)Jelle Zijlstra2023-05-211-0/+4
|
* gh-104619: never leak comprehension locals to outer locals() (#104637)Carl Meyer2023-05-191-21/+19
|
* gh-104602: ensure all cellvars are known up front (#104603)Carl Meyer2023-05-191-1/+1
| | | Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
* gh-104615: don't make unsafe swaps in apply_static_swaps (#104620)Carl Meyer2023-05-181-2/+2
|
* gh-104374: Remove access to class scopes for inlined comprehensions (#104528)Jelle Zijlstra2023-05-181-5/+15
| | | Co-authored-by: Carl Meyer <carl@oddbird.net>
* gh-103865: add monitoring support to LOAD_SUPER_ATTR (#103866)Carl Meyer2023-05-161-0/+4
|
* gh-103763: Implement PEP 695 (#103764)Jelle Zijlstra2023-05-161-103/+520
| | | | | | | | | | | | | | 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>
* gh-104482: Fix error handling bugs in ast.c (#104483)Irit Katriel2023-05-151-0/+1
|
* gh-104377: fix cell in comprehension that is free in outer scope (#104394)Carl Meyer2023-05-111-3/+12
|
* gh-97933: (PEP 709) inline list/dict/set comprehensions (#101441)Carl Meyer2023-05-091-75/+288
| | | | Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com> Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
* gh-104240: return code unit metadata from codegen (#104300)Irit Katriel2023-05-091-3/+47
|
* gh-104240: make _PyCompile_CodeGen support different compilation modes (#104241)Irit Katriel2023-05-071-2/+6
|
* gh-87092: Expose assembler to unit tests (#103988)Irit Katriel2023-05-011-33/+88
|
* gh-87092: change assembler to use instruction sequence instead of CFG (#103933)Irit Katriel2023-04-291-13/+27
|
* gh-87729: add LOAD_SUPER_ATTR instruction for faster super() (#103497)Carl Meyer2023-04-241-3/+125
| | | | | 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.
* gh-103492: Clarify SyntaxWarning with literal comparison (#103493)Shantanu2023-04-241-4/+12
|
* gh-101517: fix line number propagation in code generated for except* (#103550)Irit Katriel2023-04-241-12/+20
|
* gh-87092: fix a few cases of incorrect error handling in compiler (#103456)Irit Katriel2023-04-241-9/+23
| | | gh-87092: fix a few cases of incorrect error handling
* GH-103082: Implementation of PEP 669: Low Impact Monitoring for CPython ↵Mark Shannon2023-04-121-2/+1
| | | | | | | | | | (GH-103083) * The majority of the monitoring code is in instrumentation.c * The new instrumentation bytecodes are in bytecodes.c * legacy_tracing.c adapts the new API to the old sys.setrace and sys.setprofile APIs
* gh-87092: fix refleak in peepholer test harness (#103448)Irit Katriel2023-04-111-4/+0
|