summaryrefslogtreecommitdiff
path: root/py/emitnative.c
diff options
context:
space:
mode:
authorDamien <damien.p.george@gmail.com>2013-10-09 23:10:10 +0100
committerDamien <damien.p.george@gmail.com>2013-10-09 23:10:10 +0100
commita397776d6bf1a9d0b07d7138b289cd661c5e1b99 (patch)
treec56f96f5abb6b3a57117702875a868d2d020949d /py/emitnative.c
parent91d387de7df9e19bb5b00e6ad4c94790eb3422e3 (diff)
Implement basic class/object functionality in runtime.
Diffstat (limited to 'py/emitnative.c')
-rw-r--r--py/emitnative.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/py/emitnative.c b/py/emitnative.c
index 69022e142..4c2f941e0 100644
--- a/py/emitnative.c
+++ b/py/emitnative.c
@@ -731,11 +731,6 @@ static void emit_native_store_attr(emit_t *emit, qstr qstr) {
assert(0);
}
-static void emit_native_store_locals(emit_t *emit) {
- // not supported
- assert(0);
-}
-
static void emit_native_store_subscr(emit_t *emit) {
// depends on type of subject:
// - integer, function, pointer to structure: error
@@ -749,6 +744,13 @@ static void emit_native_store_subscr(emit_t *emit) {
emit_call(emit, RT_F_STORE_SUBSCR, rt_store_subscr);
}
+static void emit_native_store_locals(emit_t *emit) {
+ // not needed
+ vtype_kind_t vtype;
+ emit_pre_pop_reg(emit, &vtype, REG_TEMP0);
+ emit_post(emit);
+}
+
static void emit_native_delete_fast(emit_t *emit, qstr qstr, int local_num) {
// not implemented
// could support for Python types, just set to None (so GC can reclaim it)
@@ -1146,8 +1148,8 @@ const emit_method_table_t EXPORT_FUN(method_table) = {
emit_native_store_global,
emit_native_store_deref,
emit_native_store_attr,
- emit_native_store_locals,
emit_native_store_subscr,
+ emit_native_store_locals,
emit_native_delete_fast,
emit_native_delete_name,
emit_native_delete_global,