Dan Sugalski wrote:
From a reading of the code, this allocates memory within a function that's called during garbage collection. We can't do that.
This buffer could also be allocated, when more PMCs are alloced. The size if fix, i.e. the total amount of PMCs.
And the memory get directly malloced from system.
... If you want to have a separate pool, or set of pools, that's allocated out of the GC run functions that's fine, but no memory allocations while we're cleaning up.
I don't get that.
That's the reason for the pointer that's in the PMC structure now, and the reason that we don't trace strings. (Memory savings on the latter, preallocated space in the former)
My approach uses prealloced space, just not inside the PMC. leo