< prev index next >

src/share/vm/classfile/classFileParser.hpp

Print this page
rev 8471 : [mq]: dont_profile.8074551


 110     // deallocated if classfile parsing returns an error.
 111     _cp = NULL;
 112     _fields = NULL;
 113     _methods = NULL;
 114     _inner_classes = NULL;
 115     _local_interfaces = NULL;
 116     _transitive_interfaces = NULL;
 117     _combined_annotations = NULL;
 118     _annotations = _type_annotations = NULL;
 119     _fields_annotations = _fields_type_annotations = NULL;
 120   }
 121 
 122   class AnnotationCollector {
 123   public:
 124     enum Location { _in_field, _in_method, _in_class };
 125     enum ID {
 126       _unknown = 0,
 127       _method_CallerSensitive,
 128       _method_ForceInline,
 129       _method_DontInline,

 130       _method_LambdaForm_Compiled,
 131       _method_LambdaForm_Hidden,
 132       _sun_misc_Contended,
 133       _field_Stable,
 134       _annotation_LIMIT
 135     };
 136     const Location _location;
 137     int _annotations_present;
 138     u2 _contended_group;
 139 
 140     AnnotationCollector(Location location)
 141     : _location(location), _annotations_present(0)
 142     {
 143       assert((int)_annotation_LIMIT <= (int)sizeof(_annotations_present) * BitsPerByte, "");
 144     }
 145     // If this annotation name has an ID, report it (or _none).
 146     ID annotation_index(ClassLoaderData* loader_data, Symbol* name);
 147     // Set the annotation name:
 148     void set_annotation(ID id) {
 149       assert((int)id >= 0 && (int)id < (int)_annotation_LIMIT, "oob");




 110     // deallocated if classfile parsing returns an error.
 111     _cp = NULL;
 112     _fields = NULL;
 113     _methods = NULL;
 114     _inner_classes = NULL;
 115     _local_interfaces = NULL;
 116     _transitive_interfaces = NULL;
 117     _combined_annotations = NULL;
 118     _annotations = _type_annotations = NULL;
 119     _fields_annotations = _fields_type_annotations = NULL;
 120   }
 121 
 122   class AnnotationCollector {
 123   public:
 124     enum Location { _in_field, _in_method, _in_class };
 125     enum ID {
 126       _unknown = 0,
 127       _method_CallerSensitive,
 128       _method_ForceInline,
 129       _method_DontInline,
 130       _method_InjectedProfile,
 131       _method_LambdaForm_Compiled,
 132       _method_LambdaForm_Hidden,
 133       _sun_misc_Contended,
 134       _field_Stable,
 135       _annotation_LIMIT
 136     };
 137     const Location _location;
 138     int _annotations_present;
 139     u2 _contended_group;
 140 
 141     AnnotationCollector(Location location)
 142     : _location(location), _annotations_present(0)
 143     {
 144       assert((int)_annotation_LIMIT <= (int)sizeof(_annotations_present) * BitsPerByte, "");
 145     }
 146     // If this annotation name has an ID, report it (or _none).
 147     ID annotation_index(ClassLoaderData* loader_data, Symbol* name);
 148     // Set the annotation name:
 149     void set_annotation(ID id) {
 150       assert((int)id >= 0 && (int)id < (int)_annotation_LIMIT, "oob");


< prev index next >