I'll push it for you. — John On Nov 8, 2013, at 4:08 PM, Vladimir Ivanov <vladimir.x.iva...@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.iva...@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@openjdk.java.net >>> http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev >> _______________________________________________ mlvm-dev mailing list mlvm-dev@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev