mirror of https://github.com/python/cpython
gh-109256: allocate opcode IDs for internal opcodes in their own range (#109269)
This commit is contained in:
parent
247ee1bf84
commit
8b55adfa8f
|
@ -1611,8 +1611,8 @@ iterations of the loop.
|
|||
opcodes in the range [0,255] which don't use their argument and those
|
||||
that do (``< HAVE_ARGUMENT`` and ``>= HAVE_ARGUMENT``, respectively).
|
||||
|
||||
If your application uses pseudo instructions, use the :data:`hasarg`
|
||||
collection instead.
|
||||
If your application uses pseudo instructions or specialized instructions,
|
||||
use the :data:`hasarg` collection instead.
|
||||
|
||||
.. versionchanged:: 3.6
|
||||
Now every instruction has an argument, but opcodes ``< HAVE_ARGUMENT``
|
||||
|
|
|
@ -1664,21 +1664,9 @@ const char *const _PyOpcode_OpName[268] = {
|
|||
[RESUME] = "RESUME",
|
||||
[BEFORE_ASYNC_WITH] = "BEFORE_ASYNC_WITH",
|
||||
[BEFORE_WITH] = "BEFORE_WITH",
|
||||
[BINARY_OP_ADD_FLOAT] = "BINARY_OP_ADD_FLOAT",
|
||||
[BINARY_OP_ADD_INT] = "BINARY_OP_ADD_INT",
|
||||
[BINARY_OP_ADD_UNICODE] = "BINARY_OP_ADD_UNICODE",
|
||||
[BINARY_OP_INPLACE_ADD_UNICODE] = "BINARY_OP_INPLACE_ADD_UNICODE",
|
||||
[BINARY_OP_MULTIPLY_FLOAT] = "BINARY_OP_MULTIPLY_FLOAT",
|
||||
[BINARY_OP_MULTIPLY_INT] = "BINARY_OP_MULTIPLY_INT",
|
||||
[BINARY_OP_SUBTRACT_FLOAT] = "BINARY_OP_SUBTRACT_FLOAT",
|
||||
[BINARY_OP_SUBTRACT_INT] = "BINARY_OP_SUBTRACT_INT",
|
||||
[BINARY_SLICE] = "BINARY_SLICE",
|
||||
[BINARY_SUBSCR] = "BINARY_SUBSCR",
|
||||
[BINARY_SUBSCR_DICT] = "BINARY_SUBSCR_DICT",
|
||||
[BINARY_SUBSCR_GETITEM] = "BINARY_SUBSCR_GETITEM",
|
||||
[BINARY_SUBSCR_LIST_INT] = "BINARY_SUBSCR_LIST_INT",
|
||||
[BINARY_SUBSCR_STR_INT] = "BINARY_SUBSCR_STR_INT",
|
||||
[BINARY_SUBSCR_TUPLE_INT] = "BINARY_SUBSCR_TUPLE_INT",
|
||||
[CHECK_EG_MATCH] = "CHECK_EG_MATCH",
|
||||
[CHECK_EXC_MATCH] = "CHECK_EXC_MATCH",
|
||||
[CLEANUP_THROW] = "CLEANUP_THROW",
|
||||
|
@ -1707,23 +1695,12 @@ const char *const _PyOpcode_OpName[268] = {
|
|||
[POP_TOP] = "POP_TOP",
|
||||
[PUSH_EXC_INFO] = "PUSH_EXC_INFO",
|
||||
[PUSH_NULL] = "PUSH_NULL",
|
||||
[RESUME_CHECK] = "RESUME_CHECK",
|
||||
[RETURN_GENERATOR] = "RETURN_GENERATOR",
|
||||
[RETURN_VALUE] = "RETURN_VALUE",
|
||||
[SETUP_ANNOTATIONS] = "SETUP_ANNOTATIONS",
|
||||
[STORE_ATTR_INSTANCE_VALUE] = "STORE_ATTR_INSTANCE_VALUE",
|
||||
[STORE_ATTR_SLOT] = "STORE_ATTR_SLOT",
|
||||
[STORE_SLICE] = "STORE_SLICE",
|
||||
[STORE_SUBSCR] = "STORE_SUBSCR",
|
||||
[STORE_SUBSCR_DICT] = "STORE_SUBSCR_DICT",
|
||||
[STORE_SUBSCR_LIST_INT] = "STORE_SUBSCR_LIST_INT",
|
||||
[TO_BOOL] = "TO_BOOL",
|
||||
[TO_BOOL_ALWAYS_TRUE] = "TO_BOOL_ALWAYS_TRUE",
|
||||
[TO_BOOL_BOOL] = "TO_BOOL_BOOL",
|
||||
[TO_BOOL_INT] = "TO_BOOL_INT",
|
||||
[TO_BOOL_LIST] = "TO_BOOL_LIST",
|
||||
[TO_BOOL_NONE] = "TO_BOOL_NONE",
|
||||
[TO_BOOL_STR] = "TO_BOOL_STR",
|
||||
[UNARY_INVERT] = "UNARY_INVERT",
|
||||
[UNARY_NEGATIVE] = "UNARY_NEGATIVE",
|
||||
[UNARY_NOT] = "UNARY_NOT",
|
||||
|
@ -1737,12 +1714,86 @@ const char *const _PyOpcode_OpName[268] = {
|
|||
[BUILD_STRING] = "BUILD_STRING",
|
||||
[BUILD_TUPLE] = "BUILD_TUPLE",
|
||||
[CALL] = "CALL",
|
||||
[CALL_BOUND_METHOD_EXACT_ARGS] = "CALL_BOUND_METHOD_EXACT_ARGS",
|
||||
[CALL_BUILTIN_CLASS] = "CALL_BUILTIN_CLASS",
|
||||
[CALL_BUILTIN_FAST_WITH_KEYWORDS] = "CALL_BUILTIN_FAST_WITH_KEYWORDS",
|
||||
[CALL_FUNCTION_EX] = "CALL_FUNCTION_EX",
|
||||
[CALL_INTRINSIC_1] = "CALL_INTRINSIC_1",
|
||||
[CALL_INTRINSIC_2] = "CALL_INTRINSIC_2",
|
||||
[COMPARE_OP] = "COMPARE_OP",
|
||||
[CONTAINS_OP] = "CONTAINS_OP",
|
||||
[CONVERT_VALUE] = "CONVERT_VALUE",
|
||||
[COPY] = "COPY",
|
||||
[COPY_FREE_VARS] = "COPY_FREE_VARS",
|
||||
[DELETE_ATTR] = "DELETE_ATTR",
|
||||
[DELETE_DEREF] = "DELETE_DEREF",
|
||||
[DELETE_FAST] = "DELETE_FAST",
|
||||
[DELETE_GLOBAL] = "DELETE_GLOBAL",
|
||||
[DELETE_NAME] = "DELETE_NAME",
|
||||
[DICT_MERGE] = "DICT_MERGE",
|
||||
[DICT_UPDATE] = "DICT_UPDATE",
|
||||
[ENTER_EXECUTOR] = "ENTER_EXECUTOR",
|
||||
[EXTENDED_ARG] = "EXTENDED_ARG",
|
||||
[FOR_ITER] = "FOR_ITER",
|
||||
[GET_AWAITABLE] = "GET_AWAITABLE",
|
||||
[IMPORT_FROM] = "IMPORT_FROM",
|
||||
[IMPORT_NAME] = "IMPORT_NAME",
|
||||
[IS_OP] = "IS_OP",
|
||||
[JUMP_BACKWARD] = "JUMP_BACKWARD",
|
||||
[JUMP_BACKWARD_NO_INTERRUPT] = "JUMP_BACKWARD_NO_INTERRUPT",
|
||||
[JUMP_FORWARD] = "JUMP_FORWARD",
|
||||
[KW_NAMES] = "KW_NAMES",
|
||||
[LIST_APPEND] = "LIST_APPEND",
|
||||
[LIST_EXTEND] = "LIST_EXTEND",
|
||||
[LOAD_ATTR] = "LOAD_ATTR",
|
||||
[LOAD_CONST] = "LOAD_CONST",
|
||||
[LOAD_DEREF] = "LOAD_DEREF",
|
||||
[LOAD_FAST] = "LOAD_FAST",
|
||||
[LOAD_FAST_AND_CLEAR] = "LOAD_FAST_AND_CLEAR",
|
||||
[LOAD_FAST_CHECK] = "LOAD_FAST_CHECK",
|
||||
[LOAD_FAST_LOAD_FAST] = "LOAD_FAST_LOAD_FAST",
|
||||
[LOAD_FROM_DICT_OR_DEREF] = "LOAD_FROM_DICT_OR_DEREF",
|
||||
[LOAD_FROM_DICT_OR_GLOBALS] = "LOAD_FROM_DICT_OR_GLOBALS",
|
||||
[LOAD_GLOBAL] = "LOAD_GLOBAL",
|
||||
[LOAD_NAME] = "LOAD_NAME",
|
||||
[LOAD_SUPER_ATTR] = "LOAD_SUPER_ATTR",
|
||||
[MAKE_CELL] = "MAKE_CELL",
|
||||
[MAP_ADD] = "MAP_ADD",
|
||||
[MATCH_CLASS] = "MATCH_CLASS",
|
||||
[POP_JUMP_IF_FALSE] = "POP_JUMP_IF_FALSE",
|
||||
[POP_JUMP_IF_NONE] = "POP_JUMP_IF_NONE",
|
||||
[POP_JUMP_IF_NOT_NONE] = "POP_JUMP_IF_NOT_NONE",
|
||||
[POP_JUMP_IF_TRUE] = "POP_JUMP_IF_TRUE",
|
||||
[RAISE_VARARGS] = "RAISE_VARARGS",
|
||||
[RERAISE] = "RERAISE",
|
||||
[RETURN_CONST] = "RETURN_CONST",
|
||||
[SEND] = "SEND",
|
||||
[SET_ADD] = "SET_ADD",
|
||||
[SET_FUNCTION_ATTRIBUTE] = "SET_FUNCTION_ATTRIBUTE",
|
||||
[SET_UPDATE] = "SET_UPDATE",
|
||||
[STORE_ATTR] = "STORE_ATTR",
|
||||
[STORE_DEREF] = "STORE_DEREF",
|
||||
[STORE_FAST] = "STORE_FAST",
|
||||
[STORE_FAST_LOAD_FAST] = "STORE_FAST_LOAD_FAST",
|
||||
[STORE_FAST_STORE_FAST] = "STORE_FAST_STORE_FAST",
|
||||
[STORE_GLOBAL] = "STORE_GLOBAL",
|
||||
[STORE_NAME] = "STORE_NAME",
|
||||
[SWAP] = "SWAP",
|
||||
[UNPACK_EX] = "UNPACK_EX",
|
||||
[UNPACK_SEQUENCE] = "UNPACK_SEQUENCE",
|
||||
[YIELD_VALUE] = "YIELD_VALUE",
|
||||
[BINARY_OP_ADD_FLOAT] = "BINARY_OP_ADD_FLOAT",
|
||||
[BINARY_OP_ADD_INT] = "BINARY_OP_ADD_INT",
|
||||
[BINARY_OP_ADD_UNICODE] = "BINARY_OP_ADD_UNICODE",
|
||||
[BINARY_OP_MULTIPLY_FLOAT] = "BINARY_OP_MULTIPLY_FLOAT",
|
||||
[BINARY_OP_MULTIPLY_INT] = "BINARY_OP_MULTIPLY_INT",
|
||||
[BINARY_OP_SUBTRACT_FLOAT] = "BINARY_OP_SUBTRACT_FLOAT",
|
||||
[BINARY_OP_SUBTRACT_INT] = "BINARY_OP_SUBTRACT_INT",
|
||||
[BINARY_SUBSCR_DICT] = "BINARY_SUBSCR_DICT",
|
||||
[BINARY_SUBSCR_GETITEM] = "BINARY_SUBSCR_GETITEM",
|
||||
[BINARY_SUBSCR_LIST_INT] = "BINARY_SUBSCR_LIST_INT",
|
||||
[BINARY_SUBSCR_STR_INT] = "BINARY_SUBSCR_STR_INT",
|
||||
[BINARY_SUBSCR_TUPLE_INT] = "BINARY_SUBSCR_TUPLE_INT",
|
||||
[CALL_BOUND_METHOD_EXACT_ARGS] = "CALL_BOUND_METHOD_EXACT_ARGS",
|
||||
[CALL_BUILTIN_CLASS] = "CALL_BUILTIN_CLASS",
|
||||
[CALL_BUILTIN_FAST_WITH_KEYWORDS] = "CALL_BUILTIN_FAST_WITH_KEYWORDS",
|
||||
[CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS] = "CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS",
|
||||
[CALL_NO_KW_ALLOC_AND_ENTER_INIT] = "CALL_NO_KW_ALLOC_AND_ENTER_INIT",
|
||||
[CALL_NO_KW_BUILTIN_FAST] = "CALL_NO_KW_BUILTIN_FAST",
|
||||
|
@ -1758,39 +1809,13 @@ const char *const _PyOpcode_OpName[268] = {
|
|||
[CALL_NO_KW_TYPE_1] = "CALL_NO_KW_TYPE_1",
|
||||
[CALL_PY_EXACT_ARGS] = "CALL_PY_EXACT_ARGS",
|
||||
[CALL_PY_WITH_DEFAULTS] = "CALL_PY_WITH_DEFAULTS",
|
||||
[COMPARE_OP] = "COMPARE_OP",
|
||||
[COMPARE_OP_FLOAT] = "COMPARE_OP_FLOAT",
|
||||
[COMPARE_OP_INT] = "COMPARE_OP_INT",
|
||||
[COMPARE_OP_STR] = "COMPARE_OP_STR",
|
||||
[CONTAINS_OP] = "CONTAINS_OP",
|
||||
[CONVERT_VALUE] = "CONVERT_VALUE",
|
||||
[COPY] = "COPY",
|
||||
[COPY_FREE_VARS] = "COPY_FREE_VARS",
|
||||
[DELETE_ATTR] = "DELETE_ATTR",
|
||||
[DELETE_DEREF] = "DELETE_DEREF",
|
||||
[DELETE_FAST] = "DELETE_FAST",
|
||||
[DELETE_GLOBAL] = "DELETE_GLOBAL",
|
||||
[DELETE_NAME] = "DELETE_NAME",
|
||||
[DICT_MERGE] = "DICT_MERGE",
|
||||
[DICT_UPDATE] = "DICT_UPDATE",
|
||||
[ENTER_EXECUTOR] = "ENTER_EXECUTOR",
|
||||
[EXTENDED_ARG] = "EXTENDED_ARG",
|
||||
[FOR_ITER] = "FOR_ITER",
|
||||
[FOR_ITER_GEN] = "FOR_ITER_GEN",
|
||||
[FOR_ITER_LIST] = "FOR_ITER_LIST",
|
||||
[FOR_ITER_RANGE] = "FOR_ITER_RANGE",
|
||||
[FOR_ITER_TUPLE] = "FOR_ITER_TUPLE",
|
||||
[GET_AWAITABLE] = "GET_AWAITABLE",
|
||||
[IMPORT_FROM] = "IMPORT_FROM",
|
||||
[IMPORT_NAME] = "IMPORT_NAME",
|
||||
[IS_OP] = "IS_OP",
|
||||
[JUMP_BACKWARD] = "JUMP_BACKWARD",
|
||||
[JUMP_BACKWARD_NO_INTERRUPT] = "JUMP_BACKWARD_NO_INTERRUPT",
|
||||
[JUMP_FORWARD] = "JUMP_FORWARD",
|
||||
[KW_NAMES] = "KW_NAMES",
|
||||
[LIST_APPEND] = "LIST_APPEND",
|
||||
[LIST_EXTEND] = "LIST_EXTEND",
|
||||
[LOAD_ATTR] = "LOAD_ATTR",
|
||||
[LOAD_ATTR_CLASS] = "LOAD_ATTR_CLASS",
|
||||
[LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN] = "LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN",
|
||||
[LOAD_ATTR_INSTANCE_VALUE] = "LOAD_ATTR_INSTANCE_VALUE",
|
||||
|
@ -1803,51 +1828,26 @@ const char *const _PyOpcode_OpName[268] = {
|
|||
[LOAD_ATTR_PROPERTY] = "LOAD_ATTR_PROPERTY",
|
||||
[LOAD_ATTR_SLOT] = "LOAD_ATTR_SLOT",
|
||||
[LOAD_ATTR_WITH_HINT] = "LOAD_ATTR_WITH_HINT",
|
||||
[LOAD_CONST] = "LOAD_CONST",
|
||||
[LOAD_DEREF] = "LOAD_DEREF",
|
||||
[LOAD_FAST] = "LOAD_FAST",
|
||||
[LOAD_FAST_AND_CLEAR] = "LOAD_FAST_AND_CLEAR",
|
||||
[LOAD_FAST_CHECK] = "LOAD_FAST_CHECK",
|
||||
[LOAD_FAST_LOAD_FAST] = "LOAD_FAST_LOAD_FAST",
|
||||
[LOAD_FROM_DICT_OR_DEREF] = "LOAD_FROM_DICT_OR_DEREF",
|
||||
[LOAD_FROM_DICT_OR_GLOBALS] = "LOAD_FROM_DICT_OR_GLOBALS",
|
||||
[LOAD_GLOBAL] = "LOAD_GLOBAL",
|
||||
[LOAD_GLOBAL_BUILTIN] = "LOAD_GLOBAL_BUILTIN",
|
||||
[LOAD_GLOBAL_MODULE] = "LOAD_GLOBAL_MODULE",
|
||||
[LOAD_NAME] = "LOAD_NAME",
|
||||
[LOAD_SUPER_ATTR] = "LOAD_SUPER_ATTR",
|
||||
[LOAD_SUPER_ATTR_ATTR] = "LOAD_SUPER_ATTR_ATTR",
|
||||
[LOAD_SUPER_ATTR_METHOD] = "LOAD_SUPER_ATTR_METHOD",
|
||||
[MAKE_CELL] = "MAKE_CELL",
|
||||
[MAP_ADD] = "MAP_ADD",
|
||||
[MATCH_CLASS] = "MATCH_CLASS",
|
||||
[POP_JUMP_IF_FALSE] = "POP_JUMP_IF_FALSE",
|
||||
[POP_JUMP_IF_NONE] = "POP_JUMP_IF_NONE",
|
||||
[POP_JUMP_IF_NOT_NONE] = "POP_JUMP_IF_NOT_NONE",
|
||||
[POP_JUMP_IF_TRUE] = "POP_JUMP_IF_TRUE",
|
||||
[RAISE_VARARGS] = "RAISE_VARARGS",
|
||||
[RERAISE] = "RERAISE",
|
||||
[RETURN_CONST] = "RETURN_CONST",
|
||||
[SEND] = "SEND",
|
||||
[RESUME_CHECK] = "RESUME_CHECK",
|
||||
[SEND_GEN] = "SEND_GEN",
|
||||
[SET_ADD] = "SET_ADD",
|
||||
[SET_FUNCTION_ATTRIBUTE] = "SET_FUNCTION_ATTRIBUTE",
|
||||
[SET_UPDATE] = "SET_UPDATE",
|
||||
[STORE_ATTR] = "STORE_ATTR",
|
||||
[STORE_ATTR_INSTANCE_VALUE] = "STORE_ATTR_INSTANCE_VALUE",
|
||||
[STORE_ATTR_SLOT] = "STORE_ATTR_SLOT",
|
||||
[STORE_ATTR_WITH_HINT] = "STORE_ATTR_WITH_HINT",
|
||||
[STORE_DEREF] = "STORE_DEREF",
|
||||
[STORE_FAST] = "STORE_FAST",
|
||||
[STORE_FAST_LOAD_FAST] = "STORE_FAST_LOAD_FAST",
|
||||
[STORE_FAST_STORE_FAST] = "STORE_FAST_STORE_FAST",
|
||||
[STORE_GLOBAL] = "STORE_GLOBAL",
|
||||
[STORE_NAME] = "STORE_NAME",
|
||||
[SWAP] = "SWAP",
|
||||
[UNPACK_EX] = "UNPACK_EX",
|
||||
[UNPACK_SEQUENCE] = "UNPACK_SEQUENCE",
|
||||
[STORE_SUBSCR_DICT] = "STORE_SUBSCR_DICT",
|
||||
[STORE_SUBSCR_LIST_INT] = "STORE_SUBSCR_LIST_INT",
|
||||
[TO_BOOL_ALWAYS_TRUE] = "TO_BOOL_ALWAYS_TRUE",
|
||||
[TO_BOOL_BOOL] = "TO_BOOL_BOOL",
|
||||
[TO_BOOL_INT] = "TO_BOOL_INT",
|
||||
[TO_BOOL_LIST] = "TO_BOOL_LIST",
|
||||
[TO_BOOL_NONE] = "TO_BOOL_NONE",
|
||||
[TO_BOOL_STR] = "TO_BOOL_STR",
|
||||
[UNPACK_SEQUENCE_LIST] = "UNPACK_SEQUENCE_LIST",
|
||||
[UNPACK_SEQUENCE_TUPLE] = "UNPACK_SEQUENCE_TUPLE",
|
||||
[UNPACK_SEQUENCE_TWO_TUPLE] = "UNPACK_SEQUENCE_TWO_TUPLE",
|
||||
[YIELD_VALUE] = "YIELD_VALUE",
|
||||
[INSTRUMENTED_RESUME] = "INSTRUMENTED_RESUME",
|
||||
[INSTRUMENTED_END_FOR] = "INSTRUMENTED_END_FOR",
|
||||
[INSTRUMENTED_END_SEND] = "INSTRUMENTED_END_SEND",
|
||||
|
@ -2119,36 +2119,36 @@ const uint8_t _PyOpcode_Deopt[256] = {
|
|||
#endif // NEED_OPCODE_METADATA
|
||||
|
||||
#define EXTRA_CASES \
|
||||
case 189: \
|
||||
case 190: \
|
||||
case 191: \
|
||||
case 192: \
|
||||
case 193: \
|
||||
case 194: \
|
||||
case 195: \
|
||||
case 196: \
|
||||
case 197: \
|
||||
case 198: \
|
||||
case 199: \
|
||||
case 200: \
|
||||
case 201: \
|
||||
case 202: \
|
||||
case 203: \
|
||||
case 204: \
|
||||
case 205: \
|
||||
case 206: \
|
||||
case 207: \
|
||||
case 208: \
|
||||
case 209: \
|
||||
case 210: \
|
||||
case 211: \
|
||||
case 212: \
|
||||
case 213: \
|
||||
case 214: \
|
||||
case 215: \
|
||||
case 216: \
|
||||
case 217: \
|
||||
case 218: \
|
||||
case 119: \
|
||||
case 120: \
|
||||
case 121: \
|
||||
case 122: \
|
||||
case 123: \
|
||||
case 124: \
|
||||
case 125: \
|
||||
case 126: \
|
||||
case 127: \
|
||||
case 128: \
|
||||
case 129: \
|
||||
case 130: \
|
||||
case 131: \
|
||||
case 132: \
|
||||
case 133: \
|
||||
case 134: \
|
||||
case 135: \
|
||||
case 136: \
|
||||
case 137: \
|
||||
case 138: \
|
||||
case 139: \
|
||||
case 140: \
|
||||
case 141: \
|
||||
case 142: \
|
||||
case 143: \
|
||||
case 144: \
|
||||
case 145: \
|
||||
case 146: \
|
||||
case 147: \
|
||||
case 148: \
|
||||
case 219: \
|
||||
case 220: \
|
||||
case 221: \
|
||||
|
|
|
@ -13,193 +13,193 @@ extern "C" {
|
|||
#define CACHE 0
|
||||
#define BEFORE_ASYNC_WITH 1
|
||||
#define BEFORE_WITH 2
|
||||
#define BINARY_OP_ADD_FLOAT 3
|
||||
#define BINARY_OP_ADD_INT 4
|
||||
#define BINARY_OP_ADD_UNICODE 5
|
||||
#define BINARY_OP_INPLACE_ADD_UNICODE 6
|
||||
#define BINARY_OP_MULTIPLY_FLOAT 7
|
||||
#define BINARY_OP_MULTIPLY_INT 8
|
||||
#define BINARY_OP_SUBTRACT_FLOAT 9
|
||||
#define BINARY_OP_SUBTRACT_INT 10
|
||||
#define BINARY_SLICE 11
|
||||
#define BINARY_SUBSCR 12
|
||||
#define BINARY_SUBSCR_DICT 13
|
||||
#define BINARY_SUBSCR_GETITEM 14
|
||||
#define BINARY_SUBSCR_LIST_INT 15
|
||||
#define BINARY_SUBSCR_STR_INT 16
|
||||
#define BINARY_OP_INPLACE_ADD_UNICODE 3
|
||||
#define BINARY_SLICE 4
|
||||
#define BINARY_SUBSCR 5
|
||||
#define CHECK_EG_MATCH 6
|
||||
#define CHECK_EXC_MATCH 7
|
||||
#define CLEANUP_THROW 8
|
||||
#define DELETE_SUBSCR 9
|
||||
#define END_ASYNC_FOR 10
|
||||
#define END_FOR 11
|
||||
#define END_SEND 12
|
||||
#define EXIT_INIT_CHECK 13
|
||||
#define FORMAT_SIMPLE 14
|
||||
#define FORMAT_WITH_SPEC 15
|
||||
#define GET_AITER 16
|
||||
#define RESERVED 17
|
||||
#define BINARY_SUBSCR_TUPLE_INT 18
|
||||
#define CHECK_EG_MATCH 19
|
||||
#define CHECK_EXC_MATCH 20
|
||||
#define CLEANUP_THROW 21
|
||||
#define DELETE_SUBSCR 22
|
||||
#define END_ASYNC_FOR 23
|
||||
#define END_FOR 24
|
||||
#define END_SEND 25
|
||||
#define EXIT_INIT_CHECK 26
|
||||
#define FORMAT_SIMPLE 27
|
||||
#define FORMAT_WITH_SPEC 28
|
||||
#define GET_AITER 29
|
||||
#define GET_ANEXT 30
|
||||
#define GET_ITER 31
|
||||
#define GET_LEN 32
|
||||
#define GET_YIELD_FROM_ITER 33
|
||||
#define INTERPRETER_EXIT 34
|
||||
#define LOAD_ASSERTION_ERROR 35
|
||||
#define LOAD_BUILD_CLASS 36
|
||||
#define LOAD_LOCALS 37
|
||||
#define MAKE_FUNCTION 38
|
||||
#define MATCH_KEYS 39
|
||||
#define MATCH_MAPPING 40
|
||||
#define MATCH_SEQUENCE 41
|
||||
#define NOP 42
|
||||
#define POP_EXCEPT 43
|
||||
#define POP_TOP 44
|
||||
#define PUSH_EXC_INFO 45
|
||||
#define PUSH_NULL 46
|
||||
#define RESUME_CHECK 47
|
||||
#define RETURN_GENERATOR 48
|
||||
#define RETURN_VALUE 49
|
||||
#define SETUP_ANNOTATIONS 50
|
||||
#define STORE_ATTR_INSTANCE_VALUE 51
|
||||
#define STORE_ATTR_SLOT 52
|
||||
#define STORE_SLICE 53
|
||||
#define STORE_SUBSCR 54
|
||||
#define STORE_SUBSCR_DICT 55
|
||||
#define STORE_SUBSCR_LIST_INT 56
|
||||
#define TO_BOOL 57
|
||||
#define TO_BOOL_ALWAYS_TRUE 58
|
||||
#define TO_BOOL_BOOL 59
|
||||
#define TO_BOOL_INT 60
|
||||
#define TO_BOOL_LIST 61
|
||||
#define TO_BOOL_NONE 62
|
||||
#define TO_BOOL_STR 63
|
||||
#define UNARY_INVERT 64
|
||||
#define UNARY_NEGATIVE 65
|
||||
#define UNARY_NOT 66
|
||||
#define WITH_EXCEPT_START 67
|
||||
#define HAVE_ARGUMENT 68
|
||||
#define BINARY_OP 68
|
||||
#define BUILD_CONST_KEY_MAP 69
|
||||
#define BUILD_LIST 70
|
||||
#define BUILD_MAP 71
|
||||
#define BUILD_SET 72
|
||||
#define BUILD_SLICE 73
|
||||
#define BUILD_STRING 74
|
||||
#define BUILD_TUPLE 75
|
||||
#define CALL 76
|
||||
#define CALL_BOUND_METHOD_EXACT_ARGS 77
|
||||
#define CALL_BUILTIN_CLASS 78
|
||||
#define CALL_BUILTIN_FAST_WITH_KEYWORDS 79
|
||||
#define CALL_FUNCTION_EX 80
|
||||
#define CALL_INTRINSIC_1 81
|
||||
#define CALL_INTRINSIC_2 82
|
||||
#define CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 83
|
||||
#define CALL_NO_KW_ALLOC_AND_ENTER_INIT 84
|
||||
#define CALL_NO_KW_BUILTIN_FAST 85
|
||||
#define CALL_NO_KW_BUILTIN_O 86
|
||||
#define CALL_NO_KW_ISINSTANCE 87
|
||||
#define CALL_NO_KW_LEN 88
|
||||
#define CALL_NO_KW_LIST_APPEND 89
|
||||
#define CALL_NO_KW_METHOD_DESCRIPTOR_FAST 90
|
||||
#define CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS 91
|
||||
#define CALL_NO_KW_METHOD_DESCRIPTOR_O 92
|
||||
#define CALL_NO_KW_STR_1 93
|
||||
#define CALL_NO_KW_TUPLE_1 94
|
||||
#define CALL_NO_KW_TYPE_1 95
|
||||
#define CALL_PY_EXACT_ARGS 96
|
||||
#define CALL_PY_WITH_DEFAULTS 97
|
||||
#define COMPARE_OP 98
|
||||
#define COMPARE_OP_FLOAT 99
|
||||
#define COMPARE_OP_INT 100
|
||||
#define COMPARE_OP_STR 101
|
||||
#define CONTAINS_OP 102
|
||||
#define CONVERT_VALUE 103
|
||||
#define COPY 104
|
||||
#define COPY_FREE_VARS 105
|
||||
#define DELETE_ATTR 106
|
||||
#define DELETE_DEREF 107
|
||||
#define DELETE_FAST 108
|
||||
#define DELETE_GLOBAL 109
|
||||
#define DELETE_NAME 110
|
||||
#define DICT_MERGE 111
|
||||
#define DICT_UPDATE 112
|
||||
#define ENTER_EXECUTOR 113
|
||||
#define EXTENDED_ARG 114
|
||||
#define FOR_ITER 115
|
||||
#define FOR_ITER_GEN 116
|
||||
#define FOR_ITER_LIST 117
|
||||
#define FOR_ITER_RANGE 118
|
||||
#define FOR_ITER_TUPLE 119
|
||||
#define GET_AWAITABLE 120
|
||||
#define IMPORT_FROM 121
|
||||
#define IMPORT_NAME 122
|
||||
#define IS_OP 123
|
||||
#define JUMP_BACKWARD 124
|
||||
#define JUMP_BACKWARD_NO_INTERRUPT 125
|
||||
#define JUMP_FORWARD 126
|
||||
#define KW_NAMES 127
|
||||
#define LIST_APPEND 128
|
||||
#define LIST_EXTEND 129
|
||||
#define LOAD_ATTR 130
|
||||
#define LOAD_ATTR_CLASS 131
|
||||
#define LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN 132
|
||||
#define LOAD_ATTR_INSTANCE_VALUE 133
|
||||
#define LOAD_ATTR_METHOD_LAZY_DICT 134
|
||||
#define LOAD_ATTR_METHOD_NO_DICT 135
|
||||
#define LOAD_ATTR_METHOD_WITH_VALUES 136
|
||||
#define LOAD_ATTR_MODULE 137
|
||||
#define LOAD_ATTR_NONDESCRIPTOR_NO_DICT 138
|
||||
#define LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 139
|
||||
#define LOAD_ATTR_PROPERTY 140
|
||||
#define LOAD_ATTR_SLOT 141
|
||||
#define LOAD_ATTR_WITH_HINT 142
|
||||
#define LOAD_CONST 143
|
||||
#define LOAD_DEREF 144
|
||||
#define LOAD_FAST 145
|
||||
#define LOAD_FAST_AND_CLEAR 146
|
||||
#define LOAD_FAST_CHECK 147
|
||||
#define LOAD_FAST_LOAD_FAST 148
|
||||
#define LOAD_FROM_DICT_OR_DEREF 149
|
||||
#define LOAD_FROM_DICT_OR_GLOBALS 150
|
||||
#define LOAD_GLOBAL 151
|
||||
#define LOAD_GLOBAL_BUILTIN 152
|
||||
#define LOAD_GLOBAL_MODULE 153
|
||||
#define LOAD_NAME 154
|
||||
#define LOAD_SUPER_ATTR 155
|
||||
#define LOAD_SUPER_ATTR_ATTR 156
|
||||
#define LOAD_SUPER_ATTR_METHOD 157
|
||||
#define MAKE_CELL 158
|
||||
#define MAP_ADD 159
|
||||
#define MATCH_CLASS 160
|
||||
#define POP_JUMP_IF_FALSE 161
|
||||
#define POP_JUMP_IF_NONE 162
|
||||
#define POP_JUMP_IF_NOT_NONE 163
|
||||
#define POP_JUMP_IF_TRUE 164
|
||||
#define RAISE_VARARGS 165
|
||||
#define RESUME 166
|
||||
#define RERAISE 167
|
||||
#define RETURN_CONST 168
|
||||
#define SEND 169
|
||||
#define SEND_GEN 170
|
||||
#define SET_ADD 171
|
||||
#define SET_FUNCTION_ATTRIBUTE 172
|
||||
#define SET_UPDATE 173
|
||||
#define STORE_ATTR 174
|
||||
#define STORE_ATTR_WITH_HINT 175
|
||||
#define STORE_DEREF 176
|
||||
#define STORE_FAST 177
|
||||
#define STORE_FAST_LOAD_FAST 178
|
||||
#define STORE_FAST_STORE_FAST 179
|
||||
#define STORE_GLOBAL 180
|
||||
#define STORE_NAME 181
|
||||
#define SWAP 182
|
||||
#define UNPACK_EX 183
|
||||
#define UNPACK_SEQUENCE 184
|
||||
#define UNPACK_SEQUENCE_LIST 185
|
||||
#define UNPACK_SEQUENCE_TUPLE 186
|
||||
#define UNPACK_SEQUENCE_TWO_TUPLE 187
|
||||
#define YIELD_VALUE 188
|
||||
#define GET_ANEXT 18
|
||||
#define GET_ITER 19
|
||||
#define GET_LEN 20
|
||||
#define GET_YIELD_FROM_ITER 21
|
||||
#define INTERPRETER_EXIT 22
|
||||
#define LOAD_ASSERTION_ERROR 23
|
||||
#define LOAD_BUILD_CLASS 24
|
||||
#define LOAD_LOCALS 25
|
||||
#define MAKE_FUNCTION 26
|
||||
#define MATCH_KEYS 27
|
||||
#define MATCH_MAPPING 28
|
||||
#define MATCH_SEQUENCE 29
|
||||
#define NOP 30
|
||||
#define POP_EXCEPT 31
|
||||
#define POP_TOP 32
|
||||
#define PUSH_EXC_INFO 33
|
||||
#define PUSH_NULL 34
|
||||
#define RETURN_GENERATOR 35
|
||||
#define RETURN_VALUE 36
|
||||
#define SETUP_ANNOTATIONS 37
|
||||
#define STORE_SLICE 38
|
||||
#define STORE_SUBSCR 39
|
||||
#define TO_BOOL 40
|
||||
#define UNARY_INVERT 41
|
||||
#define UNARY_NEGATIVE 42
|
||||
#define UNARY_NOT 43
|
||||
#define WITH_EXCEPT_START 44
|
||||
#define HAVE_ARGUMENT 45
|
||||
#define BINARY_OP 45
|
||||
#define BUILD_CONST_KEY_MAP 46
|
||||
#define BUILD_LIST 47
|
||||
#define BUILD_MAP 48
|
||||
#define BUILD_SET 49
|
||||
#define BUILD_SLICE 50
|
||||
#define BUILD_STRING 51
|
||||
#define BUILD_TUPLE 52
|
||||
#define CALL 53
|
||||
#define CALL_FUNCTION_EX 54
|
||||
#define CALL_INTRINSIC_1 55
|
||||
#define CALL_INTRINSIC_2 56
|
||||
#define COMPARE_OP 57
|
||||
#define CONTAINS_OP 58
|
||||
#define CONVERT_VALUE 59
|
||||
#define COPY 60
|
||||
#define COPY_FREE_VARS 61
|
||||
#define DELETE_ATTR 62
|
||||
#define DELETE_DEREF 63
|
||||
#define DELETE_FAST 64
|
||||
#define DELETE_GLOBAL 65
|
||||
#define DELETE_NAME 66
|
||||
#define DICT_MERGE 67
|
||||
#define DICT_UPDATE 68
|
||||
#define ENTER_EXECUTOR 69
|
||||
#define EXTENDED_ARG 70
|
||||
#define FOR_ITER 71
|
||||
#define GET_AWAITABLE 72
|
||||
#define IMPORT_FROM 73
|
||||
#define IMPORT_NAME 74
|
||||
#define IS_OP 75
|
||||
#define JUMP_BACKWARD 76
|
||||
#define JUMP_BACKWARD_NO_INTERRUPT 77
|
||||
#define JUMP_FORWARD 78
|
||||
#define KW_NAMES 79
|
||||
#define LIST_APPEND 80
|
||||
#define LIST_EXTEND 81
|
||||
#define LOAD_ATTR 82
|
||||
#define LOAD_CONST 83
|
||||
#define LOAD_DEREF 84
|
||||
#define LOAD_FAST 85
|
||||
#define LOAD_FAST_AND_CLEAR 86
|
||||
#define LOAD_FAST_CHECK 87
|
||||
#define LOAD_FAST_LOAD_FAST 88
|
||||
#define LOAD_FROM_DICT_OR_DEREF 89
|
||||
#define LOAD_FROM_DICT_OR_GLOBALS 90
|
||||
#define LOAD_GLOBAL 91
|
||||
#define LOAD_NAME 92
|
||||
#define LOAD_SUPER_ATTR 93
|
||||
#define MAKE_CELL 94
|
||||
#define MAP_ADD 95
|
||||
#define MATCH_CLASS 96
|
||||
#define POP_JUMP_IF_FALSE 97
|
||||
#define POP_JUMP_IF_NONE 98
|
||||
#define POP_JUMP_IF_NOT_NONE 99
|
||||
#define POP_JUMP_IF_TRUE 100
|
||||
#define RAISE_VARARGS 101
|
||||
#define RERAISE 102
|
||||
#define RETURN_CONST 103
|
||||
#define SEND 104
|
||||
#define SET_ADD 105
|
||||
#define SET_FUNCTION_ATTRIBUTE 106
|
||||
#define SET_UPDATE 107
|
||||
#define STORE_ATTR 108
|
||||
#define STORE_DEREF 109
|
||||
#define STORE_FAST 110
|
||||
#define STORE_FAST_LOAD_FAST 111
|
||||
#define STORE_FAST_STORE_FAST 112
|
||||
#define STORE_GLOBAL 113
|
||||
#define STORE_NAME 114
|
||||
#define SWAP 115
|
||||
#define UNPACK_EX 116
|
||||
#define UNPACK_SEQUENCE 117
|
||||
#define YIELD_VALUE 118
|
||||
#define RESUME 149
|
||||
#define BINARY_OP_ADD_FLOAT 150
|
||||
#define BINARY_OP_ADD_INT 151
|
||||
#define BINARY_OP_ADD_UNICODE 152
|
||||
#define BINARY_OP_MULTIPLY_FLOAT 153
|
||||
#define BINARY_OP_MULTIPLY_INT 154
|
||||
#define BINARY_OP_SUBTRACT_FLOAT 155
|
||||
#define BINARY_OP_SUBTRACT_INT 156
|
||||
#define BINARY_SUBSCR_DICT 157
|
||||
#define BINARY_SUBSCR_GETITEM 158
|
||||
#define BINARY_SUBSCR_LIST_INT 159
|
||||
#define BINARY_SUBSCR_STR_INT 160
|
||||
#define BINARY_SUBSCR_TUPLE_INT 161
|
||||
#define CALL_BOUND_METHOD_EXACT_ARGS 162
|
||||
#define CALL_BUILTIN_CLASS 163
|
||||
#define CALL_BUILTIN_FAST_WITH_KEYWORDS 164
|
||||
#define CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 165
|
||||
#define CALL_NO_KW_ALLOC_AND_ENTER_INIT 166
|
||||
#define CALL_NO_KW_BUILTIN_FAST 167
|
||||
#define CALL_NO_KW_BUILTIN_O 168
|
||||
#define CALL_NO_KW_ISINSTANCE 169
|
||||
#define CALL_NO_KW_LEN 170
|
||||
#define CALL_NO_KW_LIST_APPEND 171
|
||||
#define CALL_NO_KW_METHOD_DESCRIPTOR_FAST 172
|
||||
#define CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS 173
|
||||
#define CALL_NO_KW_METHOD_DESCRIPTOR_O 174
|
||||
#define CALL_NO_KW_STR_1 175
|
||||
#define CALL_NO_KW_TUPLE_1 176
|
||||
#define CALL_NO_KW_TYPE_1 177
|
||||
#define CALL_PY_EXACT_ARGS 178
|
||||
#define CALL_PY_WITH_DEFAULTS 179
|
||||
#define COMPARE_OP_FLOAT 180
|
||||
#define COMPARE_OP_INT 181
|
||||
#define COMPARE_OP_STR 182
|
||||
#define FOR_ITER_GEN 183
|
||||
#define FOR_ITER_LIST 184
|
||||
#define FOR_ITER_RANGE 185
|
||||
#define FOR_ITER_TUPLE 186
|
||||
#define LOAD_ATTR_CLASS 187
|
||||
#define LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN 188
|
||||
#define LOAD_ATTR_INSTANCE_VALUE 189
|
||||
#define LOAD_ATTR_METHOD_LAZY_DICT 190
|
||||
#define LOAD_ATTR_METHOD_NO_DICT 191
|
||||
#define LOAD_ATTR_METHOD_WITH_VALUES 192
|
||||
#define LOAD_ATTR_MODULE 193
|
||||
#define LOAD_ATTR_NONDESCRIPTOR_NO_DICT 194
|
||||
#define LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 195
|
||||
#define LOAD_ATTR_PROPERTY 196
|
||||
#define LOAD_ATTR_SLOT 197
|
||||
#define LOAD_ATTR_WITH_HINT 198
|
||||
#define LOAD_GLOBAL_BUILTIN 199
|
||||
#define LOAD_GLOBAL_MODULE 200
|
||||
#define LOAD_SUPER_ATTR_ATTR 201
|
||||
#define LOAD_SUPER_ATTR_METHOD 202
|
||||
#define RESUME_CHECK 203
|
||||
#define SEND_GEN 204
|
||||
#define STORE_ATTR_INSTANCE_VALUE 205
|
||||
#define STORE_ATTR_SLOT 206
|
||||
#define STORE_ATTR_WITH_HINT 207
|
||||
#define STORE_SUBSCR_DICT 208
|
||||
#define STORE_SUBSCR_LIST_INT 209
|
||||
#define TO_BOOL_ALWAYS_TRUE 210
|
||||
#define TO_BOOL_BOOL 211
|
||||
#define TO_BOOL_INT 212
|
||||
#define TO_BOOL_LIST 213
|
||||
#define TO_BOOL_NONE 214
|
||||
#define TO_BOOL_STR 215
|
||||
#define UNPACK_SEQUENCE_LIST 216
|
||||
#define UNPACK_SEQUENCE_TUPLE 217
|
||||
#define UNPACK_SEQUENCE_TWO_TUPLE 218
|
||||
#define MIN_INSTRUMENTED_OPCODE 237
|
||||
#define INSTRUMENTED_RESUME 237
|
||||
#define INSTRUMENTED_END_FOR 238
|
||||
|
|
|
@ -107,198 +107,198 @@ _specializations = {
|
|||
_specializations["BINARY_OP"].append("BINARY_OP_INPLACE_ADD_UNICODE")
|
||||
|
||||
_specialized_opmap = {
|
||||
'BINARY_OP_ADD_FLOAT': 3,
|
||||
'BINARY_OP_ADD_INT': 4,
|
||||
'BINARY_OP_ADD_UNICODE': 5,
|
||||
'BINARY_OP_INPLACE_ADD_UNICODE': 6,
|
||||
'BINARY_OP_MULTIPLY_FLOAT': 7,
|
||||
'BINARY_OP_MULTIPLY_INT': 8,
|
||||
'BINARY_OP_SUBTRACT_FLOAT': 9,
|
||||
'BINARY_OP_SUBTRACT_INT': 10,
|
||||
'BINARY_SUBSCR_DICT': 13,
|
||||
'BINARY_SUBSCR_GETITEM': 14,
|
||||
'BINARY_SUBSCR_LIST_INT': 15,
|
||||
'BINARY_SUBSCR_STR_INT': 16,
|
||||
'BINARY_SUBSCR_TUPLE_INT': 18,
|
||||
'RESUME_CHECK': 47,
|
||||
'STORE_ATTR_INSTANCE_VALUE': 51,
|
||||
'STORE_ATTR_SLOT': 52,
|
||||
'STORE_SUBSCR_DICT': 55,
|
||||
'STORE_SUBSCR_LIST_INT': 56,
|
||||
'TO_BOOL_ALWAYS_TRUE': 58,
|
||||
'TO_BOOL_BOOL': 59,
|
||||
'TO_BOOL_INT': 60,
|
||||
'TO_BOOL_LIST': 61,
|
||||
'TO_BOOL_NONE': 62,
|
||||
'TO_BOOL_STR': 63,
|
||||
'CALL_BOUND_METHOD_EXACT_ARGS': 77,
|
||||
'CALL_BUILTIN_CLASS': 78,
|
||||
'CALL_BUILTIN_FAST_WITH_KEYWORDS': 79,
|
||||
'CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS': 83,
|
||||
'CALL_NO_KW_ALLOC_AND_ENTER_INIT': 84,
|
||||
'CALL_NO_KW_BUILTIN_FAST': 85,
|
||||
'CALL_NO_KW_BUILTIN_O': 86,
|
||||
'CALL_NO_KW_ISINSTANCE': 87,
|
||||
'CALL_NO_KW_LEN': 88,
|
||||
'CALL_NO_KW_LIST_APPEND': 89,
|
||||
'CALL_NO_KW_METHOD_DESCRIPTOR_FAST': 90,
|
||||
'CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS': 91,
|
||||
'CALL_NO_KW_METHOD_DESCRIPTOR_O': 92,
|
||||
'CALL_NO_KW_STR_1': 93,
|
||||
'CALL_NO_KW_TUPLE_1': 94,
|
||||
'CALL_NO_KW_TYPE_1': 95,
|
||||
'CALL_PY_EXACT_ARGS': 96,
|
||||
'CALL_PY_WITH_DEFAULTS': 97,
|
||||
'COMPARE_OP_FLOAT': 99,
|
||||
'COMPARE_OP_INT': 100,
|
||||
'COMPARE_OP_STR': 101,
|
||||
'FOR_ITER_GEN': 116,
|
||||
'FOR_ITER_LIST': 117,
|
||||
'FOR_ITER_RANGE': 118,
|
||||
'FOR_ITER_TUPLE': 119,
|
||||
'LOAD_ATTR_CLASS': 131,
|
||||
'LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN': 132,
|
||||
'LOAD_ATTR_INSTANCE_VALUE': 133,
|
||||
'LOAD_ATTR_METHOD_LAZY_DICT': 134,
|
||||
'LOAD_ATTR_METHOD_NO_DICT': 135,
|
||||
'LOAD_ATTR_METHOD_WITH_VALUES': 136,
|
||||
'LOAD_ATTR_MODULE': 137,
|
||||
'LOAD_ATTR_NONDESCRIPTOR_NO_DICT': 138,
|
||||
'LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES': 139,
|
||||
'LOAD_ATTR_PROPERTY': 140,
|
||||
'LOAD_ATTR_SLOT': 141,
|
||||
'LOAD_ATTR_WITH_HINT': 142,
|
||||
'LOAD_GLOBAL_BUILTIN': 152,
|
||||
'LOAD_GLOBAL_MODULE': 153,
|
||||
'LOAD_SUPER_ATTR_ATTR': 156,
|
||||
'LOAD_SUPER_ATTR_METHOD': 157,
|
||||
'SEND_GEN': 170,
|
||||
'STORE_ATTR_WITH_HINT': 175,
|
||||
'UNPACK_SEQUENCE_LIST': 185,
|
||||
'UNPACK_SEQUENCE_TUPLE': 186,
|
||||
'UNPACK_SEQUENCE_TWO_TUPLE': 187,
|
||||
'BINARY_OP_INPLACE_ADD_UNICODE': 3,
|
||||
'BINARY_OP_ADD_FLOAT': 150,
|
||||
'BINARY_OP_ADD_INT': 151,
|
||||
'BINARY_OP_ADD_UNICODE': 152,
|
||||
'BINARY_OP_MULTIPLY_FLOAT': 153,
|
||||
'BINARY_OP_MULTIPLY_INT': 154,
|
||||
'BINARY_OP_SUBTRACT_FLOAT': 155,
|
||||
'BINARY_OP_SUBTRACT_INT': 156,
|
||||
'BINARY_SUBSCR_DICT': 157,
|
||||
'BINARY_SUBSCR_GETITEM': 158,
|
||||
'BINARY_SUBSCR_LIST_INT': 159,
|
||||
'BINARY_SUBSCR_STR_INT': 160,
|
||||
'BINARY_SUBSCR_TUPLE_INT': 161,
|
||||
'CALL_BOUND_METHOD_EXACT_ARGS': 162,
|
||||
'CALL_BUILTIN_CLASS': 163,
|
||||
'CALL_BUILTIN_FAST_WITH_KEYWORDS': 164,
|
||||
'CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS': 165,
|
||||
'CALL_NO_KW_ALLOC_AND_ENTER_INIT': 166,
|
||||
'CALL_NO_KW_BUILTIN_FAST': 167,
|
||||
'CALL_NO_KW_BUILTIN_O': 168,
|
||||
'CALL_NO_KW_ISINSTANCE': 169,
|
||||
'CALL_NO_KW_LEN': 170,
|
||||
'CALL_NO_KW_LIST_APPEND': 171,
|
||||
'CALL_NO_KW_METHOD_DESCRIPTOR_FAST': 172,
|
||||
'CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS': 173,
|
||||
'CALL_NO_KW_METHOD_DESCRIPTOR_O': 174,
|
||||
'CALL_NO_KW_STR_1': 175,
|
||||
'CALL_NO_KW_TUPLE_1': 176,
|
||||
'CALL_NO_KW_TYPE_1': 177,
|
||||
'CALL_PY_EXACT_ARGS': 178,
|
||||
'CALL_PY_WITH_DEFAULTS': 179,
|
||||
'COMPARE_OP_FLOAT': 180,
|
||||
'COMPARE_OP_INT': 181,
|
||||
'COMPARE_OP_STR': 182,
|
||||
'FOR_ITER_GEN': 183,
|
||||
'FOR_ITER_LIST': 184,
|
||||
'FOR_ITER_RANGE': 185,
|
||||
'FOR_ITER_TUPLE': 186,
|
||||
'LOAD_ATTR_CLASS': 187,
|
||||
'LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN': 188,
|
||||
'LOAD_ATTR_INSTANCE_VALUE': 189,
|
||||
'LOAD_ATTR_METHOD_LAZY_DICT': 190,
|
||||
'LOAD_ATTR_METHOD_NO_DICT': 191,
|
||||
'LOAD_ATTR_METHOD_WITH_VALUES': 192,
|
||||
'LOAD_ATTR_MODULE': 193,
|
||||
'LOAD_ATTR_NONDESCRIPTOR_NO_DICT': 194,
|
||||
'LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES': 195,
|
||||
'LOAD_ATTR_PROPERTY': 196,
|
||||
'LOAD_ATTR_SLOT': 197,
|
||||
'LOAD_ATTR_WITH_HINT': 198,
|
||||
'LOAD_GLOBAL_BUILTIN': 199,
|
||||
'LOAD_GLOBAL_MODULE': 200,
|
||||
'LOAD_SUPER_ATTR_ATTR': 201,
|
||||
'LOAD_SUPER_ATTR_METHOD': 202,
|
||||
'RESUME_CHECK': 203,
|
||||
'SEND_GEN': 204,
|
||||
'STORE_ATTR_INSTANCE_VALUE': 205,
|
||||
'STORE_ATTR_SLOT': 206,
|
||||
'STORE_ATTR_WITH_HINT': 207,
|
||||
'STORE_SUBSCR_DICT': 208,
|
||||
'STORE_SUBSCR_LIST_INT': 209,
|
||||
'TO_BOOL_ALWAYS_TRUE': 210,
|
||||
'TO_BOOL_BOOL': 211,
|
||||
'TO_BOOL_INT': 212,
|
||||
'TO_BOOL_LIST': 213,
|
||||
'TO_BOOL_NONE': 214,
|
||||
'TO_BOOL_STR': 215,
|
||||
'UNPACK_SEQUENCE_LIST': 216,
|
||||
'UNPACK_SEQUENCE_TUPLE': 217,
|
||||
'UNPACK_SEQUENCE_TWO_TUPLE': 218,
|
||||
}
|
||||
|
||||
opmap = {
|
||||
'CACHE': 0,
|
||||
'BEFORE_ASYNC_WITH': 1,
|
||||
'BEFORE_WITH': 2,
|
||||
'BINARY_SLICE': 11,
|
||||
'BINARY_SUBSCR': 12,
|
||||
'BINARY_SLICE': 4,
|
||||
'BINARY_SUBSCR': 5,
|
||||
'CHECK_EG_MATCH': 6,
|
||||
'CHECK_EXC_MATCH': 7,
|
||||
'CLEANUP_THROW': 8,
|
||||
'DELETE_SUBSCR': 9,
|
||||
'END_ASYNC_FOR': 10,
|
||||
'END_FOR': 11,
|
||||
'END_SEND': 12,
|
||||
'EXIT_INIT_CHECK': 13,
|
||||
'FORMAT_SIMPLE': 14,
|
||||
'FORMAT_WITH_SPEC': 15,
|
||||
'GET_AITER': 16,
|
||||
'RESERVED': 17,
|
||||
'CHECK_EG_MATCH': 19,
|
||||
'CHECK_EXC_MATCH': 20,
|
||||
'CLEANUP_THROW': 21,
|
||||
'DELETE_SUBSCR': 22,
|
||||
'END_ASYNC_FOR': 23,
|
||||
'END_FOR': 24,
|
||||
'END_SEND': 25,
|
||||
'EXIT_INIT_CHECK': 26,
|
||||
'FORMAT_SIMPLE': 27,
|
||||
'FORMAT_WITH_SPEC': 28,
|
||||
'GET_AITER': 29,
|
||||
'GET_ANEXT': 30,
|
||||
'GET_ITER': 31,
|
||||
'GET_LEN': 32,
|
||||
'GET_YIELD_FROM_ITER': 33,
|
||||
'INTERPRETER_EXIT': 34,
|
||||
'LOAD_ASSERTION_ERROR': 35,
|
||||
'LOAD_BUILD_CLASS': 36,
|
||||
'LOAD_LOCALS': 37,
|
||||
'MAKE_FUNCTION': 38,
|
||||
'MATCH_KEYS': 39,
|
||||
'MATCH_MAPPING': 40,
|
||||
'MATCH_SEQUENCE': 41,
|
||||
'NOP': 42,
|
||||
'POP_EXCEPT': 43,
|
||||
'POP_TOP': 44,
|
||||
'PUSH_EXC_INFO': 45,
|
||||
'PUSH_NULL': 46,
|
||||
'RETURN_GENERATOR': 48,
|
||||
'RETURN_VALUE': 49,
|
||||
'SETUP_ANNOTATIONS': 50,
|
||||
'STORE_SLICE': 53,
|
||||
'STORE_SUBSCR': 54,
|
||||
'TO_BOOL': 57,
|
||||
'UNARY_INVERT': 64,
|
||||
'UNARY_NEGATIVE': 65,
|
||||
'UNARY_NOT': 66,
|
||||
'WITH_EXCEPT_START': 67,
|
||||
'BINARY_OP': 68,
|
||||
'BUILD_CONST_KEY_MAP': 69,
|
||||
'BUILD_LIST': 70,
|
||||
'BUILD_MAP': 71,
|
||||
'BUILD_SET': 72,
|
||||
'BUILD_SLICE': 73,
|
||||
'BUILD_STRING': 74,
|
||||
'BUILD_TUPLE': 75,
|
||||
'CALL': 76,
|
||||
'CALL_FUNCTION_EX': 80,
|
||||
'CALL_INTRINSIC_1': 81,
|
||||
'CALL_INTRINSIC_2': 82,
|
||||
'COMPARE_OP': 98,
|
||||
'CONTAINS_OP': 102,
|
||||
'CONVERT_VALUE': 103,
|
||||
'COPY': 104,
|
||||
'COPY_FREE_VARS': 105,
|
||||
'DELETE_ATTR': 106,
|
||||
'DELETE_DEREF': 107,
|
||||
'DELETE_FAST': 108,
|
||||
'DELETE_GLOBAL': 109,
|
||||
'DELETE_NAME': 110,
|
||||
'DICT_MERGE': 111,
|
||||
'DICT_UPDATE': 112,
|
||||
'ENTER_EXECUTOR': 113,
|
||||
'EXTENDED_ARG': 114,
|
||||
'FOR_ITER': 115,
|
||||
'GET_AWAITABLE': 120,
|
||||
'IMPORT_FROM': 121,
|
||||
'IMPORT_NAME': 122,
|
||||
'IS_OP': 123,
|
||||
'JUMP_BACKWARD': 124,
|
||||
'JUMP_BACKWARD_NO_INTERRUPT': 125,
|
||||
'JUMP_FORWARD': 126,
|
||||
'KW_NAMES': 127,
|
||||
'LIST_APPEND': 128,
|
||||
'LIST_EXTEND': 129,
|
||||
'LOAD_ATTR': 130,
|
||||
'LOAD_CONST': 143,
|
||||
'LOAD_DEREF': 144,
|
||||
'LOAD_FAST': 145,
|
||||
'LOAD_FAST_AND_CLEAR': 146,
|
||||
'LOAD_FAST_CHECK': 147,
|
||||
'LOAD_FAST_LOAD_FAST': 148,
|
||||
'LOAD_FROM_DICT_OR_DEREF': 149,
|
||||
'LOAD_FROM_DICT_OR_GLOBALS': 150,
|
||||
'LOAD_GLOBAL': 151,
|
||||
'LOAD_NAME': 154,
|
||||
'LOAD_SUPER_ATTR': 155,
|
||||
'MAKE_CELL': 158,
|
||||
'MAP_ADD': 159,
|
||||
'MATCH_CLASS': 160,
|
||||
'POP_JUMP_IF_FALSE': 161,
|
||||
'POP_JUMP_IF_NONE': 162,
|
||||
'POP_JUMP_IF_NOT_NONE': 163,
|
||||
'POP_JUMP_IF_TRUE': 164,
|
||||
'RAISE_VARARGS': 165,
|
||||
'RESUME': 166,
|
||||
'RERAISE': 167,
|
||||
'RETURN_CONST': 168,
|
||||
'SEND': 169,
|
||||
'SET_ADD': 171,
|
||||
'SET_FUNCTION_ATTRIBUTE': 172,
|
||||
'SET_UPDATE': 173,
|
||||
'STORE_ATTR': 174,
|
||||
'STORE_DEREF': 176,
|
||||
'STORE_FAST': 177,
|
||||
'STORE_FAST_LOAD_FAST': 178,
|
||||
'STORE_FAST_STORE_FAST': 179,
|
||||
'STORE_GLOBAL': 180,
|
||||
'STORE_NAME': 181,
|
||||
'SWAP': 182,
|
||||
'UNPACK_EX': 183,
|
||||
'UNPACK_SEQUENCE': 184,
|
||||
'YIELD_VALUE': 188,
|
||||
'GET_ANEXT': 18,
|
||||
'GET_ITER': 19,
|
||||
'GET_LEN': 20,
|
||||
'GET_YIELD_FROM_ITER': 21,
|
||||
'INTERPRETER_EXIT': 22,
|
||||
'LOAD_ASSERTION_ERROR': 23,
|
||||
'LOAD_BUILD_CLASS': 24,
|
||||
'LOAD_LOCALS': 25,
|
||||
'MAKE_FUNCTION': 26,
|
||||
'MATCH_KEYS': 27,
|
||||
'MATCH_MAPPING': 28,
|
||||
'MATCH_SEQUENCE': 29,
|
||||
'NOP': 30,
|
||||
'POP_EXCEPT': 31,
|
||||
'POP_TOP': 32,
|
||||
'PUSH_EXC_INFO': 33,
|
||||
'PUSH_NULL': 34,
|
||||
'RETURN_GENERATOR': 35,
|
||||
'RETURN_VALUE': 36,
|
||||
'SETUP_ANNOTATIONS': 37,
|
||||
'STORE_SLICE': 38,
|
||||
'STORE_SUBSCR': 39,
|
||||
'TO_BOOL': 40,
|
||||
'UNARY_INVERT': 41,
|
||||
'UNARY_NEGATIVE': 42,
|
||||
'UNARY_NOT': 43,
|
||||
'WITH_EXCEPT_START': 44,
|
||||
'BINARY_OP': 45,
|
||||
'BUILD_CONST_KEY_MAP': 46,
|
||||
'BUILD_LIST': 47,
|
||||
'BUILD_MAP': 48,
|
||||
'BUILD_SET': 49,
|
||||
'BUILD_SLICE': 50,
|
||||
'BUILD_STRING': 51,
|
||||
'BUILD_TUPLE': 52,
|
||||
'CALL': 53,
|
||||
'CALL_FUNCTION_EX': 54,
|
||||
'CALL_INTRINSIC_1': 55,
|
||||
'CALL_INTRINSIC_2': 56,
|
||||
'COMPARE_OP': 57,
|
||||
'CONTAINS_OP': 58,
|
||||
'CONVERT_VALUE': 59,
|
||||
'COPY': 60,
|
||||
'COPY_FREE_VARS': 61,
|
||||
'DELETE_ATTR': 62,
|
||||
'DELETE_DEREF': 63,
|
||||
'DELETE_FAST': 64,
|
||||
'DELETE_GLOBAL': 65,
|
||||
'DELETE_NAME': 66,
|
||||
'DICT_MERGE': 67,
|
||||
'DICT_UPDATE': 68,
|
||||
'ENTER_EXECUTOR': 69,
|
||||
'EXTENDED_ARG': 70,
|
||||
'FOR_ITER': 71,
|
||||
'GET_AWAITABLE': 72,
|
||||
'IMPORT_FROM': 73,
|
||||
'IMPORT_NAME': 74,
|
||||
'IS_OP': 75,
|
||||
'JUMP_BACKWARD': 76,
|
||||
'JUMP_BACKWARD_NO_INTERRUPT': 77,
|
||||
'JUMP_FORWARD': 78,
|
||||
'KW_NAMES': 79,
|
||||
'LIST_APPEND': 80,
|
||||
'LIST_EXTEND': 81,
|
||||
'LOAD_ATTR': 82,
|
||||
'LOAD_CONST': 83,
|
||||
'LOAD_DEREF': 84,
|
||||
'LOAD_FAST': 85,
|
||||
'LOAD_FAST_AND_CLEAR': 86,
|
||||
'LOAD_FAST_CHECK': 87,
|
||||
'LOAD_FAST_LOAD_FAST': 88,
|
||||
'LOAD_FROM_DICT_OR_DEREF': 89,
|
||||
'LOAD_FROM_DICT_OR_GLOBALS': 90,
|
||||
'LOAD_GLOBAL': 91,
|
||||
'LOAD_NAME': 92,
|
||||
'LOAD_SUPER_ATTR': 93,
|
||||
'MAKE_CELL': 94,
|
||||
'MAP_ADD': 95,
|
||||
'MATCH_CLASS': 96,
|
||||
'POP_JUMP_IF_FALSE': 97,
|
||||
'POP_JUMP_IF_NONE': 98,
|
||||
'POP_JUMP_IF_NOT_NONE': 99,
|
||||
'POP_JUMP_IF_TRUE': 100,
|
||||
'RAISE_VARARGS': 101,
|
||||
'RERAISE': 102,
|
||||
'RETURN_CONST': 103,
|
||||
'SEND': 104,
|
||||
'SET_ADD': 105,
|
||||
'SET_FUNCTION_ATTRIBUTE': 106,
|
||||
'SET_UPDATE': 107,
|
||||
'STORE_ATTR': 108,
|
||||
'STORE_DEREF': 109,
|
||||
'STORE_FAST': 110,
|
||||
'STORE_FAST_LOAD_FAST': 111,
|
||||
'STORE_FAST_STORE_FAST': 112,
|
||||
'STORE_GLOBAL': 113,
|
||||
'STORE_NAME': 114,
|
||||
'SWAP': 115,
|
||||
'UNPACK_EX': 116,
|
||||
'UNPACK_SEQUENCE': 117,
|
||||
'YIELD_VALUE': 118,
|
||||
'RESUME': 149,
|
||||
'INSTRUMENTED_RESUME': 237,
|
||||
'INSTRUMENTED_END_FOR': 238,
|
||||
'INSTRUMENTED_END_SEND': 239,
|
||||
|
@ -331,4 +331,4 @@ opmap = {
|
|||
'STORE_FAST_MAYBE_NULL': 267,
|
||||
}
|
||||
MIN_INSTRUMENTED_OPCODE = 237
|
||||
HAVE_ARGUMENT = 68
|
||||
HAVE_ARGUMENT = 45
|
||||
|
|
|
@ -457,6 +457,7 @@ _code_type = type(_write_atomic.__code__)
|
|||
# Python 3.13a1 3559 (Generate opcode IDs from bytecodes.c)
|
||||
# Python 3.13a1 3560 (Add RESUME_CHECK instruction)
|
||||
# Python 3.13a1 3561 (Add cache entry to branch instructions)
|
||||
# Python 3.13a1 3562 (Assign opcode IDs for internal ops in separate range)
|
||||
|
||||
# Python 3.14 will start with 3600
|
||||
|
||||
|
@ -473,7 +474,7 @@ _code_type = type(_write_atomic.__code__)
|
|||
# Whenever MAGIC_NUMBER is changed, the ranges in the magic_values array
|
||||
# in PC/launcher.c must also be updated.
|
||||
|
||||
MAGIC_NUMBER = (3561).to_bytes(2, 'little') + b'\r\n'
|
||||
MAGIC_NUMBER = (3562).to_bytes(2, 'little') + b'\r\n'
|
||||
|
||||
_RAW_MAGIC_NUMBER = int.from_bytes(MAGIC_NUMBER, 'little') # For import.c
|
||||
|
||||
|
|
|
@ -1641,197 +1641,197 @@ def _prepare_test_cases():
|
|||
Instruction = dis.Instruction
|
||||
|
||||
expected_opinfo_outer = [
|
||||
Instruction(opname='MAKE_CELL', opcode=158, arg=0, argval='a', argrepr='a', offset=0, start_offset=0, starts_line=True, line_number=None, is_jump_target=False, positions=None),
|
||||
Instruction(opname='MAKE_CELL', opcode=158, arg=1, argval='b', argrepr='b', offset=2, start_offset=2, starts_line=False, line_number=None, is_jump_target=False, positions=None),
|
||||
Instruction(opname='RESUME', opcode=166, arg=0, argval=0, argrepr='', offset=4, start_offset=4, starts_line=True, line_number=1, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=143, arg=5, argval=(3, 4), argrepr='(3, 4)', offset=6, start_offset=6, starts_line=True, line_number=2, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_FAST', opcode=145, arg=0, argval='a', argrepr='a', offset=8, start_offset=8, starts_line=False, line_number=2, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_FAST', opcode=145, arg=1, argval='b', argrepr='b', offset=10, start_offset=10, starts_line=False, line_number=2, is_jump_target=False, positions=None),
|
||||
Instruction(opname='BUILD_TUPLE', opcode=75, arg=2, argval=2, argrepr='', offset=12, start_offset=12, starts_line=False, line_number=2, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=143, arg=1, argval=code_object_f, argrepr=repr(code_object_f), offset=14, start_offset=14, starts_line=False, line_number=2, is_jump_target=False, positions=None),
|
||||
Instruction(opname='MAKE_FUNCTION', opcode=38, arg=None, argval=None, argrepr='', offset=16, start_offset=16, starts_line=False, line_number=2, is_jump_target=False, positions=None),
|
||||
Instruction(opname='SET_FUNCTION_ATTRIBUTE', opcode=172, arg=8, argval=8, argrepr='closure', offset=18, start_offset=18, starts_line=False, line_number=2, is_jump_target=False, positions=None),
|
||||
Instruction(opname='SET_FUNCTION_ATTRIBUTE', opcode=172, arg=1, argval=1, argrepr='defaults', offset=20, start_offset=20, starts_line=False, line_number=2, is_jump_target=False, positions=None),
|
||||
Instruction(opname='STORE_FAST', opcode=177, arg=2, argval='f', argrepr='f', offset=22, start_offset=22, starts_line=False, line_number=2, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_GLOBAL', opcode=151, arg=1, argval='print', argrepr='print + NULL', offset=24, start_offset=24, starts_line=True, line_number=7, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_DEREF', opcode=144, arg=0, argval='a', argrepr='a', offset=34, start_offset=34, starts_line=False, line_number=7, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_DEREF', opcode=144, arg=1, argval='b', argrepr='b', offset=36, start_offset=36, starts_line=False, line_number=7, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=143, arg=2, argval='', argrepr="''", offset=38, start_offset=38, starts_line=False, line_number=7, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=143, arg=3, argval=1, argrepr='1', offset=40, start_offset=40, starts_line=False, line_number=7, is_jump_target=False, positions=None),
|
||||
Instruction(opname='BUILD_LIST', opcode=70, arg=0, argval=0, argrepr='', offset=42, start_offset=42, starts_line=False, line_number=7, is_jump_target=False, positions=None),
|
||||
Instruction(opname='BUILD_MAP', opcode=71, arg=0, argval=0, argrepr='', offset=44, start_offset=44, starts_line=False, line_number=7, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=143, arg=4, argval='Hello world!', argrepr="'Hello world!'", offset=46, start_offset=46, starts_line=False, line_number=7, is_jump_target=False, positions=None),
|
||||
Instruction(opname='CALL', opcode=76, arg=7, argval=7, argrepr='', offset=48, start_offset=48, starts_line=False, line_number=7, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_TOP', opcode=44, arg=None, argval=None, argrepr='', offset=56, start_offset=56, starts_line=False, line_number=7, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_FAST', opcode=145, arg=2, argval='f', argrepr='f', offset=58, start_offset=58, starts_line=True, line_number=8, is_jump_target=False, positions=None),
|
||||
Instruction(opname='RETURN_VALUE', opcode=49, arg=None, argval=None, argrepr='', offset=60, start_offset=60, starts_line=False, line_number=8, is_jump_target=False, positions=None),
|
||||
Instruction(opname='MAKE_CELL', opcode=94, arg=0, argval='a', argrepr='a', offset=0, start_offset=0, starts_line=True, line_number=None, is_jump_target=False, positions=None),
|
||||
Instruction(opname='MAKE_CELL', opcode=94, arg=1, argval='b', argrepr='b', offset=2, start_offset=2, starts_line=False, line_number=None, is_jump_target=False, positions=None),
|
||||
Instruction(opname='RESUME', opcode=149, arg=0, argval=0, argrepr='', offset=4, start_offset=4, starts_line=True, line_number=1, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=83, arg=5, argval=(3, 4), argrepr='(3, 4)', offset=6, start_offset=6, starts_line=True, line_number=2, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_FAST', opcode=85, arg=0, argval='a', argrepr='a', offset=8, start_offset=8, starts_line=False, line_number=2, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_FAST', opcode=85, arg=1, argval='b', argrepr='b', offset=10, start_offset=10, starts_line=False, line_number=2, is_jump_target=False, positions=None),
|
||||
Instruction(opname='BUILD_TUPLE', opcode=52, arg=2, argval=2, argrepr='', offset=12, start_offset=12, starts_line=False, line_number=2, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=83, arg=1, argval=code_object_f, argrepr=repr(code_object_f), offset=14, start_offset=14, starts_line=False, line_number=2, is_jump_target=False, positions=None),
|
||||
Instruction(opname='MAKE_FUNCTION', opcode=26, arg=None, argval=None, argrepr='', offset=16, start_offset=16, starts_line=False, line_number=2, is_jump_target=False, positions=None),
|
||||
Instruction(opname='SET_FUNCTION_ATTRIBUTE', opcode=106, arg=8, argval=8, argrepr='closure', offset=18, start_offset=18, starts_line=False, line_number=2, is_jump_target=False, positions=None),
|
||||
Instruction(opname='SET_FUNCTION_ATTRIBUTE', opcode=106, arg=1, argval=1, argrepr='defaults', offset=20, start_offset=20, starts_line=False, line_number=2, is_jump_target=False, positions=None),
|
||||
Instruction(opname='STORE_FAST', opcode=110, arg=2, argval='f', argrepr='f', offset=22, start_offset=22, starts_line=False, line_number=2, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_GLOBAL', opcode=91, arg=1, argval='print', argrepr='print + NULL', offset=24, start_offset=24, starts_line=True, line_number=7, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_DEREF', opcode=84, arg=0, argval='a', argrepr='a', offset=34, start_offset=34, starts_line=False, line_number=7, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_DEREF', opcode=84, arg=1, argval='b', argrepr='b', offset=36, start_offset=36, starts_line=False, line_number=7, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=83, arg=2, argval='', argrepr="''", offset=38, start_offset=38, starts_line=False, line_number=7, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=83, arg=3, argval=1, argrepr='1', offset=40, start_offset=40, starts_line=False, line_number=7, is_jump_target=False, positions=None),
|
||||
Instruction(opname='BUILD_LIST', opcode=47, arg=0, argval=0, argrepr='', offset=42, start_offset=42, starts_line=False, line_number=7, is_jump_target=False, positions=None),
|
||||
Instruction(opname='BUILD_MAP', opcode=48, arg=0, argval=0, argrepr='', offset=44, start_offset=44, starts_line=False, line_number=7, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=83, arg=4, argval='Hello world!', argrepr="'Hello world!'", offset=46, start_offset=46, starts_line=False, line_number=7, is_jump_target=False, positions=None),
|
||||
Instruction(opname='CALL', opcode=53, arg=7, argval=7, argrepr='', offset=48, start_offset=48, starts_line=False, line_number=7, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_TOP', opcode=32, arg=None, argval=None, argrepr='', offset=56, start_offset=56, starts_line=False, line_number=7, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_FAST', opcode=85, arg=2, argval='f', argrepr='f', offset=58, start_offset=58, starts_line=True, line_number=8, is_jump_target=False, positions=None),
|
||||
Instruction(opname='RETURN_VALUE', opcode=36, arg=None, argval=None, argrepr='', offset=60, start_offset=60, starts_line=False, line_number=8, is_jump_target=False, positions=None),
|
||||
]
|
||||
|
||||
expected_opinfo_f = [
|
||||
Instruction(opname='COPY_FREE_VARS', opcode=105, arg=2, argval=2, argrepr='', offset=0, start_offset=0, starts_line=True, line_number=None, is_jump_target=False, positions=None),
|
||||
Instruction(opname='MAKE_CELL', opcode=158, arg=0, argval='c', argrepr='c', offset=2, start_offset=2, starts_line=False, line_number=None, is_jump_target=False, positions=None),
|
||||
Instruction(opname='MAKE_CELL', opcode=158, arg=1, argval='d', argrepr='d', offset=4, start_offset=4, starts_line=False, line_number=None, is_jump_target=False, positions=None),
|
||||
Instruction(opname='RESUME', opcode=166, arg=0, argval=0, argrepr='', offset=6, start_offset=6, starts_line=True, line_number=2, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=143, arg=2, argval=(5, 6), argrepr='(5, 6)', offset=8, start_offset=8, starts_line=True, line_number=3, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_FAST', opcode=145, arg=3, argval='a', argrepr='a', offset=10, start_offset=10, starts_line=False, line_number=3, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_FAST', opcode=145, arg=4, argval='b', argrepr='b', offset=12, start_offset=12, starts_line=False, line_number=3, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_FAST', opcode=145, arg=0, argval='c', argrepr='c', offset=14, start_offset=14, starts_line=False, line_number=3, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_FAST', opcode=145, arg=1, argval='d', argrepr='d', offset=16, start_offset=16, starts_line=False, line_number=3, is_jump_target=False, positions=None),
|
||||
Instruction(opname='BUILD_TUPLE', opcode=75, arg=4, argval=4, argrepr='', offset=18, start_offset=18, starts_line=False, line_number=3, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=143, arg=1, argval=code_object_inner, argrepr=repr(code_object_inner), offset=20, start_offset=20, starts_line=False, line_number=3, is_jump_target=False, positions=None),
|
||||
Instruction(opname='MAKE_FUNCTION', opcode=38, arg=None, argval=None, argrepr='', offset=22, start_offset=22, starts_line=False, line_number=3, is_jump_target=False, positions=None),
|
||||
Instruction(opname='SET_FUNCTION_ATTRIBUTE', opcode=172, arg=8, argval=8, argrepr='closure', offset=24, start_offset=24, starts_line=False, line_number=3, is_jump_target=False, positions=None),
|
||||
Instruction(opname='SET_FUNCTION_ATTRIBUTE', opcode=172, arg=1, argval=1, argrepr='defaults', offset=26, start_offset=26, starts_line=False, line_number=3, is_jump_target=False, positions=None),
|
||||
Instruction(opname='STORE_FAST', opcode=177, arg=2, argval='inner', argrepr='inner', offset=28, start_offset=28, starts_line=False, line_number=3, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_GLOBAL', opcode=151, arg=1, argval='print', argrepr='print + NULL', offset=30, start_offset=30, starts_line=True, line_number=5, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_DEREF', opcode=144, arg=3, argval='a', argrepr='a', offset=40, start_offset=40, starts_line=False, line_number=5, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_DEREF', opcode=144, arg=4, argval='b', argrepr='b', offset=42, start_offset=42, starts_line=False, line_number=5, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_DEREF', opcode=144, arg=0, argval='c', argrepr='c', offset=44, start_offset=44, starts_line=False, line_number=5, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_DEREF', opcode=144, arg=1, argval='d', argrepr='d', offset=46, start_offset=46, starts_line=False, line_number=5, is_jump_target=False, positions=None),
|
||||
Instruction(opname='CALL', opcode=76, arg=4, argval=4, argrepr='', offset=48, start_offset=48, starts_line=False, line_number=5, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_TOP', opcode=44, arg=None, argval=None, argrepr='', offset=56, start_offset=56, starts_line=False, line_number=5, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_FAST', opcode=145, arg=2, argval='inner', argrepr='inner', offset=58, start_offset=58, starts_line=True, line_number=6, is_jump_target=False, positions=None),
|
||||
Instruction(opname='RETURN_VALUE', opcode=49, arg=None, argval=None, argrepr='', offset=60, start_offset=60, starts_line=False, line_number=6, is_jump_target=False, positions=None),
|
||||
Instruction(opname='COPY_FREE_VARS', opcode=61, arg=2, argval=2, argrepr='', offset=0, start_offset=0, starts_line=True, line_number=None, is_jump_target=False, positions=None),
|
||||
Instruction(opname='MAKE_CELL', opcode=94, arg=0, argval='c', argrepr='c', offset=2, start_offset=2, starts_line=False, line_number=None, is_jump_target=False, positions=None),
|
||||
Instruction(opname='MAKE_CELL', opcode=94, arg=1, argval='d', argrepr='d', offset=4, start_offset=4, starts_line=False, line_number=None, is_jump_target=False, positions=None),
|
||||
Instruction(opname='RESUME', opcode=149, arg=0, argval=0, argrepr='', offset=6, start_offset=6, starts_line=True, line_number=2, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=83, arg=2, argval=(5, 6), argrepr='(5, 6)', offset=8, start_offset=8, starts_line=True, line_number=3, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_FAST', opcode=85, arg=3, argval='a', argrepr='a', offset=10, start_offset=10, starts_line=False, line_number=3, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_FAST', opcode=85, arg=4, argval='b', argrepr='b', offset=12, start_offset=12, starts_line=False, line_number=3, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_FAST', opcode=85, arg=0, argval='c', argrepr='c', offset=14, start_offset=14, starts_line=False, line_number=3, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_FAST', opcode=85, arg=1, argval='d', argrepr='d', offset=16, start_offset=16, starts_line=False, line_number=3, is_jump_target=False, positions=None),
|
||||
Instruction(opname='BUILD_TUPLE', opcode=52, arg=4, argval=4, argrepr='', offset=18, start_offset=18, starts_line=False, line_number=3, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=83, arg=1, argval=code_object_inner, argrepr=repr(code_object_inner), offset=20, start_offset=20, starts_line=False, line_number=3, is_jump_target=False, positions=None),
|
||||
Instruction(opname='MAKE_FUNCTION', opcode=26, arg=None, argval=None, argrepr='', offset=22, start_offset=22, starts_line=False, line_number=3, is_jump_target=False, positions=None),
|
||||
Instruction(opname='SET_FUNCTION_ATTRIBUTE', opcode=106, arg=8, argval=8, argrepr='closure', offset=24, start_offset=24, starts_line=False, line_number=3, is_jump_target=False, positions=None),
|
||||
Instruction(opname='SET_FUNCTION_ATTRIBUTE', opcode=106, arg=1, argval=1, argrepr='defaults', offset=26, start_offset=26, starts_line=False, line_number=3, is_jump_target=False, positions=None),
|
||||
Instruction(opname='STORE_FAST', opcode=110, arg=2, argval='inner', argrepr='inner', offset=28, start_offset=28, starts_line=False, line_number=3, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_GLOBAL', opcode=91, arg=1, argval='print', argrepr='print + NULL', offset=30, start_offset=30, starts_line=True, line_number=5, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_DEREF', opcode=84, arg=3, argval='a', argrepr='a', offset=40, start_offset=40, starts_line=False, line_number=5, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_DEREF', opcode=84, arg=4, argval='b', argrepr='b', offset=42, start_offset=42, starts_line=False, line_number=5, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_DEREF', opcode=84, arg=0, argval='c', argrepr='c', offset=44, start_offset=44, starts_line=False, line_number=5, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_DEREF', opcode=84, arg=1, argval='d', argrepr='d', offset=46, start_offset=46, starts_line=False, line_number=5, is_jump_target=False, positions=None),
|
||||
Instruction(opname='CALL', opcode=53, arg=4, argval=4, argrepr='', offset=48, start_offset=48, starts_line=False, line_number=5, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_TOP', opcode=32, arg=None, argval=None, argrepr='', offset=56, start_offset=56, starts_line=False, line_number=5, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_FAST', opcode=85, arg=2, argval='inner', argrepr='inner', offset=58, start_offset=58, starts_line=True, line_number=6, is_jump_target=False, positions=None),
|
||||
Instruction(opname='RETURN_VALUE', opcode=36, arg=None, argval=None, argrepr='', offset=60, start_offset=60, starts_line=False, line_number=6, is_jump_target=False, positions=None),
|
||||
]
|
||||
|
||||
expected_opinfo_inner = [
|
||||
Instruction(opname='COPY_FREE_VARS', opcode=105, arg=4, argval=4, argrepr='', offset=0, start_offset=0, starts_line=True, line_number=None, is_jump_target=False, positions=None),
|
||||
Instruction(opname='RESUME', opcode=166, arg=0, argval=0, argrepr='', offset=2, start_offset=2, starts_line=True, line_number=3, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_GLOBAL', opcode=151, arg=1, argval='print', argrepr='print + NULL', offset=4, start_offset=4, starts_line=True, line_number=4, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_DEREF', opcode=144, arg=2, argval='a', argrepr='a', offset=14, start_offset=14, starts_line=False, line_number=4, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_DEREF', opcode=144, arg=3, argval='b', argrepr='b', offset=16, start_offset=16, starts_line=False, line_number=4, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_DEREF', opcode=144, arg=4, argval='c', argrepr='c', offset=18, start_offset=18, starts_line=False, line_number=4, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_DEREF', opcode=144, arg=5, argval='d', argrepr='d', offset=20, start_offset=20, starts_line=False, line_number=4, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_FAST_LOAD_FAST', opcode=148, arg=1, argval=('e', 'f'), argrepr='e, f', offset=22, start_offset=22, starts_line=False, line_number=4, is_jump_target=False, positions=None),
|
||||
Instruction(opname='CALL', opcode=76, arg=6, argval=6, argrepr='', offset=24, start_offset=24, starts_line=False, line_number=4, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_TOP', opcode=44, arg=None, argval=None, argrepr='', offset=32, start_offset=32, starts_line=False, line_number=4, is_jump_target=False, positions=None),
|
||||
Instruction(opname='RETURN_CONST', opcode=168, arg=0, argval=None, argrepr='None', offset=34, start_offset=34, starts_line=False, line_number=4, is_jump_target=False, positions=None),
|
||||
Instruction(opname='COPY_FREE_VARS', opcode=61, arg=4, argval=4, argrepr='', offset=0, start_offset=0, starts_line=True, line_number=None, is_jump_target=False, positions=None),
|
||||
Instruction(opname='RESUME', opcode=149, arg=0, argval=0, argrepr='', offset=2, start_offset=2, starts_line=True, line_number=3, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_GLOBAL', opcode=91, arg=1, argval='print', argrepr='print + NULL', offset=4, start_offset=4, starts_line=True, line_number=4, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_DEREF', opcode=84, arg=2, argval='a', argrepr='a', offset=14, start_offset=14, starts_line=False, line_number=4, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_DEREF', opcode=84, arg=3, argval='b', argrepr='b', offset=16, start_offset=16, starts_line=False, line_number=4, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_DEREF', opcode=84, arg=4, argval='c', argrepr='c', offset=18, start_offset=18, starts_line=False, line_number=4, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_DEREF', opcode=84, arg=5, argval='d', argrepr='d', offset=20, start_offset=20, starts_line=False, line_number=4, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_FAST_LOAD_FAST', opcode=88, arg=1, argval=('e', 'f'), argrepr='e, f', offset=22, start_offset=22, starts_line=False, line_number=4, is_jump_target=False, positions=None),
|
||||
Instruction(opname='CALL', opcode=53, arg=6, argval=6, argrepr='', offset=24, start_offset=24, starts_line=False, line_number=4, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_TOP', opcode=32, arg=None, argval=None, argrepr='', offset=32, start_offset=32, starts_line=False, line_number=4, is_jump_target=False, positions=None),
|
||||
Instruction(opname='RETURN_CONST', opcode=103, arg=0, argval=None, argrepr='None', offset=34, start_offset=34, starts_line=False, line_number=4, is_jump_target=False, positions=None),
|
||||
]
|
||||
|
||||
expected_opinfo_jumpy = [
|
||||
Instruction(opname='RESUME', opcode=166, arg=0, argval=0, argrepr='', offset=0, start_offset=0, starts_line=True, line_number=1, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_GLOBAL', opcode=151, arg=1, argval='range', argrepr='range + NULL', offset=2, start_offset=2, starts_line=True, line_number=3, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=143, arg=1, argval=10, argrepr='10', offset=12, start_offset=12, starts_line=False, line_number=3, is_jump_target=False, positions=None),
|
||||
Instruction(opname='CALL', opcode=76, arg=1, argval=1, argrepr='', offset=14, start_offset=14, starts_line=False, line_number=3, is_jump_target=False, positions=None),
|
||||
Instruction(opname='GET_ITER', opcode=31, arg=None, argval=None, argrepr='', offset=22, start_offset=22, starts_line=False, line_number=3, is_jump_target=False, positions=None),
|
||||
Instruction(opname='FOR_ITER', opcode=115, arg=30, argval=88, argrepr='to 88', offset=24, start_offset=24, starts_line=False, line_number=3, is_jump_target=True, positions=None),
|
||||
Instruction(opname='STORE_FAST', opcode=177, arg=0, argval='i', argrepr='i', offset=28, start_offset=28, starts_line=False, line_number=3, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_GLOBAL', opcode=151, arg=3, argval='print', argrepr='print + NULL', offset=30, start_offset=30, starts_line=True, line_number=4, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_FAST', opcode=145, arg=0, argval='i', argrepr='i', offset=40, start_offset=40, starts_line=False, line_number=4, is_jump_target=False, positions=None),
|
||||
Instruction(opname='CALL', opcode=76, arg=1, argval=1, argrepr='', offset=42, start_offset=42, starts_line=False, line_number=4, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_TOP', opcode=44, arg=None, argval=None, argrepr='', offset=50, start_offset=50, starts_line=False, line_number=4, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_FAST', opcode=145, arg=0, argval='i', argrepr='i', offset=52, start_offset=52, starts_line=True, line_number=5, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=143, arg=2, argval=4, argrepr='4', offset=54, start_offset=54, starts_line=False, line_number=5, is_jump_target=False, positions=None),
|
||||
Instruction(opname='COMPARE_OP', opcode=98, arg=18, argval='<', argrepr='bool(<)', offset=56, start_offset=56, starts_line=False, line_number=5, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_JUMP_IF_FALSE', opcode=161, arg=2, argval=68, argrepr='to 68', offset=60, start_offset=60, starts_line=False, line_number=5, is_jump_target=False, positions=None),
|
||||
Instruction(opname='JUMP_BACKWARD', opcode=124, arg=22, argval=24, argrepr='to 24', offset=64, start_offset=64, starts_line=True, line_number=6, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_FAST', opcode=145, arg=0, argval='i', argrepr='i', offset=68, start_offset=68, starts_line=True, line_number=7, is_jump_target=True, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=143, arg=3, argval=6, argrepr='6', offset=70, start_offset=70, starts_line=False, line_number=7, is_jump_target=False, positions=None),
|
||||
Instruction(opname='COMPARE_OP', opcode=98, arg=148, argval='>', argrepr='bool(>)', offset=72, start_offset=72, starts_line=False, line_number=7, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_JUMP_IF_TRUE', opcode=164, arg=2, argval=84, argrepr='to 84', offset=76, start_offset=76, starts_line=False, line_number=7, is_jump_target=False, positions=None),
|
||||
Instruction(opname='JUMP_BACKWARD', opcode=124, arg=30, argval=24, argrepr='to 24', offset=80, start_offset=80, starts_line=False, line_number=7, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_TOP', opcode=44, arg=None, argval=None, argrepr='', offset=84, start_offset=84, starts_line=True, line_number=8, is_jump_target=True, positions=None),
|
||||
Instruction(opname='JUMP_FORWARD', opcode=126, arg=12, argval=112, argrepr='to 112', offset=86, start_offset=86, starts_line=False, line_number=8, is_jump_target=False, positions=None),
|
||||
Instruction(opname='END_FOR', opcode=24, arg=None, argval=None, argrepr='', offset=88, start_offset=88, starts_line=True, line_number=3, is_jump_target=True, positions=None),
|
||||
Instruction(opname='LOAD_GLOBAL', opcode=151, arg=3, argval='print', argrepr='print + NULL', offset=90, start_offset=90, starts_line=True, line_number=10, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=143, arg=4, argval='I can haz else clause?', argrepr="'I can haz else clause?'", offset=100, start_offset=100, starts_line=False, line_number=10, is_jump_target=False, positions=None),
|
||||
Instruction(opname='CALL', opcode=76, arg=1, argval=1, argrepr='', offset=102, start_offset=102, starts_line=False, line_number=10, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_TOP', opcode=44, arg=None, argval=None, argrepr='', offset=110, start_offset=110, starts_line=False, line_number=10, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_FAST_CHECK', opcode=147, arg=0, argval='i', argrepr='i', offset=112, start_offset=112, starts_line=True, line_number=11, is_jump_target=True, positions=None),
|
||||
Instruction(opname='TO_BOOL', opcode=57, arg=None, argval=None, argrepr='', offset=114, start_offset=114, starts_line=False, line_number=11, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_JUMP_IF_FALSE', opcode=161, arg=40, argval=206, argrepr='to 206', offset=122, start_offset=122, starts_line=False, line_number=11, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_GLOBAL', opcode=151, arg=3, argval='print', argrepr='print + NULL', offset=126, start_offset=126, starts_line=True, line_number=12, is_jump_target=True, positions=None),
|
||||
Instruction(opname='LOAD_FAST', opcode=145, arg=0, argval='i', argrepr='i', offset=136, start_offset=136, starts_line=False, line_number=12, is_jump_target=False, positions=None),
|
||||
Instruction(opname='CALL', opcode=76, arg=1, argval=1, argrepr='', offset=138, start_offset=138, starts_line=False, line_number=12, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_TOP', opcode=44, arg=None, argval=None, argrepr='', offset=146, start_offset=146, starts_line=False, line_number=12, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_FAST', opcode=145, arg=0, argval='i', argrepr='i', offset=148, start_offset=148, starts_line=True, line_number=13, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=143, arg=5, argval=1, argrepr='1', offset=150, start_offset=150, starts_line=False, line_number=13, is_jump_target=False, positions=None),
|
||||
Instruction(opname='BINARY_OP', opcode=68, arg=23, argval=23, argrepr='-=', offset=152, start_offset=152, starts_line=False, line_number=13, is_jump_target=False, positions=None),
|
||||
Instruction(opname='STORE_FAST', opcode=177, arg=0, argval='i', argrepr='i', offset=156, start_offset=156, starts_line=False, line_number=13, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_FAST', opcode=145, arg=0, argval='i', argrepr='i', offset=158, start_offset=158, starts_line=True, line_number=14, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=143, arg=3, argval=6, argrepr='6', offset=160, start_offset=160, starts_line=False, line_number=14, is_jump_target=False, positions=None),
|
||||
Instruction(opname='COMPARE_OP', opcode=98, arg=148, argval='>', argrepr='bool(>)', offset=162, start_offset=162, starts_line=False, line_number=14, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_JUMP_IF_FALSE', opcode=161, arg=2, argval=174, argrepr='to 174', offset=166, start_offset=166, starts_line=False, line_number=14, is_jump_target=False, positions=None),
|
||||
Instruction(opname='JUMP_BACKWARD', opcode=124, arg=31, argval=112, argrepr='to 112', offset=170, start_offset=170, starts_line=True, line_number=15, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_FAST', opcode=145, arg=0, argval='i', argrepr='i', offset=174, start_offset=174, starts_line=True, line_number=16, is_jump_target=True, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=143, arg=2, argval=4, argrepr='4', offset=176, start_offset=176, starts_line=False, line_number=16, is_jump_target=False, positions=None),
|
||||
Instruction(opname='COMPARE_OP', opcode=98, arg=18, argval='<', argrepr='bool(<)', offset=178, start_offset=178, starts_line=False, line_number=16, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_JUMP_IF_FALSE', opcode=161, arg=1, argval=188, argrepr='to 188', offset=182, start_offset=182, starts_line=False, line_number=16, is_jump_target=False, positions=None),
|
||||
Instruction(opname='JUMP_FORWARD', opcode=126, arg=20, argval=228, argrepr='to 228', offset=186, start_offset=186, starts_line=True, line_number=17, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_FAST', opcode=145, arg=0, argval='i', argrepr='i', offset=188, start_offset=188, starts_line=True, line_number=11, is_jump_target=True, positions=None),
|
||||
Instruction(opname='TO_BOOL', opcode=57, arg=None, argval=None, argrepr='', offset=190, start_offset=190, starts_line=False, line_number=11, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_JUMP_IF_FALSE', opcode=161, arg=2, argval=206, argrepr='to 206', offset=198, start_offset=198, starts_line=False, line_number=11, is_jump_target=False, positions=None),
|
||||
Instruction(opname='JUMP_BACKWARD', opcode=124, arg=40, argval=126, argrepr='to 126', offset=202, start_offset=202, starts_line=False, line_number=11, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_GLOBAL', opcode=151, arg=3, argval='print', argrepr='print + NULL', offset=206, start_offset=206, starts_line=True, line_number=19, is_jump_target=True, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=143, arg=6, argval='Who let lolcatz into this test suite?', argrepr="'Who let lolcatz into this test suite?'", offset=216, start_offset=216, starts_line=False, line_number=19, is_jump_target=False, positions=None),
|
||||
Instruction(opname='CALL', opcode=76, arg=1, argval=1, argrepr='', offset=218, start_offset=218, starts_line=False, line_number=19, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_TOP', opcode=44, arg=None, argval=None, argrepr='', offset=226, start_offset=226, starts_line=False, line_number=19, is_jump_target=False, positions=None),
|
||||
Instruction(opname='NOP', opcode=42, arg=None, argval=None, argrepr='', offset=228, start_offset=228, starts_line=True, line_number=20, is_jump_target=True, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=143, arg=5, argval=1, argrepr='1', offset=230, start_offset=230, starts_line=True, line_number=21, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=143, arg=7, argval=0, argrepr='0', offset=232, start_offset=232, starts_line=False, line_number=21, is_jump_target=False, positions=None),
|
||||
Instruction(opname='BINARY_OP', opcode=68, arg=11, argval=11, argrepr='/', offset=234, start_offset=234, starts_line=False, line_number=21, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_TOP', opcode=44, arg=None, argval=None, argrepr='', offset=238, start_offset=238, starts_line=False, line_number=21, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_FAST', opcode=145, arg=0, argval='i', argrepr='i', offset=240, start_offset=240, starts_line=True, line_number=25, is_jump_target=False, positions=None),
|
||||
Instruction(opname='RESUME', opcode=149, arg=0, argval=0, argrepr='', offset=0, start_offset=0, starts_line=True, line_number=1, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_GLOBAL', opcode=91, arg=1, argval='range', argrepr='range + NULL', offset=2, start_offset=2, starts_line=True, line_number=3, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=83, arg=1, argval=10, argrepr='10', offset=12, start_offset=12, starts_line=False, line_number=3, is_jump_target=False, positions=None),
|
||||
Instruction(opname='CALL', opcode=53, arg=1, argval=1, argrepr='', offset=14, start_offset=14, starts_line=False, line_number=3, is_jump_target=False, positions=None),
|
||||
Instruction(opname='GET_ITER', opcode=19, arg=None, argval=None, argrepr='', offset=22, start_offset=22, starts_line=False, line_number=3, is_jump_target=False, positions=None),
|
||||
Instruction(opname='FOR_ITER', opcode=71, arg=30, argval=88, argrepr='to 88', offset=24, start_offset=24, starts_line=False, line_number=3, is_jump_target=True, positions=None),
|
||||
Instruction(opname='STORE_FAST', opcode=110, arg=0, argval='i', argrepr='i', offset=28, start_offset=28, starts_line=False, line_number=3, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_GLOBAL', opcode=91, arg=3, argval='print', argrepr='print + NULL', offset=30, start_offset=30, starts_line=True, line_number=4, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_FAST', opcode=85, arg=0, argval='i', argrepr='i', offset=40, start_offset=40, starts_line=False, line_number=4, is_jump_target=False, positions=None),
|
||||
Instruction(opname='CALL', opcode=53, arg=1, argval=1, argrepr='', offset=42, start_offset=42, starts_line=False, line_number=4, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_TOP', opcode=32, arg=None, argval=None, argrepr='', offset=50, start_offset=50, starts_line=False, line_number=4, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_FAST', opcode=85, arg=0, argval='i', argrepr='i', offset=52, start_offset=52, starts_line=True, line_number=5, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=83, arg=2, argval=4, argrepr='4', offset=54, start_offset=54, starts_line=False, line_number=5, is_jump_target=False, positions=None),
|
||||
Instruction(opname='COMPARE_OP', opcode=57, arg=18, argval='<', argrepr='bool(<)', offset=56, start_offset=56, starts_line=False, line_number=5, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_JUMP_IF_FALSE', opcode=97, arg=2, argval=68, argrepr='to 68', offset=60, start_offset=60, starts_line=False, line_number=5, is_jump_target=False, positions=None),
|
||||
Instruction(opname='JUMP_BACKWARD', opcode=76, arg=22, argval=24, argrepr='to 24', offset=64, start_offset=64, starts_line=True, line_number=6, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_FAST', opcode=85, arg=0, argval='i', argrepr='i', offset=68, start_offset=68, starts_line=True, line_number=7, is_jump_target=True, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=83, arg=3, argval=6, argrepr='6', offset=70, start_offset=70, starts_line=False, line_number=7, is_jump_target=False, positions=None),
|
||||
Instruction(opname='COMPARE_OP', opcode=57, arg=148, argval='>', argrepr='bool(>)', offset=72, start_offset=72, starts_line=False, line_number=7, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_JUMP_IF_TRUE', opcode=100, arg=2, argval=84, argrepr='to 84', offset=76, start_offset=76, starts_line=False, line_number=7, is_jump_target=False, positions=None),
|
||||
Instruction(opname='JUMP_BACKWARD', opcode=76, arg=30, argval=24, argrepr='to 24', offset=80, start_offset=80, starts_line=False, line_number=7, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_TOP', opcode=32, arg=None, argval=None, argrepr='', offset=84, start_offset=84, starts_line=True, line_number=8, is_jump_target=True, positions=None),
|
||||
Instruction(opname='JUMP_FORWARD', opcode=78, arg=12, argval=112, argrepr='to 112', offset=86, start_offset=86, starts_line=False, line_number=8, is_jump_target=False, positions=None),
|
||||
Instruction(opname='END_FOR', opcode=11, arg=None, argval=None, argrepr='', offset=88, start_offset=88, starts_line=True, line_number=3, is_jump_target=True, positions=None),
|
||||
Instruction(opname='LOAD_GLOBAL', opcode=91, arg=3, argval='print', argrepr='print + NULL', offset=90, start_offset=90, starts_line=True, line_number=10, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=83, arg=4, argval='I can haz else clause?', argrepr="'I can haz else clause?'", offset=100, start_offset=100, starts_line=False, line_number=10, is_jump_target=False, positions=None),
|
||||
Instruction(opname='CALL', opcode=53, arg=1, argval=1, argrepr='', offset=102, start_offset=102, starts_line=False, line_number=10, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_TOP', opcode=32, arg=None, argval=None, argrepr='', offset=110, start_offset=110, starts_line=False, line_number=10, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_FAST_CHECK', opcode=87, arg=0, argval='i', argrepr='i', offset=112, start_offset=112, starts_line=True, line_number=11, is_jump_target=True, positions=None),
|
||||
Instruction(opname='TO_BOOL', opcode=40, arg=None, argval=None, argrepr='', offset=114, start_offset=114, starts_line=False, line_number=11, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_JUMP_IF_FALSE', opcode=97, arg=40, argval=206, argrepr='to 206', offset=122, start_offset=122, starts_line=False, line_number=11, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_GLOBAL', opcode=91, arg=3, argval='print', argrepr='print + NULL', offset=126, start_offset=126, starts_line=True, line_number=12, is_jump_target=True, positions=None),
|
||||
Instruction(opname='LOAD_FAST', opcode=85, arg=0, argval='i', argrepr='i', offset=136, start_offset=136, starts_line=False, line_number=12, is_jump_target=False, positions=None),
|
||||
Instruction(opname='CALL', opcode=53, arg=1, argval=1, argrepr='', offset=138, start_offset=138, starts_line=False, line_number=12, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_TOP', opcode=32, arg=None, argval=None, argrepr='', offset=146, start_offset=146, starts_line=False, line_number=12, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_FAST', opcode=85, arg=0, argval='i', argrepr='i', offset=148, start_offset=148, starts_line=True, line_number=13, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=83, arg=5, argval=1, argrepr='1', offset=150, start_offset=150, starts_line=False, line_number=13, is_jump_target=False, positions=None),
|
||||
Instruction(opname='BINARY_OP', opcode=45, arg=23, argval=23, argrepr='-=', offset=152, start_offset=152, starts_line=False, line_number=13, is_jump_target=False, positions=None),
|
||||
Instruction(opname='STORE_FAST', opcode=110, arg=0, argval='i', argrepr='i', offset=156, start_offset=156, starts_line=False, line_number=13, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_FAST', opcode=85, arg=0, argval='i', argrepr='i', offset=158, start_offset=158, starts_line=True, line_number=14, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=83, arg=3, argval=6, argrepr='6', offset=160, start_offset=160, starts_line=False, line_number=14, is_jump_target=False, positions=None),
|
||||
Instruction(opname='COMPARE_OP', opcode=57, arg=148, argval='>', argrepr='bool(>)', offset=162, start_offset=162, starts_line=False, line_number=14, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_JUMP_IF_FALSE', opcode=97, arg=2, argval=174, argrepr='to 174', offset=166, start_offset=166, starts_line=False, line_number=14, is_jump_target=False, positions=None),
|
||||
Instruction(opname='JUMP_BACKWARD', opcode=76, arg=31, argval=112, argrepr='to 112', offset=170, start_offset=170, starts_line=True, line_number=15, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_FAST', opcode=85, arg=0, argval='i', argrepr='i', offset=174, start_offset=174, starts_line=True, line_number=16, is_jump_target=True, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=83, arg=2, argval=4, argrepr='4', offset=176, start_offset=176, starts_line=False, line_number=16, is_jump_target=False, positions=None),
|
||||
Instruction(opname='COMPARE_OP', opcode=57, arg=18, argval='<', argrepr='bool(<)', offset=178, start_offset=178, starts_line=False, line_number=16, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_JUMP_IF_FALSE', opcode=97, arg=1, argval=188, argrepr='to 188', offset=182, start_offset=182, starts_line=False, line_number=16, is_jump_target=False, positions=None),
|
||||
Instruction(opname='JUMP_FORWARD', opcode=78, arg=20, argval=228, argrepr='to 228', offset=186, start_offset=186, starts_line=True, line_number=17, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_FAST', opcode=85, arg=0, argval='i', argrepr='i', offset=188, start_offset=188, starts_line=True, line_number=11, is_jump_target=True, positions=None),
|
||||
Instruction(opname='TO_BOOL', opcode=40, arg=None, argval=None, argrepr='', offset=190, start_offset=190, starts_line=False, line_number=11, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_JUMP_IF_FALSE', opcode=97, arg=2, argval=206, argrepr='to 206', offset=198, start_offset=198, starts_line=False, line_number=11, is_jump_target=False, positions=None),
|
||||
Instruction(opname='JUMP_BACKWARD', opcode=76, arg=40, argval=126, argrepr='to 126', offset=202, start_offset=202, starts_line=False, line_number=11, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_GLOBAL', opcode=91, arg=3, argval='print', argrepr='print + NULL', offset=206, start_offset=206, starts_line=True, line_number=19, is_jump_target=True, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=83, arg=6, argval='Who let lolcatz into this test suite?', argrepr="'Who let lolcatz into this test suite?'", offset=216, start_offset=216, starts_line=False, line_number=19, is_jump_target=False, positions=None),
|
||||
Instruction(opname='CALL', opcode=53, arg=1, argval=1, argrepr='', offset=218, start_offset=218, starts_line=False, line_number=19, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_TOP', opcode=32, arg=None, argval=None, argrepr='', offset=226, start_offset=226, starts_line=False, line_number=19, is_jump_target=False, positions=None),
|
||||
Instruction(opname='NOP', opcode=30, arg=None, argval=None, argrepr='', offset=228, start_offset=228, starts_line=True, line_number=20, is_jump_target=True, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=83, arg=5, argval=1, argrepr='1', offset=230, start_offset=230, starts_line=True, line_number=21, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=83, arg=7, argval=0, argrepr='0', offset=232, start_offset=232, starts_line=False, line_number=21, is_jump_target=False, positions=None),
|
||||
Instruction(opname='BINARY_OP', opcode=45, arg=11, argval=11, argrepr='/', offset=234, start_offset=234, starts_line=False, line_number=21, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_TOP', opcode=32, arg=None, argval=None, argrepr='', offset=238, start_offset=238, starts_line=False, line_number=21, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_FAST', opcode=85, arg=0, argval='i', argrepr='i', offset=240, start_offset=240, starts_line=True, line_number=25, is_jump_target=False, positions=None),
|
||||
Instruction(opname='BEFORE_WITH', opcode=2, arg=None, argval=None, argrepr='', offset=242, start_offset=242, starts_line=False, line_number=25, is_jump_target=False, positions=None),
|
||||
Instruction(opname='STORE_FAST', opcode=177, arg=1, argval='dodgy', argrepr='dodgy', offset=244, start_offset=244, starts_line=False, line_number=25, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_GLOBAL', opcode=151, arg=3, argval='print', argrepr='print + NULL', offset=246, start_offset=246, starts_line=True, line_number=26, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=143, arg=8, argval='Never reach this', argrepr="'Never reach this'", offset=256, start_offset=256, starts_line=False, line_number=26, is_jump_target=False, positions=None),
|
||||
Instruction(opname='CALL', opcode=76, arg=1, argval=1, argrepr='', offset=258, start_offset=258, starts_line=False, line_number=26, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_TOP', opcode=44, arg=None, argval=None, argrepr='', offset=266, start_offset=266, starts_line=False, line_number=26, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=143, arg=0, argval=None, argrepr='None', offset=268, start_offset=268, starts_line=True, line_number=25, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=143, arg=0, argval=None, argrepr='None', offset=270, start_offset=270, starts_line=False, line_number=25, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=143, arg=0, argval=None, argrepr='None', offset=272, start_offset=272, starts_line=False, line_number=25, is_jump_target=False, positions=None),
|
||||
Instruction(opname='CALL', opcode=76, arg=2, argval=2, argrepr='', offset=274, start_offset=274, starts_line=False, line_number=25, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_TOP', opcode=44, arg=None, argval=None, argrepr='', offset=282, start_offset=282, starts_line=False, line_number=25, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_GLOBAL', opcode=151, arg=3, argval='print', argrepr='print + NULL', offset=284, start_offset=284, starts_line=True, line_number=28, is_jump_target=True, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=143, arg=10, argval="OK, now we're done", argrepr='"OK, now we\'re done"', offset=294, start_offset=294, starts_line=False, line_number=28, is_jump_target=False, positions=None),
|
||||
Instruction(opname='CALL', opcode=76, arg=1, argval=1, argrepr='', offset=296, start_offset=296, starts_line=False, line_number=28, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_TOP', opcode=44, arg=None, argval=None, argrepr='', offset=304, start_offset=304, starts_line=False, line_number=28, is_jump_target=False, positions=None),
|
||||
Instruction(opname='RETURN_CONST', opcode=168, arg=0, argval=None, argrepr='None', offset=306, start_offset=306, starts_line=False, line_number=28, is_jump_target=False, positions=None),
|
||||
Instruction(opname='PUSH_EXC_INFO', opcode=45, arg=None, argval=None, argrepr='', offset=308, start_offset=308, starts_line=True, line_number=25, is_jump_target=False, positions=None),
|
||||
Instruction(opname='WITH_EXCEPT_START', opcode=67, arg=None, argval=None, argrepr='', offset=310, start_offset=310, starts_line=False, line_number=25, is_jump_target=False, positions=None),
|
||||
Instruction(opname='TO_BOOL', opcode=57, arg=None, argval=None, argrepr='', offset=312, start_offset=312, starts_line=False, line_number=25, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_JUMP_IF_TRUE', opcode=164, arg=1, argval=326, argrepr='to 326', offset=320, start_offset=320, starts_line=False, line_number=25, is_jump_target=False, positions=None),
|
||||
Instruction(opname='RERAISE', opcode=167, arg=2, argval=2, argrepr='', offset=324, start_offset=324, starts_line=False, line_number=25, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_TOP', opcode=44, arg=None, argval=None, argrepr='', offset=326, start_offset=326, starts_line=False, line_number=25, is_jump_target=True, positions=None),
|
||||
Instruction(opname='POP_EXCEPT', opcode=43, arg=None, argval=None, argrepr='', offset=328, start_offset=328, starts_line=False, line_number=25, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_TOP', opcode=44, arg=None, argval=None, argrepr='', offset=330, start_offset=330, starts_line=False, line_number=25, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_TOP', opcode=44, arg=None, argval=None, argrepr='', offset=332, start_offset=332, starts_line=False, line_number=25, is_jump_target=False, positions=None),
|
||||
Instruction(opname='JUMP_BACKWARD', opcode=124, arg=27, argval=284, argrepr='to 284', offset=334, start_offset=334, starts_line=False, line_number=25, is_jump_target=False, positions=None),
|
||||
Instruction(opname='COPY', opcode=104, arg=3, argval=3, argrepr='', offset=338, start_offset=338, starts_line=True, line_number=None, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_EXCEPT', opcode=43, arg=None, argval=None, argrepr='', offset=340, start_offset=340, starts_line=False, line_number=None, is_jump_target=False, positions=None),
|
||||
Instruction(opname='RERAISE', opcode=167, arg=1, argval=1, argrepr='', offset=342, start_offset=342, starts_line=False, line_number=None, is_jump_target=False, positions=None),
|
||||
Instruction(opname='PUSH_EXC_INFO', opcode=45, arg=None, argval=None, argrepr='', offset=344, start_offset=344, starts_line=False, line_number=None, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_GLOBAL', opcode=151, arg=4, argval='ZeroDivisionError', argrepr='ZeroDivisionError', offset=346, start_offset=346, starts_line=True, line_number=22, is_jump_target=False, positions=None),
|
||||
Instruction(opname='CHECK_EXC_MATCH', opcode=20, arg=None, argval=None, argrepr='', offset=356, start_offset=356, starts_line=False, line_number=22, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_JUMP_IF_FALSE', opcode=161, arg=15, argval=392, argrepr='to 392', offset=358, start_offset=358, starts_line=False, line_number=22, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_TOP', opcode=44, arg=None, argval=None, argrepr='', offset=362, start_offset=362, starts_line=False, line_number=22, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_GLOBAL', opcode=151, arg=3, argval='print', argrepr='print + NULL', offset=364, start_offset=364, starts_line=True, line_number=23, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=143, arg=9, argval='Here we go, here we go, here we go...', argrepr="'Here we go, here we go, here we go...'", offset=374, start_offset=374, starts_line=False, line_number=23, is_jump_target=False, positions=None),
|
||||
Instruction(opname='CALL', opcode=76, arg=1, argval=1, argrepr='', offset=376, start_offset=376, starts_line=False, line_number=23, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_TOP', opcode=44, arg=None, argval=None, argrepr='', offset=384, start_offset=384, starts_line=False, line_number=23, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_EXCEPT', opcode=43, arg=None, argval=None, argrepr='', offset=386, start_offset=386, starts_line=False, line_number=23, is_jump_target=False, positions=None),
|
||||
Instruction(opname='JUMP_BACKWARD', opcode=124, arg=54, argval=284, argrepr='to 284', offset=388, start_offset=388, starts_line=False, line_number=23, is_jump_target=False, positions=None),
|
||||
Instruction(opname='RERAISE', opcode=167, arg=0, argval=0, argrepr='', offset=392, start_offset=392, starts_line=True, line_number=22, is_jump_target=True, positions=None),
|
||||
Instruction(opname='COPY', opcode=104, arg=3, argval=3, argrepr='', offset=394, start_offset=394, starts_line=True, line_number=None, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_EXCEPT', opcode=43, arg=None, argval=None, argrepr='', offset=396, start_offset=396, starts_line=False, line_number=None, is_jump_target=False, positions=None),
|
||||
Instruction(opname='RERAISE', opcode=167, arg=1, argval=1, argrepr='', offset=398, start_offset=398, starts_line=False, line_number=None, is_jump_target=False, positions=None),
|
||||
Instruction(opname='PUSH_EXC_INFO', opcode=45, arg=None, argval=None, argrepr='', offset=400, start_offset=400, starts_line=False, line_number=None, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_GLOBAL', opcode=151, arg=3, argval='print', argrepr='print + NULL', offset=402, start_offset=402, starts_line=True, line_number=28, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=143, arg=10, argval="OK, now we're done", argrepr='"OK, now we\'re done"', offset=412, start_offset=412, starts_line=False, line_number=28, is_jump_target=False, positions=None),
|
||||
Instruction(opname='CALL', opcode=76, arg=1, argval=1, argrepr='', offset=414, start_offset=414, starts_line=False, line_number=28, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_TOP', opcode=44, arg=None, argval=None, argrepr='', offset=422, start_offset=422, starts_line=False, line_number=28, is_jump_target=False, positions=None),
|
||||
Instruction(opname='RERAISE', opcode=167, arg=0, argval=0, argrepr='', offset=424, start_offset=424, starts_line=False, line_number=28, is_jump_target=False, positions=None),
|
||||
Instruction(opname='COPY', opcode=104, arg=3, argval=3, argrepr='', offset=426, start_offset=426, starts_line=False, line_number=28, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_EXCEPT', opcode=43, arg=None, argval=None, argrepr='', offset=428, start_offset=428, starts_line=False, line_number=28, is_jump_target=False, positions=None),
|
||||
Instruction(opname='RERAISE', opcode=167, arg=1, argval=1, argrepr='', offset=430, start_offset=430, starts_line=False, line_number=28, is_jump_target=False, positions=None),
|
||||
Instruction(opname='STORE_FAST', opcode=110, arg=1, argval='dodgy', argrepr='dodgy', offset=244, start_offset=244, starts_line=False, line_number=25, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_GLOBAL', opcode=91, arg=3, argval='print', argrepr='print + NULL', offset=246, start_offset=246, starts_line=True, line_number=26, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=83, arg=8, argval='Never reach this', argrepr="'Never reach this'", offset=256, start_offset=256, starts_line=False, line_number=26, is_jump_target=False, positions=None),
|
||||
Instruction(opname='CALL', opcode=53, arg=1, argval=1, argrepr='', offset=258, start_offset=258, starts_line=False, line_number=26, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_TOP', opcode=32, arg=None, argval=None, argrepr='', offset=266, start_offset=266, starts_line=False, line_number=26, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=83, arg=0, argval=None, argrepr='None', offset=268, start_offset=268, starts_line=True, line_number=25, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=83, arg=0, argval=None, argrepr='None', offset=270, start_offset=270, starts_line=False, line_number=25, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=83, arg=0, argval=None, argrepr='None', offset=272, start_offset=272, starts_line=False, line_number=25, is_jump_target=False, positions=None),
|
||||
Instruction(opname='CALL', opcode=53, arg=2, argval=2, argrepr='', offset=274, start_offset=274, starts_line=False, line_number=25, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_TOP', opcode=32, arg=None, argval=None, argrepr='', offset=282, start_offset=282, starts_line=False, line_number=25, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_GLOBAL', opcode=91, arg=3, argval='print', argrepr='print + NULL', offset=284, start_offset=284, starts_line=True, line_number=28, is_jump_target=True, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=83, arg=10, argval="OK, now we're done", argrepr='"OK, now we\'re done"', offset=294, start_offset=294, starts_line=False, line_number=28, is_jump_target=False, positions=None),
|
||||
Instruction(opname='CALL', opcode=53, arg=1, argval=1, argrepr='', offset=296, start_offset=296, starts_line=False, line_number=28, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_TOP', opcode=32, arg=None, argval=None, argrepr='', offset=304, start_offset=304, starts_line=False, line_number=28, is_jump_target=False, positions=None),
|
||||
Instruction(opname='RETURN_CONST', opcode=103, arg=0, argval=None, argrepr='None', offset=306, start_offset=306, starts_line=False, line_number=28, is_jump_target=False, positions=None),
|
||||
Instruction(opname='PUSH_EXC_INFO', opcode=33, arg=None, argval=None, argrepr='', offset=308, start_offset=308, starts_line=True, line_number=25, is_jump_target=False, positions=None),
|
||||
Instruction(opname='WITH_EXCEPT_START', opcode=44, arg=None, argval=None, argrepr='', offset=310, start_offset=310, starts_line=False, line_number=25, is_jump_target=False, positions=None),
|
||||
Instruction(opname='TO_BOOL', opcode=40, arg=None, argval=None, argrepr='', offset=312, start_offset=312, starts_line=False, line_number=25, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_JUMP_IF_TRUE', opcode=100, arg=1, argval=326, argrepr='to 326', offset=320, start_offset=320, starts_line=False, line_number=25, is_jump_target=False, positions=None),
|
||||
Instruction(opname='RERAISE', opcode=102, arg=2, argval=2, argrepr='', offset=324, start_offset=324, starts_line=False, line_number=25, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_TOP', opcode=32, arg=None, argval=None, argrepr='', offset=326, start_offset=326, starts_line=False, line_number=25, is_jump_target=True, positions=None),
|
||||
Instruction(opname='POP_EXCEPT', opcode=31, arg=None, argval=None, argrepr='', offset=328, start_offset=328, starts_line=False, line_number=25, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_TOP', opcode=32, arg=None, argval=None, argrepr='', offset=330, start_offset=330, starts_line=False, line_number=25, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_TOP', opcode=32, arg=None, argval=None, argrepr='', offset=332, start_offset=332, starts_line=False, line_number=25, is_jump_target=False, positions=None),
|
||||
Instruction(opname='JUMP_BACKWARD', opcode=76, arg=27, argval=284, argrepr='to 284', offset=334, start_offset=334, starts_line=False, line_number=25, is_jump_target=False, positions=None),
|
||||
Instruction(opname='COPY', opcode=60, arg=3, argval=3, argrepr='', offset=338, start_offset=338, starts_line=True, line_number=None, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_EXCEPT', opcode=31, arg=None, argval=None, argrepr='', offset=340, start_offset=340, starts_line=False, line_number=None, is_jump_target=False, positions=None),
|
||||
Instruction(opname='RERAISE', opcode=102, arg=1, argval=1, argrepr='', offset=342, start_offset=342, starts_line=False, line_number=None, is_jump_target=False, positions=None),
|
||||
Instruction(opname='PUSH_EXC_INFO', opcode=33, arg=None, argval=None, argrepr='', offset=344, start_offset=344, starts_line=False, line_number=None, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_GLOBAL', opcode=91, arg=4, argval='ZeroDivisionError', argrepr='ZeroDivisionError', offset=346, start_offset=346, starts_line=True, line_number=22, is_jump_target=False, positions=None),
|
||||
Instruction(opname='CHECK_EXC_MATCH', opcode=7, arg=None, argval=None, argrepr='', offset=356, start_offset=356, starts_line=False, line_number=22, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_JUMP_IF_FALSE', opcode=97, arg=15, argval=392, argrepr='to 392', offset=358, start_offset=358, starts_line=False, line_number=22, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_TOP', opcode=32, arg=None, argval=None, argrepr='', offset=362, start_offset=362, starts_line=False, line_number=22, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_GLOBAL', opcode=91, arg=3, argval='print', argrepr='print + NULL', offset=364, start_offset=364, starts_line=True, line_number=23, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=83, arg=9, argval='Here we go, here we go, here we go...', argrepr="'Here we go, here we go, here we go...'", offset=374, start_offset=374, starts_line=False, line_number=23, is_jump_target=False, positions=None),
|
||||
Instruction(opname='CALL', opcode=53, arg=1, argval=1, argrepr='', offset=376, start_offset=376, starts_line=False, line_number=23, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_TOP', opcode=32, arg=None, argval=None, argrepr='', offset=384, start_offset=384, starts_line=False, line_number=23, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_EXCEPT', opcode=31, arg=None, argval=None, argrepr='', offset=386, start_offset=386, starts_line=False, line_number=23, is_jump_target=False, positions=None),
|
||||
Instruction(opname='JUMP_BACKWARD', opcode=76, arg=54, argval=284, argrepr='to 284', offset=388, start_offset=388, starts_line=False, line_number=23, is_jump_target=False, positions=None),
|
||||
Instruction(opname='RERAISE', opcode=102, arg=0, argval=0, argrepr='', offset=392, start_offset=392, starts_line=True, line_number=22, is_jump_target=True, positions=None),
|
||||
Instruction(opname='COPY', opcode=60, arg=3, argval=3, argrepr='', offset=394, start_offset=394, starts_line=True, line_number=None, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_EXCEPT', opcode=31, arg=None, argval=None, argrepr='', offset=396, start_offset=396, starts_line=False, line_number=None, is_jump_target=False, positions=None),
|
||||
Instruction(opname='RERAISE', opcode=102, arg=1, argval=1, argrepr='', offset=398, start_offset=398, starts_line=False, line_number=None, is_jump_target=False, positions=None),
|
||||
Instruction(opname='PUSH_EXC_INFO', opcode=33, arg=None, argval=None, argrepr='', offset=400, start_offset=400, starts_line=False, line_number=None, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_GLOBAL', opcode=91, arg=3, argval='print', argrepr='print + NULL', offset=402, start_offset=402, starts_line=True, line_number=28, is_jump_target=False, positions=None),
|
||||
Instruction(opname='LOAD_CONST', opcode=83, arg=10, argval="OK, now we're done", argrepr='"OK, now we\'re done"', offset=412, start_offset=412, starts_line=False, line_number=28, is_jump_target=False, positions=None),
|
||||
Instruction(opname='CALL', opcode=53, arg=1, argval=1, argrepr='', offset=414, start_offset=414, starts_line=False, line_number=28, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_TOP', opcode=32, arg=None, argval=None, argrepr='', offset=422, start_offset=422, starts_line=False, line_number=28, is_jump_target=False, positions=None),
|
||||
Instruction(opname='RERAISE', opcode=102, arg=0, argval=0, argrepr='', offset=424, start_offset=424, starts_line=False, line_number=28, is_jump_target=False, positions=None),
|
||||
Instruction(opname='COPY', opcode=60, arg=3, argval=3, argrepr='', offset=426, start_offset=426, starts_line=False, line_number=28, is_jump_target=False, positions=None),
|
||||
Instruction(opname='POP_EXCEPT', opcode=31, arg=None, argval=None, argrepr='', offset=428, start_offset=428, starts_line=False, line_number=28, is_jump_target=False, positions=None),
|
||||
Instruction(opname='RERAISE', opcode=102, arg=1, argval=1, argrepr='', offset=430, start_offset=430, starts_line=False, line_number=28, is_jump_target=False, positions=None),
|
||||
]
|
||||
|
||||
# One last piece of inspect fodder to check the default line number handling
|
||||
def simple(): pass
|
||||
expected_opinfo_simple = [
|
||||
Instruction(opname='RESUME', opcode=166, arg=0, argval=0, argrepr='', offset=0, start_offset=0, starts_line=True, line_number=simple.__code__.co_firstlineno, is_jump_target=False, positions=None),
|
||||
Instruction(opname='RETURN_CONST', opcode=168, arg=0, argval=None, argrepr='None', offset=2, start_offset=2, starts_line=False, line_number=simple.__code__.co_firstlineno, is_jump_target=False),
|
||||
Instruction(opname='RESUME', opcode=149, arg=0, argval=0, argrepr='', offset=0, start_offset=0, starts_line=True, line_number=simple.__code__.co_firstlineno, is_jump_target=False, positions=None),
|
||||
Instruction(opname='RETURN_CONST', opcode=103, arg=0, argval=None, argrepr='None', offset=2, start_offset=2, starts_line=False, line_number=simple.__code__.co_firstlineno, is_jump_target=False),
|
||||
]
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
Opcode IDs for specialized opcodes are allocated in their own range to
|
||||
improve stability of the IDs for the 'real' opcodes.
|
|
@ -1,17 +1,17 @@
|
|||
// Auto-generated by Programs/freeze_test_frozenmain.py
|
||||
unsigned char M_test_frozenmain[] = {
|
||||
227,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,
|
||||
0,0,0,0,0,243,164,0,0,0,166,0,143,0,143,1,
|
||||
122,0,181,0,143,0,143,1,122,1,181,1,154,2,46,0,
|
||||
143,2,76,1,0,0,0,0,0,0,44,0,154,2,46,0,
|
||||
143,3,154,0,130,6,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,76,2,0,0,0,0,0,0,
|
||||
44,0,154,1,130,8,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,46,0,76,0,0,0,0,0,
|
||||
0,0,143,4,12,0,0,0,181,5,143,5,31,0,115,20,
|
||||
0,0,181,6,154,2,46,0,143,6,154,6,27,0,143,7,
|
||||
154,5,154,6,12,0,0,0,27,0,74,4,76,1,0,0,
|
||||
0,0,0,0,44,0,124,22,0,0,24,0,168,1,41,8,
|
||||
0,0,0,0,0,243,164,0,0,0,149,0,83,0,83,1,
|
||||
74,0,114,0,83,0,83,1,74,1,114,1,92,2,34,0,
|
||||
83,2,53,1,0,0,0,0,0,0,32,0,92,2,34,0,
|
||||
83,3,92,0,82,6,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,53,2,0,0,0,0,0,0,
|
||||
32,0,92,1,82,8,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,34,0,53,0,0,0,0,0,
|
||||
0,0,83,4,5,0,0,0,114,5,83,5,19,0,71,20,
|
||||
0,0,114,6,92,2,34,0,83,6,92,6,14,0,83,7,
|
||||
92,5,92,6,5,0,0,0,14,0,51,4,53,1,0,0,
|
||||
0,0,0,0,32,0,76,22,0,0,11,0,103,1,41,8,
|
||||
233,0,0,0,0,78,122,18,70,114,111,122,101,110,32,72,
|
||||
101,108,108,111,32,87,111,114,108,100,122,8,115,121,115,46,
|
||||
97,114,103,118,218,6,99,111,110,102,105,103,41,5,218,12,
|
||||
|
|
|
@ -2,22 +2,9 @@ static void *opcode_targets[256] = {
|
|||
&&TARGET_CACHE,
|
||||
&&TARGET_BEFORE_ASYNC_WITH,
|
||||
&&TARGET_BEFORE_WITH,
|
||||
&&TARGET_BINARY_OP_ADD_FLOAT,
|
||||
&&TARGET_BINARY_OP_ADD_INT,
|
||||
&&TARGET_BINARY_OP_ADD_UNICODE,
|
||||
&&TARGET_BINARY_OP_INPLACE_ADD_UNICODE,
|
||||
&&TARGET_BINARY_OP_MULTIPLY_FLOAT,
|
||||
&&TARGET_BINARY_OP_MULTIPLY_INT,
|
||||
&&TARGET_BINARY_OP_SUBTRACT_FLOAT,
|
||||
&&TARGET_BINARY_OP_SUBTRACT_INT,
|
||||
&&TARGET_BINARY_SLICE,
|
||||
&&TARGET_BINARY_SUBSCR,
|
||||
&&TARGET_BINARY_SUBSCR_DICT,
|
||||
&&TARGET_BINARY_SUBSCR_GETITEM,
|
||||
&&TARGET_BINARY_SUBSCR_LIST_INT,
|
||||
&&TARGET_BINARY_SUBSCR_STR_INT,
|
||||
&&TARGET_RESERVED,
|
||||
&&TARGET_BINARY_SUBSCR_TUPLE_INT,
|
||||
&&TARGET_CHECK_EG_MATCH,
|
||||
&&TARGET_CHECK_EXC_MATCH,
|
||||
&&TARGET_CLEANUP_THROW,
|
||||
|
@ -29,6 +16,7 @@ static void *opcode_targets[256] = {
|
|||
&&TARGET_FORMAT_SIMPLE,
|
||||
&&TARGET_FORMAT_WITH_SPEC,
|
||||
&&TARGET_GET_AITER,
|
||||
&&TARGET_RESERVED,
|
||||
&&TARGET_GET_ANEXT,
|
||||
&&TARGET_GET_ITER,
|
||||
&&TARGET_GET_LEN,
|
||||
|
@ -46,23 +34,12 @@ static void *opcode_targets[256] = {
|
|||
&&TARGET_POP_TOP,
|
||||
&&TARGET_PUSH_EXC_INFO,
|
||||
&&TARGET_PUSH_NULL,
|
||||
&&TARGET_RESUME_CHECK,
|
||||
&&TARGET_RETURN_GENERATOR,
|
||||
&&TARGET_RETURN_VALUE,
|
||||
&&TARGET_SETUP_ANNOTATIONS,
|
||||
&&TARGET_STORE_ATTR_INSTANCE_VALUE,
|
||||
&&TARGET_STORE_ATTR_SLOT,
|
||||
&&TARGET_STORE_SLICE,
|
||||
&&TARGET_STORE_SUBSCR,
|
||||
&&TARGET_STORE_SUBSCR_DICT,
|
||||
&&TARGET_STORE_SUBSCR_LIST_INT,
|
||||
&&TARGET_TO_BOOL,
|
||||
&&TARGET_TO_BOOL_ALWAYS_TRUE,
|
||||
&&TARGET_TO_BOOL_BOOL,
|
||||
&&TARGET_TO_BOOL_INT,
|
||||
&&TARGET_TO_BOOL_LIST,
|
||||
&&TARGET_TO_BOOL_NONE,
|
||||
&&TARGET_TO_BOOL_STR,
|
||||
&&TARGET_UNARY_INVERT,
|
||||
&&TARGET_UNARY_NEGATIVE,
|
||||
&&TARGET_UNARY_NOT,
|
||||
|
@ -76,31 +53,10 @@ static void *opcode_targets[256] = {
|
|||
&&TARGET_BUILD_STRING,
|
||||
&&TARGET_BUILD_TUPLE,
|
||||
&&TARGET_CALL,
|
||||
&&TARGET_CALL_BOUND_METHOD_EXACT_ARGS,
|
||||
&&TARGET_CALL_BUILTIN_CLASS,
|
||||
&&TARGET_CALL_BUILTIN_FAST_WITH_KEYWORDS,
|
||||
&&TARGET_CALL_FUNCTION_EX,
|
||||
&&TARGET_CALL_INTRINSIC_1,
|
||||
&&TARGET_CALL_INTRINSIC_2,
|
||||
&&TARGET_CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS,
|
||||
&&TARGET_CALL_NO_KW_ALLOC_AND_ENTER_INIT,
|
||||
&&TARGET_CALL_NO_KW_BUILTIN_FAST,
|
||||
&&TARGET_CALL_NO_KW_BUILTIN_O,
|
||||
&&TARGET_CALL_NO_KW_ISINSTANCE,
|
||||
&&TARGET_CALL_NO_KW_LEN,
|
||||
&&TARGET_CALL_NO_KW_LIST_APPEND,
|
||||
&&TARGET_CALL_NO_KW_METHOD_DESCRIPTOR_FAST,
|
||||
&&TARGET_CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS,
|
||||
&&TARGET_CALL_NO_KW_METHOD_DESCRIPTOR_O,
|
||||
&&TARGET_CALL_NO_KW_STR_1,
|
||||
&&TARGET_CALL_NO_KW_TUPLE_1,
|
||||
&&TARGET_CALL_NO_KW_TYPE_1,
|
||||
&&TARGET_CALL_PY_EXACT_ARGS,
|
||||
&&TARGET_CALL_PY_WITH_DEFAULTS,
|
||||
&&TARGET_COMPARE_OP,
|
||||
&&TARGET_COMPARE_OP_FLOAT,
|
||||
&&TARGET_COMPARE_OP_INT,
|
||||
&&TARGET_COMPARE_OP_STR,
|
||||
&&TARGET_CONTAINS_OP,
|
||||
&&TARGET_CONVERT_VALUE,
|
||||
&&TARGET_COPY,
|
||||
|
@ -115,10 +71,6 @@ static void *opcode_targets[256] = {
|
|||
&&TARGET_ENTER_EXECUTOR,
|
||||
&&TARGET_EXTENDED_ARG,
|
||||
&&TARGET_FOR_ITER,
|
||||
&&TARGET_FOR_ITER_GEN,
|
||||
&&TARGET_FOR_ITER_LIST,
|
||||
&&TARGET_FOR_ITER_RANGE,
|
||||
&&TARGET_FOR_ITER_TUPLE,
|
||||
&&TARGET_GET_AWAITABLE,
|
||||
&&TARGET_IMPORT_FROM,
|
||||
&&TARGET_IMPORT_NAME,
|
||||
|
@ -130,18 +82,6 @@ static void *opcode_targets[256] = {
|
|||
&&TARGET_LIST_APPEND,
|
||||
&&TARGET_LIST_EXTEND,
|
||||
&&TARGET_LOAD_ATTR,
|
||||
&&TARGET_LOAD_ATTR_CLASS,
|
||||
&&TARGET_LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN,
|
||||
&&TARGET_LOAD_ATTR_INSTANCE_VALUE,
|
||||
&&TARGET_LOAD_ATTR_METHOD_LAZY_DICT,
|
||||
&&TARGET_LOAD_ATTR_METHOD_NO_DICT,
|
||||
&&TARGET_LOAD_ATTR_METHOD_WITH_VALUES,
|
||||
&&TARGET_LOAD_ATTR_MODULE,
|
||||
&&TARGET_LOAD_ATTR_NONDESCRIPTOR_NO_DICT,
|
||||
&&TARGET_LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES,
|
||||
&&TARGET_LOAD_ATTR_PROPERTY,
|
||||
&&TARGET_LOAD_ATTR_SLOT,
|
||||
&&TARGET_LOAD_ATTR_WITH_HINT,
|
||||
&&TARGET_LOAD_CONST,
|
||||
&&TARGET_LOAD_DEREF,
|
||||
&&TARGET_LOAD_FAST,
|
||||
|
@ -151,12 +91,8 @@ static void *opcode_targets[256] = {
|
|||
&&TARGET_LOAD_FROM_DICT_OR_DEREF,
|
||||
&&TARGET_LOAD_FROM_DICT_OR_GLOBALS,
|
||||
&&TARGET_LOAD_GLOBAL,
|
||||
&&TARGET_LOAD_GLOBAL_BUILTIN,
|
||||
&&TARGET_LOAD_GLOBAL_MODULE,
|
||||
&&TARGET_LOAD_NAME,
|
||||
&&TARGET_LOAD_SUPER_ATTR,
|
||||
&&TARGET_LOAD_SUPER_ATTR_ATTR,
|
||||
&&TARGET_LOAD_SUPER_ATTR_METHOD,
|
||||
&&TARGET_MAKE_CELL,
|
||||
&&TARGET_MAP_ADD,
|
||||
&&TARGET_MATCH_CLASS,
|
||||
|
@ -165,16 +101,13 @@ static void *opcode_targets[256] = {
|
|||
&&TARGET_POP_JUMP_IF_NOT_NONE,
|
||||
&&TARGET_POP_JUMP_IF_TRUE,
|
||||
&&TARGET_RAISE_VARARGS,
|
||||
&&TARGET_RESUME,
|
||||
&&TARGET_RERAISE,
|
||||
&&TARGET_RETURN_CONST,
|
||||
&&TARGET_SEND,
|
||||
&&TARGET_SEND_GEN,
|
||||
&&TARGET_SET_ADD,
|
||||
&&TARGET_SET_FUNCTION_ATTRIBUTE,
|
||||
&&TARGET_SET_UPDATE,
|
||||
&&TARGET_STORE_ATTR,
|
||||
&&TARGET_STORE_ATTR_WITH_HINT,
|
||||
&&TARGET_STORE_DEREF,
|
||||
&&TARGET_STORE_FAST,
|
||||
&&TARGET_STORE_FAST_LOAD_FAST,
|
||||
|
@ -184,9 +117,6 @@ static void *opcode_targets[256] = {
|
|||
&&TARGET_SWAP,
|
||||
&&TARGET_UNPACK_EX,
|
||||
&&TARGET_UNPACK_SEQUENCE,
|
||||
&&TARGET_UNPACK_SEQUENCE_LIST,
|
||||
&&TARGET_UNPACK_SEQUENCE_TUPLE,
|
||||
&&TARGET_UNPACK_SEQUENCE_TWO_TUPLE,
|
||||
&&TARGET_YIELD_VALUE,
|
||||
&&_unknown_opcode,
|
||||
&&_unknown_opcode,
|
||||
|
@ -218,6 +148,76 @@ static void *opcode_targets[256] = {
|
|||
&&_unknown_opcode,
|
||||
&&_unknown_opcode,
|
||||
&&_unknown_opcode,
|
||||
&&TARGET_RESUME,
|
||||
&&TARGET_BINARY_OP_ADD_FLOAT,
|
||||
&&TARGET_BINARY_OP_ADD_INT,
|
||||
&&TARGET_BINARY_OP_ADD_UNICODE,
|
||||
&&TARGET_BINARY_OP_MULTIPLY_FLOAT,
|
||||
&&TARGET_BINARY_OP_MULTIPLY_INT,
|
||||
&&TARGET_BINARY_OP_SUBTRACT_FLOAT,
|
||||
&&TARGET_BINARY_OP_SUBTRACT_INT,
|
||||
&&TARGET_BINARY_SUBSCR_DICT,
|
||||
&&TARGET_BINARY_SUBSCR_GETITEM,
|
||||
&&TARGET_BINARY_SUBSCR_LIST_INT,
|
||||
&&TARGET_BINARY_SUBSCR_STR_INT,
|
||||
&&TARGET_BINARY_SUBSCR_TUPLE_INT,
|
||||
&&TARGET_CALL_BOUND_METHOD_EXACT_ARGS,
|
||||
&&TARGET_CALL_BUILTIN_CLASS,
|
||||
&&TARGET_CALL_BUILTIN_FAST_WITH_KEYWORDS,
|
||||
&&TARGET_CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS,
|
||||
&&TARGET_CALL_NO_KW_ALLOC_AND_ENTER_INIT,
|
||||
&&TARGET_CALL_NO_KW_BUILTIN_FAST,
|
||||
&&TARGET_CALL_NO_KW_BUILTIN_O,
|
||||
&&TARGET_CALL_NO_KW_ISINSTANCE,
|
||||
&&TARGET_CALL_NO_KW_LEN,
|
||||
&&TARGET_CALL_NO_KW_LIST_APPEND,
|
||||
&&TARGET_CALL_NO_KW_METHOD_DESCRIPTOR_FAST,
|
||||
&&TARGET_CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS,
|
||||
&&TARGET_CALL_NO_KW_METHOD_DESCRIPTOR_O,
|
||||
&&TARGET_CALL_NO_KW_STR_1,
|
||||
&&TARGET_CALL_NO_KW_TUPLE_1,
|
||||
&&TARGET_CALL_NO_KW_TYPE_1,
|
||||
&&TARGET_CALL_PY_EXACT_ARGS,
|
||||
&&TARGET_CALL_PY_WITH_DEFAULTS,
|
||||
&&TARGET_COMPARE_OP_FLOAT,
|
||||
&&TARGET_COMPARE_OP_INT,
|
||||
&&TARGET_COMPARE_OP_STR,
|
||||
&&TARGET_FOR_ITER_GEN,
|
||||
&&TARGET_FOR_ITER_LIST,
|
||||
&&TARGET_FOR_ITER_RANGE,
|
||||
&&TARGET_FOR_ITER_TUPLE,
|
||||
&&TARGET_LOAD_ATTR_CLASS,
|
||||
&&TARGET_LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN,
|
||||
&&TARGET_LOAD_ATTR_INSTANCE_VALUE,
|
||||
&&TARGET_LOAD_ATTR_METHOD_LAZY_DICT,
|
||||
&&TARGET_LOAD_ATTR_METHOD_NO_DICT,
|
||||
&&TARGET_LOAD_ATTR_METHOD_WITH_VALUES,
|
||||
&&TARGET_LOAD_ATTR_MODULE,
|
||||
&&TARGET_LOAD_ATTR_NONDESCRIPTOR_NO_DICT,
|
||||
&&TARGET_LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES,
|
||||
&&TARGET_LOAD_ATTR_PROPERTY,
|
||||
&&TARGET_LOAD_ATTR_SLOT,
|
||||
&&TARGET_LOAD_ATTR_WITH_HINT,
|
||||
&&TARGET_LOAD_GLOBAL_BUILTIN,
|
||||
&&TARGET_LOAD_GLOBAL_MODULE,
|
||||
&&TARGET_LOAD_SUPER_ATTR_ATTR,
|
||||
&&TARGET_LOAD_SUPER_ATTR_METHOD,
|
||||
&&TARGET_RESUME_CHECK,
|
||||
&&TARGET_SEND_GEN,
|
||||
&&TARGET_STORE_ATTR_INSTANCE_VALUE,
|
||||
&&TARGET_STORE_ATTR_SLOT,
|
||||
&&TARGET_STORE_ATTR_WITH_HINT,
|
||||
&&TARGET_STORE_SUBSCR_DICT,
|
||||
&&TARGET_STORE_SUBSCR_LIST_INT,
|
||||
&&TARGET_TO_BOOL_ALWAYS_TRUE,
|
||||
&&TARGET_TO_BOOL_BOOL,
|
||||
&&TARGET_TO_BOOL_INT,
|
||||
&&TARGET_TO_BOOL_LIST,
|
||||
&&TARGET_TO_BOOL_NONE,
|
||||
&&TARGET_TO_BOOL_STR,
|
||||
&&TARGET_UNPACK_SEQUENCE_LIST,
|
||||
&&TARGET_UNPACK_SEQUENCE_TUPLE,
|
||||
&&TARGET_UNPACK_SEQUENCE_TWO_TUPLE,
|
||||
&&_unknown_opcode,
|
||||
&&_unknown_opcode,
|
||||
&&_unknown_opcode,
|
||||
|
|
|
@ -22,7 +22,7 @@ ROOT = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
|
|||
verbose = False
|
||||
|
||||
# This must be kept in sync with Tools/cases_generator/generate_cases.py
|
||||
RESUME = 166
|
||||
RESUME = 149
|
||||
|
||||
def isprintable(b: bytes) -> bool:
|
||||
return all(0x20 <= c < 0x7f for c in b)
|
||||
|
|
|
@ -255,12 +255,18 @@ class Generator(Analyzer):
|
|||
ops: list[tuple[bool, str]] = [] # (has_arg, name) for each opcode
|
||||
instrumented_ops: list[str] = []
|
||||
|
||||
specialized_ops = set()
|
||||
for name, family in self.families.items():
|
||||
specialized_ops.update(family.members)
|
||||
|
||||
for instr in itertools.chain(
|
||||
[instr for instr in self.instrs.values() if instr.kind != "op"],
|
||||
self.macro_instrs.values(),
|
||||
):
|
||||
assert isinstance(instr, (Instruction, MacroInstruction, PseudoInstruction))
|
||||
name = instr.name
|
||||
if name in specialized_ops:
|
||||
continue
|
||||
if name.startswith("INSTRUMENTED_"):
|
||||
instrumented_ops.append(name)
|
||||
else:
|
||||
|
@ -282,7 +288,7 @@ class Generator(Analyzer):
|
|||
|
||||
def map_op(op: int, name: str) -> None:
|
||||
assert op < len(opname)
|
||||
assert opname[op] is None
|
||||
assert opname[op] is None, (op, name)
|
||||
assert name not in opmap
|
||||
opname[op] = name
|
||||
opmap[name] = op
|
||||
|
@ -294,25 +300,31 @@ class Generator(Analyzer):
|
|||
# This helps catch cases where we attempt to execute a cache.
|
||||
map_op(17, "RESERVED")
|
||||
|
||||
# 166 is RESUME - it is hard coded as such in Tools/build/deepfreeze.py
|
||||
map_op(166, "RESUME")
|
||||
# 149 is RESUME - it is hard coded as such in Tools/build/deepfreeze.py
|
||||
map_op(149, "RESUME")
|
||||
|
||||
# Specialized ops appear in their own section
|
||||
# Instrumented opcodes are at the end of the valid range
|
||||
min_internal = 150
|
||||
min_instrumented = 254 - (len(instrumented_ops) - 1)
|
||||
assert min_internal + len(specialized_ops) < min_instrumented
|
||||
|
||||
next_opcode = 1
|
||||
|
||||
for has_arg, name in sorted(ops):
|
||||
if name in opmap:
|
||||
continue # an anchored name, like CACHE
|
||||
while opname[next_opcode] is not None:
|
||||
next_opcode += 1
|
||||
assert next_opcode < 255
|
||||
map_op(next_opcode, name)
|
||||
|
||||
if has_arg and "HAVE_ARGUMENT" not in markers:
|
||||
markers["HAVE_ARGUMENT"] = next_opcode
|
||||
|
||||
# Instrumented opcodes are at the end of the valid range
|
||||
min_instrumented = 254 - (len(instrumented_ops) - 1)
|
||||
assert next_opcode <= min_instrumented
|
||||
while opname[next_opcode] is not None:
|
||||
next_opcode += 1
|
||||
|
||||
assert next_opcode < min_internal
|
||||
|
||||
for i, op in enumerate(sorted(specialized_ops)):
|
||||
map_op(min_internal + i, op)
|
||||
|
||||
markers["MIN_INSTRUMENTED_OPCODE"] = min_instrumented
|
||||
for i, op in enumerate(instrumented_ops):
|
||||
map_op(min_instrumented + i, op)
|
||||
|
|
Loading…
Reference in New Issue