Ok Hotspot guys, I have a challenge for the JIT. I want to basically do this:

try {
  ...
} catch (Exception e) {
  if (!(e instanceof SomeException)) throw e;
  ... handle e as SomeException
}

instead of explicitly adding exception-handling for SomeException.
There's a few reasons for this:

* Wiring up exception-handling in method handles is rather cumbersome.
If I could do it with a single wrapper it would make my life easier.
* Similar to the "multicatch" problem in Java 7, I often want nearly
the same boilerplate code for multiple exception types.
* Because Ruby is dynamically typed, we can't statically determine the
*actual* expected exception type at compile time, and so we must do a
bulk catch with type checks.

My question, then, is whether Hotspot can see through this (assuming
everything inlines) and see that although we're doing a bulk catch
only certain cases *actually* handle the resulting exception.

Thoughts?

- Charlie
_______________________________________________
mlvm-dev mailing list
mlvm-dev@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev

Reply via email to