2006/11/9, Robin Garner <[EMAIL PROTECTED]>:
Etienne Gagnon wrote:
> Alexey Varlamov wrote:
>> Sorry if it was already discussed, but I believe this approach also
>> requires marking vtable bit/byte on each object allocation, unitl the
>> "unloading" GC pass is strictly stop-the-world full-heap collection.
>> Robin, did you include this particular overhead too in your
>> measurements?
I didn't include it - having established that it's cheap during GC where
memory bandwidth is at a premium, I kind of took this for granted.
> My proposal already argued that vtable bit/byte/word marking is
> unnecessary for "nursery allocations". You only need to mark the vtable
> of objects that survive collection and pretenured objects.
I may have missed it, but I only recall you argued that we just need
to collect mature space for the *final unloading* as CL and classes
are unlikely to die young, which I agree. But chances that a live
object of a candidate class appeared in the nursery are higher.
Otherwise I just do not grok how this algorithm can be proven for correctness.
And this is a persuasive argument. But I can probably find time to
measure it tomorrow if you aren't convinced.
That would be very kindly, thank you.
--
Alexey
--
Robin Garner
Dept. of Computer Science
Australian National University