py: Add (commented out) code to gc_dump_alloc_table for qstr info.
This commit is contained in:
parent
56e1f99ca1
commit
ec21405821
21
py/gc.c
21
py/gc.c
|
@ -730,7 +730,26 @@ void gc_dump_alloc_table(void) {
|
||||||
#endif
|
#endif
|
||||||
else if (*ptr == (mp_uint_t)&mp_type_fun_bc) { c = 'B'; }
|
else if (*ptr == (mp_uint_t)&mp_type_fun_bc) { c = 'B'; }
|
||||||
else if (*ptr == (mp_uint_t)&mp_type_module) { c = 'M'; }
|
else if (*ptr == (mp_uint_t)&mp_type_module) { c = 'M'; }
|
||||||
else { c = 'h'; }
|
else {
|
||||||
|
c = 'h';
|
||||||
|
#if 0
|
||||||
|
// This code prints "Q" for qstr-pool data, and "q" for qstr-str
|
||||||
|
// data. It can be useful to see how qstrs are being allocated,
|
||||||
|
// but is disabled by default because it is very slow.
|
||||||
|
for (qstr_pool_t *pool = MP_STATE_VM(last_pool); c == 'h' && pool != NULL; pool = pool->prev) {
|
||||||
|
if ((qstr_pool_t*)ptr == pool) {
|
||||||
|
c = 'Q';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
for (const byte **q = pool->qstrs, **q_top = pool->qstrs + pool->len; q < q_top; q++) {
|
||||||
|
if ((const byte*)ptr == *q) {
|
||||||
|
c = 'q';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case AT_TAIL: c = 't'; break;
|
case AT_TAIL: c = 't'; break;
|
||||||
|
|
Loading…
Reference in New Issue