ia64 eh, part 20d [libjava]

Tom Tromey tromey@redhat.com
Fri Mar 30 18:19:00 GMT 2001


>>>>> "Richard" == Richard Henderson <rth@redhat.com> writes:

Richard> 	* libgcj.spec.in (jc1): Remove EXCEPTIONSPEC.

This should mention removal of -fasynchronous-exceptions.  But is that
removal actually correct?  Maybe we should use -fnon-call-exceptions?
(Or maybe you added it directly to the compiler?  I didn't read the
gcj patches.)

Richard> !       EH_COMMON_INCLUDE='-I$(top_srcdir)/../compat-include'
...
Richard> !       GCC_UNWIND_INCLUDE='-I$(top_srcdir)/../compat-include'

Could you change this to remove the compat-include case?
We only needed that when libgcj could be built in a separate tree from
gcc.  I don't see any need to continue to support that.

Maybe simply adding the -I$(top_srcdir)/../gcc/ is best?

Richard> !   /* FIXME: If code == _URC_END_OF_STACK, then we reached top of
Richard> !      stack without finding a handler for the exception.  I seem to
Richard> !      recall that Java has specific rules to handle this. 

This is a "can't happen" for Java.  The Java code for each thread is
run in a try/catch.  This catches any otherwise uncaught Java throw
and forwards the exception to the ThreadGroup.  See
java/lang/natThread.cc:run_().

I think abort() here is reasonable.  You can remove the FIXME.


I don't understand most of the patch.  Overall it seems reasonable to
me, but Andrew is really the EH expert.

Tom



More information about the Java-patches mailing list