Re: [PATCH] single item stack chunks

2004-03-25 Thread Leopold Toetsch
Dan Sugalski <[EMAIL PROTECTED]> wrote: > 2) The stack entry has to look something like: > struct { > struct IntStackFrame *prev; > INTVAL Registers[REGSPERFRAME]; > } IntStackFrame; Ok, now we "something like" that: typedef struct Stack_Chunk { pobj_t obj; int

Re: [PATCH] single item stack chunks

2004-03-24 Thread Leopold Toetsch
Piers Cawley <[EMAIL PROTECTED]> wrote: > Interesting. I redid oofib.imc to only save the registers it cares > about rather than using savetop, and here are my numbers (admittedly on > a PowerMac G5: > parrot parrotj parrotC perlpython ruby > oofib 3.770s 3.190s 2.950s 2.210s

Re: [PATCH] single item stack chunks

2004-03-24 Thread Piers Cawley
Leopold Toetsch <[EMAIL PROTECTED]> writes: > I've stripped down the whole stack code to use one item per chunk. It > passes all tests (3 disabled that push infintely and check for > CHECK_LIMIT and t/pmc/eval_6 which is borken). > > This slows down register saving (and other stack operations) > c

Re: [PATCH] single item stack chunks

2004-03-23 Thread Leopold Toetsch
Dan Sugalski <[EMAIL PROTECTED]> wrote: > User stack entries are different from backing stack frames. They need > to be treated differently, and as such aren't under consideration > here. They are in the continuation context too. While the user stack may be freshly allocated in a sub the control

Re: [PATCH] single item stack chunks

2004-03-23 Thread Dan Sugalski
At 5:38 PM +0100 3/23/04, Leopold Toetsch wrote: Dan Sugalski wrote: 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). I did. The need for a freelist, however, has been there sin

Re: [PATCH] single item stack chunks

2004-03-23 Thread Leopold Toetsch
Dan Sugalski wrote: 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 {

Re: [PATCH] single item stack chunks

2004-03-23 Thread Dan Sugalski
At 12:34 PM +0100 3/23/04, Leopold Toetsch wrote: I've stripped down the whole stack code to use one item per chunk. It passes all tests (3 disabled that push infintely and check for CHECK_LIMIT and t/pmc/eval_6 which is borken). From reading this patch, either something's horribly wrong here or

[PATCH] single item stack chunks

2004-03-23 Thread Leopold Toetsch
I've stripped down the whole stack code to use one item per chunk. It passes all tests (3 disabled that push infintely and check for CHECK_LIMIT and t/pmc/eval_6 which is borken). This slows down register saving (and other stack operations) considerably whithout any additional measures[1]: $ p