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

harold seigel harold.seigel at oracle.com
Wed Jul 22 15:12:15 UTC 2015

Hi Lois,

Thanks for the review.  Please see my reply to David's comments.

Thanks, Harold

On 7/21/2015 9:00 PM, Lois Foltan wrote:
> Looks good.  I am curious about David's question concerning the "case 
> 'B': case 'Z':" statement, though.
> Lois
> 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