py: Remove LOAD_CONST_ELLIPSIS bytecode, use LOAD_CONST_OBJ instead.
Ellipsis constant is rarely used so no point having an extra bytecode for it.
This commit is contained in:
parent
37c6555b44
commit
8872abcbc4
1
py/bc0.h
1
py/bc0.h
@ -32,7 +32,6 @@
|
|||||||
#define MP_BC_LOAD_CONST_FALSE (0x10)
|
#define MP_BC_LOAD_CONST_FALSE (0x10)
|
||||||
#define MP_BC_LOAD_CONST_NONE (0x11)
|
#define MP_BC_LOAD_CONST_NONE (0x11)
|
||||||
#define MP_BC_LOAD_CONST_TRUE (0x12)
|
#define MP_BC_LOAD_CONST_TRUE (0x12)
|
||||||
#define MP_BC_LOAD_CONST_ELLIPSIS (0x13)
|
|
||||||
#define MP_BC_LOAD_CONST_SMALL_INT (0x14) // signed var-int
|
#define MP_BC_LOAD_CONST_SMALL_INT (0x14) // signed var-int
|
||||||
#define MP_BC_LOAD_CONST_BYTES (0x15) // qstr
|
#define MP_BC_LOAD_CONST_BYTES (0x15) // qstr
|
||||||
#define MP_BC_LOAD_CONST_STRING (0x16) // qstr
|
#define MP_BC_LOAD_CONST_STRING (0x16) // qstr
|
||||||
|
@ -454,7 +454,7 @@ void mp_emit_bc_load_const_tok(emit_t *emit, mp_token_kind_t tok) {
|
|||||||
case MP_TOKEN_KW_NONE: emit_write_bytecode_byte(emit, MP_BC_LOAD_CONST_NONE); break;
|
case MP_TOKEN_KW_NONE: emit_write_bytecode_byte(emit, MP_BC_LOAD_CONST_NONE); break;
|
||||||
case MP_TOKEN_KW_TRUE: emit_write_bytecode_byte(emit, MP_BC_LOAD_CONST_TRUE); break;
|
case MP_TOKEN_KW_TRUE: emit_write_bytecode_byte(emit, MP_BC_LOAD_CONST_TRUE); break;
|
||||||
no_other_choice:
|
no_other_choice:
|
||||||
case MP_TOKEN_ELLIPSIS: emit_write_bytecode_byte(emit, MP_BC_LOAD_CONST_ELLIPSIS); break;
|
case MP_TOKEN_ELLIPSIS: emit_write_bytecode_byte_ptr(emit, MP_BC_LOAD_CONST_OBJ, (void*)&mp_const_ellipsis_obj); break;
|
||||||
default: assert(0); goto no_other_choice; // to help flow control analysis
|
default: assert(0); goto no_other_choice; // to help flow control analysis
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -142,10 +142,6 @@ const byte *mp_bytecode_print_str(const byte *ip) {
|
|||||||
printf("LOAD_CONST_TRUE");
|
printf("LOAD_CONST_TRUE");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MP_BC_LOAD_CONST_ELLIPSIS:
|
|
||||||
printf("LOAD_CONST_ELLIPSIS");
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MP_BC_LOAD_CONST_SMALL_INT: {
|
case MP_BC_LOAD_CONST_SMALL_INT: {
|
||||||
mp_int_t num = 0;
|
mp_int_t num = 0;
|
||||||
if ((ip[0] & 0x40) != 0) {
|
if ((ip[0] & 0x40) != 0) {
|
||||||
|
4
py/vm.c
4
py/vm.c
@ -192,10 +192,6 @@ dispatch_loop:
|
|||||||
PUSH(mp_const_true);
|
PUSH(mp_const_true);
|
||||||
DISPATCH();
|
DISPATCH();
|
||||||
|
|
||||||
ENTRY(MP_BC_LOAD_CONST_ELLIPSIS):
|
|
||||||
PUSH((mp_obj_t)&mp_const_ellipsis_obj);
|
|
||||||
DISPATCH();
|
|
||||||
|
|
||||||
ENTRY(MP_BC_LOAD_CONST_SMALL_INT): {
|
ENTRY(MP_BC_LOAD_CONST_SMALL_INT): {
|
||||||
mp_int_t num = 0;
|
mp_int_t num = 0;
|
||||||
if ((ip[0] & 0x40) != 0) {
|
if ((ip[0] & 0x40) != 0) {
|
||||||
|
@ -34,7 +34,6 @@ static void* entry_table[256] = {
|
|||||||
[MP_BC_LOAD_CONST_FALSE] = &&entry_MP_BC_LOAD_CONST_FALSE,
|
[MP_BC_LOAD_CONST_FALSE] = &&entry_MP_BC_LOAD_CONST_FALSE,
|
||||||
[MP_BC_LOAD_CONST_NONE] = &&entry_MP_BC_LOAD_CONST_NONE,
|
[MP_BC_LOAD_CONST_NONE] = &&entry_MP_BC_LOAD_CONST_NONE,
|
||||||
[MP_BC_LOAD_CONST_TRUE] = &&entry_MP_BC_LOAD_CONST_TRUE,
|
[MP_BC_LOAD_CONST_TRUE] = &&entry_MP_BC_LOAD_CONST_TRUE,
|
||||||
[MP_BC_LOAD_CONST_ELLIPSIS] = &&entry_MP_BC_LOAD_CONST_ELLIPSIS,
|
|
||||||
[MP_BC_LOAD_CONST_SMALL_INT] = &&entry_MP_BC_LOAD_CONST_SMALL_INT,
|
[MP_BC_LOAD_CONST_SMALL_INT] = &&entry_MP_BC_LOAD_CONST_SMALL_INT,
|
||||||
[MP_BC_LOAD_CONST_BYTES] = &&entry_MP_BC_LOAD_CONST_BYTES,
|
[MP_BC_LOAD_CONST_BYTES] = &&entry_MP_BC_LOAD_CONST_BYTES,
|
||||||
[MP_BC_LOAD_CONST_STRING] = &&entry_MP_BC_LOAD_CONST_STRING,
|
[MP_BC_LOAD_CONST_STRING] = &&entry_MP_BC_LOAD_CONST_STRING,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user