TARGET_VTABLE_USES_DESCRIPTORS breaks Java GC; Object.h problem
Bryce McKinlay
bryce@waitaki.otago.ac.nz
Mon Oct 29 16:31:00 GMT 2001
Boehm, Hans wrote:
>This gets me quite a bit further. But it seems suboptimal,
>since it wastes 2 words in very vtable. Is there any reason not to change
>this to:
>>class pointer
>gc descriptor
>function descriptors (2 words each)
>... ?
>
Assuming there is no reason not to, as far as runtime changes you should
only need to change the _Jv_VTable definition in jvm.h, and Object.h.
>I don't fully understand all the implications of such a change. It seems to
>me it would require conditionally imstalling a platform-dependent version of
>Object.h.
>
Wouldn't wrapping the second dummy vtable entry with #ifdef __ia64__ be
sufficient?
>But I think that's already necessary, at least for the trunk, to
>fix another current bug: There's currently a
>>#ifndef JV_HASH_SYNCHRONIZATION
>>in Object.h. That doesn't make any sense if Object.h is included by client
>native code. (I put it there as a stopgap. I think we forgot about it when
>JV_HASH_SYNCHRONIZATION was turned on by default on some platforms.) Or am
>I missing something here?
>
Object.h includes libgcj-config.h, which is installed with
JV_HASH_SYNCHRONIZATION defined if appropriate.
regards
Bryce.
More information about the Java
mailing list