< prev index next >

src/share/vm/classfile/classFileParser.cpp

Print this page
rev 10979 : 8140594: Various minor code improvements (compiler)

@@ -1399,13 +1399,15 @@
     }
   }
 
   FieldAllocationType update(bool is_static, BasicType type) {
     FieldAllocationType atype = basic_type_to_atype(is_static, type);
+    if (atype != BAD_ALLOCATION_TYPE) {
     // Make sure there is no overflow with injected fields.
     assert(count[atype] < 0xFFFF, "More than 65535 fields");
     count[atype]++;
+    }
     return atype;
   }
 };
 
 // Side-effects: populates the _fields, _fields_annotations,

@@ -3335,12 +3337,13 @@
              !cp->tag_at(enclosing_method_method_index).is_name_and_type())) {
           classfile_parse_error("Invalid or out-of-bounds method index in EnclosingMethod attribute in class file %s", CHECK);
         }
       } else if (tag == vmSymbols::tag_bootstrap_methods() &&
                  _major_version >= Verifier::INVOKEDYNAMIC_MAJOR_VERSION) {
-        if (parsed_bootstrap_methods_attribute)
+        if (parsed_bootstrap_methods_attribute) {
           classfile_parse_error("Multiple BootstrapMethods attributes in class file %s", CHECK);
+        }
         parsed_bootstrap_methods_attribute = true;
         parse_classfile_bootstrap_methods_attribute(cfs, cp, attribute_length, CHECK);
       } else if (tag == vmSymbols::tag_runtime_visible_type_annotations()) {
         if (runtime_visible_type_annotations != NULL) {
           classfile_parse_error(
< prev index next >