diff options
author | Damien <damien.p.george@gmail.com> | 2013-10-05 14:17:09 +0100 |
---|---|---|
committer | Damien <damien.p.george@gmail.com> | 2013-10-05 14:17:09 +0100 |
commit | 4b03e77d4a0ec46467fe501636e6eeeb79e03ab9 (patch) | |
tree | 063284dc5a1295976fc22a715771db5199cfaea1 /py/emitx64.c | |
parent | 054848a1b8aa7e52f3c70e86cc4dc56b565ea830 (diff) | |
download | micropython-4b03e77d4a0ec46467fe501636e6eeeb79e03ab9.tar.gz micropython-4b03e77d4a0ec46467fe501636e6eeeb79e03ab9.zip |
Factorise EMIT_COMMON calls, mostly into emit_pass1.
Diffstat (limited to 'py/emitx64.c')
-rw-r--r-- | py/emitx64.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/py/emitx64.c b/py/emitx64.c index 72a0852938..cde98fe457 100644 --- a/py/emitx64.c +++ b/py/emitx64.c @@ -53,6 +53,9 @@ struct _emit_t { bool do_native_types; }; +// forward declaration +static const emit_method_table_t emit_x64_method_table; + static void emit_x64_set_native_types(emit_t *emit, bool do_native_types) { emit->do_native_types = do_native_types; } @@ -123,6 +126,18 @@ static void emit_x64_set_stack_size(emit_t *emit, int size) { emit->stack_size = size; } +static void emit_x64_load_id(emit_t *emit, qstr qstr) { + emit_common_load_id(emit, &emit_x64_method_table, emit->scope, qstr); +} + +static void emit_x64_store_id(emit_t *emit, qstr qstr) { + emit_common_store_id(emit, &emit_x64_method_table, emit->scope, qstr); +} + +static void emit_x64_delete_id(emit_t *emit, qstr qstr) { + emit_common_delete_id(emit, &emit_x64_method_table, emit->scope, qstr); +} + static void adjust_stack(emit_t *emit, int stack_size_delta) { emit->stack_size += stack_size_delta; assert(emit->stack_size >= 0); @@ -671,6 +686,10 @@ static const emit_method_table_t emit_x64_method_table = { emit_x64_get_stack_size, emit_x64_set_stack_size, + emit_x64_load_id, + emit_x64_store_id, + emit_x64_delete_id, + emit_x64_label_assign, emit_x64_import_name, emit_x64_import_from, |