summaryrefslogtreecommitdiffstats
path: root/contrib/tools/python3/Include/internal/pycore_context.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/tools/python3/Include/internal/pycore_context.h')
-rw-r--r--contrib/tools/python3/Include/internal/pycore_context.h28
1 files changed, 9 insertions, 19 deletions
diff --git a/contrib/tools/python3/Include/internal/pycore_context.h b/contrib/tools/python3/Include/internal/pycore_context.h
index 52dfe3ef233..10c1f1e52be 100644
--- a/contrib/tools/python3/Include/internal/pycore_context.h
+++ b/contrib/tools/python3/Include/internal/pycore_context.h
@@ -5,7 +5,8 @@
# error "this header requires Py_BUILD_CORE define"
#endif
-#include "pycore_hamt.h" /* PyHamtObject */
+#include "pycore_freelist.h" // _PyFreeListState
+#include "pycore_hamt.h" // PyHamtObject
extern PyTypeObject _PyContextTokenMissing_Type;
@@ -13,7 +14,6 @@ extern PyTypeObject _PyContextTokenMissing_Type;
/* runtime lifecycle */
PyStatus _PyContext_Init(PyInterpreterState *);
-void _PyContext_Fini(PyInterpreterState *);
/* other API */
@@ -22,23 +22,6 @@ typedef struct {
PyObject_HEAD
} _PyContextTokenMissing;
-#ifndef WITH_FREELISTS
-// without freelists
-# define PyContext_MAXFREELIST 0
-#endif
-
-#ifndef PyContext_MAXFREELIST
-# define PyContext_MAXFREELIST 255
-#endif
-
-struct _Py_context_state {
-#if PyContext_MAXFREELIST > 0
- // List of free PyContext objects
- PyContext *freelist;
- int numfree;
-#endif
-};
-
struct _pycontextobject {
PyObject_HEAD
PyContext *ctx_prev;
@@ -52,9 +35,11 @@ struct _pycontextvarobject {
PyObject_HEAD
PyObject *var_name;
PyObject *var_default;
+#ifndef Py_GIL_DISABLED
PyObject *var_cached;
uint64_t var_cached_tsid;
uint64_t var_cached_tsver;
+#endif
Py_hash_t var_hash;
};
@@ -68,4 +53,9 @@ struct _pycontexttokenobject {
};
+// _testinternalcapi.hamt() used by tests.
+// Export for '_testcapi' shared extension
+PyAPI_FUNC(PyObject*) _PyContext_NewHamtForTests(void);
+
+
#endif /* !Py_INTERNAL_CONTEXT_H */