mirror of
https://github.com/python/cpython.git
synced 2025-08-04 17:08:35 +00:00
GH-99005: More intrinsics (GH-100774)
* Remove UNARY_POSITIVE, LIST_TO_TUPLE and ASYNC_GEN_WRAP, replacing them with intrinsics.
This commit is contained in:
parent
659c2607f5
commit
78068126a1
16 changed files with 151 additions and 204 deletions
117
Include/opcode.h
generated
117
Include/opcode.h
generated
|
@ -14,7 +14,6 @@ extern "C" {
|
|||
#define INTERPRETER_EXIT 3
|
||||
#define END_FOR 4
|
||||
#define NOP 9
|
||||
#define UNARY_POSITIVE 10
|
||||
#define UNARY_NEGATIVE 11
|
||||
#define UNARY_NOT 12
|
||||
#define UNARY_INVERT 15
|
||||
|
@ -42,10 +41,8 @@ extern "C" {
|
|||
#define LOAD_BUILD_CLASS 71
|
||||
#define LOAD_ASSERTION_ERROR 74
|
||||
#define RETURN_GENERATOR 75
|
||||
#define LIST_TO_TUPLE 82
|
||||
#define RETURN_VALUE 83
|
||||
#define SETUP_ANNOTATIONS 85
|
||||
#define ASYNC_GEN_WRAP 87
|
||||
#define PREP_RERAISE_STAR 88
|
||||
#define POP_EXCEPT 89
|
||||
#define HAVE_ARGUMENT 90
|
||||
|
@ -131,63 +128,63 @@ extern "C" {
|
|||
#define BINARY_OP_ADD_INT 6
|
||||
#define BINARY_OP_ADD_UNICODE 7
|
||||
#define BINARY_OP_INPLACE_ADD_UNICODE 8
|
||||
#define BINARY_OP_MULTIPLY_FLOAT 13
|
||||
#define BINARY_OP_MULTIPLY_INT 14
|
||||
#define BINARY_OP_SUBTRACT_FLOAT 16
|
||||
#define BINARY_OP_SUBTRACT_INT 17
|
||||
#define BINARY_SUBSCR_DICT 18
|
||||
#define BINARY_SUBSCR_GETITEM 19
|
||||
#define BINARY_SUBSCR_LIST_INT 20
|
||||
#define BINARY_SUBSCR_TUPLE_INT 21
|
||||
#define CALL_PY_EXACT_ARGS 22
|
||||
#define CALL_PY_WITH_DEFAULTS 23
|
||||
#define CALL_BOUND_METHOD_EXACT_ARGS 24
|
||||
#define CALL_BUILTIN_CLASS 28
|
||||
#define CALL_BUILTIN_FAST_WITH_KEYWORDS 29
|
||||
#define CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 34
|
||||
#define CALL_NO_KW_BUILTIN_FAST 38
|
||||
#define CALL_NO_KW_BUILTIN_O 39
|
||||
#define CALL_NO_KW_ISINSTANCE 40
|
||||
#define CALL_NO_KW_LEN 41
|
||||
#define CALL_NO_KW_LIST_APPEND 42
|
||||
#define CALL_NO_KW_METHOD_DESCRIPTOR_FAST 43
|
||||
#define CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS 44
|
||||
#define CALL_NO_KW_METHOD_DESCRIPTOR_O 45
|
||||
#define CALL_NO_KW_STR_1 46
|
||||
#define CALL_NO_KW_TUPLE_1 47
|
||||
#define CALL_NO_KW_TYPE_1 48
|
||||
#define COMPARE_OP_FLOAT_JUMP 56
|
||||
#define COMPARE_OP_INT_JUMP 57
|
||||
#define COMPARE_OP_STR_JUMP 58
|
||||
#define FOR_ITER_LIST 59
|
||||
#define FOR_ITER_TUPLE 62
|
||||
#define FOR_ITER_RANGE 63
|
||||
#define FOR_ITER_GEN 64
|
||||
#define LOAD_ATTR_CLASS 65
|
||||
#define LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN 66
|
||||
#define LOAD_ATTR_INSTANCE_VALUE 67
|
||||
#define LOAD_ATTR_MODULE 70
|
||||
#define LOAD_ATTR_PROPERTY 72
|
||||
#define LOAD_ATTR_SLOT 73
|
||||
#define LOAD_ATTR_WITH_HINT 76
|
||||
#define LOAD_ATTR_METHOD_LAZY_DICT 77
|
||||
#define LOAD_ATTR_METHOD_NO_DICT 78
|
||||
#define LOAD_ATTR_METHOD_WITH_VALUES 79
|
||||
#define LOAD_CONST__LOAD_FAST 80
|
||||
#define LOAD_FAST__LOAD_CONST 81
|
||||
#define LOAD_FAST__LOAD_FAST 84
|
||||
#define LOAD_GLOBAL_BUILTIN 86
|
||||
#define LOAD_GLOBAL_MODULE 113
|
||||
#define STORE_ATTR_INSTANCE_VALUE 121
|
||||
#define STORE_ATTR_SLOT 141
|
||||
#define STORE_ATTR_WITH_HINT 143
|
||||
#define STORE_FAST__LOAD_FAST 153
|
||||
#define STORE_FAST__STORE_FAST 154
|
||||
#define STORE_SUBSCR_DICT 158
|
||||
#define STORE_SUBSCR_LIST_INT 159
|
||||
#define UNPACK_SEQUENCE_LIST 160
|
||||
#define UNPACK_SEQUENCE_TUPLE 161
|
||||
#define UNPACK_SEQUENCE_TWO_TUPLE 166
|
||||
#define BINARY_OP_MULTIPLY_FLOAT 10
|
||||
#define BINARY_OP_MULTIPLY_INT 13
|
||||
#define BINARY_OP_SUBTRACT_FLOAT 14
|
||||
#define BINARY_OP_SUBTRACT_INT 16
|
||||
#define BINARY_SUBSCR_DICT 17
|
||||
#define BINARY_SUBSCR_GETITEM 18
|
||||
#define BINARY_SUBSCR_LIST_INT 19
|
||||
#define BINARY_SUBSCR_TUPLE_INT 20
|
||||
#define CALL_PY_EXACT_ARGS 21
|
||||
#define CALL_PY_WITH_DEFAULTS 22
|
||||
#define CALL_BOUND_METHOD_EXACT_ARGS 23
|
||||
#define CALL_BUILTIN_CLASS 24
|
||||
#define CALL_BUILTIN_FAST_WITH_KEYWORDS 28
|
||||
#define CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 29
|
||||
#define CALL_NO_KW_BUILTIN_FAST 34
|
||||
#define CALL_NO_KW_BUILTIN_O 38
|
||||
#define CALL_NO_KW_ISINSTANCE 39
|
||||
#define CALL_NO_KW_LEN 40
|
||||
#define CALL_NO_KW_LIST_APPEND 41
|
||||
#define CALL_NO_KW_METHOD_DESCRIPTOR_FAST 42
|
||||
#define CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS 43
|
||||
#define CALL_NO_KW_METHOD_DESCRIPTOR_O 44
|
||||
#define CALL_NO_KW_STR_1 45
|
||||
#define CALL_NO_KW_TUPLE_1 46
|
||||
#define CALL_NO_KW_TYPE_1 47
|
||||
#define COMPARE_OP_FLOAT_JUMP 48
|
||||
#define COMPARE_OP_INT_JUMP 56
|
||||
#define COMPARE_OP_STR_JUMP 57
|
||||
#define FOR_ITER_LIST 58
|
||||
#define FOR_ITER_TUPLE 59
|
||||
#define FOR_ITER_RANGE 62
|
||||
#define FOR_ITER_GEN 63
|
||||
#define LOAD_ATTR_CLASS 64
|
||||
#define LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN 65
|
||||
#define LOAD_ATTR_INSTANCE_VALUE 66
|
||||
#define LOAD_ATTR_MODULE 67
|
||||
#define LOAD_ATTR_PROPERTY 70
|
||||
#define LOAD_ATTR_SLOT 72
|
||||
#define LOAD_ATTR_WITH_HINT 73
|
||||
#define LOAD_ATTR_METHOD_LAZY_DICT 76
|
||||
#define LOAD_ATTR_METHOD_NO_DICT 77
|
||||
#define LOAD_ATTR_METHOD_WITH_VALUES 78
|
||||
#define LOAD_CONST__LOAD_FAST 79
|
||||
#define LOAD_FAST__LOAD_CONST 80
|
||||
#define LOAD_FAST__LOAD_FAST 81
|
||||
#define LOAD_GLOBAL_BUILTIN 82
|
||||
#define LOAD_GLOBAL_MODULE 84
|
||||
#define STORE_ATTR_INSTANCE_VALUE 86
|
||||
#define STORE_ATTR_SLOT 87
|
||||
#define STORE_ATTR_WITH_HINT 113
|
||||
#define STORE_FAST__LOAD_FAST 121
|
||||
#define STORE_FAST__STORE_FAST 141
|
||||
#define STORE_SUBSCR_DICT 143
|
||||
#define STORE_SUBSCR_LIST_INT 153
|
||||
#define UNPACK_SEQUENCE_LIST 154
|
||||
#define UNPACK_SEQUENCE_TUPLE 158
|
||||
#define UNPACK_SEQUENCE_TWO_TUPLE 159
|
||||
#define DO_TRACING 255
|
||||
|
||||
#define HAS_ARG(op) ((((op) >= HAVE_ARGUMENT) && (!IS_PSEUDO_OPCODE(op)))\
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue