summaryrefslogtreecommitdiffstatshomepage
path: root/py/compile.c
diff options
context:
space:
mode:
authorFabian Vogt <fabian@ritter-vogt.de>2014-08-16 22:55:53 +0200
committerFabian Vogt <fabian@ritter-vogt.de>2014-08-27 18:18:50 +0200
commitfe3d16e8c24e2f3733339a69c66d740747b2e859 (patch)
tree4cf97ede9b6de13f85e04b4faff4149458714490 /py/compile.c
parenta97e091d4e80bbdb05f4bb27f18b905b50daf018 (diff)
downloadmicropython-fe3d16e8c24e2f3733339a69c66d740747b2e859.tar.gz
micropython-fe3d16e8c24e2f3733339a69c66d740747b2e859.zip
Basic native ARM emitter
Diffstat (limited to 'py/compile.c')
-rw-r--r--py/compile.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/py/compile.c b/py/compile.c
index 10bfb1f3cd..49edc3f15c 100644
--- a/py/compile.c
+++ b/py/compile.c
@@ -3626,6 +3626,11 @@ mp_obj_t mp_compile(mp_parse_node_t pn, qstr source_file, uint emit_opt, bool is
emit_native = emit_native_thumb_new(max_num_labels);
}
comp->emit_method_table = &emit_native_thumb_method_table;
+#elif MICROPY_EMIT_ARM
+ if (emit_native == NULL) {
+ emit_native = emit_native_arm_new(max_num_labels);
+ }
+ comp->emit_method_table = &emit_native_arm_method_table;
#endif
comp->emit = emit_native;
EMIT_ARG(set_native_type, MP_EMIT_NATIVE_TYPE_ENABLE, s->emit_options == MP_EMIT_OPT_VIPER, 0);
@@ -3669,6 +3674,8 @@ mp_obj_t mp_compile(mp_parse_node_t pn, qstr source_file, uint emit_opt, bool is
emit_native_x64_free(emit_native);
#elif MICROPY_EMIT_THUMB
emit_native_thumb_free(emit_native);
+#elif MICROPY_EMIT_ARM
+ emit_native_arm_free(emit_native);
#endif
}
#endif