summaryrefslogtreecommitdiff
path: root/py/gc.c
diff options
context:
space:
mode:
Diffstat (limited to 'py/gc.c')
-rw-r--r--py/gc.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/py/gc.c b/py/gc.c
index 87c458f82..7fab0409a 100644
--- a/py/gc.c
+++ b/py/gc.c
@@ -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: