harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Etienne Gagnon <egag...@sablevm.org>
Subject Re: [drlvm][sablevm] Desing of Class Unloading Support
Date Tue, 31 Oct 2006 21:12:11 GMT
Yet:

1- You do need pinning, so you rule out some of the simplest GCs (e.g.
simple, non-generational copying without pinning.)  [Apparently, for
some very large heaps, simple copying a can be quite difficult to beat,
efficiency wise, if you believe some relatively recent JikesRVM related
paper...]

2- You do have overhead even on minor collections.  With my approach,
you could limit the (quite similar to yours, if you put a
class-loader/NULL pointer in the vtable) overhead only to selected GC
cycles.

Of course, I am sure that all of the proposed approaches have their
benefits/drawbacks.  I was simply contributing to the ongoing
discussion.  I have no special reason to try very hard to convince you
that "my idea is better than yours"!  I'm only joining the debate for
trying find the most suitable solution.  I've already gained knowledge,
from the discussion so far, that I'll be able to apply eventually in
SableVM. :-)

Maybe the best solution lies in mixing some of the various ideas
proposed so far...

Etienne

Ivan Volosyuk wrote:
> Actually, no need to add the overhead to _all_ cycles. We don't need
> to trace the vtables everytime. On minor collections all the pinned
> vtables can be linearly scanned, thus most expensive tracing from
> object to vtable can be avoided in this case.
> 

-- 
Etienne M. Gagnon, Ph.D.            http://www.info2.uqam.ca/~egagnon/
SableVM:                                       http://www.sablevm.org/
SableCC:                                       http://www.sablecc.org/

Mime
View raw message