RFR (XS): 8027823: catchException combinator fails with 9 argument target

Attila Szegedi szegedia at gmail.com
Tue Nov 12 01:00:36 PST 2013


Just saw this - thank you for the fix!


On Sat, Nov 9, 2013 at 1:15 AM, John Rose <john.r.rose at oracle.com> wrote:

> I'll push it for you.  — John
>
> On Nov 8, 2013, at 4:08 PM, Vladimir Ivanov <vladimir.x.ivanov at oracle.com>
> wrote:
>
> > Thank you, John.
> >
> > Since I'm not a Committer in JDK8, I need a sponsor to push this fix.
> Any volunteers? :-) Will provide the changeset at first demand.
> >
> > Best regards,
> > Vladimir Ivanov
> >
> > On 11/9/13 3:26 AM, John Rose wrote:
> >> Reviewed.  Thanks for the fix.  The test case will also be a useful
> quick test for unboxed catchEx paths.  — John
> >>
> >> On Nov 8, 2013, at 7:25 AM, Vladimir Ivanov <
> vladimir.x.ivanov at oracle.com> wrote:
> >>
> >>> http://cr.openjdk.java.net/~vlivanov/8027823/webrev.00/
> >>>
> >>> MethodHandleImpl.makeGuardWithCatch has special invokers
> >>> (GuardWithCatch.invoke_L*) for methods with arity up to 8.
> >>> When method arity is larger, generic invoker (GuardWithCatch.invoke_V)
> >>> is used.
> >>>
> >>> Generic invoker expects GuardWithCatch.target & GuardWithCatch.catcher
> >>> method handles to have (Object... av)Object type, but they can
> reference
> >>> arbitrary methods, so type conversion is needed.
> >>>
> >>> makeSpreadArguments takes care of parameters' type conversion, but
> >>> return type is left as is. That's the reason why
> GuardWithCatch.invoke_V
> >>> fails to invoke both target or catcher.
> >>>
> >>> The fix is to add return type conversion on both paths.
> >>>
> >>> Testing: failing test, test/java/lang/invoke/
> >>>
> >>> Thanks!
> >>>
> >>> Best regards,
> >>> Vladimir Ivanov
> >>>
> >>> JBS: https://bugs.openjdk.java.net/browse/JDK-8027823
> >>> _______________________________________________
> >>> mlvm-dev mailing list
> >>> mlvm-dev at openjdk.java.net
> >>> http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
> >>
>
> _______________________________________________
> mlvm-dev mailing list
> mlvm-dev at openjdk.java.net
> http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/mlvm-dev/attachments/20131112/aba37d01/attachment.html 


More information about the mlvm-dev mailing list