Merge branch 'main' into update_re · RustPython/RustPython@ac5b298 · GitHub
Skip to content

Commit ac5b298

Browse files
authored
Merge branch 'main' into update_re
2 parents e4bc05c + bdf3b36 commit ac5b298

83 files changed

Lines changed: 8657 additions & 2572 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.cspell.dict/cpython.txt

Lines changed: 1 addition & 0 deletions

.vscode/launch.json

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,6 @@
1616
},
1717
"cwd": "${workspaceFolder}"
1818
},
19-
{
20-
"type": "lldb",
21-
"request": "launch",
22-
"name": "Debug executable 'rustpython' without SSL",
23-
"preLaunchTask": "Build RustPython Debug without SSL",
24-
"program": "target/debug/rustpython",
25-
"args": [],
26-
"env": {
27-
"RUST_BACKTRACE": "1"
28-
},
29-
"cwd": "${workspaceFolder}"
30-
},
3119
{
3220
"type": "lldb",
3321
"request": "launch",

.vscode/tasks.json

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,12 @@
11
{
22
"version": "2.0.0",
33
"tasks": [
4-
{
5-
"label": "Build RustPython Debug without SSL",
6-
"type": "shell",
7-
"command": "cargo",
8-
"args": [
9-
"build",
10-
],
11-
"problemMatcher": [
12-
"$rustc",
13-
],
14-
"group": {
15-
"kind": "build",
16-
"isDefault": true,
17-
},
18-
},
194
{
205
"label": "Build RustPython Debug",
216
"type": "shell",
227
"command": "cargo",
238
"args": [
249
"build",
25-
"--features=ssl"
2610
],
2711
"problemMatcher": [
2812
"$rustc",

Lib/_opcode_metadata.py

Lines changed: 39 additions & 218 deletions
Original file line numberDiff line numberDiff line change
@@ -1,198 +1,16 @@
1-
# This file is generated by Tools/cases_generator/py_metadata_generator.py
2-
# from:
3-
# Python/bytecodes.c
1+
# This file is generated by scripts/generate_opcode_metadata.py
2+
# for RustPython bytecode format (CPython 3.13 compatible opcode numbers).
43
# Do not edit!
5-
_specializations = {
6-
"RESUME": [
7-
"RESUME_CHECK",
8-
],
9-
"TO_BOOL": [
10-
"TO_BOOL_ALWAYS_TRUE",
11-
"TO_BOOL_BOOL",
12-
"TO_BOOL_INT",
13-
"TO_BOOL_LIST",
14-
"TO_BOOL_NONE",
15-
"TO_BOOL_STR",
16-
],
17-
"BINARY_OP": [
18-
"BINARY_OP_MULTIPLY_INT",
19-
"BINARY_OP_ADD_INT",
20-
"BINARY_OP_SUBTRACT_INT",
21-
"BINARY_OP_MULTIPLY_FLOAT",
22-
"BINARY_OP_ADD_FLOAT",
23-
"BINARY_OP_SUBTRACT_FLOAT",
24-
"BINARY_OP_ADD_UNICODE",
25-
"BINARY_OP_INPLACE_ADD_UNICODE",
26-
],
27-
"BINARY_SUBSCR": [
28-
"BINARY_SUBSCR_DICT",
29-
"BINARY_SUBSCR_GETITEM",
30-
"BINARY_SUBSCR_LIST_INT",
31-
"BINARY_SUBSCR_STR_INT",
32-
"BINARY_SUBSCR_TUPLE_INT",
33-
],
34-
"STORE_SUBSCR": [
35-
"STORE_SUBSCR_DICT",
36-
"STORE_SUBSCR_LIST_INT",
37-
],
38-
"SEND": [
39-
"SEND_GEN",
40-
],
41-
"UNPACK_SEQUENCE": [
42-
"UNPACK_SEQUENCE_TWO_TUPLE",
43-
"UNPACK_SEQUENCE_TUPLE",
44-
"UNPACK_SEQUENCE_LIST",
45-
],
46-
"STORE_ATTR": [
47-
"STORE_ATTR_INSTANCE_VALUE",
48-
"STORE_ATTR_SLOT",
49-
"STORE_ATTR_WITH_HINT",
50-
],
51-
"LOAD_GLOBAL": [
52-
"LOAD_GLOBAL_MODULE",
53-
"LOAD_GLOBAL_BUILTIN",
54-
],
55-
"LOAD_SUPER_ATTR": [
56-
"LOAD_SUPER_ATTR_ATTR",
57-
"LOAD_SUPER_ATTR_METHOD",
58-
],
59-
"LOAD_ATTR": [
60-
"LOAD_ATTR_INSTANCE_VALUE",
61-
"LOAD_ATTR_MODULE",
62-
"LOAD_ATTR_WITH_HINT",
63-
"LOAD_ATTR_SLOT",
64-
"LOAD_ATTR_CLASS",
65-
"LOAD_ATTR_PROPERTY",
66-
"LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN",
67-
"LOAD_ATTR_METHOD_WITH_VALUES",
68-
"LOAD_ATTR_METHOD_NO_DICT",
69-
"LOAD_ATTR_METHOD_LAZY_DICT",
70-
"LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES",
71-
"LOAD_ATTR_NONDESCRIPTOR_NO_DICT",
72-
],
73-
"COMPARE_OP": [
74-
"COMPARE_OP_FLOAT",
75-
"COMPARE_OP_INT",
76-
"COMPARE_OP_STR",
77-
],
78-
"CONTAINS_OP": [
79-
"CONTAINS_OP_SET",
80-
"CONTAINS_OP_DICT",
81-
],
82-
"FOR_ITER": [
83-
"FOR_ITER_LIST",
84-
"FOR_ITER_TUPLE",
85-
"FOR_ITER_RANGE",
86-
"FOR_ITER_GEN",
87-
],
88-
"CALL": [
89-
"CALL_BOUND_METHOD_EXACT_ARGS",
90-
"CALL_PY_EXACT_ARGS",
91-
"CALL_TYPE_1",
92-
"CALL_STR_1",
93-
"CALL_TUPLE_1",
94-
"CALL_BUILTIN_CLASS",
95-
"CALL_BUILTIN_O",
96-
"CALL_BUILTIN_FAST",
97-
"CALL_BUILTIN_FAST_WITH_KEYWORDS",
98-
"CALL_LEN",
99-
"CALL_ISINSTANCE",
100-
"CALL_LIST_APPEND",
101-
"CALL_METHOD_DESCRIPTOR_O",
102-
"CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS",
103-
"CALL_METHOD_DESCRIPTOR_NOARGS",
104-
"CALL_METHOD_DESCRIPTOR_FAST",
105-
"CALL_ALLOC_AND_ENTER_INIT",
106-
"CALL_PY_GENERAL",
107-
"CALL_BOUND_METHOD_GENERAL",
108-
"CALL_NON_PY_GENERAL",
109-
],
110-
}
1114

112-
_specialized_opmap = {
113-
'BINARY_OP_ADD_FLOAT': 150,
114-
'BINARY_OP_ADD_INT': 151,
115-
'BINARY_OP_ADD_UNICODE': 152,
116-
'BINARY_OP_INPLACE_ADD_UNICODE': 3,
117-
'BINARY_OP_MULTIPLY_FLOAT': 153,
118-
'BINARY_OP_MULTIPLY_INT': 154,
119-
'BINARY_OP_SUBTRACT_FLOAT': 155,
120-
'BINARY_OP_SUBTRACT_INT': 156,
121-
'BINARY_SUBSCR_DICT': 157,
122-
'BINARY_SUBSCR_GETITEM': 158,
123-
'BINARY_SUBSCR_LIST_INT': 159,
124-
'BINARY_SUBSCR_STR_INT': 160,
125-
'BINARY_SUBSCR_TUPLE_INT': 161,
126-
'CALL_ALLOC_AND_ENTER_INIT': 162,
127-
'CALL_BOUND_METHOD_EXACT_ARGS': 163,
128-
'CALL_BOUND_METHOD_GENERAL': 164,
129-
'CALL_BUILTIN_CLASS': 165,
130-
'CALL_BUILTIN_FAST': 166,
131-
'CALL_BUILTIN_FAST_WITH_KEYWORDS': 167,
132-
'CALL_BUILTIN_O': 168,
133-
'CALL_ISINSTANCE': 169,
134-
'CALL_LEN': 170,
135-
'CALL_LIST_APPEND': 171,
136-
'CALL_METHOD_DESCRIPTOR_FAST': 172,
137-
'CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS': 173,
138-
'CALL_METHOD_DESCRIPTOR_NOARGS': 174,
139-
'CALL_METHOD_DESCRIPTOR_O': 175,
140-
'CALL_NON_PY_GENERAL': 176,
141-
'CALL_PY_EXACT_ARGS': 177,
142-
'CALL_PY_GENERAL': 178,
143-
'CALL_STR_1': 179,
144-
'CALL_TUPLE_1': 180,
145-
'CALL_TYPE_1': 181,
146-
'COMPARE_OP_FLOAT': 182,
147-
'COMPARE_OP_INT': 183,
148-
'COMPARE_OP_STR': 184,
149-
'CONTAINS_OP_DICT': 185,
150-
'CONTAINS_OP_SET': 186,
151-
'FOR_ITER_GEN': 187,
152-
'FOR_ITER_LIST': 188,
153-
'FOR_ITER_RANGE': 189,
154-
'FOR_ITER_TUPLE': 190,
155-
'LOAD_ATTR_CLASS': 191,
156-
'LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN': 192,
157-
'LOAD_ATTR_INSTANCE_VALUE': 193,
158-
'LOAD_ATTR_METHOD_LAZY_DICT': 194,
159-
'LOAD_ATTR_METHOD_NO_DICT': 195,
160-
'LOAD_ATTR_METHOD_WITH_VALUES': 196,
161-
'LOAD_ATTR_MODULE': 197,
162-
'LOAD_ATTR_NONDESCRIPTOR_NO_DICT': 198,
163-
'LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES': 199,
164-
'LOAD_ATTR_PROPERTY': 200,
165-
'LOAD_ATTR_SLOT': 201,
166-
'LOAD_ATTR_WITH_HINT': 202,
167-
'LOAD_GLOBAL_BUILTIN': 203,
168-
'LOAD_GLOBAL_MODULE': 204,
169-
'LOAD_SUPER_ATTR_ATTR': 205,
170-
'LOAD_SUPER_ATTR_METHOD': 206,
171-
'RESUME_CHECK': 207,
172-
'SEND_GEN': 208,
173-
'STORE_ATTR_INSTANCE_VALUE': 209,
174-
'STORE_ATTR_SLOT': 210,
175-
'STORE_ATTR_WITH_HINT': 211,
176-
'STORE_SUBSCR_DICT': 212,
177-
'STORE_SUBSCR_LIST_INT': 213,
178-
'TO_BOOL_ALWAYS_TRUE': 214,
179-
'TO_BOOL_BOOL': 215,
180-
'TO_BOOL_INT': 216,
181-
'TO_BOOL_LIST': 217,
182-
'TO_BOOL_NONE': 218,
183-
'TO_BOOL_STR': 219,
184-
'UNPACK_SEQUENCE_LIST': 220,
185-
'UNPACK_SEQUENCE_TUPLE': 221,
186-
'UNPACK_SEQUENCE_TWO_TUPLE': 222,
187-
}
5+
_specializations = {}
6+
7+
_specialized_opmap = {}
1888

1899
opmap = {
19010
'CACHE': 0,
191-
'RESERVED': 17,
192-
'RESUME': 149,
193-
'INSTRUMENTED_LINE': 254,
19411
'BEFORE_ASYNC_WITH': 1,
19512
'BEFORE_WITH': 2,
13+
'RESERVED_3': 3,
19614
'BINARY_SLICE': 4,
19715
'BINARY_SUBSCR': 5,
19816
'CHECK_EG_MATCH': 6,
@@ -206,6 +24,7 @@
20624
'FORMAT_SIMPLE': 14,
20725
'FORMAT_WITH_SPEC': 15,
20826
'GET_AITER': 16,
27+
'RESERVED_17': 17,
20928
'GET_ANEXT': 18,
21029
'GET_ITER': 19,
21130
'GET_LEN': 20,
@@ -307,37 +126,39 @@
307126
'UNPACK_EX': 116,
308127
'UNPACK_SEQUENCE': 117,
309128
'YIELD_VALUE': 118,
310-
'INSTRUMENTED_RESUME': 236,
311-
'INSTRUMENTED_END_FOR': 237,
312-
'INSTRUMENTED_END_SEND': 238,
313-
'INSTRUMENTED_RETURN_VALUE': 239,
314-
'INSTRUMENTED_RETURN_CONST': 240,
315-
'INSTRUMENTED_YIELD_VALUE': 241,
316-
'INSTRUMENTED_LOAD_SUPER_ATTR': 242,
317-
'INSTRUMENTED_FOR_ITER': 243,
318-
'INSTRUMENTED_CALL': 244,
319-
'INSTRUMENTED_CALL_KW': 245,
320-
'INSTRUMENTED_CALL_FUNCTION_EX': 246,
321-
'INSTRUMENTED_INSTRUCTION': 247,
322-
'INSTRUMENTED_JUMP_FORWARD': 248,
323-
'INSTRUMENTED_JUMP_BACKWARD': 249,
324-
'INSTRUMENTED_POP_JUMP_IF_TRUE': 250,
325-
'INSTRUMENTED_POP_JUMP_IF_FALSE': 251,
326-
'INSTRUMENTED_POP_JUMP_IF_NONE': 252,
327-
'INSTRUMENTED_POP_JUMP_IF_NOT_NONE': 253,
328-
'JUMP': 256,
329-
'JUMP_NO_INTERRUPT': 257,
330-
'LOAD_CLOSURE': 258,
331-
'LOAD_METHOD': 259,
332-
'LOAD_SUPER_METHOD': 260,
333-
'LOAD_ZERO_SUPER_ATTR': 261,
334-
'LOAD_ZERO_SUPER_METHOD': 262,
335-
'POP_BLOCK': 263,
336-
'SETUP_CLEANUP': 264,
337-
'SETUP_FINALLY': 265,
338-
'SETUP_WITH': 266,
339-
'STORE_FAST_MAYBE_NULL': 267,
129+
'BREAK': 119,
130+
'BUILD_LIST_UNPACK': 120,
131+
'BUILD_MAP_FOR_CALL': 121,
132+
'BUILD_SET_UNPACK': 122,
133+
'BUILD_TUPLE_ITER': 123,
134+
'BUILD_TUPLE_UNPACK': 124,
135+
'CALL_METHOD': 125,
136+
'CALL_METHOD_KW': 126,
137+
'CALL_METHOD_EX': 127,
138+
'CONTINUE': 128,
139+
'JUMP': 129,
140+
'JUMP_IF_FALSE_OR_POP': 130,
141+
'JUMP_IF_TRUE_OR_POP': 131,
142+
'JUMP_IF_NOT_EXC_MATCH': 132,
143+
'LOAD_CLASSDEREF': 133,
144+
'LOAD_CLOSURE': 134,
145+
'LOAD_METHOD': 135,
146+
'POP_BLOCK': 136,
147+
'REVERSE': 137,
148+
'SET_EXC_INFO': 138,
149+
'SUBSCRIPT': 139,
150+
'UNARY_OP': 140,
151+
'RESERVED_141': 141,
152+
'RESERVED_142': 142,
153+
'RESERVED_143': 143,
154+
'RESERVED_144': 144,
155+
'RESERVED_145': 145,
156+
'RESERVED_146': 146,
157+
'RESERVED_147': 147,
158+
'RESERVED_148': 148,
159+
'RESUME': 149,
340160
}
341161

162+
# CPython 3.13 compatible: opcodes < 44 have no argument
342163
HAVE_ARGUMENT = 44
343164
MIN_INSTRUMENTED_OPCODE = 236

Lib/importlib/_bootstrap_external.py

Lines changed: 1 addition & 1 deletion

0 commit comments

Comments
 (0)