summaryrefslogtreecommitdiff
path: root/py/vm.c
diff options
context:
space:
mode:
authorDamien <damien.p.george@gmail.com>2013-10-16 20:54:01 +0100
committerDamien <damien.p.george@gmail.com>2013-10-16 20:54:01 +0100
commit5fd09668b705dc04b95c6ee5e5c3a8b8758c18e6 (patch)
treef5c7794227d1d79ef12570f4afb9965476894936 /py/vm.c
parentbd25445a82c896752dd735f54e3495f0e5e7350a (diff)
Add MAP_ADD opcode to VM.
Diffstat (limited to 'py/vm.c')
-rw-r--r--py/vm.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/py/vm.c b/py/vm.c
index a4fbf2f16..2f5977d82 100644
--- a/py/vm.c
+++ b/py/vm.c
@@ -305,6 +305,13 @@ bool py_execute_byte_code_2(const byte *code, const byte **ip_in_out, py_obj_t *
rt_store_map(sp[0], sp[-2], sp[-1]);
break;
+ case PYBC_MAP_ADD:
+ DECODE_UINT;
+ // I think it's guaranteed by the compiler that sp[unum + 1] is a map
+ rt_store_map(sp[unum + 1], sp[0], sp[1]);
+ sp += 2;
+ break;
+
case PYBC_BUILD_SET:
DECODE_UINT;
obj1 = rt_build_set(unum, sp);