RFR 8195694: ConstantBootstraps.invoke does not preserve variable arity
paul.sandoz at oracle.com
Thu Feb 1 00:45:54 UTC 2018
> On Jan 31, 2018, at 3:49 PM, John Rose <john.r.rose at oracle.com> wrote:
> On second thought, you should also use invokeWithArguments to support jumbo arities.
It does, but non-selectively based on the arity:
245 return handle.invokeWithArguments(args);
> This tricky idiom should be put into a utility method, package private for starters. A version of it also appears in BSM invocation code.
Are you in part referring to the approach of switching on the number of arguments and using invoke with unpacking for small cases?
If you don’t object i would like to follow up on that with another issue.
>> On Jan 31, 2018, at 3:23 PM, John Rose <john.r.rose at oracle.com> wrote:
>> If you remove the old asType call it’s good!
Ah! something went wrong when importing the patch from the amber repo. Updated in place.
>>> On Jan 31, 2018, at 3:15 PM, Paul Sandoz <paul.sandoz at oracle.com> wrote:
>>> Please review this fix to the invoke BSM so that it preserves variable arity, if any:
>>> http://cr.openjdk.java.net/~psandoz/jdk/JDK-8195694-constant-bsms-invoke-arity/webrev/ <http://cr.openjdk.java.net/~psandoz/jdk/JDK-8195694-constant-bsms-invoke-arity/webrev/>
>>> This will be pushed to the hs repo.
More information about the core-libs-dev