mirror of
https://github.com/python/cpython.git
synced 2025-08-31 05:58:33 +00:00
gh-98831: rewrite UNPACK_EX, UNPACK_SEQUENCE, UNPACK_SEQUENCE_TWO_TUPLE in the instruction definition DSL (#101641)
This commit is contained in:
parent
f87f6e2396
commit
dec1ab0387
3 changed files with 40 additions and 54 deletions
|
@ -121,15 +121,15 @@ _PyOpcode_num_popped(int opcode, int oparg, bool jump) {
|
|||
case DELETE_NAME:
|
||||
return 0;
|
||||
case UNPACK_SEQUENCE:
|
||||
return -1;
|
||||
return 1;
|
||||
case UNPACK_SEQUENCE_TWO_TUPLE:
|
||||
return -1;
|
||||
return 1;
|
||||
case UNPACK_SEQUENCE_TUPLE:
|
||||
return -1;
|
||||
case UNPACK_SEQUENCE_LIST:
|
||||
return -1;
|
||||
case UNPACK_EX:
|
||||
return -1;
|
||||
return 1;
|
||||
case STORE_ATTR:
|
||||
return 2;
|
||||
case DELETE_ATTR:
|
||||
|
@ -467,15 +467,15 @@ _PyOpcode_num_pushed(int opcode, int oparg, bool jump) {
|
|||
case DELETE_NAME:
|
||||
return 0;
|
||||
case UNPACK_SEQUENCE:
|
||||
return -1;
|
||||
return oparg;
|
||||
case UNPACK_SEQUENCE_TWO_TUPLE:
|
||||
return -1;
|
||||
return 2;
|
||||
case UNPACK_SEQUENCE_TUPLE:
|
||||
return -1;
|
||||
case UNPACK_SEQUENCE_LIST:
|
||||
return -1;
|
||||
case UNPACK_EX:
|
||||
return -1;
|
||||
return (oparg & 0xFF) + (oparg >> 8) + 1;
|
||||
case STORE_ATTR:
|
||||
return 0;
|
||||
case DELETE_ATTR:
|
||||
|
@ -759,8 +759,8 @@ struct opcode_metadata {
|
|||
[LOAD_BUILD_CLASS] = { DIR_NONE, DIR_NONE, DIR_NONE, true, INSTR_FMT_IX },
|
||||
[STORE_NAME] = { DIR_NONE, DIR_NONE, DIR_NONE, true, INSTR_FMT_IB },
|
||||
[DELETE_NAME] = { DIR_NONE, DIR_NONE, DIR_NONE, true, INSTR_FMT_IB },
|
||||
[UNPACK_SEQUENCE] = { DIR_NONE, DIR_NONE, DIR_NONE, true, INSTR_FMT_IB },
|
||||
[UNPACK_SEQUENCE_TWO_TUPLE] = { DIR_NONE, DIR_NONE, DIR_NONE, true, INSTR_FMT_IX },
|
||||
[UNPACK_SEQUENCE] = { DIR_NONE, DIR_NONE, DIR_NONE, true, INSTR_FMT_IBC },
|
||||
[UNPACK_SEQUENCE_TWO_TUPLE] = { DIR_NONE, DIR_NONE, DIR_NONE, true, INSTR_FMT_IXC },
|
||||
[UNPACK_SEQUENCE_TUPLE] = { DIR_NONE, DIR_NONE, DIR_NONE, true, INSTR_FMT_IB },
|
||||
[UNPACK_SEQUENCE_LIST] = { DIR_NONE, DIR_NONE, DIR_NONE, true, INSTR_FMT_IB },
|
||||
[UNPACK_EX] = { DIR_NONE, DIR_NONE, DIR_NONE, true, INSTR_FMT_IB },
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue