[lworld] RFR: 8242402: multianewarray is missing checks on the bottom class
Frederic Parain
fparain at openjdk.java.net
Mon Jul 6 20:14:44 UTC 2020
On Mon, 6 Jul 2020 19:57:18 GMT, Harold Seigel <hseigel at openjdk.org> wrote:
>> Please review this patch which adds a missing check in array class resolution.
>>
>> When an array class is resolved and the bottom type is not a primitive type, the envelope of the bottom type signature
>> is removed in order to extract the class name and load it. Currently, there's no check that the kind of the loaded
>> class matches the enveloped stripped from the signature. The patch adds this check and includes an unit test.
>>
>> Tested on all all platforms with mach5, tiers 1 to 3.
>>
>> Thank you,
>>
>> Fred
>
> src/hotspot/share/classfile/systemDictionary.cpp line 365:
>
>> 364: THROW_NULL(vmSymbols::java_lang_IncompatibleClassChangeError());
>> 365: }
>> 366: k = k->array_klass(ndims, CHECK_NULL);
>
> Is it worthwhile using THROW_MSG_NULL to provide a helpful message with the exception?
Something like this?
`THROW_MSG_NULL(vmSymbols::java_lang_IncompatibleClassChangeError(), "L/Q mismatch on bottom type");`
Fred
-------------
PR: https://git.openjdk.java.net/valhalla/pull/105
More information about the valhalla-dev
mailing list