Commit ec214058 authored by Damien George's avatar Damien George
Browse files

py: Add (commented out) code to gc_dump_alloc_table for qstr info.

parent 56e1f99c
...@@ -730,7 +730,26 @@ void gc_dump_alloc_table(void) { ...@@ -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;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment