summaryrefslogtreecommitdiffstatshomepage
path: root/py/vm.c
diff options
context:
space:
mode:
authorDamien <damien.p.george@gmail.com>2013-11-02 14:33:10 +0000
committerDamien <damien.p.george@gmail.com>2013-11-02 14:33:10 +0000
commit4ebb32fb952c02eb554311cbbd0acac7e858570b (patch)
treea338fa2a273348f414c63eabf643650a3499f98b /py/vm.c
parent4c51cbdc0b41cfe4a9193e8afd89f0584afb4446 (diff)
downloadmicropython-4ebb32fb952c02eb554311cbbd0acac7e858570b.tar.gz
micropython-4ebb32fb952c02eb554311cbbd0acac7e858570b.zip
Implement: str.join, more float support, ROT_TWO in VM.
Diffstat (limited to 'py/vm.c')
-rw-r--r--py/vm.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/py/vm.c b/py/vm.c
index 33970a0f6a..9530a65fd2 100644
--- a/py/vm.c
+++ b/py/vm.c
@@ -32,7 +32,8 @@ py_obj_t py_execute_byte_code(const byte *code, const py_obj_t *args, uint n_arg
// it shouldn't yield
assert(0);
}
- assert(sp == &state[17]);
+ // TODO check fails if, eg, return from within for loop
+ //assert(sp == &state[17]);
return *sp;
}
@@ -182,6 +183,12 @@ bool py_execute_byte_code_2(const byte *code, const byte **ip_in_out, py_obj_t *
++sp;
break;
+ case PYBC_ROT_TWO:
+ obj1 = sp[0];
+ sp[0] = sp[1];
+ sp[1] = obj1;
+ break;
+
case PYBC_ROT_THREE:
obj1 = sp[0];
sp[0] = sp[1];