At 4:15 PM +0200 9/23/04, Leopold Toetsch wrote:
>I've started tweaking internals to get a faster calling scheme inIn a rare, possibly unique burts of opcode parsimoniousness...
>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 the
> get_cc(OUT Px) # 1) get current continuation, i.e. the return cont.
perhaps this would be a good thing for the interpinfo op. It returns
current interpreter info, and the current return continuation would
be a good one to do, as would the current object and current
sub/method PMC. (As well as the current namespace root, current
lexical pad root...)
> return_cc() # 2) return via current continuationWell... should we? We're still passing the return continuation *in*
>1) is only needed for special porposes, like passing the
>If that's in, access to C<P1> as a return continuation will be deprecated.
in P1, unless you want to move it out and unconditionally make it a
parameter to invoke. Which is OK, but we should be up front.
>The PIR sequence:I think I'd also like to make a change to sub invocation, too, to
>will do the right thing accordingly.
allow passing in alternate return continuations, which makes tail
calls easy. At this point I'm not inclined to have any special tail
call support built into parrot because it's just not needed, but IMCC
support is still handy.
A .returncont arg to the long-form sub call would work fine. If we
--------------------------------------it's like this-------------------
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.