From 4b03e77d4a0ec46467fe501636e6eeeb79e03ab9 Mon Sep 17 00:00:00 2001 From: Damien Date: Sat, 5 Oct 2013 14:17:09 +0100 Subject: Factorise EMIT_COMMON calls, mostly into emit_pass1. --- py/emitx64.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'py/emitx64.c') 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, -- cgit v1.2.3