RFR (XS): 8224110 [lworld] Reflective method invocation fails with assert: "illegal type"

David Simms david.simms at oracle.com
Wed Jun 12 16:53:02 UTC 2019

Updated the bug with comment, I was about say, sure let's use inline 
type array if you want. But the use cases are thin:

"The more I think about it the less I think we should allow inline type 
array, not useless all the method args the same inline type, ie:

"test(MyValue3 v1, MyValue3 v2, MyValue3 v3)", then passing MyValue3[] 
would make sense...but only when all the arg types are the same...seems 
like an edge case"

All the parameter types have to be the same...is that worth a special case ?

On 12/06/2019 16:52, Roger Riggs wrote:
> Hi,
> Would this be just a temporary restriction?
> I could see the benefits of being able to use an inline array class 
> for varargs.
> ?, Roger
> On 06/12/2019 09:27 AM, David Simms wrote:
>> Greetings,
>> Please review this small fix to prevent "inline type" arrays being 
>> sent directly "JVM_InvokeMethod" and 
>> "JVM_NewInstanceFromConstructor". I don't believe it is the intention 
>> of these methods to receive such a type, in the original problem, 
>> there was a javac warning of passing arg[0] implicitly converted to 
>> args array.
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8224110
>> Webrev: http://cr.openjdk.java.net/~dsimms/valhalla/8224110/

More information about the valhalla-dev mailing list