looked. For this to be reasonable we need:
1) A stack chunk freelist, akin to the PMC and buffer freelists
Well, that did I write in my message. Please read it (again). And please one thing and then the next.
2) The stack entry has to look something like:
struct { struct IntStackFrame *prev; INTVAL Registers[REGSPERFRAME]; } IntStackFrame;
It could be a union of INTVAL, NUMVAL, STRING *, and PMC * if we don't want to maintain several free lists. Throwing a flag word in there's probably not out of order either.
This fixed size item doesn't really work IMHO. NUMVAL frames are of different size, as are user-stack entries.
The indirection through the Buffer stuff has to go
Well in your last mail WRT that stuff you had PMCs there :) The Buffer stuff doesn't really hurt, when the chunks are coming directly from the free lists.
.. (Parrot_allocate really ought not ever be called for these fixed-sized structures, it's a huge waste)
They aren't fixed size--or only per stack kind, but with have more then one.
leo