RFR: 8152634: generalize exception throwing routines in JVMCIRuntime
Roland Schatz
roland.schatz at oracle.com
Thu Mar 24 13:30:19 UTC 2016
Hi,
Please review the following changes:
http://cr.openjdk.java.net/~rschatz/JDK-8152634/webrev.00/
This change directly exposes `throw_and_post_jvmti_exception` for JVMCI
compilers, instead of the two hardcoded routines for null and index out
of bounds.
That way, the compiler can generate its own stubs for arbitrary
exceptions, or even embed the exception construction code inline in a
method.
There are still two special case functions exported, for the exceptions
that want to use `Klass::external_name()` in their message. This method
is not easy to call from JVMCI compiled code because it uses resource
allocation.
Since `throw_and_post_jvmti_exception` has a Symbol* argument, we also
need to add support for dealing with Symbol* pointers to the JVMCI
interface. That's what most of the changes in this patch are about. This
is using the same mechanisms that are already in place for Klass* and
Method* pointers.
Thanks,
Roland
More information about the hotspot-compiler-dev
mailing list