RFR (S): JDK-8051045: HotSpot fails to wrap Exceptions from invokedynamic in a BootstrapMethodError
Andreas Eriksson
andreas.eriksson at oracle.com
Thu May 7 11:20:40 UTC 2015
Thanks Coleen!
Could I have another review as well please?
- Andreas
On 2015-05-06 19:09, Coleen Phillimore wrote:
>
> This change looks good.
> Coleen
>
> On 5/6/15, 6:37 AM, Andreas Eriksson wrote:
>> Hi, anyone who can take a look at this review?
>>
>> http://cr.openjdk.java.net/~aeriksso/8051045/webrev.00/
>> https://bugs.openjdk.java.net/browse/JDK-8051045
>>
>> - Andreas
>>
>> On 2015-04-29 13:36, Andreas Eriksson wrote:
>>> Hi,
>>>
>>> Please review this change to resolve_invokedynamic.
>>>
>>> In linkResolver.cpp LinkResolver::resolve_invokedynamic could miss
>>> wrapping some exceptions in BootstrapMethodError.
>>> According to the JVM specification [1] invokedynamic should wrap any
>>> exceptions that occur during resolution in a BootstrapMethodError.
>>> As part of other changes, exception CHECK macros where used, which
>>> do not wrap the exception as needed.
>>>
>>> This fix moves the exception wrapping logic to a separate function,
>>> wrap_invokedynamic_exception.
>>> It then changes the functions that can throw exceptions to not use
>>> the CHECK macro.
>>> Instead the exception wrapping function is called immediately after
>>> functions that can throw.
>>>
>>> Included in the change is a test that tries to access a private
>>> method with invokedynamic.
>>> The test expects a BootstrapMethodError, but without the fix it gets
>>> an IllegalAccessError and the test fails.
>>>
>>> Webrev: http://cr.openjdk.java.net/~aeriksso/8051045/webrev.00/
>>>
>>> Thanks,
>>> Andreas
>>>
>>> [1]
>>> http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.invokedynamic
>>
>
More information about the hotspot-runtime-dev
mailing list