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 7387 : 8063137: Never-taken branches should be pruned when GWT LambdaForms are shared
Reviewed-by: ?


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

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




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


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