comparison src/share/vm/classfile/classFileParser.hpp @ 12067:e22ee8e7ae62

8021948: Change InstanceKlass::_source_file_name and _generic_signature from Symbol* to constant pool indexes. Summary: Change InstanceKlass::_source_file_name and _generic_signature to u2 fields. Reviewed-by: coleenp, iklam
author jiangli
date Mon, 19 Aug 2013 14:59:54 -0400
parents cc70cbbd422e
children edb5ab0f3fe5
comparison
equal deleted inserted replaced
12061:e5003079dfa5 12067:e22ee8e7ae62
60 60
61 // class attributes parsed before the instance klass is created: 61 // class attributes parsed before the instance klass is created:
62 bool _synthetic_flag; 62 bool _synthetic_flag;
63 int _sde_length; 63 int _sde_length;
64 char* _sde_buffer; 64 char* _sde_buffer;
65 Symbol* _sourcefile; 65 u2 _sourcefile_index;
66 Symbol* _generic_signature; 66 u2 _generic_signature_index;
67 67
68 // Metadata created before the instance klass is created. Must be deallocated 68 // Metadata created before the instance klass is created. Must be deallocated
69 // if not transferred to the InstanceKlass upon successful class loading 69 // if not transferred to the InstanceKlass upon successful class loading
70 // in which case these pointers have been set to NULL. 70 // in which case these pointers have been set to NULL.
71 instanceKlassHandle _super_klass; 71 instanceKlassHandle _super_klass;
79 AnnotationArray* _type_annotations; 79 AnnotationArray* _type_annotations;
80 Array<AnnotationArray*>* _fields_annotations; 80 Array<AnnotationArray*>* _fields_annotations;
81 Array<AnnotationArray*>* _fields_type_annotations; 81 Array<AnnotationArray*>* _fields_type_annotations;
82 InstanceKlass* _klass; // InstanceKlass once created. 82 InstanceKlass* _klass; // InstanceKlass once created.
83 83
84 void set_class_synthetic_flag(bool x) { _synthetic_flag = x; } 84 void set_class_synthetic_flag(bool x) { _synthetic_flag = x; }
85 void set_class_sourcefile(Symbol* x) { _sourcefile = x; } 85 void set_class_sourcefile_index(u2 x) { _sourcefile_index = x; }
86 void set_class_generic_signature(Symbol* x) { _generic_signature = x; } 86 void set_class_generic_signature_index(u2 x) { _generic_signature_index = x; }
87 void set_class_sde_buffer(char* x, int len) { _sde_buffer = x; _sde_length = len; } 87 void set_class_sde_buffer(char* x, int len) { _sde_buffer = x; _sde_length = len; }
88 88
89 void init_parsed_class_attributes(ClassLoaderData* loader_data) { 89 void init_parsed_class_attributes(ClassLoaderData* loader_data) {
90 _loader_data = loader_data; 90 _loader_data = loader_data;
91 _synthetic_flag = false; 91 _synthetic_flag = false;
92 _sourcefile = NULL; 92 _sourcefile_index = 0;
93 _generic_signature = NULL; 93 _generic_signature_index = 0;
94 _sde_buffer = NULL; 94 _sde_buffer = NULL;
95 _sde_length = 0; 95 _sde_length = 0;
96 // initialize the other flags too: 96 // initialize the other flags too:
97 _has_finalizer = _has_empty_finalizer = _has_vanilla_constructor = false; 97 _has_finalizer = _has_empty_finalizer = _has_vanilla_constructor = false;
98 _max_bootstrap_specifier_index = -1; 98 _max_bootstrap_specifier_index = -1;