[lworld] RFR: 8242402: multianewarray is missing checks on the bottom class
Harold Seigel
hseigel at openjdk.java.net
Mon Jul 6 20:01:39 UTC 2020
On Mon, 6 Jul 2020 19:13:00 GMT, Frederic Parain <fparain 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
Marked as reviewed by hseigel (Committer).
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?
test/hotspot/jtreg/runtime/valhalla/valuetypes/MultiANewArrayTest/MultiANewArrayTypeCheck.jcod line 1:
> 1: class MultiANewArrayTypeCheck {
> 2: 0xCAFEBABE;
I think a copyright notice is needed here. Also, could you add a comment containing Java pseudo-code that shows what
this file is doing?
-------------
PR: https://git.openjdk.java.net/valhalla/pull/105
More information about the valhalla-dev
mailing list