------- Additional Comments From Hans dot Boehm at hp dot com 2005-04-08 00:18 ------- The problem here is that _Jv_InitGC is called to late, and hence GC_all_interior_pointers is cleared after the GC has been run. This is documented not to work in gc.h.
In particular _Jv_GCSetInitialHeapSize (which turns into GC_expand_hp) is called earlier. If things are always done in this order, it may make sense to have _Jv_GCSetInitialHeapSize just set a variable, and have _Jv_InitGC do the expansion. I'll be travelling next week, and thus won't get a chance to generate a patch soon. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20699