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-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, while

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, # even if it

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 =

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 since I've

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: 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 thinking

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 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

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

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

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 vaguely

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