GH-105678: Split MAKE_FUNCTION into MAKE_FUNCTION and SET_FUNCTION_ATTRIBUTE (GH-105680)

This commit is contained in:
Mark Shannon 2023-06-13 09:51:05 +01:00 committed by GitHub
parent 217589d4f3
commit 09ffa69e2e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 480 additions and 430 deletions

85
Include/opcode.h generated
View file

@ -19,6 +19,7 @@ extern "C" {
#define UNARY_NOT 12
#define UNARY_INVERT 15
#define RESERVED 17
#define MAKE_FUNCTION 24
#define BINARY_SUBSCR 25
#define BINARY_SLICE 26
#define STORE_SLICE 27
@ -87,7 +88,6 @@ extern "C" {
#define POP_JUMP_IF_NONE 129
#define RAISE_VARARGS 130
#define GET_AWAITABLE 131
#define MAKE_FUNCTION 132
#define BUILD_SLICE 133
#define JUMP_BACKWARD_NO_INTERRUPT 134
#define MAKE_CELL 135
@ -123,6 +123,7 @@ extern "C" {
#define CALL_INTRINSIC_2 174
#define LOAD_FROM_DICT_OR_GLOBALS 175
#define LOAD_FROM_DICT_OR_DEREF 176
#define SET_FUNCTION_ATTRIBUTE 177
#define ENTER_EXECUTOR 230
#define MIN_INSTRUMENTED_OPCODE 237
#define INSTRUMENTED_LOAD_SUPER_ATTR 237
@ -169,47 +170,47 @@ extern "C" {
#define BINARY_SUBSCR_LIST_INT 21
#define BINARY_SUBSCR_TUPLE_INT 22
#define CALL_PY_EXACT_ARGS 23
#define CALL_PY_WITH_DEFAULTS 24
#define CALL_BOUND_METHOD_EXACT_ARGS 28
#define CALL_BUILTIN_CLASS 29
#define CALL_BUILTIN_FAST_WITH_KEYWORDS 34
#define CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 38
#define CALL_NO_KW_BUILTIN_FAST 39
#define CALL_NO_KW_BUILTIN_O 40
#define CALL_NO_KW_ISINSTANCE 41
#define CALL_NO_KW_LEN 42
#define CALL_NO_KW_LIST_APPEND 43
#define CALL_NO_KW_METHOD_DESCRIPTOR_FAST 44
#define CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS 45
#define CALL_NO_KW_METHOD_DESCRIPTOR_O 46
#define CALL_NO_KW_STR_1 47
#define CALL_NO_KW_TUPLE_1 48
#define CALL_NO_KW_TYPE_1 56
#define COMPARE_OP_FLOAT 57
#define COMPARE_OP_INT 58
#define COMPARE_OP_STR 59
#define FOR_ITER_LIST 62
#define FOR_ITER_TUPLE 63
#define FOR_ITER_RANGE 64
#define FOR_ITER_GEN 65
#define LOAD_SUPER_ATTR_ATTR 66
#define LOAD_SUPER_ATTR_METHOD 67
#define LOAD_ATTR_CLASS 70
#define LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN 72
#define LOAD_ATTR_INSTANCE_VALUE 73
#define LOAD_ATTR_MODULE 76
#define LOAD_ATTR_PROPERTY 77
#define LOAD_ATTR_SLOT 78
#define LOAD_ATTR_WITH_HINT 79
#define LOAD_ATTR_METHOD_LAZY_DICT 80
#define LOAD_ATTR_METHOD_NO_DICT 81
#define LOAD_ATTR_METHOD_WITH_VALUES 82
#define LOAD_GLOBAL_BUILTIN 84
#define LOAD_GLOBAL_MODULE 86
#define STORE_ATTR_INSTANCE_VALUE 88
#define STORE_ATTR_SLOT 111
#define STORE_ATTR_WITH_HINT 112
#define STORE_SUBSCR_DICT 113
#define CALL_PY_WITH_DEFAULTS 28
#define CALL_BOUND_METHOD_EXACT_ARGS 29
#define CALL_BUILTIN_CLASS 34
#define CALL_BUILTIN_FAST_WITH_KEYWORDS 38
#define CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 39
#define CALL_NO_KW_BUILTIN_FAST 40
#define CALL_NO_KW_BUILTIN_O 41
#define CALL_NO_KW_ISINSTANCE 42
#define CALL_NO_KW_LEN 43
#define CALL_NO_KW_LIST_APPEND 44
#define CALL_NO_KW_METHOD_DESCRIPTOR_FAST 45
#define CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS 46
#define CALL_NO_KW_METHOD_DESCRIPTOR_O 47
#define CALL_NO_KW_STR_1 48
#define CALL_NO_KW_TUPLE_1 56
#define CALL_NO_KW_TYPE_1 57
#define COMPARE_OP_FLOAT 58
#define COMPARE_OP_INT 59
#define COMPARE_OP_STR 62
#define FOR_ITER_LIST 63
#define FOR_ITER_TUPLE 64
#define FOR_ITER_RANGE 65
#define FOR_ITER_GEN 66
#define LOAD_SUPER_ATTR_ATTR 67
#define LOAD_SUPER_ATTR_METHOD 70
#define LOAD_ATTR_CLASS 72
#define LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN 73
#define LOAD_ATTR_INSTANCE_VALUE 76
#define LOAD_ATTR_MODULE 77
#define LOAD_ATTR_PROPERTY 78
#define LOAD_ATTR_SLOT 79
#define LOAD_ATTR_WITH_HINT 80
#define LOAD_ATTR_METHOD_LAZY_DICT 81
#define LOAD_ATTR_METHOD_NO_DICT 82
#define LOAD_ATTR_METHOD_WITH_VALUES 84
#define LOAD_GLOBAL_BUILTIN 86
#define LOAD_GLOBAL_MODULE 88
#define STORE_ATTR_INSTANCE_VALUE 111
#define STORE_ATTR_SLOT 112
#define STORE_ATTR_WITH_HINT 113
#define STORE_SUBSCR_DICT 132
#define STORE_SUBSCR_LIST_INT 148
#define UNPACK_SEQUENCE_LIST 153
#define UNPACK_SEQUENCE_TUPLE 154