summaryrefslogtreecommitdiffstats
path: root/Python/optimizer.c
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2024-06-26 13:35:19 (GMT)
committerGitHub <noreply@github.com>2024-06-26 13:35:19 (GMT)
commite26e0985d94f1b9812cf41f043df89185f247945 (patch)
tree822ec897f9914e88f83e7d2821bcb0d45ce2a275 /Python/optimizer.c
parent6bc7e2cca546c11e2b807068a4a612d0d902da11 (diff)
downloadcpython-e26e0985d94f1b9812cf41f043df89185f247945.zip
cpython-e26e0985d94f1b9812cf41f043df89185f247945.tar.gz
cpython-e26e0985d94f1b9812cf41f043df89185f247945.tar.bz2
[3.13] gh-120642: Move private PyCode APIs to the internal C API (#120643) (#121043)
gh-120642: Move private PyCode APIs to the internal C API (#120643) * Move _Py_CODEUNIT and related functions to pycore_code.h. * Move _Py_BackoffCounter to pycore_backoff.h. * Move Include/cpython/optimizer.h content to pycore_optimizer.h. * Remove Include/cpython/optimizer.h. * Remove PyUnstable_Replace_Executor(). Rename functions: * PyUnstable_GetExecutor() => _Py_GetExecutor() * PyUnstable_GetOptimizer() => _Py_GetOptimizer() * PyUnstable_SetOptimizer() => _Py_SetTier2Optimizer() * PyUnstable_Optimizer_NewCounter() => _PyOptimizer_NewCounter() * PyUnstable_Optimizer_NewUOpOptimizer() => _PyOptimizer_NewUOpOptimizer() (cherry picked from commit 9e4a81f00fef689c6e18a64245aa064eaadc7ac7)
Diffstat (limited to 'Python/optimizer.c')
-rw-r--r--Python/optimizer.c23
1 files changed, 5 insertions, 18 deletions
diff --git a/Python/optimizer.c b/Python/optimizer.c
index 9dddc43..50ab71c 100644
--- a/Python/optimizer.c
+++ b/Python/optimizer.c
@@ -12,7 +12,6 @@
#include "pycore_pystate.h" // _PyInterpreterState_GET()
#include "pycore_uop_ids.h"
#include "pycore_jit.h"
-#include "cpython/optimizer.h"
#include <stdbool.h>
#include <stdint.h>
#include <stddef.h>
@@ -105,18 +104,6 @@ insert_executor(PyCodeObject *code, _Py_CODEUNIT *instr, int index, _PyExecutorO
instr->op.arg = index;
}
-int
-PyUnstable_Replace_Executor(PyCodeObject *code, _Py_CODEUNIT *instr, _PyExecutorObject *new)
-{
- if (instr->op.code != ENTER_EXECUTOR) {
- PyErr_Format(PyExc_ValueError, "No executor to replace");
- return -1;
- }
- int index = instr->op.arg;
- assert(index >= 0);
- insert_executor(code, instr, index, new);
- return 0;
-}
static int
never_optimize(
@@ -144,7 +131,7 @@ static _PyOptimizerObject _PyOptimizer_Default = {
};
_PyOptimizerObject *
-PyUnstable_GetOptimizer(void)
+_Py_GetOptimizer(void)
{
PyInterpreterState *interp = _PyInterpreterState_GET();
if (interp->optimizer == &_PyOptimizer_Default) {
@@ -195,7 +182,7 @@ _Py_SetOptimizer(PyInterpreterState *interp, _PyOptimizerObject *optimizer)
}
int
-PyUnstable_SetOptimizer(_PyOptimizerObject *optimizer)
+_Py_SetTier2Optimizer(_PyOptimizerObject *optimizer)
{
PyInterpreterState *interp = _PyInterpreterState_GET();
_PyOptimizerObject *old = _Py_SetOptimizer(interp, optimizer);
@@ -240,7 +227,7 @@ _PyOptimizer_Optimize(
}
_PyExecutorObject *
-PyUnstable_GetExecutor(PyCodeObject *code, int offset)
+_Py_GetExecutor(PyCodeObject *code, int offset)
{
int code_len = (int)Py_SIZE(code);
for (int i = 0 ; i < code_len;) {
@@ -1349,7 +1336,7 @@ PyTypeObject _PyUOpOptimizer_Type = {
};
PyObject *
-PyUnstable_Optimizer_NewUOpOptimizer(void)
+_PyOptimizer_NewUOpOptimizer(void)
{
_PyOptimizerObject *opt = PyObject_New(_PyOptimizerObject, &_PyUOpOptimizer_Type);
if (opt == NULL) {
@@ -1437,7 +1424,7 @@ PyTypeObject _PyCounterOptimizer_Type = {
};
PyObject *
-PyUnstable_Optimizer_NewCounter(void)
+_PyOptimizer_NewCounter(void)
{
_PyCounterOptimizerObject *opt = (_PyCounterOptimizerObject *)_PyObject_New(&_PyCounterOptimizer_Type);
if (opt == NULL) {