Mercurial > hg > truffle
comparison src/share/vm/classfile/verifier.cpp @ 134:8a79f7ec8f5d
6692246: Regression : JDK 6u4 b01 fails two JCK tests when fallback is switched off
Summary: Added a clause to allow null to be an operand to the arraylength bytecode
Reviewed-by: sbohne, coleenp
author | kamg |
---|---|
date | Tue, 29 Apr 2008 11:21:51 -0400 |
parents | a61af66fc99e |
children | d1605aabd0a1 |
comparison
equal
deleted
inserted
replaced
133:435e64505015 | 134:8a79f7ec8f5d |
---|---|
1203 bcs.get_index_big(), cp, ¤t_frame, CHECK_VERIFY(this)); | 1203 bcs.get_index_big(), cp, ¤t_frame, CHECK_VERIFY(this)); |
1204 no_control_flow = false; break; | 1204 no_control_flow = false; break; |
1205 case Bytecodes::_arraylength : | 1205 case Bytecodes::_arraylength : |
1206 type = current_frame.pop_stack( | 1206 type = current_frame.pop_stack( |
1207 VerificationType::reference_check(), CHECK_VERIFY(this)); | 1207 VerificationType::reference_check(), CHECK_VERIFY(this)); |
1208 if (!type.is_array()) { | 1208 if (!(type.is_null() || type.is_array())) { |
1209 verify_error(bci, bad_type_msg, "arraylength"); | 1209 verify_error(bci, bad_type_msg, "arraylength"); |
1210 } | 1210 } |
1211 current_frame.push_stack( | 1211 current_frame.push_stack( |
1212 VerificationType::integer_type(), CHECK_VERIFY(this)); | 1212 VerificationType::integer_type(), CHECK_VERIFY(this)); |
1213 no_control_flow = false; break; | 1213 no_control_flow = false; break; |