RFR(XS) 8129897: Old verifier fails to reject erroneous cast from boolean[] to byte[]

Lois Foltan lois.foltan at oracle.com
Wed Jul 22 01:00:13 UTC 2015

Looks good.  I am curious about David's question concerning the "case 
'B': case 'Z':" statement, though.

On 7/21/2015 4:21 PM, harold seigel wrote:
> Hi,
> Please review this small change to fix bug 8129897.  The old verifier 
> treats arrays of Booleans as arrays of bytes, allowing assignability 
> between them.  This fix distinguishes between arrays of Booleans and 
> arrays of bytes and so disallows assignability between them.  
> Additional changes were needed to make sure operands to baload and 
> similar opcodes could still be either Boolean or byte arrays.
> Open webrev: http://cr.openjdk.java.net/~hseigel/bug_8129897/
> JBS Bug: https://bugs.openjdk.java.net/browse/JDK-8129897
> The fix was tested with JCK Lang and VM tests, the UTE quick and split 
> verifier tests, and the hotspot, and JDK vm, java/io, java/lang, and 
> java/util JTreg tests.
> This scenario will be tested by JCK-9.  So no regression test was 
> included in this webrev.
> Thanks, Harold

More information about the hotspot-runtime-dev mailing list