RFR (S): JDK-8051045: HotSpot fails to wrap Exceptions from invokedynamic in a BootstrapMethodError

David Simms david.simms at oracle.com
Thu May 7 11:23:23 UTC 2015


Looks good Andreas

/David


On 7/05/2015 1:20 p.m., Andreas Eriksson wrote:
> 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