Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
allendowney
GitHub Repository: allendowney/cpython
Path: blob/main/Lib/_opcode_metadata.py
12 views
1
# This file is generated by Tools/cases_generator/generate_cases.py
2
# from:
3
# Python/bytecodes.c
4
# Do not edit!
5
6
_specializations = {
7
"TO_BOOL": [
8
"TO_BOOL_ALWAYS_TRUE",
9
"TO_BOOL_BOOL",
10
"TO_BOOL_INT",
11
"TO_BOOL_LIST",
12
"TO_BOOL_NONE",
13
"TO_BOOL_STR",
14
],
15
"BINARY_OP": [
16
"BINARY_OP_MULTIPLY_INT",
17
"BINARY_OP_ADD_INT",
18
"BINARY_OP_SUBTRACT_INT",
19
"BINARY_OP_MULTIPLY_FLOAT",
20
"BINARY_OP_ADD_FLOAT",
21
"BINARY_OP_SUBTRACT_FLOAT",
22
"BINARY_OP_ADD_UNICODE",
23
],
24
"BINARY_SUBSCR": [
25
"BINARY_SUBSCR_DICT",
26
"BINARY_SUBSCR_GETITEM",
27
"BINARY_SUBSCR_LIST_INT",
28
"BINARY_SUBSCR_TUPLE_INT",
29
],
30
"STORE_SUBSCR": [
31
"STORE_SUBSCR_DICT",
32
"STORE_SUBSCR_LIST_INT",
33
],
34
"SEND": [
35
"SEND_GEN",
36
],
37
"UNPACK_SEQUENCE": [
38
"UNPACK_SEQUENCE_TWO_TUPLE",
39
"UNPACK_SEQUENCE_TUPLE",
40
"UNPACK_SEQUENCE_LIST",
41
],
42
"STORE_ATTR": [
43
"STORE_ATTR_INSTANCE_VALUE",
44
"STORE_ATTR_SLOT",
45
"STORE_ATTR_WITH_HINT",
46
],
47
"LOAD_GLOBAL": [
48
"LOAD_GLOBAL_MODULE",
49
"LOAD_GLOBAL_BUILTIN",
50
],
51
"LOAD_SUPER_ATTR": [
52
"LOAD_SUPER_ATTR_ATTR",
53
"LOAD_SUPER_ATTR_METHOD",
54
],
55
"LOAD_ATTR": [
56
"LOAD_ATTR_INSTANCE_VALUE",
57
"LOAD_ATTR_MODULE",
58
"LOAD_ATTR_WITH_HINT",
59
"LOAD_ATTR_SLOT",
60
"LOAD_ATTR_CLASS",
61
"LOAD_ATTR_PROPERTY",
62
"LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN",
63
"LOAD_ATTR_METHOD_WITH_VALUES",
64
"LOAD_ATTR_METHOD_NO_DICT",
65
"LOAD_ATTR_METHOD_LAZY_DICT",
66
],
67
"COMPARE_OP": [
68
"COMPARE_OP_FLOAT",
69
"COMPARE_OP_INT",
70
"COMPARE_OP_STR",
71
],
72
"FOR_ITER": [
73
"FOR_ITER_LIST",
74
"FOR_ITER_TUPLE",
75
"FOR_ITER_RANGE",
76
"FOR_ITER_GEN",
77
],
78
"CALL": [
79
"CALL_BOUND_METHOD_EXACT_ARGS",
80
"CALL_PY_EXACT_ARGS",
81
"CALL_PY_WITH_DEFAULTS",
82
"CALL_NO_KW_TYPE_1",
83
"CALL_NO_KW_STR_1",
84
"CALL_NO_KW_TUPLE_1",
85
"CALL_BUILTIN_CLASS",
86
"CALL_NO_KW_BUILTIN_O",
87
"CALL_NO_KW_BUILTIN_FAST",
88
"CALL_BUILTIN_FAST_WITH_KEYWORDS",
89
"CALL_NO_KW_LEN",
90
"CALL_NO_KW_ISINSTANCE",
91
"CALL_NO_KW_LIST_APPEND",
92
"CALL_NO_KW_METHOD_DESCRIPTOR_O",
93
"CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS",
94
"CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS",
95
"CALL_NO_KW_METHOD_DESCRIPTOR_FAST",
96
"CALL_NO_KW_ALLOC_AND_ENTER_INIT",
97
],
98
}
99
100
# An irregular case:
101
_specializations["BINARY_OP"].append("BINARY_OP_INPLACE_ADD_UNICODE")
102
103
_specialized_instructions = [opcode for family in _specializations.values() for opcode in family]
104
105