py/runtime0.h: Move MP_BINARY_OP_DIVMOD to the end of mp_binary_op_t.
It starts a dichotomy of mp_binary_op_t values which can't appear in the bytecode. Another reason to move it is to VALUES of OP_* and OP_INPLACE_* nicely adjacent. This also will be needed for OP_REVERSE_*, to be soon introduced.
This commit is contained in:
parent
d4d1c45a55
commit
50b9329eba
|
@ -84,7 +84,6 @@ typedef enum {
|
||||||
|
|
||||||
MP_BINARY_OP_MODULO,
|
MP_BINARY_OP_MODULO,
|
||||||
MP_BINARY_OP_POWER,
|
MP_BINARY_OP_POWER,
|
||||||
MP_BINARY_OP_DIVMOD, // not emitted by the compiler but supported by the runtime
|
|
||||||
MP_BINARY_OP_INPLACE_OR,
|
MP_BINARY_OP_INPLACE_OR,
|
||||||
MP_BINARY_OP_INPLACE_XOR,
|
MP_BINARY_OP_INPLACE_XOR,
|
||||||
|
|
||||||
|
@ -99,6 +98,11 @@ typedef enum {
|
||||||
MP_BINARY_OP_INPLACE_TRUE_DIVIDE,
|
MP_BINARY_OP_INPLACE_TRUE_DIVIDE,
|
||||||
MP_BINARY_OP_INPLACE_MODULO,
|
MP_BINARY_OP_INPLACE_MODULO,
|
||||||
MP_BINARY_OP_INPLACE_POWER,
|
MP_BINARY_OP_INPLACE_POWER,
|
||||||
|
|
||||||
|
// Operations below this line don't appear in bytecode, they
|
||||||
|
// just identify special methods.
|
||||||
|
|
||||||
|
MP_BINARY_OP_DIVMOD, // not emitted by the compiler but supported by the runtime
|
||||||
} mp_binary_op_t;
|
} mp_binary_op_t;
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
|
|
|
@ -132,7 +132,7 @@ Raw bytecode (code_info_size=\\d\+, bytecode_size=\\d\+):
|
||||||
\\d\+ DUP_TOP_TWO
|
\\d\+ DUP_TOP_TWO
|
||||||
\\d\+ LOAD_SUBSCR
|
\\d\+ LOAD_SUBSCR
|
||||||
\\d\+ LOAD_FAST 12
|
\\d\+ LOAD_FAST 12
|
||||||
\\d\+ BINARY_OP 29 __iadd__
|
\\d\+ BINARY_OP 28 __iadd__
|
||||||
\\d\+ ROT_THREE
|
\\d\+ ROT_THREE
|
||||||
\\d\+ STORE_SUBSCR
|
\\d\+ STORE_SUBSCR
|
||||||
\\d\+ LOAD_DEREF 14
|
\\d\+ LOAD_DEREF 14
|
||||||
|
|
Loading…
Reference in New Issue