diff options
Diffstat (limited to 'py/gc.c')
| -rw-r--r-- | py/gc.c | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -231,7 +231,14 @@ STATIC void gc_deal_with_stack_overflow(void) { } } +#if MICROPY_PY_GC_COLLECT_RETVAL +uint gc_collected; +#endif + STATIC void gc_sweep(void) { + #if MICROPY_PY_GC_COLLECT_RETVAL + gc_collected = 0; + #endif // free unmarked heads and their tails int free_tail = 0; for (machine_uint_t block = 0; block < gc_alloc_table_byte_len * BLOCKS_PER_ATB; block++) { @@ -254,6 +261,9 @@ STATIC void gc_sweep(void) { } #endif free_tail = 1; + #if MICROPY_PY_GC_COLLECT_RETVAL + gc_collected++; + #endif // fall through to free the head case AT_TAIL: |
