|
3 | 3 | """ |
4 | 4 |
|
5 | 5 | from xdis.opcodes.base import ( # noqa |
| 6 | + VARYING_STACK_INT, |
6 | 7 | binary_op, |
7 | 8 | call_op, |
8 | 9 | compare_op, |
|
51 | 52 | def_op(loc, "FORMAT_WITH_SPEC", 13, 2, 1) |
52 | 53 | def_op(loc, "GET_AITER", 14, 1, 1) |
53 | 54 | def_op(loc, "GET_ANEXT", 15, 1, 2) |
54 | | -def_op(loc, "GET_ITER", 16, 1, 2) |
| 55 | +def_op(loc, "GET_ITER", 16, 0, 0) |
55 | 56 | def_op(loc, "RESERVED", 17, 0, 0) |
56 | 57 | def_op(loc, "GET_LEN", 18, 1, 2) |
57 | 58 | def_op(loc, "GET_YIELD_FROM_ITER", 19, 1, 1) |
|
65 | 66 | def_op(loc, "NOP", 27, 0, 0) |
66 | 67 | def_op(loc, "NOT_TAKEN", 28, 0, 0) |
67 | 68 | def_op(loc, "POP_EXCEPT", 29, 1, 0) |
68 | | -def_op(loc, "POP_ITER", 30, 2, 0) |
| 69 | +def_op(loc, "POP_ITER", 30, 1, 0) |
69 | 70 | def_op(loc, "POP_TOP", 31, 1, 0) |
70 | 71 | def_op(loc, "PUSH_EXC_INFO", 32, 1, 2) |
71 | 72 | def_op(loc, "PUSH_NULL", 33, 0, 1) |
|
80 | 81 | unary_op(loc, "UNARY_NOT", 42, 1, 1) |
81 | 82 | def_op(loc, "WITH_EXCEPT_START", 43, 5, 6) |
82 | 83 | binary_op(loc, "BINARY_OP", 44, 2, 1) |
83 | | -def_op(loc, "BUILD_INTERPOLATION", 45, 2, 1) # pops 2 + (oparg & 1) |
| 84 | +def_op(loc, "BUILD_INTERPOLATION", 45, VARYING_STACK_INT, 1) # Either -1 or -2: pops 2 + (oparg & 1) and pushes result |
84 | 85 | varargs_op(loc, "BUILD_LIST", 46, -1, 1) # TOS is count of list items |
85 | 86 | varargs_op(loc, "BUILD_MAP", 47, 0, 1) # argument is dictionary count to be popped |
86 | 87 | varargs_op(loc, "BUILD_SET", 48, -1, 1) # TOS is count of set items |
|
153 | 154 | store_op(loc, "STORE_GLOBAL", 115, 1, 0, is_type="name") |
154 | 155 | store_op(loc, "STORE_NAME", 116, 1, 0, is_type="name") |
155 | 156 | def_op(loc, "SWAP", 117, 0, 0) |
156 | | -varargs_op(loc, "UNPACK_EX", 118, 1, -1) # pushes 1 + (oparg & 0xFF) + (oparg >> 8) |
157 | | -varargs_op(loc, "UNPACK_SEQUENCE", 119, 0, -1) # unpacks TOS, arg is the count |
| 157 | +varargs_op(loc, "UNPACK_EX", 118, VARYING_STACK_INT, VARYING_STACK_INT) # pushes 1 + (oparg & 0xFF) + (oparg >> 8) |
| 158 | +varargs_op(loc, "UNPACK_SEQUENCE", 119, VARYING_STACK_INT, VARYING_STACK_INT) # unpacks TOS, arg is the count |
158 | 159 | def_op(loc, "YIELD_VALUE", 120, 1, 1) |
159 | 160 | def_op(loc, "RESUME", 128, 0, 0) |
160 | 161 |
|
|
0 commit comments