summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--py/mpconfig.h5
-rw-r--r--py/objmodule.c2
-rw-r--r--unix/mpconfigport_fast.h3
3 files changed, 9 insertions, 1 deletions
diff --git a/py/mpconfig.h b/py/mpconfig.h
index 6f92f3d88b..8ef3e62fec 100644
--- a/py/mpconfig.h
+++ b/py/mpconfig.h
@@ -100,6 +100,11 @@
#define MICROPY_ALLOC_PATH_MAX (512)
#endif
+// Initial size of module dict
+#ifndef MICROPY_MODULE_DICT_SIZE
+#define MICROPY_MODULE_DICT_SIZE (1)
+#endif
+
/*****************************************************************************/
/* Micro Python emitters */
diff --git a/py/objmodule.c b/py/objmodule.c
index 01349c3d28..7f765ff95c 100644
--- a/py/objmodule.c
+++ b/py/objmodule.c
@@ -96,7 +96,7 @@ mp_obj_t mp_obj_new_module(qstr module_name) {
mp_obj_module_t *o = m_new_obj(mp_obj_module_t);
o->base.type = &mp_type_module;
o->name = module_name;
- o->globals = mp_obj_new_dict(1);
+ o->globals = mp_obj_new_dict(MICROPY_MODULE_DICT_SIZE);
// store __name__ entry in the module
mp_obj_dict_store(o->globals, MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_OBJ_NEW_QSTR(module_name));
diff --git a/unix/mpconfigport_fast.h b/unix/mpconfigport_fast.h
index 98ec3dfa28..2dd55e42a5 100644
--- a/unix/mpconfigport_fast.h
+++ b/unix/mpconfigport_fast.h
@@ -30,3 +30,6 @@
#include <mpconfigport.h>
#define MICROPY_PY___FILE__ (0)
+// 91 is a magic number proposed by @dpgeorge, which make pystone run ~ at tie
+// with CPython 3.4.
+#define MICROPY_MODULE_DICT_SIZE (91)