Skip to content

Commit 8c1c748

Browse files
committed
Add gc.enable, gc.disable; remove pyb.gc.
1 parent d6cbbc5 commit 8c1c748

4 files changed

Lines changed: 16 additions & 3 deletions

File tree

py/modgc.c

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,23 @@ STATIC mp_obj_t py_gc_collect(void) {
4343
}
4444
MP_DEFINE_CONST_FUN_OBJ_0(gc_collect_obj, py_gc_collect);
4545

46+
STATIC mp_obj_t gc_disable(void) {
47+
gc_lock();
48+
return mp_const_none;
49+
}
50+
MP_DEFINE_CONST_FUN_OBJ_0(gc_disable_obj, gc_disable);
51+
52+
STATIC mp_obj_t gc_enable(void) {
53+
gc_unlock();
54+
return mp_const_none;
55+
}
56+
MP_DEFINE_CONST_FUN_OBJ_0(gc_enable_obj, gc_enable);
57+
4658
STATIC const mp_map_elem_t mp_module_gc_globals_table[] = {
4759
{ MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_OBJ_NEW_QSTR(MP_QSTR_gc) },
4860
{ MP_OBJ_NEW_QSTR(MP_QSTR_collect), (mp_obj_t)&gc_collect_obj },
61+
{ MP_OBJ_NEW_QSTR(MP_QSTR_disable), (mp_obj_t)&gc_disable_obj },
62+
{ MP_OBJ_NEW_QSTR(MP_QSTR_enable), (mp_obj_t)&gc_enable_obj },
4963
};
5064

5165
STATIC const mp_obj_dict_t mp_module_gc_globals = {

py/qstrdefs.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -352,6 +352,8 @@ Q(getvalue)
352352
#if MICROPY_ENABLE_MOD_GC
353353
Q(gc)
354354
Q(collect)
355+
Q(disable)
356+
Q(enable)
355357
#endif
356358

357359
#if MICROPY_ENABLE_PROPERTY

stmhal/gccollect.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,3 @@ extern uint32_t _estack;
3939
extern uint32_t _ram_end;
4040

4141
void gc_collect(void);
42-
43-
MP_DECLARE_CONST_FUN_OBJ(gc_collect_obj);

stmhal/modpyb.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,6 @@ STATIC const mp_map_elem_t pyb_module_globals_table[] = {
305305
{ MP_OBJ_NEW_QSTR(MP_QSTR_info), (mp_obj_t)&pyb_info_obj },
306306
{ MP_OBJ_NEW_QSTR(MP_QSTR_unique_id), (mp_obj_t)&pyb_unique_id_obj },
307307
{ MP_OBJ_NEW_QSTR(MP_QSTR_freq), (mp_obj_t)&pyb_freq_obj },
308-
{ MP_OBJ_NEW_QSTR(MP_QSTR_gc), (mp_obj_t)&gc_collect_obj },
309308
{ MP_OBJ_NEW_QSTR(MP_QSTR_repl_info), (mp_obj_t)&pyb_set_repl_info_obj },
310309

311310
{ MP_OBJ_NEW_QSTR(MP_QSTR_wfi), (mp_obj_t)&pyb_wfi_obj },

0 commit comments

Comments
 (0)