1010#include "pycore_compile.h"
1111#include "pycore_intrinsics.h"
1212#include "pycore_optimizer.h" // _Py_GetExecutor()
13+ #include "pycore_opcode_metadata.h" // IS_VALID_OPCODE, OPCODE_HAS_*, etc
14+ #include "pycore_opcode_utils.h"
1315
1416/*[clinic input]
1517module _opcode
@@ -81,7 +83,7 @@ static int
8183_opcode_is_valid_impl (PyObject * module , int opcode )
8284/*[clinic end generated code: output=b0d918ea1d073f65 input=fe23e0aa194ddae0]*/
8385{
84- return _PyCompile_OpcodeIsValid (opcode );
86+ return IS_VALID_OPCODE (opcode );
8587}
8688
8789/*[clinic input]
@@ -97,8 +99,7 @@ static int
9799_opcode_has_arg_impl (PyObject * module , int opcode )
98100/*[clinic end generated code: output=7a062d3b2dcc0815 input=93d878ba6361db5f]*/
99101{
100- return _PyCompile_OpcodeIsValid (opcode ) &&
101- _PyCompile_OpcodeHasArg (opcode );
102+ return IS_VALID_OPCODE (opcode ) && OPCODE_HAS_ARG (opcode );
102103}
103104
104105/*[clinic input]
@@ -114,8 +115,7 @@ static int
114115_opcode_has_const_impl (PyObject * module , int opcode )
115116/*[clinic end generated code: output=c646d5027c634120 input=a6999e4cf13f9410]*/
116117{
117- return _PyCompile_OpcodeIsValid (opcode ) &&
118- _PyCompile_OpcodeHasConst (opcode );
118+ return IS_VALID_OPCODE (opcode ) && OPCODE_HAS_CONST (opcode );
119119}
120120
121121/*[clinic input]
@@ -131,8 +131,7 @@ static int
131131_opcode_has_name_impl (PyObject * module , int opcode )
132132/*[clinic end generated code: output=b49a83555c2fa517 input=448aa5e4bcc947ba]*/
133133{
134- return _PyCompile_OpcodeIsValid (opcode ) &&
135- _PyCompile_OpcodeHasName (opcode );
134+ return IS_VALID_OPCODE (opcode ) && OPCODE_HAS_NAME (opcode );
136135}
137136
138137/*[clinic input]
@@ -148,9 +147,7 @@ static int
148147_opcode_has_jump_impl (PyObject * module , int opcode )
149148/*[clinic end generated code: output=e9c583c669f1c46a input=35f711274357a0c3]*/
150149{
151- return _PyCompile_OpcodeIsValid (opcode ) &&
152- _PyCompile_OpcodeHasJump (opcode );
153-
150+ return IS_VALID_OPCODE (opcode ) && OPCODE_HAS_JUMP (opcode );
154151}
155152
156153/*[clinic input]
@@ -171,9 +168,7 @@ static int
171168_opcode_has_free_impl (PyObject * module , int opcode )
172169/*[clinic end generated code: output=d81ae4d79af0ee26 input=117dcd5c19c1139b]*/
173170{
174- return _PyCompile_OpcodeIsValid (opcode ) &&
175- _PyCompile_OpcodeHasFree (opcode );
176-
171+ return IS_VALID_OPCODE (opcode ) && OPCODE_HAS_FREE (opcode );
177172}
178173
179174/*[clinic input]
@@ -189,8 +184,7 @@ static int
189184_opcode_has_local_impl (PyObject * module , int opcode )
190185/*[clinic end generated code: output=da5a8616b7a5097b input=9a798ee24aaef49d]*/
191186{
192- return _PyCompile_OpcodeIsValid (opcode ) &&
193- _PyCompile_OpcodeHasLocal (opcode );
187+ return IS_VALID_OPCODE (opcode ) && OPCODE_HAS_LOCAL (opcode );
194188}
195189
196190/*[clinic input]
@@ -206,8 +200,7 @@ static int
206200_opcode_has_exc_impl (PyObject * module , int opcode )
207201/*[clinic end generated code: output=41b68dff0ec82a52 input=db0e4bdb9bf13fa5]*/
208202{
209- return _PyCompile_OpcodeIsValid (opcode ) &&
210- _PyCompile_OpcodeHasExc (opcode );
203+ return IS_VALID_OPCODE (opcode ) && IS_BLOCK_PUSH_OPCODE (opcode );
211204}
212205
213206/*[clinic input]
@@ -424,7 +417,7 @@ opcode_functions[] = {
424417 {NULL , NULL , 0 , NULL }
425418};
426419
427- int
420+ static int
428421_opcode_exec (PyObject * m ) {
429422 if (PyModule_AddIntMacro (m , ENABLE_SPECIALIZATION ) < 0 ) {
430423 return -1 ;
0 commit comments