src/hotspot/share/classfile/classFileParser.cpp
changeset 59056 15936b142f86
parent 58817 7f27d70a2424
equal deleted inserted replaced
59055:57ad70bcf06c 59056:15936b142f86
    45 #include "memory/oopFactory.hpp"
    45 #include "memory/oopFactory.hpp"
    46 #include "memory/resourceArea.hpp"
    46 #include "memory/resourceArea.hpp"
    47 #include "memory/universe.hpp"
    47 #include "memory/universe.hpp"
    48 #include "oops/annotations.hpp"
    48 #include "oops/annotations.hpp"
    49 #include "oops/constantPool.inline.hpp"
    49 #include "oops/constantPool.inline.hpp"
    50 #include "oops/fieldStreams.hpp"
    50 #include "oops/fieldStreams.inline.hpp"
    51 #include "oops/instanceKlass.hpp"
    51 #include "oops/instanceKlass.hpp"
    52 #include "oops/instanceMirrorKlass.hpp"
    52 #include "oops/instanceMirrorKlass.hpp"
    53 #include "oops/klass.inline.hpp"
    53 #include "oops/klass.inline.hpp"
    54 #include "oops/klassVtable.hpp"
    54 #include "oops/klassVtable.hpp"
    55 #include "oops/metadata.hpp"
    55 #include "oops/metadata.hpp"
   330           lengths[names_count] = utf8_length;
   330           lengths[names_count] = utf8_length;
   331           indices[names_count] = index;
   331           indices[names_count] = index;
   332           hashValues[names_count++] = hash;
   332           hashValues[names_count++] = hash;
   333           if (names_count == SymbolTable::symbol_alloc_batch_size) {
   333           if (names_count == SymbolTable::symbol_alloc_batch_size) {
   334             SymbolTable::new_symbols(_loader_data,
   334             SymbolTable::new_symbols(_loader_data,
   335                                      cp,
   335                                      constantPoolHandle(THREAD, cp),
   336                                      names_count,
   336                                      names_count,
   337                                      names,
   337                                      names,
   338                                      lengths,
   338                                      lengths,
   339                                      indices,
   339                                      indices,
   340                                      hashValues);
   340                                      hashValues);
   367   } // end of for
   367   } // end of for
   368 
   368 
   369   // Allocate the remaining symbols
   369   // Allocate the remaining symbols
   370   if (names_count > 0) {
   370   if (names_count > 0) {
   371     SymbolTable::new_symbols(_loader_data,
   371     SymbolTable::new_symbols(_loader_data,
   372                              cp,
   372                              constantPoolHandle(THREAD, cp),
   373                              names_count,
   373                              names_count,
   374                              names,
   374                              names,
   375                              lengths,
   375                              lengths,
   376                              indices,
   376                              indices,
   377                              hashValues);
   377                              hashValues);
  2868                              localvariable_type_table_start,
  2868                              localvariable_type_table_start,
  2869                              CHECK_NULL);
  2869                              CHECK_NULL);
  2870   }
  2870   }
  2871 
  2871 
  2872   if (parsed_annotations.has_any_annotations())
  2872   if (parsed_annotations.has_any_annotations())
  2873     parsed_annotations.apply_to(m);
  2873     parsed_annotations.apply_to(methodHandle(THREAD, m));
  2874 
  2874 
  2875   // Copy annotations
  2875   // Copy annotations
  2876   copy_method_annotations(m->constMethod(),
  2876   copy_method_annotations(m->constMethod(),
  2877                           runtime_visible_annotations,
  2877                           runtime_visible_annotations,
  2878                           runtime_visible_annotations_length,
  2878                           runtime_visible_annotations_length,
  3751 }
  3751 }
  3752 
  3752 
  3753 #ifndef PRODUCT
  3753 #ifndef PRODUCT
  3754 static void print_field_layout(const Symbol* name,
  3754 static void print_field_layout(const Symbol* name,
  3755                                Array<u2>* fields,
  3755                                Array<u2>* fields,
  3756                                const constantPoolHandle& cp,
  3756                                ConstantPool* cp,
  3757                                int instance_size,
  3757                                int instance_size,
  3758                                int instance_fields_start,
  3758                                int instance_fields_start,
  3759                                int instance_fields_end,
  3759                                int instance_fields_end,
  3760                                int static_fields_end) {
  3760                                int static_fields_end) {
  3761 
  3761