summaryrefslogtreecommitdiffstats
path: root/Include
diff options
context:
space:
mode:
authorMark Shannon <mark@hotpy.org>2022-12-09 12:18:45 (GMT)
committerGitHub <noreply@github.com>2022-12-09 12:18:45 (GMT)
commitfb713b21833a17cba8022af0fa4c486512157d4b (patch)
tree2e75f1e59393160792f1097846a648ff7927de8d /Include
parent3c5355496b54fa0a4ea0e22344d008528e45682c (diff)
downloadcpython-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.h1
-rw-r--r--Include/internal/pycore_code.h2
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
}