This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Re: TARGET_VTABLE_USES_DESCRIPTORS breaks Java GC; Object.h problem
- To: "Boehm, Hans" <hans_boehm at hp dot com>
- Subject: Re: TARGET_VTABLE_USES_DESCRIPTORS breaks Java GC; Object.h problem
- From: Bryce McKinlay <bryce at waitaki dot otago dot ac dot nz>
- Date: Tue, 30 Oct 2001 13:37:56 +1300
- CC: "'java at gcc dot gnu dot org'" <java at gcc dot gnu dot org>, "MOSBERGER, DAVID (HP-PaloAlto,unix3)" <davidm at hpl dot hp dot com>, "'wilson at cygnus dot com'" <wilson at cygnus dot com>, "'rth at redhat dot com'" <rth at redhat dot com>
- References: <40700B4C02ABD5119F000090278766443BED15@hplex1.hpl.hp.com>
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.