src/share/vm/classfile/classFileParser.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Sdiff src/share/vm/classfile

src/share/vm/classfile/classFileParser.hpp

Print this page
rev 7652 : 8063137: Never-taken branches should be pruned when GWT LambdaForms are shared
Reviewed-by: ?
rev 7653 : [mq]: branch.freq.1


 111     _fields = NULL;
 112     _methods = NULL;
 113     _inner_classes = NULL;
 114     _local_interfaces = NULL;
 115     _transitive_interfaces = NULL;
 116     _combined_annotations = NULL;
 117     _annotations = _type_annotations = NULL;
 118     _fields_annotations = _fields_type_annotations = NULL;
 119   }
 120 
 121   class AnnotationCollector {
 122   public:
 123     enum Location { _in_field, _in_method, _in_class };
 124     enum ID {
 125       _unknown = 0,
 126       _method_CallerSensitive,
 127       _method_ForceInline,
 128       _method_DontInline,
 129       _method_LambdaForm_Compiled,
 130       _method_LambdaForm_Hidden,

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




 111     _fields = NULL;
 112     _methods = NULL;
 113     _inner_classes = NULL;
 114     _local_interfaces = NULL;
 115     _transitive_interfaces = NULL;
 116     _combined_annotations = NULL;
 117     _annotations = _type_annotations = NULL;
 118     _fields_annotations = _fields_type_annotations = NULL;
 119   }
 120 
 121   class AnnotationCollector {
 122   public:
 123     enum Location { _in_field, _in_method, _in_class };
 124     enum ID {
 125       _unknown = 0,
 126       _method_CallerSensitive,
 127       _method_ForceInline,
 128       _method_DontInline,
 129       _method_LambdaForm_Compiled,
 130       _method_LambdaForm_Hidden,
 131       _method_LambdaForm_Shared,
 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");
 150       _annotations_present |= nth_bit((int)id);
 151     }


src/share/vm/classfile/classFileParser.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File