RFR(XS) 8129897: Old verifier fails to reject erroneous cast from boolean to byte
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:
> 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