Re: Thoughts on infant mortality...

2003-01-13 Thread Jason Gloudon
On Mon, Jan 13, 2003 at 09:51:13AM -0800, Steve Fink wrote: > > reference or being a member of an aggregate. > > > > 2) A vtable function obtains a PMC* to that PMC. > > > > 3) The vtable calls some code deletes the reference to the PMC, which is now > > no longer accessible from the root set. T

Re: Thoughts on infant mortality...

2003-01-13 Thread Steve Fink
On Jan-13, Jason Gloudon wrote: > On Fri, Jan 10, 2003 at 01:05:05PM +0100, Leopold Toetsch wrote: > > > >While I'd like no stack walking, as it's pricey, I'm not sure it's > > >tenable. > > > > As the current clone changes does show, it's possible. > > > > BTW current tests do succed w/o stac

Re: Thoughts on infant mortality...

2003-01-13 Thread Dan Sugalski
At 11:21 AM -0500 1/13/03, Jason Gloudon wrote: On a related note, I have been looking at implementation techniques for incremental/generational garbage collectors. A critical aspect of a generational garbage collector is a write barrier, which records any pointer writes that create references to

Re: Thoughts on infant mortality...

2003-01-13 Thread Leopold Toetsch
Jason Gloudon wrote: 3) The vtable calls some code deletes the reference to the PMC, which is now no longer accessible from the root set. The vtable then attempts to allocate some memory. The vtable function will now contain the only remaining reference to the PMC, but unless the vtable function

Re: Thoughts on infant mortality...

2003-01-13 Thread Jason Gloudon
On Fri, Jan 10, 2003 at 01:05:05PM +0100, Leopold Toetsch wrote: > >While I'd like no stack walking, as it's pricey, I'm not sure it's > >tenable. > > As the current clone changes does show, it's possible. > > BTW current tests do succed w/o stackwalking - its disabled. > > >... Skipping it m

Re: Thoughts on infant mortality...

2003-01-10 Thread Leopold Toetsch
Steve Fink wrote: On Jan-10, Leopold Toetsch wrote: Also I was thinking of: trace_system_areas could be run last in marking and if it finds some unanchored objects, it could print a warning, so we could really check, if we ware safe. That's what defining GC_VERBOSE in parrot.h will give you

Re: Thoughts on infant mortality...

2003-01-10 Thread Steve Fink
On Jan-10, Leopold Toetsch wrote: > Also I was thinking of: trace_system_areas could be run last in marking > and if it finds some unanchored objects, it could print a warning, so we > could really check, if we ware safe. That's what defining GC_VERBOSE in parrot.h will give you right now, and i

Re: Thoughts on infant mortality...

2003-01-10 Thread Leopold Toetsch
Dan Sugalski wrote: At 4:17 PM + 1/9/03, Nicholas Clark wrote: On Thu, Jan 09, 2003 at 01:32:57PM +0100, Leopold Toetsch wrote: But I still favor the combination of: - code reordering, like done for pmc_new - DOD/GC disabling (e.g. aggregate clone) - active anchoring to the root set,

Re: Thoughts on infant mortality...

2003-01-09 Thread Dan Sugalski
At 4:17 PM + 1/9/03, Nicholas Clark wrote: On Thu, Jan 09, 2003 at 01:32:57PM +0100, Leopold Toetsch wrote: But I still favor the combination of: - code reordering, like done for pmc_new - DOD/GC disabling (e.g. aggregate clone) - active anchoring to the root set, where above is not appli

Re: Thoughts on infant mortality...

2003-01-09 Thread Dan Sugalski
At 5:46 PM +0100 1/9/03, Leopold Toetsch wrote: Nicholas Clark wrote: ie user code has to have the discipline either to have things linked to the root set by the time it makes a parrot call or explicitly disable DOD across such a call. Yes. We need some XS guidelines anyway. One more rule or l

Re: Thoughts on infant mortality...

2003-01-09 Thread Leopold Toetsch
Nicholas Clark wrote: On Thu, Jan 09, 2003 at 01:32:57PM +0100, Leopold Toetsch wrote: But I still favor the combination of: - code reordering, like done for pmc_new - DOD/GC disabling (e.g. aggregate clone) - active anchoring to the root set, where above is not applicable Which combined mea

Re: Thoughts on infant mortality...

2003-01-09 Thread Nicholas Clark
On Thu, Jan 09, 2003 at 01:32:57PM +0100, Leopold Toetsch wrote: > But I still favor the combination of: > - code reordering, like done for pmc_new > - DOD/GC disabling (e.g. aggregate clone) > - active anchoring to the root set, where above is not applicable Which combined means that there is no

Re: Thoughts on infant mortality...

2003-01-09 Thread Leopold Toetsch
Piers Cawley wrote: alloc_and_link( void ** handle, size_t size); This is covered in Steve Finks summary as solution 3. There were also two code snippets by Brent Dax and Jerome Vouillon, that deal with exception handling too. s. thread "Infant mortality" started by Steve. Note that NU

Thoughts on infant mortality...

2003-01-09 Thread Piers Cawley
This will be vague and handwavy, but I *think* it suggests something that hasn't been tried before... 1. The problem of infant mortality is that resource allocation can trigger a DOD run could wipe out the very thing we were allocating memory for. 2. This can be solved by extending the root