<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
> Feel free to ask if you have questions.<BR>
<BR>
On a different matter.... can you, um, explain garbage collection?<BR>Specifically barriers?<BR>
And the five states? Are they just older/younger?<BR>
<BR>
<BR>
I understand "the generational hypothesis".<BR>
"Most objects die young".<BR>
(Most objects could be stack allocated. :) )<BR>
<BR>
And then there is a need to divide objects, at runtime, into older and younger.<BR>
<BR>
And then, there is some need to notice pointers that cross generations?<BR>
That is, "old" usually includes no garbage, unless it has been changed since<BR>
the last check, and then needs a new check?<BR>
<BR>
That is, a write barrier is a sort of copy-on-write, or notice-writes mechanism?<BR>
A write into a generation means the gc needs to check it?<BR>
<BR>
That is, if you look at the Win32 GetWriteWatch API, that's what we are simulating sort of?<BR>
(or vice versa)?<BR>
<BR>
I'm really guessing.<BR>
And this doesn't explain what, if anything, a read barrier is.<BR>
<BR>
But then is meant by gray/impure/etc.?<BR>
<BR>
Maybe checkin RTCollector.readme?<BR>
<BR>
(note that read/write barriers are other things too -- ways to enforce<BR>
(relative) order of executation).<BR>
<BR>
- Jay<BR><BR><BR><BR><BR><BR> </body>
</html>