[11] RFR 8195694: ConstantBootstraps.invoke does not preserve variable arity

Paul Sandoz 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.

Paul.

>>> On Jan 31, 2018, at 3:15 PM, Paul Sandoz <paul.sandoz at oracle.com> wrote:
>>> 
>>> Hi,
>>> 
>>> 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.
>>> 
>>> Thanks,
>>> Paul.
>> 
> 



More information about the core-libs-dev mailing list