[RFA] Fix JVMTI/JDWP Exception Handling

Tom Tromey tromey@redhat.com
Thu May 3 01:11:00 GMT 2007


>>>>> "Keith" == Keith Seitz <keiths@redhat.com> writes:

Keith> Also we were missing the JDWP side of this. I have implemented that,
Keith> too. So, as far as I can tell, JVMTI/JDWP Exception notifications work
Keith> (both interpreted and native).

Keith> QCC? (Questions/comments/concerns?)

I'm generally ok with this but I have a couple questions.

Keith> +/* This function finds the method and location where the exception EXC
Keith> +   is caught in the stack frame. On return, it sets CATCH_METHOD and
Keith> +   CATCH_LOCATION with the method and location where the catch will
Keith> +   occur. If the exception is not caught, these are set to 0.
Keith> +
Keith> +   This function should only be used with the DEBUG interpreter. */
Keith> +static void
Keith> +find_catch_location (::java::lang::Throwable *exc, jthread thread,
Keith> +		     jmethodID *catch_method, jlong *catch_loc)

One problem with this is that if we have a call chain that goes from
interpreted code, to compiled code, and back to interpreted, since
this doesn't look at the dwarf unwind info, I think it can report an
incorrect result -- namely that the exception will be caught in the
interpreted frame, when in reality the compiled frame might catch it.

Do we care?  I realize support for compiled code here is not really
there anyway...


Ok, I guess I only had one question :)

Tom



More information about the Java-patches mailing list