mirror of
https://github.com/python/cpython.git
synced 2025-08-04 17:08:35 +00:00
GH-128914: Remove all but one conditional stack effects (GH-129226)
* Remove all 'if (0)' and 'if (1)' conditional stack effects * Use array instead of conditional for BUILD_SLICE args * Refactor LOAD_GLOBAL to use a common conditional uop * Remove conditional stack effects from LOAD_ATTR specializations * Replace conditional stack effects in LOAD_ATTR with a 0 or 1 sized array. * Remove conditional stack effects from CALL_FUNCTION_EX
This commit is contained in:
parent
8ec76d9034
commit
75b4962157
19 changed files with 518 additions and 758 deletions
98
Include/opcode_ids.h
generated
98
Include/opcode_ids.h
generated
|
@ -14,55 +14,55 @@ extern "C" {
|
|||
#define BINARY_SLICE 1
|
||||
#define BINARY_SUBSCR 2
|
||||
#define BINARY_OP_INPLACE_ADD_UNICODE 3
|
||||
#define CHECK_EG_MATCH 4
|
||||
#define CHECK_EXC_MATCH 5
|
||||
#define CLEANUP_THROW 6
|
||||
#define DELETE_SUBSCR 7
|
||||
#define END_ASYNC_FOR 8
|
||||
#define END_FOR 9
|
||||
#define END_SEND 10
|
||||
#define EXIT_INIT_CHECK 11
|
||||
#define FORMAT_SIMPLE 12
|
||||
#define FORMAT_WITH_SPEC 13
|
||||
#define GET_AITER 14
|
||||
#define GET_ANEXT 15
|
||||
#define GET_ITER 16
|
||||
#define CALL_FUNCTION_EX 4
|
||||
#define CHECK_EG_MATCH 5
|
||||
#define CHECK_EXC_MATCH 6
|
||||
#define CLEANUP_THROW 7
|
||||
#define DELETE_SUBSCR 8
|
||||
#define END_ASYNC_FOR 9
|
||||
#define END_FOR 10
|
||||
#define END_SEND 11
|
||||
#define EXIT_INIT_CHECK 12
|
||||
#define FORMAT_SIMPLE 13
|
||||
#define FORMAT_WITH_SPEC 14
|
||||
#define GET_AITER 15
|
||||
#define GET_ANEXT 16
|
||||
#define RESERVED 17
|
||||
#define GET_LEN 18
|
||||
#define GET_YIELD_FROM_ITER 19
|
||||
#define INTERPRETER_EXIT 20
|
||||
#define LOAD_BUILD_CLASS 21
|
||||
#define LOAD_LOCALS 22
|
||||
#define MAKE_FUNCTION 23
|
||||
#define MATCH_KEYS 24
|
||||
#define MATCH_MAPPING 25
|
||||
#define MATCH_SEQUENCE 26
|
||||
#define NOP 27
|
||||
#define NOT_TAKEN 28
|
||||
#define POP_EXCEPT 29
|
||||
#define POP_ITER 30
|
||||
#define POP_TOP 31
|
||||
#define PUSH_EXC_INFO 32
|
||||
#define PUSH_NULL 33
|
||||
#define RETURN_GENERATOR 34
|
||||
#define RETURN_VALUE 35
|
||||
#define SETUP_ANNOTATIONS 36
|
||||
#define STORE_SLICE 37
|
||||
#define STORE_SUBSCR 38
|
||||
#define TO_BOOL 39
|
||||
#define UNARY_INVERT 40
|
||||
#define UNARY_NEGATIVE 41
|
||||
#define UNARY_NOT 42
|
||||
#define WITH_EXCEPT_START 43
|
||||
#define BINARY_OP 44
|
||||
#define BUILD_LIST 45
|
||||
#define BUILD_MAP 46
|
||||
#define BUILD_SET 47
|
||||
#define BUILD_SLICE 48
|
||||
#define BUILD_STRING 49
|
||||
#define BUILD_TUPLE 50
|
||||
#define CALL 51
|
||||
#define CALL_FUNCTION_EX 52
|
||||
#define GET_ITER 18
|
||||
#define GET_LEN 19
|
||||
#define GET_YIELD_FROM_ITER 20
|
||||
#define INTERPRETER_EXIT 21
|
||||
#define LOAD_BUILD_CLASS 22
|
||||
#define LOAD_LOCALS 23
|
||||
#define MAKE_FUNCTION 24
|
||||
#define MATCH_KEYS 25
|
||||
#define MATCH_MAPPING 26
|
||||
#define MATCH_SEQUENCE 27
|
||||
#define NOP 28
|
||||
#define NOT_TAKEN 29
|
||||
#define POP_EXCEPT 30
|
||||
#define POP_ITER 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 BINARY_OP 45
|
||||
#define BUILD_LIST 46
|
||||
#define BUILD_MAP 47
|
||||
#define BUILD_SET 48
|
||||
#define BUILD_SLICE 49
|
||||
#define BUILD_STRING 50
|
||||
#define BUILD_TUPLE 51
|
||||
#define CALL 52
|
||||
#define CALL_INTRINSIC_1 53
|
||||
#define CALL_INTRINSIC_2 54
|
||||
#define CALL_KW 55
|
||||
|
@ -241,7 +241,7 @@ extern "C" {
|
|||
#define SETUP_WITH 264
|
||||
#define STORE_FAST_MAYBE_NULL 265
|
||||
|
||||
#define HAVE_ARGUMENT 43
|
||||
#define HAVE_ARGUMENT 44
|
||||
#define MIN_SPECIALIZED_OPCODE 150
|
||||
#define MIN_INSTRUMENTED_OPCODE 235
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue