Re: GC API from discussion

2005-08-17 Thread Yuval Kogman
On Wed, Aug 17, 2005 at 05:06:55 -, David Formosa (aka ? the Platypus) wrote: > This should be changed, timelyness will not prevent deadlock. However > it will prevent resource starvation aka livelock. What I meant is deadlock due to resource starvation: my $semaphore = Sempahore.n

Re: GC API from discussion

2005-08-17 Thread David Formosa \(aka ? the Platypus\)
On Tue, 16 Aug 2005 19:46:29 +0300, Yuval Kogman <[EMAIL PROTECTED]> wrote: [...] > On Tue, Aug 16, 2005 at 05:32:50 -, David Formosa (aka ? the Platypus) = > wrote: >> > This is getting me thinking though: >> >=20 >> >$*RUNTIME.Memory.GarbageCollector.dispose($object); # force it, >> >

Re: GC API from discussion

2005-08-17 Thread Yuval Kogman
On Wed, Aug 17, 2005 at 00:59:52 +0100, Adrian Howard wrote: > Sorry - I don't understand. If I do: > > call_to_external_c_library_foo( $foo ); > call_to_external_c_library_bar( $bar ); > > Then how does the compiler know that $foo is only used temporarily and can > be moved around, w

Re: GC API from discussion

2005-08-17 Thread David Formosa \(aka ? the Platypus\)
On Tue, 16 Aug 2005 20:14:43 +0300, Yuval Kogman <[EMAIL PROTECTED]> wrote: [...] > Let's define some terms: These are all very good and I'm going to incorprate them in the API docs. > scope/origin - where objects are created I would refine this one. origin scope - The lexical scope

Re: GC API from discussion

2005-08-16 Thread Adrian Howard
On 16 Aug 2005, at 18:14, Yuval Kogman wrote: On Mon, Aug 15, 2005 at 15:59:34 +0100, Adrian Howard wrote: I'm not sure what you're proposing here. A separate arena for stuff you want to allocate and not be moved by the GC? How would I tell the compiler? You won't, the language glue is respo

Re: GC API from discussion

2005-08-16 Thread Yuval Kogman
On Mon, Aug 15, 2005 at 15:59:34 +0100, Adrian Howard wrote: > On 15 Aug 2005, at 13:17, Yuval Kogman wrote: > I'm not sure what you're proposing here. A separate arena for > stuff you want to allocate and not be moved by the GC? How would > I tell the compiler? You won't, the language glue is

Re: GC API from discussion

2005-08-16 Thread Yuval Kogman
On Tue, Aug 16, 2005 at 05:32:50 -, David Formosa (aka ? the Platypus) wrote: > I don't think that making use of "use" and "no" would be shorter and > far more Perlish. Also this allows us to switch off the > modifications. Uh, why didn't I think of that =) > > This is getting me thinki

Re: GC API from discussion

2005-08-16 Thread David Formosa \(aka ? the Platypus\)
On Mon, 15 Aug 2005 15:17:18 +0300, Yuval Kogman <[EMAIL PROTECTED]> wrote: [...] >> 2) Some way of being able to tell the garbage collector to ignore >> the current contents of the heap for the purposes of GC. One >> Pop-11 idiom was to do something like: [...] > We are trying to design a re

Re: GC API from discussion

2005-08-16 Thread David Formosa \(aka ? the Platypus\)
On Mon, 15 Aug 2005 12:40:05 +0100, Adrian Howard <[EMAIL PROTECTED]> wrote: > On 15 Aug 2005, at 02:13, David Formosa ((aka ? the Platypus)) wrote: > >> After a very fruitful discussion I've rewritten my suggested GC API. >> Comments please. > [snip] > > I'm speaking from complete ignorance sinc

Re: GC API from discussion

2005-08-15 Thread Adrian Howard
On 15 Aug 2005, at 13:17, Yuval Kogman wrote: On Mon, Aug 15, 2005 at 12:40:05 +0100, Adrian Howard wrote: [snip] 1) Some way of declaring objects as being "fixed" so we can pass them to external code without having to worry about the GC moving them around. A handle to an object should a

Re: GC API from discussion

2005-08-15 Thread Yuval Kogman
On Mon, Aug 15, 2005 at 12:40:05 +0100, Adrian Howard wrote: > On 15 Aug 2005, at 02:13, David Formosa ((aka ? the Platypus)) wrote: > > >After a very fruitful discussion I've rewritten my suggested GC API. > >Comments please. > [snip] > > I'm speaking from complete ignorance since I've only been

Re: GC API from discussion

2005-08-15 Thread Adrian Howard
On 15 Aug 2005, at 02:13, David Formosa ((aka ? the Platypus)) wrote: After a very fruitful discussion I've rewritten my suggested GC API. Comments please. [snip] I'm speaking from complete ignorance since I've only been vaguely following the subject... but four additional things that strike

GC API from discussion

2005-08-15 Thread David Formosa \(aka ? the Platypus\)
After a very fruitful discussion I've rewritten my suggested GC API. Comments please. Is this the path we should be going down? What needs more work? What needs clarification? Have I totally lost the plot? =pod =head1 NAME GC - The interface to the runtime Garbage collector. =head1 SYNOPSI