Skip to content

Commit 464fc8d

Browse files
committed
Update code for the JIT compiler
1 parent 0788b3c commit 464fc8d

File tree

6 files changed

+10
-11
lines changed

6 files changed

+10
-11
lines changed

Include/internal/pycore_optimizer.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,8 @@ typedef struct {
106106
_PyOptimizerObject *_Py_SetOptimizer(PyInterpreterState *interp, _PyOptimizerObject* optimizer);
107107

108108

109-
extern _PyExecutorObject* _Py_GetExecutor(PyCodeObject *code, int offset);
109+
// Export for '_opcode' shared extension (JIT compiler).
110+
PyAPI_FUNC(_PyExecutorObject*) _Py_GetExecutor(PyCodeObject *code, int offset);
110111

111112
void _Py_ExecutorInit(_PyExecutorObject *, const _PyBloomFilter *);
112113
void _Py_ExecutorDetach(_PyExecutorObject *);
@@ -138,7 +139,7 @@ PyAPI_FUNC(void) _Py_Executors_InvalidateAll(PyInterpreterState *interp, int is_
138139

139140
#define TRACE_STACK_SIZE 5
140141

141-
int _Py_uop_analyze_and_optimize(_PyInterpreterFrame *frame,
142+
int _Py_uop_analyze_and_optimize(struct _PyInterpreterFrame *frame,
142143
_PyUOpInstruction *trace, int trace_len, int curr_stackentries,
143144
_PyBloomFilter *dependencies);
144145

@@ -270,7 +271,7 @@ extern int _Py_uop_frame_pop(_Py_UOpsContext *ctx);
270271

271272
PyAPI_FUNC(PyObject *) _Py_uop_symbols_test(PyObject *self, PyObject *ignored);
272273

273-
PyAPI_FUNC(int) _PyOptimizer_Optimize(_PyInterpreterFrame *frame, _Py_CODEUNIT *start, PyObject **stack_pointer, _PyExecutorObject **exec_ptr);
274+
PyAPI_FUNC(int) _PyOptimizer_Optimize(struct _PyInterpreterFrame *frame, _Py_CODEUNIT *start, PyObject **stack_pointer, _PyExecutorObject **exec_ptr);
274275

275276
#ifdef __cplusplus
276277
}

Modules/_opcode.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,10 @@
55
#include "Python.h"
66
#include "compile.h"
77
#include "opcode.h"
8-
#include "internal/pycore_code.h"
9-
#include "internal/pycore_compile.h"
10-
#include "internal/pycore_intrinsics.h"
8+
#include "pycore_code.h"
9+
#include "pycore_compile.h"
10+
#include "pycore_intrinsics.h"
11+
#include "pycore_optimizer.h" // _Py_GetExecutor()
1112

1213
/*[clinic input]
1314
module _opcode

Python/optimizer.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
#include "pycore_pystate.h" // _PyInterpreterState_GET()
1313
#include "pycore_uop_ids.h"
1414
#include "pycore_jit.h"
15-
#include "cpython/optimizer.h"
1615
#include <stdbool.h>
1716
#include <stdint.h>
1817
#include <stddef.h>

Python/optimizer_analysis.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
#include "pycore_uop_metadata.h"
2222
#include "pycore_dict.h"
2323
#include "pycore_long.h"
24-
#include "cpython/optimizer.h"
2524
#include "pycore_optimizer.h"
2625
#include "pycore_object.h"
2726
#include "pycore_dict.h"

Python/optimizer_symbols.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
#include "Python.h"
44

5-
#include "cpython/optimizer.h"
65
#include "pycore_code.h"
76
#include "pycore_frame.h"
87
#include "pycore_long.h"

Python/pylifecycle.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1298,11 +1298,11 @@ init_interp_main(PyThreadState *tstate)
12981298
enabled = *env != '0';
12991299
}
13001300
if (enabled) {
1301-
PyObject *opt = PyUnstable_Optimizer_NewUOpOptimizer();
1301+
PyObject *opt = _PyOptimizer_NewUOpOptimizer();
13021302
if (opt == NULL) {
13031303
return _PyStatus_ERR("can't initialize optimizer");
13041304
}
1305-
if (PyUnstable_SetOptimizer((_PyOptimizerObject *)opt)) {
1305+
if (_Py_SetOptimizerAPI((_PyOptimizerObject *)opt)) {
13061306
return _PyStatus_ERR("can't install optimizer");
13071307
}
13081308
Py_DECREF(opt);

0 commit comments

Comments
 (0)