comparison src/share/vm/classfile/verificationType.hpp @ 17888:c4bc6b5c6f25

8038076: constraint on multianewarray instruction is not checked since class version 50. Summary: No VerifiyError generated if multianewarray bytecode's array type descriptor was 1 dimension smaller than dimensions specified. Reviewed-by: hseigel, ctornqvi, coleenp, kamg
author lfoltan
date Mon, 14 Apr 2014 10:13:03 -0400
parents 4ee06e614636
children 54bc75c144b0
comparison
equal deleted inserted replaced
17887:cd3c534f8f4a 17888:c4bc6b5c6f25
1 /* 1 /*
2 * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
297 VerificationType get_component(ClassVerifier* context, TRAPS) const; 297 VerificationType get_component(ClassVerifier* context, TRAPS) const;
298 298
299 int dimensions() const { 299 int dimensions() const {
300 assert(is_array(), "Must be an array"); 300 assert(is_array(), "Must be an array");
301 int index = 0; 301 int index = 0;
302 while (name()->byte_at(index++) == '['); 302 while (name()->byte_at(index) == '[') index++;
303 return index; 303 return index;
304 } 304 }
305 305
306 void print_on(outputStream* st) const; 306 void print_on(outputStream* st) const;
307 307