Subject: bug#60237: 30.0.50; tree sitter core dumps when I edebug view a node

From: Stefan Monnier <[email-masked]>
Date: Sun, 26 Feb 2023 10:16:25 -0500

> Stefan, could it be a problem for us if garbage-collecting an object
> calls xmalloc?  Including if the "memory" profiler is running at the
> time of that GC?

I can't think of a fundamental reason why this would be a problem, but
as you've seen some code may not be quite ready for it.

I suspect the simplest solution is to do something like what we do
for the cpu-profiler, i.e. handle the "time within GC" specially by
checking (EQ (backtrace_top_function (), QAutomatic_GC)) to determine
that we're within the GC.

We could just not count those xmalloc calls, tho better would be to use
generalize `cpu_gc_count` so it's also used for the mem profiler.

        Stefan

PS: While the mem profiler was originally thought as a poor-man option
in the absence of timers, I've occasionally found it handy to track down
problems where we're spending too much time in the GC.