I think I know where the idea of additional reference to j/l/Class in every object came from.
Lets look at original proposal: "... *Automatic class unloading approach.* ... To do that we need to provide two conditions: 1. Introduce reference from object to its j.l.Class instance. ..." Lets rephrase the latter the following way: "1. Make j.l.Class reachable from all objects of that class." As everybody agrees that adding one more pointer into object overhead is not a good idea, the only way is making j.l.Class reachable through available data - in other words through VTable, which becomes regular Java object. That is it. Resume: no direct reference to j.l.Class in object of that class, no additional object overhead, no MMTk incompatibility. On 10/27/06, Weldon Washburn <[EMAIL PROTECTED]> wrote:
Steve Blackburn was in Portland Oregon today. I mentioned the idea of adding a reference pointer from object to its j.l.Class instance. MMTk was not designed with this idea in mind. It looks like you will need to fix this part of MMTk and maintain it yourself. Steve did not seem thrilled at adding this support to MMTk code base.
<SNIP> -- Pavel Pervov, Intel Enterprise Solutions Software Division