pycore_opcode.h 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587
  1. // Auto-generated by Tools/build/generate_opcode_h.py from Lib/opcode.py
  2. #ifndef Py_INTERNAL_OPCODE_H
  3. #define Py_INTERNAL_OPCODE_H
  4. #ifdef __cplusplus
  5. extern "C" {
  6. #endif
  7. #ifndef Py_BUILD_CORE
  8. # error "this header requires Py_BUILD_CORE define"
  9. #endif
  10. #include "opcode.h"
  11. extern const uint32_t _PyOpcode_Jump[9];
  12. extern const uint8_t _PyOpcode_Caches[256];
  13. extern const uint8_t _PyOpcode_Deopt[256];
  14. #ifdef NEED_OPCODE_TABLES
  15. const uint32_t _PyOpcode_Jump[9] = {
  16. 0U,
  17. 0U,
  18. 536870912U,
  19. 135020544U,
  20. 4163U,
  21. 0U,
  22. 0U,
  23. 0U,
  24. 48U,
  25. };
  26. const uint8_t _PyOpcode_Caches[256] = {
  27. [BINARY_SUBSCR] = 1,
  28. [STORE_SUBSCR] = 1,
  29. [UNPACK_SEQUENCE] = 1,
  30. [FOR_ITER] = 1,
  31. [STORE_ATTR] = 4,
  32. [LOAD_ATTR] = 9,
  33. [COMPARE_OP] = 1,
  34. [LOAD_GLOBAL] = 4,
  35. [BINARY_OP] = 1,
  36. [SEND] = 1,
  37. [LOAD_SUPER_ATTR] = 1,
  38. [CALL] = 3,
  39. };
  40. const uint8_t _PyOpcode_Deopt[256] = {
  41. [BEFORE_ASYNC_WITH] = BEFORE_ASYNC_WITH,
  42. [BEFORE_WITH] = BEFORE_WITH,
  43. [BINARY_OP] = BINARY_OP,
  44. [BINARY_OP_ADD_FLOAT] = BINARY_OP,
  45. [BINARY_OP_ADD_INT] = BINARY_OP,
  46. [BINARY_OP_ADD_UNICODE] = BINARY_OP,
  47. [BINARY_OP_INPLACE_ADD_UNICODE] = BINARY_OP,
  48. [BINARY_OP_MULTIPLY_FLOAT] = BINARY_OP,
  49. [BINARY_OP_MULTIPLY_INT] = BINARY_OP,
  50. [BINARY_OP_SUBTRACT_FLOAT] = BINARY_OP,
  51. [BINARY_OP_SUBTRACT_INT] = BINARY_OP,
  52. [BINARY_SLICE] = BINARY_SLICE,
  53. [BINARY_SUBSCR] = BINARY_SUBSCR,
  54. [BINARY_SUBSCR_DICT] = BINARY_SUBSCR,
  55. [BINARY_SUBSCR_GETITEM] = BINARY_SUBSCR,
  56. [BINARY_SUBSCR_LIST_INT] = BINARY_SUBSCR,
  57. [BINARY_SUBSCR_TUPLE_INT] = BINARY_SUBSCR,
  58. [BUILD_CONST_KEY_MAP] = BUILD_CONST_KEY_MAP,
  59. [BUILD_LIST] = BUILD_LIST,
  60. [BUILD_MAP] = BUILD_MAP,
  61. [BUILD_SET] = BUILD_SET,
  62. [BUILD_SLICE] = BUILD_SLICE,
  63. [BUILD_STRING] = BUILD_STRING,
  64. [BUILD_TUPLE] = BUILD_TUPLE,
  65. [CACHE] = CACHE,
  66. [CALL] = CALL,
  67. [CALL_BOUND_METHOD_EXACT_ARGS] = CALL,
  68. [CALL_BUILTIN_CLASS] = CALL,
  69. [CALL_BUILTIN_FAST_WITH_KEYWORDS] = CALL,
  70. [CALL_FUNCTION_EX] = CALL_FUNCTION_EX,
  71. [CALL_INTRINSIC_1] = CALL_INTRINSIC_1,
  72. [CALL_INTRINSIC_2] = CALL_INTRINSIC_2,
  73. [CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS] = CALL,
  74. [CALL_NO_KW_BUILTIN_FAST] = CALL,
  75. [CALL_NO_KW_BUILTIN_O] = CALL,
  76. [CALL_NO_KW_ISINSTANCE] = CALL,
  77. [CALL_NO_KW_LEN] = CALL,
  78. [CALL_NO_KW_LIST_APPEND] = CALL,
  79. [CALL_NO_KW_METHOD_DESCRIPTOR_FAST] = CALL,
  80. [CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS] = CALL,
  81. [CALL_NO_KW_METHOD_DESCRIPTOR_O] = CALL,
  82. [CALL_NO_KW_STR_1] = CALL,
  83. [CALL_NO_KW_TUPLE_1] = CALL,
  84. [CALL_NO_KW_TYPE_1] = CALL,
  85. [CALL_PY_EXACT_ARGS] = CALL,
  86. [CALL_PY_WITH_DEFAULTS] = CALL,
  87. [CHECK_EG_MATCH] = CHECK_EG_MATCH,
  88. [CHECK_EXC_MATCH] = CHECK_EXC_MATCH,
  89. [CLEANUP_THROW] = CLEANUP_THROW,
  90. [COMPARE_OP] = COMPARE_OP,
  91. [COMPARE_OP_FLOAT] = COMPARE_OP,
  92. [COMPARE_OP_INT] = COMPARE_OP,
  93. [COMPARE_OP_STR] = COMPARE_OP,
  94. [CONTAINS_OP] = CONTAINS_OP,
  95. [COPY] = COPY,
  96. [COPY_FREE_VARS] = COPY_FREE_VARS,
  97. [DELETE_ATTR] = DELETE_ATTR,
  98. [DELETE_DEREF] = DELETE_DEREF,
  99. [DELETE_FAST] = DELETE_FAST,
  100. [DELETE_GLOBAL] = DELETE_GLOBAL,
  101. [DELETE_NAME] = DELETE_NAME,
  102. [DELETE_SUBSCR] = DELETE_SUBSCR,
  103. [DICT_MERGE] = DICT_MERGE,
  104. [DICT_UPDATE] = DICT_UPDATE,
  105. [END_ASYNC_FOR] = END_ASYNC_FOR,
  106. [END_FOR] = END_FOR,
  107. [END_SEND] = END_SEND,
  108. [EXTENDED_ARG] = EXTENDED_ARG,
  109. [FORMAT_VALUE] = FORMAT_VALUE,
  110. [FOR_ITER] = FOR_ITER,
  111. [FOR_ITER_GEN] = FOR_ITER,
  112. [FOR_ITER_LIST] = FOR_ITER,
  113. [FOR_ITER_RANGE] = FOR_ITER,
  114. [FOR_ITER_TUPLE] = FOR_ITER,
  115. [GET_AITER] = GET_AITER,
  116. [GET_ANEXT] = GET_ANEXT,
  117. [GET_AWAITABLE] = GET_AWAITABLE,
  118. [GET_ITER] = GET_ITER,
  119. [GET_LEN] = GET_LEN,
  120. [GET_YIELD_FROM_ITER] = GET_YIELD_FROM_ITER,
  121. [IMPORT_FROM] = IMPORT_FROM,
  122. [IMPORT_NAME] = IMPORT_NAME,
  123. [INSTRUMENTED_CALL] = INSTRUMENTED_CALL,
  124. [INSTRUMENTED_CALL_FUNCTION_EX] = INSTRUMENTED_CALL_FUNCTION_EX,
  125. [INSTRUMENTED_END_FOR] = INSTRUMENTED_END_FOR,
  126. [INSTRUMENTED_END_SEND] = INSTRUMENTED_END_SEND,
  127. [INSTRUMENTED_FOR_ITER] = INSTRUMENTED_FOR_ITER,
  128. [INSTRUMENTED_INSTRUCTION] = INSTRUMENTED_INSTRUCTION,
  129. [INSTRUMENTED_JUMP_BACKWARD] = INSTRUMENTED_JUMP_BACKWARD,
  130. [INSTRUMENTED_JUMP_FORWARD] = INSTRUMENTED_JUMP_FORWARD,
  131. [INSTRUMENTED_LINE] = INSTRUMENTED_LINE,
  132. [INSTRUMENTED_LOAD_SUPER_ATTR] = INSTRUMENTED_LOAD_SUPER_ATTR,
  133. [INSTRUMENTED_POP_JUMP_IF_FALSE] = INSTRUMENTED_POP_JUMP_IF_FALSE,
  134. [INSTRUMENTED_POP_JUMP_IF_NONE] = INSTRUMENTED_POP_JUMP_IF_NONE,
  135. [INSTRUMENTED_POP_JUMP_IF_NOT_NONE] = INSTRUMENTED_POP_JUMP_IF_NOT_NONE,
  136. [INSTRUMENTED_POP_JUMP_IF_TRUE] = INSTRUMENTED_POP_JUMP_IF_TRUE,
  137. [INSTRUMENTED_RESUME] = INSTRUMENTED_RESUME,
  138. [INSTRUMENTED_RETURN_CONST] = INSTRUMENTED_RETURN_CONST,
  139. [INSTRUMENTED_RETURN_VALUE] = INSTRUMENTED_RETURN_VALUE,
  140. [INSTRUMENTED_YIELD_VALUE] = INSTRUMENTED_YIELD_VALUE,
  141. [INTERPRETER_EXIT] = INTERPRETER_EXIT,
  142. [IS_OP] = IS_OP,
  143. [JUMP_BACKWARD] = JUMP_BACKWARD,
  144. [JUMP_BACKWARD_NO_INTERRUPT] = JUMP_BACKWARD_NO_INTERRUPT,
  145. [JUMP_FORWARD] = JUMP_FORWARD,
  146. [KW_NAMES] = KW_NAMES,
  147. [LIST_APPEND] = LIST_APPEND,
  148. [LIST_EXTEND] = LIST_EXTEND,
  149. [LOAD_ASSERTION_ERROR] = LOAD_ASSERTION_ERROR,
  150. [LOAD_ATTR] = LOAD_ATTR,
  151. [LOAD_ATTR_CLASS] = LOAD_ATTR,
  152. [LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN] = LOAD_ATTR,
  153. [LOAD_ATTR_INSTANCE_VALUE] = LOAD_ATTR,
  154. [LOAD_ATTR_METHOD_LAZY_DICT] = LOAD_ATTR,
  155. [LOAD_ATTR_METHOD_NO_DICT] = LOAD_ATTR,
  156. [LOAD_ATTR_METHOD_WITH_VALUES] = LOAD_ATTR,
  157. [LOAD_ATTR_MODULE] = LOAD_ATTR,
  158. [LOAD_ATTR_PROPERTY] = LOAD_ATTR,
  159. [LOAD_ATTR_SLOT] = LOAD_ATTR,
  160. [LOAD_ATTR_WITH_HINT] = LOAD_ATTR,
  161. [LOAD_BUILD_CLASS] = LOAD_BUILD_CLASS,
  162. [LOAD_CLOSURE] = LOAD_CLOSURE,
  163. [LOAD_CONST] = LOAD_CONST,
  164. [LOAD_CONST__LOAD_FAST] = LOAD_CONST,
  165. [LOAD_DEREF] = LOAD_DEREF,
  166. [LOAD_FAST] = LOAD_FAST,
  167. [LOAD_FAST_AND_CLEAR] = LOAD_FAST_AND_CLEAR,
  168. [LOAD_FAST_CHECK] = LOAD_FAST_CHECK,
  169. [LOAD_FAST__LOAD_CONST] = LOAD_FAST,
  170. [LOAD_FAST__LOAD_FAST] = LOAD_FAST,
  171. [LOAD_FROM_DICT_OR_DEREF] = LOAD_FROM_DICT_OR_DEREF,
  172. [LOAD_FROM_DICT_OR_GLOBALS] = LOAD_FROM_DICT_OR_GLOBALS,
  173. [LOAD_GLOBAL] = LOAD_GLOBAL,
  174. [LOAD_GLOBAL_BUILTIN] = LOAD_GLOBAL,
  175. [LOAD_GLOBAL_MODULE] = LOAD_GLOBAL,
  176. [LOAD_LOCALS] = LOAD_LOCALS,
  177. [LOAD_NAME] = LOAD_NAME,
  178. [LOAD_SUPER_ATTR] = LOAD_SUPER_ATTR,
  179. [LOAD_SUPER_ATTR_ATTR] = LOAD_SUPER_ATTR,
  180. [LOAD_SUPER_ATTR_METHOD] = LOAD_SUPER_ATTR,
  181. [MAKE_CELL] = MAKE_CELL,
  182. [MAKE_FUNCTION] = MAKE_FUNCTION,
  183. [MAP_ADD] = MAP_ADD,
  184. [MATCH_CLASS] = MATCH_CLASS,
  185. [MATCH_KEYS] = MATCH_KEYS,
  186. [MATCH_MAPPING] = MATCH_MAPPING,
  187. [MATCH_SEQUENCE] = MATCH_SEQUENCE,
  188. [NOP] = NOP,
  189. [POP_EXCEPT] = POP_EXCEPT,
  190. [POP_JUMP_IF_FALSE] = POP_JUMP_IF_FALSE,
  191. [POP_JUMP_IF_NONE] = POP_JUMP_IF_NONE,
  192. [POP_JUMP_IF_NOT_NONE] = POP_JUMP_IF_NOT_NONE,
  193. [POP_JUMP_IF_TRUE] = POP_JUMP_IF_TRUE,
  194. [POP_TOP] = POP_TOP,
  195. [PUSH_EXC_INFO] = PUSH_EXC_INFO,
  196. [PUSH_NULL] = PUSH_NULL,
  197. [RAISE_VARARGS] = RAISE_VARARGS,
  198. [RERAISE] = RERAISE,
  199. [RESERVED] = RESERVED,
  200. [RESUME] = RESUME,
  201. [RETURN_CONST] = RETURN_CONST,
  202. [RETURN_GENERATOR] = RETURN_GENERATOR,
  203. [RETURN_VALUE] = RETURN_VALUE,
  204. [SEND] = SEND,
  205. [SEND_GEN] = SEND,
  206. [SETUP_ANNOTATIONS] = SETUP_ANNOTATIONS,
  207. [SET_ADD] = SET_ADD,
  208. [SET_UPDATE] = SET_UPDATE,
  209. [STORE_ATTR] = STORE_ATTR,
  210. [STORE_ATTR_INSTANCE_VALUE] = STORE_ATTR,
  211. [STORE_ATTR_SLOT] = STORE_ATTR,
  212. [STORE_ATTR_WITH_HINT] = STORE_ATTR,
  213. [STORE_DEREF] = STORE_DEREF,
  214. [STORE_FAST] = STORE_FAST,
  215. [STORE_FAST__LOAD_FAST] = STORE_FAST,
  216. [STORE_FAST__STORE_FAST] = STORE_FAST,
  217. [STORE_GLOBAL] = STORE_GLOBAL,
  218. [STORE_NAME] = STORE_NAME,
  219. [STORE_SLICE] = STORE_SLICE,
  220. [STORE_SUBSCR] = STORE_SUBSCR,
  221. [STORE_SUBSCR_DICT] = STORE_SUBSCR,
  222. [STORE_SUBSCR_LIST_INT] = STORE_SUBSCR,
  223. [SWAP] = SWAP,
  224. [UNARY_INVERT] = UNARY_INVERT,
  225. [UNARY_NEGATIVE] = UNARY_NEGATIVE,
  226. [UNARY_NOT] = UNARY_NOT,
  227. [UNPACK_EX] = UNPACK_EX,
  228. [UNPACK_SEQUENCE] = UNPACK_SEQUENCE,
  229. [UNPACK_SEQUENCE_LIST] = UNPACK_SEQUENCE,
  230. [UNPACK_SEQUENCE_TUPLE] = UNPACK_SEQUENCE,
  231. [UNPACK_SEQUENCE_TWO_TUPLE] = UNPACK_SEQUENCE,
  232. [WITH_EXCEPT_START] = WITH_EXCEPT_START,
  233. [YIELD_VALUE] = YIELD_VALUE,
  234. };
  235. #endif // NEED_OPCODE_TABLES
  236. #ifdef Py_DEBUG
  237. static const char *const _PyOpcode_OpName[267] = {
  238. [CACHE] = "CACHE",
  239. [POP_TOP] = "POP_TOP",
  240. [PUSH_NULL] = "PUSH_NULL",
  241. [INTERPRETER_EXIT] = "INTERPRETER_EXIT",
  242. [END_FOR] = "END_FOR",
  243. [END_SEND] = "END_SEND",
  244. [BINARY_OP_ADD_FLOAT] = "BINARY_OP_ADD_FLOAT",
  245. [BINARY_OP_ADD_INT] = "BINARY_OP_ADD_INT",
  246. [BINARY_OP_ADD_UNICODE] = "BINARY_OP_ADD_UNICODE",
  247. [NOP] = "NOP",
  248. [BINARY_OP_INPLACE_ADD_UNICODE] = "BINARY_OP_INPLACE_ADD_UNICODE",
  249. [UNARY_NEGATIVE] = "UNARY_NEGATIVE",
  250. [UNARY_NOT] = "UNARY_NOT",
  251. [BINARY_OP_MULTIPLY_FLOAT] = "BINARY_OP_MULTIPLY_FLOAT",
  252. [BINARY_OP_MULTIPLY_INT] = "BINARY_OP_MULTIPLY_INT",
  253. [UNARY_INVERT] = "UNARY_INVERT",
  254. [BINARY_OP_SUBTRACT_FLOAT] = "BINARY_OP_SUBTRACT_FLOAT",
  255. [RESERVED] = "RESERVED",
  256. [BINARY_OP_SUBTRACT_INT] = "BINARY_OP_SUBTRACT_INT",
  257. [BINARY_SUBSCR_DICT] = "BINARY_SUBSCR_DICT",
  258. [BINARY_SUBSCR_GETITEM] = "BINARY_SUBSCR_GETITEM",
  259. [BINARY_SUBSCR_LIST_INT] = "BINARY_SUBSCR_LIST_INT",
  260. [BINARY_SUBSCR_TUPLE_INT] = "BINARY_SUBSCR_TUPLE_INT",
  261. [CALL_PY_EXACT_ARGS] = "CALL_PY_EXACT_ARGS",
  262. [CALL_PY_WITH_DEFAULTS] = "CALL_PY_WITH_DEFAULTS",
  263. [BINARY_SUBSCR] = "BINARY_SUBSCR",
  264. [BINARY_SLICE] = "BINARY_SLICE",
  265. [STORE_SLICE] = "STORE_SLICE",
  266. [CALL_BOUND_METHOD_EXACT_ARGS] = "CALL_BOUND_METHOD_EXACT_ARGS",
  267. [CALL_BUILTIN_CLASS] = "CALL_BUILTIN_CLASS",
  268. [GET_LEN] = "GET_LEN",
  269. [MATCH_MAPPING] = "MATCH_MAPPING",
  270. [MATCH_SEQUENCE] = "MATCH_SEQUENCE",
  271. [MATCH_KEYS] = "MATCH_KEYS",
  272. [CALL_BUILTIN_FAST_WITH_KEYWORDS] = "CALL_BUILTIN_FAST_WITH_KEYWORDS",
  273. [PUSH_EXC_INFO] = "PUSH_EXC_INFO",
  274. [CHECK_EXC_MATCH] = "CHECK_EXC_MATCH",
  275. [CHECK_EG_MATCH] = "CHECK_EG_MATCH",
  276. [CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS] = "CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS",
  277. [CALL_NO_KW_BUILTIN_FAST] = "CALL_NO_KW_BUILTIN_FAST",
  278. [CALL_NO_KW_BUILTIN_O] = "CALL_NO_KW_BUILTIN_O",
  279. [CALL_NO_KW_ISINSTANCE] = "CALL_NO_KW_ISINSTANCE",
  280. [CALL_NO_KW_LEN] = "CALL_NO_KW_LEN",
  281. [CALL_NO_KW_LIST_APPEND] = "CALL_NO_KW_LIST_APPEND",
  282. [CALL_NO_KW_METHOD_DESCRIPTOR_FAST] = "CALL_NO_KW_METHOD_DESCRIPTOR_FAST",
  283. [CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS] = "CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS",
  284. [CALL_NO_KW_METHOD_DESCRIPTOR_O] = "CALL_NO_KW_METHOD_DESCRIPTOR_O",
  285. [CALL_NO_KW_STR_1] = "CALL_NO_KW_STR_1",
  286. [CALL_NO_KW_TUPLE_1] = "CALL_NO_KW_TUPLE_1",
  287. [WITH_EXCEPT_START] = "WITH_EXCEPT_START",
  288. [GET_AITER] = "GET_AITER",
  289. [GET_ANEXT] = "GET_ANEXT",
  290. [BEFORE_ASYNC_WITH] = "BEFORE_ASYNC_WITH",
  291. [BEFORE_WITH] = "BEFORE_WITH",
  292. [END_ASYNC_FOR] = "END_ASYNC_FOR",
  293. [CLEANUP_THROW] = "CLEANUP_THROW",
  294. [CALL_NO_KW_TYPE_1] = "CALL_NO_KW_TYPE_1",
  295. [COMPARE_OP_FLOAT] = "COMPARE_OP_FLOAT",
  296. [COMPARE_OP_INT] = "COMPARE_OP_INT",
  297. [COMPARE_OP_STR] = "COMPARE_OP_STR",
  298. [STORE_SUBSCR] = "STORE_SUBSCR",
  299. [DELETE_SUBSCR] = "DELETE_SUBSCR",
  300. [FOR_ITER_LIST] = "FOR_ITER_LIST",
  301. [FOR_ITER_TUPLE] = "FOR_ITER_TUPLE",
  302. [FOR_ITER_RANGE] = "FOR_ITER_RANGE",
  303. [FOR_ITER_GEN] = "FOR_ITER_GEN",
  304. [LOAD_SUPER_ATTR_ATTR] = "LOAD_SUPER_ATTR_ATTR",
  305. [LOAD_SUPER_ATTR_METHOD] = "LOAD_SUPER_ATTR_METHOD",
  306. [GET_ITER] = "GET_ITER",
  307. [GET_YIELD_FROM_ITER] = "GET_YIELD_FROM_ITER",
  308. [LOAD_ATTR_CLASS] = "LOAD_ATTR_CLASS",
  309. [LOAD_BUILD_CLASS] = "LOAD_BUILD_CLASS",
  310. [LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN] = "LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN",
  311. [LOAD_ATTR_INSTANCE_VALUE] = "LOAD_ATTR_INSTANCE_VALUE",
  312. [LOAD_ASSERTION_ERROR] = "LOAD_ASSERTION_ERROR",
  313. [RETURN_GENERATOR] = "RETURN_GENERATOR",
  314. [LOAD_ATTR_MODULE] = "LOAD_ATTR_MODULE",
  315. [LOAD_ATTR_PROPERTY] = "LOAD_ATTR_PROPERTY",
  316. [LOAD_ATTR_SLOT] = "LOAD_ATTR_SLOT",
  317. [LOAD_ATTR_WITH_HINT] = "LOAD_ATTR_WITH_HINT",
  318. [LOAD_ATTR_METHOD_LAZY_DICT] = "LOAD_ATTR_METHOD_LAZY_DICT",
  319. [LOAD_ATTR_METHOD_NO_DICT] = "LOAD_ATTR_METHOD_NO_DICT",
  320. [LOAD_ATTR_METHOD_WITH_VALUES] = "LOAD_ATTR_METHOD_WITH_VALUES",
  321. [RETURN_VALUE] = "RETURN_VALUE",
  322. [LOAD_CONST__LOAD_FAST] = "LOAD_CONST__LOAD_FAST",
  323. [SETUP_ANNOTATIONS] = "SETUP_ANNOTATIONS",
  324. [LOAD_FAST__LOAD_CONST] = "LOAD_FAST__LOAD_CONST",
  325. [LOAD_LOCALS] = "LOAD_LOCALS",
  326. [LOAD_FAST__LOAD_FAST] = "LOAD_FAST__LOAD_FAST",
  327. [POP_EXCEPT] = "POP_EXCEPT",
  328. [STORE_NAME] = "STORE_NAME",
  329. [DELETE_NAME] = "DELETE_NAME",
  330. [UNPACK_SEQUENCE] = "UNPACK_SEQUENCE",
  331. [FOR_ITER] = "FOR_ITER",
  332. [UNPACK_EX] = "UNPACK_EX",
  333. [STORE_ATTR] = "STORE_ATTR",
  334. [DELETE_ATTR] = "DELETE_ATTR",
  335. [STORE_GLOBAL] = "STORE_GLOBAL",
  336. [DELETE_GLOBAL] = "DELETE_GLOBAL",
  337. [SWAP] = "SWAP",
  338. [LOAD_CONST] = "LOAD_CONST",
  339. [LOAD_NAME] = "LOAD_NAME",
  340. [BUILD_TUPLE] = "BUILD_TUPLE",
  341. [BUILD_LIST] = "BUILD_LIST",
  342. [BUILD_SET] = "BUILD_SET",
  343. [BUILD_MAP] = "BUILD_MAP",
  344. [LOAD_ATTR] = "LOAD_ATTR",
  345. [COMPARE_OP] = "COMPARE_OP",
  346. [IMPORT_NAME] = "IMPORT_NAME",
  347. [IMPORT_FROM] = "IMPORT_FROM",
  348. [JUMP_FORWARD] = "JUMP_FORWARD",
  349. [LOAD_GLOBAL_BUILTIN] = "LOAD_GLOBAL_BUILTIN",
  350. [LOAD_GLOBAL_MODULE] = "LOAD_GLOBAL_MODULE",
  351. [STORE_ATTR_INSTANCE_VALUE] = "STORE_ATTR_INSTANCE_VALUE",
  352. [POP_JUMP_IF_FALSE] = "POP_JUMP_IF_FALSE",
  353. [POP_JUMP_IF_TRUE] = "POP_JUMP_IF_TRUE",
  354. [LOAD_GLOBAL] = "LOAD_GLOBAL",
  355. [IS_OP] = "IS_OP",
  356. [CONTAINS_OP] = "CONTAINS_OP",
  357. [RERAISE] = "RERAISE",
  358. [COPY] = "COPY",
  359. [RETURN_CONST] = "RETURN_CONST",
  360. [BINARY_OP] = "BINARY_OP",
  361. [SEND] = "SEND",
  362. [LOAD_FAST] = "LOAD_FAST",
  363. [STORE_FAST] = "STORE_FAST",
  364. [DELETE_FAST] = "DELETE_FAST",
  365. [LOAD_FAST_CHECK] = "LOAD_FAST_CHECK",
  366. [POP_JUMP_IF_NOT_NONE] = "POP_JUMP_IF_NOT_NONE",
  367. [POP_JUMP_IF_NONE] = "POP_JUMP_IF_NONE",
  368. [RAISE_VARARGS] = "RAISE_VARARGS",
  369. [GET_AWAITABLE] = "GET_AWAITABLE",
  370. [MAKE_FUNCTION] = "MAKE_FUNCTION",
  371. [BUILD_SLICE] = "BUILD_SLICE",
  372. [JUMP_BACKWARD_NO_INTERRUPT] = "JUMP_BACKWARD_NO_INTERRUPT",
  373. [MAKE_CELL] = "MAKE_CELL",
  374. [LOAD_CLOSURE] = "LOAD_CLOSURE",
  375. [LOAD_DEREF] = "LOAD_DEREF",
  376. [STORE_DEREF] = "STORE_DEREF",
  377. [DELETE_DEREF] = "DELETE_DEREF",
  378. [JUMP_BACKWARD] = "JUMP_BACKWARD",
  379. [LOAD_SUPER_ATTR] = "LOAD_SUPER_ATTR",
  380. [CALL_FUNCTION_EX] = "CALL_FUNCTION_EX",
  381. [LOAD_FAST_AND_CLEAR] = "LOAD_FAST_AND_CLEAR",
  382. [EXTENDED_ARG] = "EXTENDED_ARG",
  383. [LIST_APPEND] = "LIST_APPEND",
  384. [SET_ADD] = "SET_ADD",
  385. [MAP_ADD] = "MAP_ADD",
  386. [STORE_ATTR_SLOT] = "STORE_ATTR_SLOT",
  387. [COPY_FREE_VARS] = "COPY_FREE_VARS",
  388. [YIELD_VALUE] = "YIELD_VALUE",
  389. [RESUME] = "RESUME",
  390. [MATCH_CLASS] = "MATCH_CLASS",
  391. [STORE_ATTR_WITH_HINT] = "STORE_ATTR_WITH_HINT",
  392. [STORE_FAST__LOAD_FAST] = "STORE_FAST__LOAD_FAST",
  393. [FORMAT_VALUE] = "FORMAT_VALUE",
  394. [BUILD_CONST_KEY_MAP] = "BUILD_CONST_KEY_MAP",
  395. [BUILD_STRING] = "BUILD_STRING",
  396. [STORE_FAST__STORE_FAST] = "STORE_FAST__STORE_FAST",
  397. [STORE_SUBSCR_DICT] = "STORE_SUBSCR_DICT",
  398. [STORE_SUBSCR_LIST_INT] = "STORE_SUBSCR_LIST_INT",
  399. [UNPACK_SEQUENCE_LIST] = "UNPACK_SEQUENCE_LIST",
  400. [LIST_EXTEND] = "LIST_EXTEND",
  401. [SET_UPDATE] = "SET_UPDATE",
  402. [DICT_MERGE] = "DICT_MERGE",
  403. [DICT_UPDATE] = "DICT_UPDATE",
  404. [UNPACK_SEQUENCE_TUPLE] = "UNPACK_SEQUENCE_TUPLE",
  405. [UNPACK_SEQUENCE_TWO_TUPLE] = "UNPACK_SEQUENCE_TWO_TUPLE",
  406. [SEND_GEN] = "SEND_GEN",
  407. [169] = "<169>",
  408. [170] = "<170>",
  409. [CALL] = "CALL",
  410. [KW_NAMES] = "KW_NAMES",
  411. [CALL_INTRINSIC_1] = "CALL_INTRINSIC_1",
  412. [CALL_INTRINSIC_2] = "CALL_INTRINSIC_2",
  413. [LOAD_FROM_DICT_OR_GLOBALS] = "LOAD_FROM_DICT_OR_GLOBALS",
  414. [LOAD_FROM_DICT_OR_DEREF] = "LOAD_FROM_DICT_OR_DEREF",
  415. [177] = "<177>",
  416. [178] = "<178>",
  417. [179] = "<179>",
  418. [180] = "<180>",
  419. [181] = "<181>",
  420. [182] = "<182>",
  421. [183] = "<183>",
  422. [184] = "<184>",
  423. [185] = "<185>",
  424. [186] = "<186>",
  425. [187] = "<187>",
  426. [188] = "<188>",
  427. [189] = "<189>",
  428. [190] = "<190>",
  429. [191] = "<191>",
  430. [192] = "<192>",
  431. [193] = "<193>",
  432. [194] = "<194>",
  433. [195] = "<195>",
  434. [196] = "<196>",
  435. [197] = "<197>",
  436. [198] = "<198>",
  437. [199] = "<199>",
  438. [200] = "<200>",
  439. [201] = "<201>",
  440. [202] = "<202>",
  441. [203] = "<203>",
  442. [204] = "<204>",
  443. [205] = "<205>",
  444. [206] = "<206>",
  445. [207] = "<207>",
  446. [208] = "<208>",
  447. [209] = "<209>",
  448. [210] = "<210>",
  449. [211] = "<211>",
  450. [212] = "<212>",
  451. [213] = "<213>",
  452. [214] = "<214>",
  453. [215] = "<215>",
  454. [216] = "<216>",
  455. [217] = "<217>",
  456. [218] = "<218>",
  457. [219] = "<219>",
  458. [220] = "<220>",
  459. [221] = "<221>",
  460. [222] = "<222>",
  461. [223] = "<223>",
  462. [224] = "<224>",
  463. [225] = "<225>",
  464. [226] = "<226>",
  465. [227] = "<227>",
  466. [228] = "<228>",
  467. [229] = "<229>",
  468. [230] = "<230>",
  469. [231] = "<231>",
  470. [232] = "<232>",
  471. [233] = "<233>",
  472. [234] = "<234>",
  473. [235] = "<235>",
  474. [236] = "<236>",
  475. [INSTRUMENTED_LOAD_SUPER_ATTR] = "INSTRUMENTED_LOAD_SUPER_ATTR",
  476. [INSTRUMENTED_POP_JUMP_IF_NONE] = "INSTRUMENTED_POP_JUMP_IF_NONE",
  477. [INSTRUMENTED_POP_JUMP_IF_NOT_NONE] = "INSTRUMENTED_POP_JUMP_IF_NOT_NONE",
  478. [INSTRUMENTED_RESUME] = "INSTRUMENTED_RESUME",
  479. [INSTRUMENTED_CALL] = "INSTRUMENTED_CALL",
  480. [INSTRUMENTED_RETURN_VALUE] = "INSTRUMENTED_RETURN_VALUE",
  481. [INSTRUMENTED_YIELD_VALUE] = "INSTRUMENTED_YIELD_VALUE",
  482. [INSTRUMENTED_CALL_FUNCTION_EX] = "INSTRUMENTED_CALL_FUNCTION_EX",
  483. [INSTRUMENTED_JUMP_FORWARD] = "INSTRUMENTED_JUMP_FORWARD",
  484. [INSTRUMENTED_JUMP_BACKWARD] = "INSTRUMENTED_JUMP_BACKWARD",
  485. [INSTRUMENTED_RETURN_CONST] = "INSTRUMENTED_RETURN_CONST",
  486. [INSTRUMENTED_FOR_ITER] = "INSTRUMENTED_FOR_ITER",
  487. [INSTRUMENTED_POP_JUMP_IF_FALSE] = "INSTRUMENTED_POP_JUMP_IF_FALSE",
  488. [INSTRUMENTED_POP_JUMP_IF_TRUE] = "INSTRUMENTED_POP_JUMP_IF_TRUE",
  489. [INSTRUMENTED_END_FOR] = "INSTRUMENTED_END_FOR",
  490. [INSTRUMENTED_END_SEND] = "INSTRUMENTED_END_SEND",
  491. [INSTRUMENTED_INSTRUCTION] = "INSTRUMENTED_INSTRUCTION",
  492. [INSTRUMENTED_LINE] = "INSTRUMENTED_LINE",
  493. [255] = "<255>",
  494. [SETUP_FINALLY] = "SETUP_FINALLY",
  495. [SETUP_CLEANUP] = "SETUP_CLEANUP",
  496. [SETUP_WITH] = "SETUP_WITH",
  497. [POP_BLOCK] = "POP_BLOCK",
  498. [JUMP] = "JUMP",
  499. [JUMP_NO_INTERRUPT] = "JUMP_NO_INTERRUPT",
  500. [LOAD_METHOD] = "LOAD_METHOD",
  501. [LOAD_SUPER_METHOD] = "LOAD_SUPER_METHOD",
  502. [LOAD_ZERO_SUPER_METHOD] = "LOAD_ZERO_SUPER_METHOD",
  503. [LOAD_ZERO_SUPER_ATTR] = "LOAD_ZERO_SUPER_ATTR",
  504. [STORE_FAST_MAYBE_NULL] = "STORE_FAST_MAYBE_NULL",
  505. };
  506. #endif
  507. #define EXTRA_CASES \
  508. case 169: \
  509. case 170: \
  510. case 177: \
  511. case 178: \
  512. case 179: \
  513. case 180: \
  514. case 181: \
  515. case 182: \
  516. case 183: \
  517. case 184: \
  518. case 185: \
  519. case 186: \
  520. case 187: \
  521. case 188: \
  522. case 189: \
  523. case 190: \
  524. case 191: \
  525. case 192: \
  526. case 193: \
  527. case 194: \
  528. case 195: \
  529. case 196: \
  530. case 197: \
  531. case 198: \
  532. case 199: \
  533. case 200: \
  534. case 201: \
  535. case 202: \
  536. case 203: \
  537. case 204: \
  538. case 205: \
  539. case 206: \
  540. case 207: \
  541. case 208: \
  542. case 209: \
  543. case 210: \
  544. case 211: \
  545. case 212: \
  546. case 213: \
  547. case 214: \
  548. case 215: \
  549. case 216: \
  550. case 217: \
  551. case 218: \
  552. case 219: \
  553. case 220: \
  554. case 221: \
  555. case 222: \
  556. case 223: \
  557. case 224: \
  558. case 225: \
  559. case 226: \
  560. case 227: \
  561. case 228: \
  562. case 229: \
  563. case 230: \
  564. case 231: \
  565. case 232: \
  566. case 233: \
  567. case 234: \
  568. case 235: \
  569. case 236: \
  570. case 255: \
  571. ;
  572. #ifdef __cplusplus
  573. }
  574. #endif
  575. #endif // !Py_INTERNAL_OPCODE_H