Dan Sugalski wrote: > Grab one via a utility function. getPMC() or something of the sort. > > newPMC() ? ;-) I think we shouldn't rule out the possibility of having multiple newPMC() style functions for grabbing PMCs used for different activities (eg lexicals vs tmps vs guaranteed-to-have-refcount<=1 vs whatever), which may all have different allocation/GC schemes. Heck, we might even consider having newPMC(N) returning a pointer to a contiguous chuck of N PMCs; this might then allow us to have good locality of reference for all the stuff in a scratchpad, for example. I dont think we can have a sensible discussion of this until the GC PDD is been released, but I thought I'd flag up the idea anyway.