diff options
Diffstat (limited to 'py/emitnative.c')
-rw-r--r-- | py/emitnative.c | 50 |
1 files changed, 25 insertions, 25 deletions
diff --git a/py/emitnative.c b/py/emitnative.c index 52805d90ce..29acee9e83 100644 --- a/py/emitnative.c +++ b/py/emitnative.c @@ -688,6 +688,17 @@ static void emit_native_load_fast(emit_t *emit, qstr qstr, int local_num) { #endif } +static void emit_native_load_deref(emit_t *emit, qstr qstr, int local_num) { + // not implemented + // in principle could support this quite easily (ldr r0, [r0, #0]) and then get closed over variables! + assert(0); +} + +static void emit_native_load_closure(emit_t *emit, qstr qstr, int local_num) { + // not implemented + assert(0); +} + static void emit_native_load_name(emit_t *emit, qstr qstr) { emit_pre(emit); emit_call_with_imm_arg(emit, RT_F_LOAD_NAME, rt_load_name, qstr, REG_ARG_1); @@ -700,17 +711,6 @@ static void emit_native_load_global(emit_t *emit, qstr qstr) { emit_post_push_reg(emit, VTYPE_PYOBJ, REG_RET); } -static void emit_native_load_deref(emit_t *emit, qstr qstr, int local_num) { - // not implemented - // in principle could support this quite easily (ldr r0, [r0, #0]) and then get closed over variables! - assert(0); -} - -static void emit_native_load_closure(emit_t *emit, qstr qstr, int local_num) { - // not implemented - assert(0); -} - static void emit_native_load_attr(emit_t *emit, qstr qstr) { // depends on type of subject: // - integer, function, pointer to integers: error @@ -771,6 +771,11 @@ static void emit_native_store_fast(emit_t *emit, qstr qstr, int local_num) { } } +static void emit_native_store_deref(emit_t *emit, qstr qstr, int local_num) { + // not implemented + assert(0); +} + static void emit_native_store_name(emit_t *emit, qstr qstr) { // rt_store_name, but needs conversion of object (maybe have rt_viper_store_name(obj, type)) vtype_kind_t vtype; @@ -785,11 +790,6 @@ static void emit_native_store_global(emit_t *emit, qstr qstr) { assert(0); } -static void emit_native_store_deref(emit_t *emit, qstr qstr, int local_num) { - // not implemented - assert(0); -} - static void emit_native_store_attr(emit_t *emit, qstr qstr) { vtype_kind_t vtype_base, vtype_val; emit_pre_pop_reg_reg(emit, &vtype_base, REG_ARG_1, &vtype_val, REG_ARG_3); // arg1 = base, arg3 = value @@ -825,6 +825,11 @@ static void emit_native_delete_fast(emit_t *emit, qstr qstr, int local_num) { assert(0); } +static void emit_native_delete_deref(emit_t *emit, qstr qstr, int local_num) { + // not supported + assert(0); +} + static void emit_native_delete_name(emit_t *emit, qstr qstr) { // not implemented // use rt_delete_name @@ -837,11 +842,6 @@ static void emit_native_delete_global(emit_t *emit, qstr qstr) { assert(0); } -static void emit_native_delete_deref(emit_t *emit, qstr qstr, int local_num) { - // not supported - assert(0); -} - static void emit_native_delete_attr(emit_t *emit, qstr qstr) { // not supported assert(0); @@ -1280,24 +1280,24 @@ const emit_method_table_t EXPORT_FUN(method_table) = { emit_native_load_const_verbatim_quoted_str, emit_native_load_const_verbatim_end, emit_native_load_fast, - emit_native_load_name, - emit_native_load_global, emit_native_load_deref, emit_native_load_closure, + emit_native_load_name, + emit_native_load_global, emit_native_load_attr, emit_native_load_method, emit_native_load_build_class, emit_native_store_fast, + emit_native_store_deref, emit_native_store_name, emit_native_store_global, - emit_native_store_deref, emit_native_store_attr, emit_native_store_subscr, emit_native_store_locals, emit_native_delete_fast, + emit_native_delete_deref, emit_native_delete_name, emit_native_delete_global, - emit_native_delete_deref, emit_native_delete_attr, emit_native_delete_subscr, emit_native_dup_top, |