< prev index next >

src/hotspot/share/classfile/classFileParser.hpp

Print this page




 142   // class attributes parsed before the instance klass is created:
 143   bool _synthetic_flag;
 144   int _sde_length;
 145   const char* _sde_buffer;
 146   u2 _sourcefile_index;
 147   u2 _generic_signature_index;
 148 
 149   u2 _major_version;
 150   u2 _minor_version;
 151   u2 _this_class_index;
 152   u2 _super_class_index;
 153   u2 _itfs_len;
 154   u2 _java_fields_count;
 155 
 156   bool _need_verify;
 157   bool _relax_verify;
 158 
 159   bool _has_nonstatic_concrete_methods;
 160   bool _declares_nonstatic_concrete_methods;
 161   bool _has_final_method;
 162   bool _has_value_fields;
 163 
 164   // precomputed flags
 165   bool _has_finalizer;
 166   bool _has_empty_finalizer;
 167   bool _has_vanilla_constructor;
 168   int _max_bootstrap_specifier_index;  // detects BSS values
 169 
 170   void parse_stream(const ClassFileStream* const stream, TRAPS);
 171 
 172   void post_process_parsed_stream(const ClassFileStream* const stream,
 173                                   ConstantPool* cp,
 174                                   TRAPS);
 175 
 176   void prepend_host_package_name(const InstanceKlass* host_klass, TRAPS);
 177   void fix_anonymous_class_name(TRAPS);
 178 
 179   void fill_instance_klass(InstanceKlass* ik, bool cf_changed_in_CFLH, TRAPS);
 180   void set_klass(InstanceKlass* instance);
 181 
 182   void set_class_bad_constant_seen(short bad_constant);


 526   InstanceKlass* create_instance_klass(bool cf_changed_in_CFLH, TRAPS);
 527 
 528   const ClassFileStream* clone_stream() const;
 529 
 530   void set_klass_to_deallocate(InstanceKlass* klass);
 531 
 532   int static_field_size() const;
 533   int total_oop_map_count() const;
 534   jint layout_size() const;
 535 
 536   int vtable_size() const { return _vtable_size; }
 537   int itable_size() const { return _itable_size; }
 538 
 539   u2 this_class_index() const { return _this_class_index; }
 540   u2 super_class_index() const { return _super_class_index; }
 541 
 542   bool is_anonymous() const { return _host_klass != NULL; }
 543   bool is_interface() const { return _access_flags.is_interface(); }
 544   bool is_value_type() const { return _access_flags.is_value_type(); }
 545   bool is_value_capable_class() const;
 546   bool has_value_fields() const { return _has_value_fields; }
 547 
 548   u2 java_fields_count() const { return _java_fields_count; }
 549 
 550   const InstanceKlass* host_klass() const { return _host_klass; }
 551   const GrowableArray<Handle>* cp_patches() const { return _cp_patches; }
 552   ClassLoaderData* loader_data() const { return _loader_data; }
 553   const Symbol* class_name() const { return _class_name; }
 554   const Klass* super_klass() const { return _super_klass; }
 555 
 556   ReferenceType reference_type() const { return _rt; }
 557   AccessFlags access_flags() const { return _access_flags; }
 558 
 559   bool is_internal() const { return INTERNAL == _pub_level; }
 560 
 561   static bool verify_unqualified_name(const char* name, unsigned int length, int type);
 562 
 563 #ifdef ASSERT
 564   static bool is_internal_format(Symbol* class_name);
 565 #endif
 566 


 142   // class attributes parsed before the instance klass is created:
 143   bool _synthetic_flag;
 144   int _sde_length;
 145   const char* _sde_buffer;
 146   u2 _sourcefile_index;
 147   u2 _generic_signature_index;
 148 
 149   u2 _major_version;
 150   u2 _minor_version;
 151   u2 _this_class_index;
 152   u2 _super_class_index;
 153   u2 _itfs_len;
 154   u2 _java_fields_count;
 155 
 156   bool _need_verify;
 157   bool _relax_verify;
 158 
 159   bool _has_nonstatic_concrete_methods;
 160   bool _declares_nonstatic_concrete_methods;
 161   bool _has_final_method;
 162   bool _has_flattenable_fields;
 163 
 164   // precomputed flags
 165   bool _has_finalizer;
 166   bool _has_empty_finalizer;
 167   bool _has_vanilla_constructor;
 168   int _max_bootstrap_specifier_index;  // detects BSS values
 169 
 170   void parse_stream(const ClassFileStream* const stream, TRAPS);
 171 
 172   void post_process_parsed_stream(const ClassFileStream* const stream,
 173                                   ConstantPool* cp,
 174                                   TRAPS);
 175 
 176   void prepend_host_package_name(const InstanceKlass* host_klass, TRAPS);
 177   void fix_anonymous_class_name(TRAPS);
 178 
 179   void fill_instance_klass(InstanceKlass* ik, bool cf_changed_in_CFLH, TRAPS);
 180   void set_klass(InstanceKlass* instance);
 181 
 182   void set_class_bad_constant_seen(short bad_constant);


 526   InstanceKlass* create_instance_klass(bool cf_changed_in_CFLH, TRAPS);
 527 
 528   const ClassFileStream* clone_stream() const;
 529 
 530   void set_klass_to_deallocate(InstanceKlass* klass);
 531 
 532   int static_field_size() const;
 533   int total_oop_map_count() const;
 534   jint layout_size() const;
 535 
 536   int vtable_size() const { return _vtable_size; }
 537   int itable_size() const { return _itable_size; }
 538 
 539   u2 this_class_index() const { return _this_class_index; }
 540   u2 super_class_index() const { return _super_class_index; }
 541 
 542   bool is_anonymous() const { return _host_klass != NULL; }
 543   bool is_interface() const { return _access_flags.is_interface(); }
 544   bool is_value_type() const { return _access_flags.is_value_type(); }
 545   bool is_value_capable_class() const;
 546   bool has_flattenable_fields() const { return _has_flattenable_fields; }
 547 
 548   u2 java_fields_count() const { return _java_fields_count; }
 549 
 550   const InstanceKlass* host_klass() const { return _host_klass; }
 551   const GrowableArray<Handle>* cp_patches() const { return _cp_patches; }
 552   ClassLoaderData* loader_data() const { return _loader_data; }
 553   const Symbol* class_name() const { return _class_name; }
 554   const Klass* super_klass() const { return _super_klass; }
 555 
 556   ReferenceType reference_type() const { return _rt; }
 557   AccessFlags access_flags() const { return _access_flags; }
 558 
 559   bool is_internal() const { return INTERNAL == _pub_level; }
 560 
 561   static bool verify_unqualified_name(const char* name, unsigned int length, int type);
 562 
 563 #ifdef ASSERT
 564   static bool is_internal_format(Symbol* class_name);
 565 #endif
 566 
< prev index next >