aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Python/optimizer.c
diff options
context:
space:
mode:
Diffstat (limited to 'Python/optimizer.c')
-rw-r--r--Python/optimizer.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/Python/optimizer.c b/Python/optimizer.c
index 2c1be61f8d6..d2fdca59fe4 100644
--- a/Python/optimizer.c
+++ b/Python/optimizer.c
@@ -532,7 +532,7 @@ uop_optimize(
return trace_length;
}
OBJECT_STAT_INC(optimization_traces_created);
- _PyUOpExecutorObject *executor = (_PyUOpExecutorObject *)_PyObject_New(&UOpExecutor_Type);
+ _PyUOpExecutorObject *executor = PyObject_New(_PyUOpExecutorObject, &UOpExecutor_Type);
if (executor == NULL) {
return -1;
}
@@ -542,18 +542,24 @@ uop_optimize(
return 1;
}
+static void
+uop_opt_dealloc(PyObject *self) {
+ PyObject_Free(self);
+}
+
static PyTypeObject UOpOptimizer_Type = {
PyVarObject_HEAD_INIT(&PyType_Type, 0)
.tp_name = "uop_optimizer",
.tp_basicsize = sizeof(_PyOptimizerObject),
.tp_itemsize = 0,
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_DISALLOW_INSTANTIATION,
+ .tp_dealloc = uop_opt_dealloc,
};
PyObject *
PyUnstable_Optimizer_NewUOpOptimizer(void)
{
- _PyOptimizerObject *opt = (_PyOptimizerObject *)_PyObject_New(&UOpOptimizer_Type);
+ _PyOptimizerObject *opt = PyObject_New(_PyOptimizerObject, &UOpOptimizer_Type);
if (opt == NULL) {
return NULL;
}