diff options
author | Mark Shannon <mark@hotpy.org> | 2022-12-09 12:18:45 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-09 12:18:45 (GMT) |
commit | fb713b21833a17cba8022af0fa4c486512157d4b (patch) | |
tree | 2e75f1e59393160792f1097846a648ff7927de8d /Include | |
parent | 3c5355496b54fa0a4ea0e22344d008528e45682c (diff) | |
download | cpython-fb713b21833a17cba8022af0fa4c486512157d4b.zip cpython-fb713b21833a17cba8022af0fa4c486512157d4b.tar.gz cpython-fb713b21833a17cba8022af0fa4c486512157d4b.tar.bz2 |
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.
Diffstat (limited to 'Include')
-rw-r--r-- | Include/cpython/code.h | 1 | ||||
-rw-r--r-- | Include/internal/pycore_code.h | 2 |
2 files changed, 3 insertions, 0 deletions
diff --git a/Include/cpython/code.h b/Include/cpython/code.h index f11d099..fc7c5ed 100644 --- a/Include/cpython/code.h +++ b/Include/cpython/code.h @@ -87,6 +87,7 @@ typedef struct { int co_nplaincellvars; /* number of non-arg cell variables */ \ int co_ncellvars; /* total number of cell variables */ \ int co_nfreevars; /* number of free variables */ \ + uint32_t co_version; /* version number */ \ \ PyObject *co_localsplusnames; /* tuple mapping offsets to names */ \ PyObject *co_localspluskinds; /* Bytes mapping to local kinds (one byte \ diff --git a/Include/internal/pycore_code.h b/Include/internal/pycore_code.h index 357fc85..f22fd45 100644 --- a/Include/internal/pycore_code.h +++ b/Include/internal/pycore_code.h @@ -474,6 +474,8 @@ typedef struct _PyShimCodeDef { extern PyCodeObject * _Py_MakeShimCode(const _PyShimCodeDef *code); +extern uint32_t _Py_next_func_version; + #ifdef __cplusplus } |