py/emit: Combine import from/name/star into one emit function.

Change in code size is:

   bare-arm:    +4
minimal x86:   -88
   unix x64:  -456
unix nanbox:   -88
      stm32:   -44
     cc3200:    +0
    esp8266:  -104
      esp32:    +8
This commit is contained in:
Damien George
2018-05-22 21:58:25 +10:00
parent 8a513da5a5
commit d97906ca9a
4 changed files with 37 additions and 30 deletions

View File

@@ -837,6 +837,16 @@ STATIC void emit_native_import_star(emit_t *emit) {
emit_post(emit);
}
STATIC void emit_native_import(emit_t *emit, qstr qst, int kind) {
if (kind == MP_EMIT_IMPORT_NAME) {
emit_native_import_name(emit, qst);
} else if (kind == MP_EMIT_IMPORT_FROM) {
emit_native_import_from(emit, qst);
} else {
emit_native_import_star(emit);
}
}
STATIC void emit_native_load_const_tok(emit_t *emit, mp_token_kind_t tok) {
DEBUG_printf("load_const_tok(tok=%u)\n", tok);
emit_native_pre(emit);
@@ -2223,9 +2233,7 @@ const emit_method_table_t EXPORT_FUN(method_table) = {
},
emit_native_label_assign,
emit_native_import_name,
emit_native_import_from,
emit_native_import_star,
emit_native_import,
emit_native_load_const_tok,
emit_native_load_const_small_int,
emit_native_load_const_str,