diff options
author | Damien George <damien.p.george@gmail.com> | 2018-05-22 21:58:25 +1000 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2018-05-23 00:23:08 +1000 |
commit | d97906ca9a0f1e0728cefb930d458bb8fba3bd17 (patch) | |
tree | 136ca8ce2985dbb9d18011054160ccbd112fac50 /py/emitnative.c | |
parent | 8a513da5a560e9c6afa5f0a0f8d44c5fb1ed552d (diff) |
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
Diffstat (limited to 'py/emitnative.c')
-rw-r--r-- | py/emitnative.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/py/emitnative.c b/py/emitnative.c index b4a3f987c..e06198bc9 100644 --- a/py/emitnative.c +++ b/py/emitnative.c @@ -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, |