Mark Shannon
c1b1f51cd1
GH-101291: Refactor the `PyLongObject` struct into object header and PyLongValue struct. (GH-101292)
2023-01-30 10:03:04 +00:00
Guido van Rossum
f5a3d91b6c
gh-98831: Support conditional effects; use for LOAD_ATTR ( #101333 )
2023-01-29 17:28:39 -08:00
Steve Dower
8d18d1ffd5
gh-99834: Update bundled copy of Tcl/Tk to 8.6.13.0 on Windows (GH-101307)
2023-01-26 20:47:24 +00:00
Guido van Rossum
9f2c479eaf
gh-98831: Fix two bugs in case generator ( #101349 )
...
Fix two bugs in case generator
- UndefinedLocalError when generating metadata for an 'op'
- Accidental newline inserted in test_generator.py
2023-01-26 09:15:05 -08:00
Irit Katriel
b400219df5
gh-98831: rewrite RAISE_VARARGS in the instruction definition DSL ( #101306 )
2023-01-25 22:29:56 +00:00
Irit Katriel
19f90d6b97
gh-98831: add variable stack effect support to cases generator ( #101309 )
2023-01-25 20:41:03 +00:00
Guido van Rossum
1417712812
Add advice how to freeze fewer modules ( #101298 )
...
(And fix a bug that only occurs when you follow the advice.)
2023-01-25 09:28:14 -08:00
Guido van Rossum
395871e511
GH-98831: Elaborate some cases_generator tests ( #101299 )
...
* Make macro test more elaborate
* Add test for 'register inst()'
2023-01-25 08:55:46 -08:00
Irit Katriel
1a9d8c750b
gh-98831: rewrite pattern matching opcodes in the instruction definition DSL ( #101287 )
2023-01-24 22:39:13 +00:00
Erlend E. Aasland
00d092caa8
GH-91375: Purge `asyncio` static variables from globals-to-fix list ( #101288 )
2023-01-24 20:37:27 +05:30
Erlend E. Aasland
13566a37c2
GH-92123: Move _elementtree heap types to module state ( #101187 )
2023-01-21 12:01:15 +01:00
Irit Katriel
8a2d4f4e8e
gh-98831: register instructions have 0 pushes and pops ( #101163 )
2023-01-19 21:02:56 +00:00
Irit Katriel
e9ccfe4a63
gh-100712: make it possible to disable specialization (for debugging) ( #100713 )
2023-01-19 18:14:55 +00:00
Kushal Das
75c8133efe
gh-100340: Allows -Wno-int-conversion for wasm ( #100341 )
...
Fixes #100340 allows -Wno-int-conversion for wasm
2023-01-18 19:43:49 +01:00
Zac Hatfield-Dodds
48ec678287
Fix typo and old link in wasm readme ( #101096 )
2023-01-17 16:06:38 -08:00
Guido van Rossum
80e3e3423c
GH-98831: Implement array support in cases generator ( #100912 )
...
You can now write things like this:
```
inst(BUILD_STRING, (pieces[oparg] -- str)) { ... }
inst(LIST_APPEND, (list, unused[oparg-1], v -- list, unused[oparg-1])) { ... }
```
Note that array output effects are only partially supported (they must be named `unused` or correspond to an input effect).
2023-01-17 15:59:19 -08:00
Pablo Galindo Salgado
1de4395f62
gh-101046: Fix a potential memory leak in the parser when raising MemoryError ( #101051 )
2023-01-16 18:45:37 +00:00
Mark Shannon
7b14c2ef19
GH-100982: Add `COMPARE_AND_BRANCH` instruction (GH-100983)
2023-01-16 12:35:21 +00:00
Guido van Rossum
5134ef4878
GH-98831: Identify instructions that don't use oparg ( #100957 )
...
For these the instr_format field uses IX instead of IB.
Register instructions use IX, IB, IBBX, IBBB, etc.
Also: Include the closing '}' in Block.tokens, for completeness
2023-01-13 17:06:45 -08:00
Mark Shannon
c00eb1eae6
Don't double count misses. (GH-100984)
2023-01-13 15:57:39 +00:00
Eric Snow
b511d3512b
GH-100997: Implement Multi-Phase Init for the _testinternalcapi Module (gh-100998)
...
_testinternalcapi is an internal module used for testing.
https://github.com/python/cpython/issues/100997
2023-01-12 13:42:03 -07:00
Guido van Rossum
3f3c78e32f
GH-98831: Refactor instr format code and change to enum ( #100895 )
2023-01-09 15:53:01 -08:00
Guido van Rossum
9ffbc58f5c
GH-98831: Add some tests for generate_cases.py ( #100763 )
...
- This doesn't cover everything (far from it) but it's a start.
- This uses pytest, which isn't ideal, but was quickest to get started.
Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
2023-01-06 08:04:20 -08:00
Guido van Rossum
14b7f00fdf
GH-98831: Update generate_cases.py: register inst, opcode_metadata.h ( #100735 )
...
(These aren't used yet, but may be coming soon,
and it's easier to keep this tool the same between branches.)
Added a sanity check for all this to compile.c.
Co-authored-by: Irit Katriel <iritkatriel@yahoo.com>
2023-01-05 13:01:07 -08:00
Mark Shannon
15aecf8dd7
GH-100719: Remove the `co_nplaincellvars` field from code objects. (GH-100721)
2023-01-04 15:41:39 +00:00
Irit Katriel
c31e356a10
gh-100720: refactor calculation of number of frame slots for a code object into the new function _PyFrame_NumSlotsForCodeObject ( #100722 )
2023-01-04 13:37:06 +00:00
Eli Schwartz
8586949833
gh-89419: gdb: fix bug causing `AttributeError` in py-locals when no frame is available ( #100611 )
2023-01-03 20:26:57 +05:30
Zachary Ware
2df82db485
gh-100540: Remove obsolete Modules/_ctypes/darwin/ dlfcn shim (GH-100541)
...
As far as I can tell, this hasn't been actually used since Mac OS X 10.2.
2022-12-29 16:13:28 -06:00
Zachary Ware
025b5c3780
gh-100540: Remove unused Modules/_ctypes/libffi_osx/ (GH-100543)
...
It was an ancient, modified copy of libffi that has not been in use
since GH-22855.
2022-12-28 13:38:52 -06:00
Nikita Sobolev
3da71ff0f2
Fix copy-paste error in `Tools/clinic.py` ( #100560 )
2022-12-28 09:57:57 +05:30
Kumar Aditya
7cf164ad5e
GH-100342: check for allocation failure in AC `*args` parsing ( #100343 )
2022-12-28 09:46:28 +05:30
Guido van Rossum
08e5594cf3
GH-98831: Modernize a ton of simpler instructions ( #100545 )
...
* load_const and load_fast aren't families for now
* Don't decref unmoved names
* Modernize GET_ANEXT
* Modernize GET_AWAITABLE
* Modernize ASYNC_GEN_WRAP
* Modernize YIELD_VALUE
* Modernize POP_EXCEPT (in more than one way)
* Modernize PREP_RERAISE_STAR
* Modernize LOAD_ASSERTION_ERROR
* Modernize LOAD_BUILD_CLASS
* Modernize STORE_NAME
* Modernize LOAD_NAME
* Modernize LOAD_CLASSDEREF
* Modernize LOAD_DEREF
* Modernize STORE_DEREF
* Modernize COPY_FREE_VARS (mark it as done)
* Modernize LIST_TO_TUPLE
* Modernize LIST_EXTEND
* Modernize SET_UPDATE
* Modernize SETUP_ANNOTATIONS
* Modernize DICT_UPDATE
* Modernize DICT_MERGE
* Modernize MAP_ADD
* Modernize IS_OP
* Modernize CONTAINS_OP
* Modernize CHECK_EXC_MATCH
* Modernize IMPORT_NAME
* Modernize IMPORT_STAR
* Modernize IMPORT_FROM
* Modernize JUMP_FORWARD (mark it as done)
* Modernize JUMP_BACKWARD (mark it as done)
2022-12-27 17:11:03 -08:00
Nikita Sobolev
b0ea28913e
Remove `NoneType` redefinition from `clinic.py` ( #100551 )
2022-12-27 21:41:39 +05:30
Illia Volochii
a23cb72ac8
gh-100454: Start running SSL tests with OpenSSL 3.1.0-beta1 ( #100456 )
2022-12-23 18:04:20 -08:00
penguin_wwy
a02161286a
GH-99770: Make the correct call specialization fail kind show up in the stats (GH-99771)
2022-12-22 12:44:59 +00:00
Guido van Rossum
9cdd2fa63b
GH-98831: Add DECREF_INPUTS(), expanding to DECREF() each stack input ( #100205 )
...
The presence of this macro indicates that a particular instruction
may be considered for conversion to a register-based format
(see https://github.com/faster-cpython/ideas/issues/485 ).
An invariant (currently unchecked) is that `DEOPT_IF()` may only
occur *before* `DECREF_INPUTS()`, and `ERROR_IF()` may only occur
*after* it. One reason not to check this is that there are a few
places where we insert *two* `DECREF_INPUTS()` calls, in different
branches of the code. The invariant checking would have to be able
to do some flow control analysis to understand this.
Note that many instructions, especially specialized ones,
can't be converted to use this macro straightforwardly.
This is because the generator currently only generates plain
`Py_DECREF(variable)` statements, and cannot generate
things like `_Py_DECREF_SPECIALIZED()` let alone deal with
`_PyList_AppendTakeRef()`.
2022-12-16 20:45:55 -08:00
Eric Snow
0415cf895f
gh-81057: Move the Cached Parser Dummy Name to _PyRuntimeState ( #100277 )
2022-12-16 13:48:03 +00:00
Mark Shannon
5693f45b19
Assorted minor fixes for specialization stats. (GH-100219)
2022-12-14 15:50:02 +00:00
Mark Shannon
6997e77bdf
GH-100222: Redefine _Py_CODEUNIT as a union to clarify structure of code unit. (GH-100223)
2022-12-14 11:12:53 +00:00
Eric Snow
0e081a089e
gh-81057: Move _Py_RefTotal to the "Ignored Globals" List (gh-100203)
...
We can't move it to _PyRuntimeState because the symbol is exposed in the stable ABI. We'll have to sort that out before a per-interpreter GIL, but it shouldn't be too hard.
https://github.com/python/cpython/issues/81057
2022-12-12 16:51:27 -07:00
Eric Snow
5eb28bca9f
gh-81057: Move Signal-Related Globals to _PyRuntimeState (gh-100085)
...
https://github.com/python/cpython/issues/81057
2022-12-12 16:50:19 -07:00
Eric Snow
53d9cd95cd
gh-81057: Move faulthandler Globals to _PyRuntimeState (gh-100152)
...
https://github.com/python/cpython/issues/81057
2022-12-12 09:58:46 -07:00
Eric Snow
8790d4d31f
gh-81057: Move tracemalloc Globals to _PyRuntimeState (gh-100151)
...
https://github.com/python/cpython/issues/81057
2022-12-12 08:44:23 -07:00
Michael Droettboom
1583c6e326
GH-100143: Improve collecting pystats for parts of runs (GH-100144)
...
* pystats off by default
* Add -Xpystats flag
* Always dump pystats, even if turned off
2022-12-12 14:50:43 +00:00
Shantanu
621a1790c4
gh-100176: remove incorrect version compatibility check from argument clinic ( #100190 )
2022-12-12 17:22:12 +05:30
Mark Shannon
fb713b2183
GH-98522: Add version number to code objects. (GH-98525)
...
* Add version number to code object for better versioning of functions.
* Improves specialization for closures and list comprehensions.
2022-12-09 12:18:45 +00:00
Eric Snow
1160001b34
gh-81057: Move Threading-Related Globals to _PyRuntimeState ( #100084 )
...
https://github.com/python/cpython/issues/81057
2022-12-08 17:50:58 -07:00
Eric Snow
bc8cdf8c3d
gh-81057: Move Ceval Trampoline Globals to _PyRuntimeState (gh-100083)
...
https://github.com/python/cpython/issues/81057
2022-12-08 17:17:20 -07:00
Guido van Rossum
1cfa704f64
GH-98831: Generate things in the input order ( #100123 )
...
This makes it easier to see what changed in the generated code
when converting an instruction to super or macro.
2022-12-08 15:54:07 -08:00
Eric Snow
8a3f06c54b
gh-81057: Move time Globals to _PyRuntimeState (gh-100122)
...
https://github.com/python/cpython/issues/81057
2022-12-08 16:46:09 -07:00