Thu Feb 18 04:27:00 GMT 1999
Even more of a consideration with using a handle to access an object is the
increase in RAM occupancy ... which may well be of concern to
embedded system manufacturers. But it certainly makes GC compaction
From: Per Bothner <firstname.lastname@example.org>
To: Jon Olson <email@example.com>
Cc: firstname.lastname@example.org <email@example.com>
Date: Wednesday, February 17, 1999 9:06 PM
Subject: Re: Current Status
>> Lately, I've been contemplating how difficult it would be to add a level
>> of indirection to objects such that object references were fixed handles
>> to an object table to better support more precise copying collectors.
>> be cool to provide this as a compile time option to both `gcj' and
>> The idea would be that Java objects would exist as two separate
>> objects. The first object would be a two word object containing a vtable
>> and a pointer to the object field data. This object would be fixed in
>> and location for the life of the object. The second object would be
>> in size and movable to support memory compaction.
>This is an old idea. Both the original Smalltalk *and* the original
>Java (JDK 1.0) did this. I don't know what Sun currently does.
>> In reality, this wouldn't
>> add any to the storage requirements, because all Java objects currently
>> contain a `vtable' and `sync_info' in their object header.
>But you still need the sync_info somewhere.
>> The main trick
>> is making `gcj' and `g++' recognize the volatility of the reference to
>> field data and never cache it. Similarly, the object mobility would give
>> preemptive multi-threading fits since it could only preempt at known safe
>> points. Oh well, for now it's just an idea....
>The other downside is that you always get an extra level of indirection.
>One extra memory reference can really hurt.
>Plus you kill Java/C++ compatibility, which libjava depends on.
>There are actually some vestiges in jc1 of an attempt to support
>this model (look for "handle" and "HANDLE"). I don't see any
>real benefits to this idea, except perhaps in very unusual situations.
> --Per Bothner
>Cygnus Solutions firstname.lastname@example.org http://www.cygnus.com/~bothner
More information about the Java