From 5fd09668b705dc04b95c6ee5e5c3a8b8758c18e6 Mon Sep 17 00:00:00 2001
From: Damien <damien.p.george@gmail.com>
Date: Wed, 16 Oct 2013 20:54:01 +0100
Subject: [PATCH] Add MAP_ADD opcode to VM.

---
 py/vm.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/py/vm.c b/py/vm.c
index a4fbf2f16c..2f5977d825 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);
-- 
GitLab