]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-144991: Use runtime JIT threshold in _testinternalcapi (gh-145496)
authorDonghee Na <donghee.na@python.org>
Thu, 5 Mar 2026 00:07:47 +0000 (09:07 +0900)
committerGitHub <noreply@github.com>
Thu, 5 Mar 2026 00:07:47 +0000 (09:07 +0900)
Include/internal/pycore_interp_structs.h
Modules/_testinternalcapi.c

index 1e69c64bcd1fc07fc300c54e4df3da25b3691e92..776fb9575c2365b028c8dbca47159f9fe9235fd5 100644 (file)
@@ -496,7 +496,7 @@ struct _py_func_state {
 
 /* For now we hard-code this to a value for which we are confident
    all the static builtin types will fit (for all builds). */
-#define _Py_MAX_MANAGED_STATIC_BUILTIN_TYPES 201
+#define _Py_MAX_MANAGED_STATIC_BUILTIN_TYPES 202
 #define _Py_MAX_MANAGED_STATIC_EXT_TYPES 10
 #define _Py_MAX_MANAGED_STATIC_TYPES \
     (_Py_MAX_MANAGED_STATIC_BUILTIN_TYPES + _Py_MAX_MANAGED_STATIC_EXT_TYPES)
index 998bf5e592e8ee0f01ee2560678e6c068f7c4d65..b6ed0b8902354e4ee1542773c9d550c8931d94d9 100644 (file)
@@ -2970,6 +2970,8 @@ static PyMethodDef module_functions[] = {
 static int
 module_exec(PyObject *module)
 {
+    PyInterpreterState *interp = PyInterpreterState_Get();
+
     if (_PyTestInternalCapi_Init_Lock(module) < 0) {
         return 1;
     }
@@ -3011,9 +3013,10 @@ module_exec(PyObject *module)
         return 1;
     }
 
+    // + 1 more due to one loop spent on tracing.
+    unsigned long threshold = interp->opt_config.jump_backward_initial_value + 2;
     if (PyModule_Add(module, "TIER2_THRESHOLD",
-        // + 1 more due to one loop spent on tracing.
-                        PyLong_FromLong(JUMP_BACKWARD_INITIAL_VALUE + 2)) < 0) {
+                        PyLong_FromUnsignedLong(threshold)) < 0) {
         return 1;
     }