ia64 eh, part 20d [libjava]

Richard Henderson rth@redhat.com
Wed Mar 28 04:41:00 GMT 2001


Oh, I forgot to mention.  There is a big huge ugly hack
in there to get _Jv_Throw to allocate a garbage collected
struct that does contain garbage collected pointers and
is not itself a java object.

Moreover, looking back at this, I think I used the wrong
GC function -- I need to be able to hold onto this object
with a pointer into the middle.  This should not actually
be a problem at the moment, since right now this struct
is always immediately garbage.  But when try/finally is
implemented as a cleanup instead of a catch+rethrow, the
lifetime of the struct will then possibly overlap other
allocations.

Given that Java only ever has one pending exception, it
might be easiest to just allocate one struct per thread,
hold onto it via thread-local storage, and never free it.

Thoughts?


r~



More information about the Java-patches mailing list