Re: maybe-PATCH: sub/continuation/dlsym/coroutine clean-up

2002-08-02 Thread Nicholas Clark
On Fri, Aug 02, 2002 at 08:55:21AM -0700, Sean O'Rourke wrote: > I agree -- we should separate new from init at some level. I think the > "new" opcode should still both allocate and initialize, while the > normal sequence for getting a PMC should become > > x = pmc_new(...); > x->vtable->in

Re: maybe-PATCH: sub/continuation/dlsym/coroutine clean-up

2002-08-02 Thread Sean O'Rourke
On Fri, 2 Aug 2002, Jerome Vouillon wrote: > On Tue, Jul 30, 2002 at 09:07:11PM -0700, Sean O'Rourke wrote: > > - take a look at "new" in core.ops. Creating a new continuation captures > > context, but the register holding that continuation is part of the > > context. Unfortunately, it doesn't

Re: maybe-PATCH: sub/continuation/dlsym/coroutine clean-up

2002-08-02 Thread Jerome Vouillon
On Tue, Jul 30, 2002 at 09:07:11PM -0700, Sean O'Rourke wrote: > - take a look at "new" in core.ops. Creating a new continuation captures > context, but the register holding that continuation is part of the > context. Unfortunately, it doesn't know what register it's in until after > it captures

Re: maybe-PATCH: sub/continuation/dlsym/coroutine clean-up

2002-08-01 Thread Dan Sugalski
At 12:34 PM -0700 8/1/02, Sean O'Rourke wrote: >On 1 Aug 2002, Jonathan Sillito wrote: > > sub it is dealing with. While I am thinking about it, would it make >> sense to distinguish between a sub and a closure? A sub would be a >> little more efficient in cases where a closure is not needed. >

Re: maybe-PATCH: sub/continuation/dlsym/coroutine clean-up

2002-08-01 Thread Sean O'Rourke
On 1 Aug 2002, Jonathan Sillito wrote: > Looks good to me. Couple of quick things, when I applied the patch > locally, it indented the end bracket of the invoke op in core.ops which > breaks ops2c.pl. That's a bug. > Also the patch removed the yield op from core.ops, was this > intentional? Mor

maybe-PATCH: sub/continuation/dlsym/coroutine clean-up

2002-07-30 Thread Sean O'Rourke
This patch implements native extensions and continuations as pmcs. It also cleans up the existing Sub and Coroutine types, and removes the following now-obsolete ops: callco callcc capturecc call callnative These are all handled through various uses of "invoke" (see t/pmc/sub.t for simple exampl