< prev index next >

src/share/vm/classfile/classFileParser.hpp

Print this page
@  rev 12742 : imported patch alpinefixes-copyswapaligned
|


 221                     FieldAllocationCount* const fac,
 222                     ConstantPool* cp,
 223                     const int cp_size,
 224                     u2* const java_fields_count_ptr,
 225                     TRAPS);
 226 
 227   // Method parsing
 228   Method* parse_method(const ClassFileStream* const cfs,
 229                        bool is_interface,
 230                        const ConstantPool* cp,
 231                        AccessFlags* const promoted_flags,
 232                        TRAPS);
 233 
 234   void parse_methods(const ClassFileStream* const cfs,
 235                      bool is_interface,
 236                      AccessFlags* const promoted_flags,
 237                      bool* const has_final_method,
 238                      bool* const declares_nonstatic_concrete_methods,
 239                      TRAPS);
 240 
 241   const u2* parse_exception_table(const ClassFileStream* const stream,
 242                                   u4 code_length,
 243                                   u4 exception_table_length,
 244                                   TRAPS);
 245 
 246   void parse_linenumber_table(u4 code_attribute_length,
 247                               u4 code_length,
 248                               CompressedLineNumberWriteStream**const write_stream,
 249                               TRAPS);
 250 
 251   const u2* parse_localvariable_table(const ClassFileStream* const cfs,
 252                                       u4 code_length,
 253                                       u2 max_locals,
 254                                       u4 code_attribute_length,
 255                                       u2* const localvariable_table_length,
 256                                       bool isLVTT,
 257                                       TRAPS);
 258 
 259   const u2* parse_checked_exceptions(const ClassFileStream* const cfs,
 260                                      u2* const checked_exceptions_length,
 261                                      u4 method_attribute_length,
 262                                      TRAPS);
 263 
 264   void parse_type_array(u2 array_length,
 265                         u4 code_length,
 266                         u4* const u1_index,
 267                         u4* const u2_index,
 268                         u1* const u1_array,
 269                         u2* const u2_array,
 270                         TRAPS);
 271 
 272   // Classfile attribute parsing
 273   u2 parse_generic_signature_attribute(const ClassFileStream* const cfs, TRAPS);
 274   void parse_classfile_sourcefile_attribute(const ClassFileStream* const cfs, TRAPS);
 275   void parse_classfile_source_debug_extension_attribute(const ClassFileStream* const cfs,
 276                                                         int length,
 277                                                         TRAPS);
 278 
 279   u2   parse_classfile_inner_classes_attribute(const ClassFileStream* const cfs,


 436                            TRAPS);
 437 
 438   // Wrapper for constantTag.is_klass_[or_]reference.
 439   // In older versions of the VM, Klass*s cannot sneak into early phases of
 440   // constant pool construction, but in later versions they can.
 441   // %%% Let's phase out the old is_klass_reference.
 442   bool valid_klass_reference_at(int index) const {
 443     return _cp->is_within_bounds(index) &&
 444              _cp->tag_at(index).is_klass_or_reference();
 445   }
 446 
 447   // Checks that the cpool index is in range and is a utf8
 448   bool valid_symbol_at(int cpool_index) const {
 449     return _cp->is_within_bounds(cpool_index) &&
 450              _cp->tag_at(cpool_index).is_utf8();
 451   }
 452 
 453   void copy_localvariable_table(const ConstMethod* cm,
 454                                 int lvt_cnt,
 455                                 u2* const localvariable_table_length,
 456                                 const u2**const localvariable_table_start,
 457                                 int lvtt_cnt,
 458                                 u2* const localvariable_type_table_length,
 459                                 const u2** const localvariable_type_table_start,
 460                                 TRAPS);
 461 
 462   void copy_method_annotations(ConstMethod* cm,
 463                                const u1* runtime_visible_annotations,
 464                                int runtime_visible_annotations_length,
 465                                const u1* runtime_invisible_annotations,
 466                                int runtime_invisible_annotations_length,
 467                                const u1* runtime_visible_parameter_annotations,
 468                                int runtime_visible_parameter_annotations_length,
 469                                const u1* runtime_invisible_parameter_annotations,
 470                                int runtime_invisible_parameter_annotations_length,
 471                                const u1* runtime_visible_type_annotations,
 472                                int runtime_visible_type_annotations_length,
 473                                const u1* runtime_invisible_type_annotations,
 474                                int runtime_invisible_type_annotations_length,
 475                                const u1* annotation_default,
 476                                int annotation_default_length,
 477                                TRAPS);
 478 
 479   // lays out fields in class and returns the total oopmap count




 221                     FieldAllocationCount* const fac,
 222                     ConstantPool* cp,
 223                     const int cp_size,
 224                     u2* const java_fields_count_ptr,
 225                     TRAPS);
 226 
 227   // Method parsing
 228   Method* parse_method(const ClassFileStream* const cfs,
 229                        bool is_interface,
 230                        const ConstantPool* cp,
 231                        AccessFlags* const promoted_flags,
 232                        TRAPS);
 233 
 234   void parse_methods(const ClassFileStream* const cfs,
 235                      bool is_interface,
 236                      AccessFlags* const promoted_flags,
 237                      bool* const has_final_method,
 238                      bool* const declares_nonstatic_concrete_methods,
 239                      TRAPS);
 240 
 241   const void* parse_exception_table(const ClassFileStream* const stream,
 242                                     u4 code_length,
 243                                     u4 exception_table_length,
 244                                     TRAPS);
 245 
 246   void parse_linenumber_table(u4 code_attribute_length,
 247                               u4 code_length,
 248                               CompressedLineNumberWriteStream**const write_stream,
 249                               TRAPS);
 250 
 251   const void* parse_localvariable_table(const ClassFileStream* const cfs,
 252                                         u4 code_length,
 253                                         u2 max_locals,
 254                                         u4 code_attribute_length,
 255                                         u2* const localvariable_table_length,
 256                                         bool isLVTT,
 257                                         TRAPS);
 258 
 259   const void* parse_checked_exceptions(const ClassFileStream* const cfs,
 260                                        u2* const checked_exceptions_length,
 261                                        u4 method_attribute_length,
 262                                        TRAPS);
 263 
 264   void parse_type_array(u2 array_length,
 265                         u4 code_length,
 266                         u4* const u1_index,
 267                         u4* const u2_index,
 268                         u1* const u1_array,
 269                         u2* const u2_array,
 270                         TRAPS);
 271 
 272   // Classfile attribute parsing
 273   u2 parse_generic_signature_attribute(const ClassFileStream* const cfs, TRAPS);
 274   void parse_classfile_sourcefile_attribute(const ClassFileStream* const cfs, TRAPS);
 275   void parse_classfile_source_debug_extension_attribute(const ClassFileStream* const cfs,
 276                                                         int length,
 277                                                         TRAPS);
 278 
 279   u2   parse_classfile_inner_classes_attribute(const ClassFileStream* const cfs,


 436                            TRAPS);
 437 
 438   // Wrapper for constantTag.is_klass_[or_]reference.
 439   // In older versions of the VM, Klass*s cannot sneak into early phases of
 440   // constant pool construction, but in later versions they can.
 441   // %%% Let's phase out the old is_klass_reference.
 442   bool valid_klass_reference_at(int index) const {
 443     return _cp->is_within_bounds(index) &&
 444              _cp->tag_at(index).is_klass_or_reference();
 445   }
 446 
 447   // Checks that the cpool index is in range and is a utf8
 448   bool valid_symbol_at(int cpool_index) const {
 449     return _cp->is_within_bounds(cpool_index) &&
 450              _cp->tag_at(cpool_index).is_utf8();
 451   }
 452 
 453   void copy_localvariable_table(const ConstMethod* cm,
 454                                 int lvt_cnt,
 455                                 u2* const localvariable_table_length,
 456                                 const void** const localvariable_table_start,
 457                                 int lvtt_cnt,
 458                                 u2* const localvariable_type_table_length,
 459                                 const void** const localvariable_type_table_start,
 460                                 TRAPS);
 461 
 462   void copy_method_annotations(ConstMethod* cm,
 463                                const u1* runtime_visible_annotations,
 464                                int runtime_visible_annotations_length,
 465                                const u1* runtime_invisible_annotations,
 466                                int runtime_invisible_annotations_length,
 467                                const u1* runtime_visible_parameter_annotations,
 468                                int runtime_visible_parameter_annotations_length,
 469                                const u1* runtime_invisible_parameter_annotations,
 470                                int runtime_invisible_parameter_annotations_length,
 471                                const u1* runtime_visible_type_annotations,
 472                                int runtime_visible_type_annotations_length,
 473                                const u1* runtime_invisible_type_annotations,
 474                                int runtime_invisible_type_annotations_length,
 475                                const u1* annotation_default,
 476                                int annotation_default_length,
 477                                TRAPS);
 478 
 479   // lays out fields in class and returns the total oopmap count


< prev index next >