Re: towards a new call scheme

2004-09-26 Thread Leopold Toetsch
Jeff Clites <[EMAIL PROTECTED]> wrote: > return_cc ==> alias for call_cc_indexed 0 > tailcall ==> alias for call_cc_indexed 1 > call_cc_indexed 2 ==> invoke the continuation from 2 frames back, as > though it had been passed down Yep. I can imagine that that's avaiable as: $

Re: towards a new call scheme

2004-09-25 Thread Jeff Clites
On Sep 24, 2004, at 1:13 AM, Leopold Toetsch wrote: Piers Cawley <[EMAIL PROTECTED]> wrote: I could be wrong here, but it seems to me that having a special 'tailinvoke' operator which simply reuses the current return continuation instead of creating a new one would make for rather faster tail call

Re: towards a new call scheme

2004-09-24 Thread Leopold Toetsch
Piers Cawley <[EMAIL PROTECTED]> wrote: > I could be wrong here, but it seems to me that having a special > 'tailinvoke' operator which simply reuses the current return > continuation instead of creating a new one would make for rather faster > tail calls than fetching the current continuation out

Re: towards a new call scheme

2004-09-23 Thread Piers Cawley
Leopold Toetsch <[EMAIL PROTECTED]> writes: > Dan Sugalski wrote: > >> At 4:15 PM +0200 9/23/04, Leopold Toetsch wrote: >>> get_cc(OUT Px) # 1) get current continuation, i.e. the return cont. >> In a rare, possibly unique burts of opcode parsimoniousness... perhaps >> this would be a good thing

Re: towards a new call scheme

2004-09-23 Thread Leopold Toetsch
Dan Sugalski wrote: At 4:15 PM +0200 9/23/04, Leopold Toetsch wrote: get_cc(OUT Px) # 1) get current continuation, i.e. the return cont. In a rare, possibly unique burts of opcode parsimoniousness... perhaps this would be a good thing for the interpinfo op. That's fine too. return_cc()

Re: towards a new call scheme

2004-09-23 Thread Dan Sugalski
At 11:23 AM -0600 9/23/04, Luke Palmer wrote: Dan Sugalski writes: At 4:15 PM +0200 9/23/04, Leopold Toetsch wrote: > return_cc() # 2) return via current continuation > >1) is only needed for special porposes, like passing the >continuation on to a different place. The normal way to retur

Re: towards a new call scheme

2004-09-23 Thread Luke Palmer
Dan Sugalski writes: > At 4:15 PM +0200 9/23/04, Leopold Toetsch wrote: > > return_cc() # 2) return via current continuation > > > >1) is only needed for special porposes, like passing the > >continuation on to a different place. The normal way to return from > >a sub will be 2) > > > >If th

Re: towards a new call scheme

2004-09-23 Thread Dan Sugalski
At 4:15 PM +0200 9/23/04, Leopold Toetsch wrote: I've started tweaking internals to get a faster calling scheme in place. Part 1 (in CVS) moved the subroutine's address into the parrot_sub_t structure. Accessing such Sub-internals via get_pointer & set_pointer is working still safely. Anyway, n

towards a new call scheme

2004-09-23 Thread Leopold Toetsch
I've started tweaking internals to get a faster calling scheme in place. Part 1 (in CVS) moved the subroutine's address into the parrot_sub_t structure. Accessing such Sub-internals via get_pointer & set_pointer is working still safely. Anyway, next will be to hide the return continuation in th