mirror of
https://github.com/python/cpython.git
synced 2025-10-15 03:10:29 +00:00
GH-120619: Clean up RETURN_VALUE
instruction (GH-120624)
* Rename _POP_FRAME to _RETURN_VALUE as it returns a value as well as popping a frame. * Remove remaining _POP_FRAMEs
This commit is contained in:
parent
79e09e60d8
commit
274f844830
11 changed files with 67 additions and 61 deletions
8
Include/internal/pycore_opcode_metadata.h
generated
8
Include/internal/pycore_opcode_metadata.h
generated
|
@ -831,11 +831,11 @@ int _PyOpcode_num_pushed(int opcode, int oparg) {
|
|||
case RESUME_CHECK:
|
||||
return 0;
|
||||
case RETURN_CONST:
|
||||
return 0;
|
||||
return 1;
|
||||
case RETURN_GENERATOR:
|
||||
return 1;
|
||||
case RETURN_VALUE:
|
||||
return 0;
|
||||
return 1;
|
||||
case SEND:
|
||||
return 2;
|
||||
case SEND_GEN:
|
||||
|
@ -1346,9 +1346,9 @@ _PyOpcode_macro_expansion[256] = {
|
|||
[PUSH_EXC_INFO] = { .nuops = 1, .uops = { { _PUSH_EXC_INFO, 0, 0 } } },
|
||||
[PUSH_NULL] = { .nuops = 1, .uops = { { _PUSH_NULL, 0, 0 } } },
|
||||
[RESUME_CHECK] = { .nuops = 1, .uops = { { _RESUME_CHECK, 0, 0 } } },
|
||||
[RETURN_CONST] = { .nuops = 2, .uops = { { _LOAD_CONST, 0, 0 }, { _POP_FRAME, 0, 0 } } },
|
||||
[RETURN_CONST] = { .nuops = 2, .uops = { { _LOAD_CONST, 0, 0 }, { _RETURN_VALUE, 0, 0 } } },
|
||||
[RETURN_GENERATOR] = { .nuops = 1, .uops = { { _RETURN_GENERATOR, 0, 0 } } },
|
||||
[RETURN_VALUE] = { .nuops = 1, .uops = { { _POP_FRAME, 0, 0 } } },
|
||||
[RETURN_VALUE] = { .nuops = 1, .uops = { { _RETURN_VALUE, 0, 0 } } },
|
||||
[SETUP_ANNOTATIONS] = { .nuops = 1, .uops = { { _SETUP_ANNOTATIONS, 0, 0 } } },
|
||||
[SET_ADD] = { .nuops = 1, .uops = { { _SET_ADD, 0, 0 } } },
|
||||
[SET_FUNCTION_ATTRIBUTE] = { .nuops = 1, .uops = { { _SET_FUNCTION_ATTRIBUTE, 0, 0 } } },
|
||||
|
|
56
Include/internal/pycore_uop_ids.h
generated
56
Include/internal/pycore_uop_ids.h
generated
|
@ -226,51 +226,51 @@ extern "C" {
|
|||
#define _MATCH_SEQUENCE MATCH_SEQUENCE
|
||||
#define _NOP NOP
|
||||
#define _POP_EXCEPT POP_EXCEPT
|
||||
#define _POP_FRAME 426
|
||||
#define _POP_JUMP_IF_FALSE 427
|
||||
#define _POP_JUMP_IF_TRUE 428
|
||||
#define _POP_JUMP_IF_FALSE 426
|
||||
#define _POP_JUMP_IF_TRUE 427
|
||||
#define _POP_TOP POP_TOP
|
||||
#define _POP_TOP_LOAD_CONST_INLINE_BORROW 429
|
||||
#define _POP_TOP_LOAD_CONST_INLINE_BORROW 428
|
||||
#define _PUSH_EXC_INFO PUSH_EXC_INFO
|
||||
#define _PUSH_FRAME 430
|
||||
#define _PUSH_FRAME 429
|
||||
#define _PUSH_NULL PUSH_NULL
|
||||
#define _PY_FRAME_GENERAL 431
|
||||
#define _REPLACE_WITH_TRUE 432
|
||||
#define _PY_FRAME_GENERAL 430
|
||||
#define _REPLACE_WITH_TRUE 431
|
||||
#define _RESUME_CHECK RESUME_CHECK
|
||||
#define _RETURN_GENERATOR RETURN_GENERATOR
|
||||
#define _SAVE_RETURN_OFFSET 433
|
||||
#define _SEND 434
|
||||
#define _RETURN_VALUE RETURN_VALUE
|
||||
#define _SAVE_RETURN_OFFSET 432
|
||||
#define _SEND 433
|
||||
#define _SEND_GEN SEND_GEN
|
||||
#define _SETUP_ANNOTATIONS SETUP_ANNOTATIONS
|
||||
#define _SET_ADD SET_ADD
|
||||
#define _SET_FUNCTION_ATTRIBUTE SET_FUNCTION_ATTRIBUTE
|
||||
#define _SET_UPDATE SET_UPDATE
|
||||
#define _START_EXECUTOR 435
|
||||
#define _STORE_ATTR 436
|
||||
#define _STORE_ATTR_INSTANCE_VALUE 437
|
||||
#define _STORE_ATTR_SLOT 438
|
||||
#define _STORE_ATTR_WITH_HINT 439
|
||||
#define _START_EXECUTOR 434
|
||||
#define _STORE_ATTR 435
|
||||
#define _STORE_ATTR_INSTANCE_VALUE 436
|
||||
#define _STORE_ATTR_SLOT 437
|
||||
#define _STORE_ATTR_WITH_HINT 438
|
||||
#define _STORE_DEREF STORE_DEREF
|
||||
#define _STORE_FAST 440
|
||||
#define _STORE_FAST_0 441
|
||||
#define _STORE_FAST_1 442
|
||||
#define _STORE_FAST_2 443
|
||||
#define _STORE_FAST_3 444
|
||||
#define _STORE_FAST_4 445
|
||||
#define _STORE_FAST_5 446
|
||||
#define _STORE_FAST_6 447
|
||||
#define _STORE_FAST_7 448
|
||||
#define _STORE_FAST 439
|
||||
#define _STORE_FAST_0 440
|
||||
#define _STORE_FAST_1 441
|
||||
#define _STORE_FAST_2 442
|
||||
#define _STORE_FAST_3 443
|
||||
#define _STORE_FAST_4 444
|
||||
#define _STORE_FAST_5 445
|
||||
#define _STORE_FAST_6 446
|
||||
#define _STORE_FAST_7 447
|
||||
#define _STORE_FAST_LOAD_FAST STORE_FAST_LOAD_FAST
|
||||
#define _STORE_FAST_STORE_FAST STORE_FAST_STORE_FAST
|
||||
#define _STORE_GLOBAL STORE_GLOBAL
|
||||
#define _STORE_NAME STORE_NAME
|
||||
#define _STORE_SLICE STORE_SLICE
|
||||
#define _STORE_SUBSCR 449
|
||||
#define _STORE_SUBSCR 448
|
||||
#define _STORE_SUBSCR_DICT STORE_SUBSCR_DICT
|
||||
#define _STORE_SUBSCR_LIST_INT STORE_SUBSCR_LIST_INT
|
||||
#define _SWAP SWAP
|
||||
#define _TIER2_RESUME_CHECK 450
|
||||
#define _TO_BOOL 451
|
||||
#define _TIER2_RESUME_CHECK 449
|
||||
#define _TO_BOOL 450
|
||||
#define _TO_BOOL_BOOL TO_BOOL_BOOL
|
||||
#define _TO_BOOL_INT TO_BOOL_INT
|
||||
#define _TO_BOOL_LIST TO_BOOL_LIST
|
||||
|
@ -280,13 +280,13 @@ extern "C" {
|
|||
#define _UNARY_NEGATIVE UNARY_NEGATIVE
|
||||
#define _UNARY_NOT UNARY_NOT
|
||||
#define _UNPACK_EX UNPACK_EX
|
||||
#define _UNPACK_SEQUENCE 452
|
||||
#define _UNPACK_SEQUENCE 451
|
||||
#define _UNPACK_SEQUENCE_LIST UNPACK_SEQUENCE_LIST
|
||||
#define _UNPACK_SEQUENCE_TUPLE UNPACK_SEQUENCE_TUPLE
|
||||
#define _UNPACK_SEQUENCE_TWO_TUPLE UNPACK_SEQUENCE_TWO_TUPLE
|
||||
#define _WITH_EXCEPT_START WITH_EXCEPT_START
|
||||
#define _YIELD_VALUE YIELD_VALUE
|
||||
#define MAX_UOP_ID 452
|
||||
#define MAX_UOP_ID 451
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
6
Include/internal/pycore_uop_metadata.h
generated
6
Include/internal/pycore_uop_metadata.h
generated
|
@ -87,7 +87,7 @@ const uint16_t _PyUop_Flags[MAX_UOP_ID+1] = {
|
|||
[_DELETE_SUBSCR] = HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
|
||||
[_CALL_INTRINSIC_1] = HAS_ARG_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
|
||||
[_CALL_INTRINSIC_2] = HAS_ARG_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
|
||||
[_POP_FRAME] = 0,
|
||||
[_RETURN_VALUE] = 0,
|
||||
[_GET_AITER] = HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
|
||||
[_GET_ANEXT] = HAS_ERROR_FLAG | HAS_ERROR_NO_POP_FLAG | HAS_ESCAPES_FLAG,
|
||||
[_GET_AWAITABLE] = HAS_ARG_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG,
|
||||
|
@ -453,7 +453,6 @@ const char *const _PyOpcode_uop_name[MAX_UOP_ID+1] = {
|
|||
[_MATCH_SEQUENCE] = "_MATCH_SEQUENCE",
|
||||
[_NOP] = "_NOP",
|
||||
[_POP_EXCEPT] = "_POP_EXCEPT",
|
||||
[_POP_FRAME] = "_POP_FRAME",
|
||||
[_POP_TOP] = "_POP_TOP",
|
||||
[_POP_TOP_LOAD_CONST_INLINE_BORROW] = "_POP_TOP_LOAD_CONST_INLINE_BORROW",
|
||||
[_PUSH_EXC_INFO] = "_PUSH_EXC_INFO",
|
||||
|
@ -463,6 +462,7 @@ const char *const _PyOpcode_uop_name[MAX_UOP_ID+1] = {
|
|||
[_REPLACE_WITH_TRUE] = "_REPLACE_WITH_TRUE",
|
||||
[_RESUME_CHECK] = "_RESUME_CHECK",
|
||||
[_RETURN_GENERATOR] = "_RETURN_GENERATOR",
|
||||
[_RETURN_VALUE] = "_RETURN_VALUE",
|
||||
[_SAVE_RETURN_OFFSET] = "_SAVE_RETURN_OFFSET",
|
||||
[_SETUP_ANNOTATIONS] = "_SETUP_ANNOTATIONS",
|
||||
[_SET_ADD] = "_SET_ADD",
|
||||
|
@ -650,7 +650,7 @@ int _PyUop_num_popped(int opcode, int oparg)
|
|||
return 1;
|
||||
case _CALL_INTRINSIC_2:
|
||||
return 2;
|
||||
case _POP_FRAME:
|
||||
case _RETURN_VALUE:
|
||||
return 1;
|
||||
case _GET_AITER:
|
||||
return 1;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue