Salikh, I read the wiki page. Good summary. Regarding writes to the mark bit in vtable. I think there was also conversation on cache line invalidate traffic causing a problem on SMP. That is, the mark bit of a popular class (like maybe String?) bouncing between caches. I recall someone suggesting a thread-specific data struct to hold the mark bits.
On 11/10/06, Salikh Zakirov <[EMAIL PROTECTED]> wrote:
Aleksey Ignatenko wrote: > Actually there is one additional 4-th approach: > > *Mark and scan based approach *wich I described in the first letter. Java > heap trace is performed by VM Core and GC is not affected at all. > > So the list is: > 1. vtable objects( Aleksey ) > 2. per heap space/generation boolean marker on the classloader instance( > Etienne ) > 3. class reachability marker byte in vtable (Robin ) > 4. Mark and scan based approach. > > I agree that we need to structure all appraches somehow, like description > for every approach in wiki. I've started a wiki page http://wiki.apache.org/harmony/ClassUnloading to summarize all discussed approaches. I hope we will eventually come up with the detailed end-to-end design description. I'm going now to fill in all ideas that I can pick up from the discussion, but I encourage all interested parties to review and correct if I get something incorrectly.
-- Weldon Washburn Intel Enterprise Solutions Software Division