From 8c1c7488b223b37d1aa169edeb208f054d6b74c3 Mon Sep 17 00:00:00 2001 From: Damien George Date: Thu, 8 May 2014 23:04:49 +0100 Subject: Add gc.enable, gc.disable; remove pyb.gc. --- py/modgc.c | 14 ++++++++++++++ py/qstrdefs.h | 2 ++ 2 files changed, 16 insertions(+) (limited to 'py') diff --git a/py/modgc.c b/py/modgc.c index e569d290b..de6ecd586 100644 --- a/py/modgc.c +++ b/py/modgc.c @@ -43,9 +43,23 @@ STATIC mp_obj_t py_gc_collect(void) { } MP_DEFINE_CONST_FUN_OBJ_0(gc_collect_obj, py_gc_collect); +STATIC mp_obj_t gc_disable(void) { + gc_lock(); + return mp_const_none; +} +MP_DEFINE_CONST_FUN_OBJ_0(gc_disable_obj, gc_disable); + +STATIC mp_obj_t gc_enable(void) { + gc_unlock(); + return mp_const_none; +} +MP_DEFINE_CONST_FUN_OBJ_0(gc_enable_obj, gc_enable); + STATIC const mp_map_elem_t mp_module_gc_globals_table[] = { { MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_OBJ_NEW_QSTR(MP_QSTR_gc) }, { MP_OBJ_NEW_QSTR(MP_QSTR_collect), (mp_obj_t)&gc_collect_obj }, + { MP_OBJ_NEW_QSTR(MP_QSTR_disable), (mp_obj_t)&gc_disable_obj }, + { MP_OBJ_NEW_QSTR(MP_QSTR_enable), (mp_obj_t)&gc_enable_obj }, }; STATIC const mp_obj_dict_t mp_module_gc_globals = { diff --git a/py/qstrdefs.h b/py/qstrdefs.h index 29b3cc33b..30fad4413 100644 --- a/py/qstrdefs.h +++ b/py/qstrdefs.h @@ -352,6 +352,8 @@ Q(getvalue) #if MICROPY_ENABLE_MOD_GC Q(gc) Q(collect) +Q(disable) +Q(enable) #endif #if MICROPY_ENABLE_PROPERTY -- cgit v1.2.3