hotspot/src/share/vm/classfile/classFileParser.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/hotspot/src/share/vm/classfile/classFileParser.hpp	Tue Jul 23 21:21:38 2013
--- new/hotspot/src/share/vm/classfile/classFileParser.hpp	Tue Jul 23 21:21:38 2013

*** 123,132 **** --- 123,133 ---- _method_ForceInline, _method_DontInline, _method_LambdaForm_Compiled, _method_LambdaForm_Hidden, _sun_misc_Contended, + _field_Stable, _annotation_LIMIT }; const Location _location; int _annotations_present; u2 _contended_group;
*** 141,158 **** --- 142,168 ---- // Set the annotation name: void set_annotation(ID id) { assert((int)id >= 0 && (int)id < (int)_annotation_LIMIT, "oob"); _annotations_present |= nth_bit((int)id); } + + void remove_annotation(ID id) { + assert((int)id >= 0 && (int)id < (int)_annotation_LIMIT, "oob"); + _annotations_present &= ~nth_bit((int)id); + } + // Report if the annotation is present. ! bool has_any_annotations() const { return _annotations_present != 0; } ! bool has_annotation(ID id) const { return (nth_bit((int)id) & _annotations_present) != 0; } void set_contended_group(u2 group) { _contended_group = group; } ! u2 contended_group() const { return _contended_group; } + + bool is_contended() const { return has_annotation(_sun_misc_Contended); } ! bool is_contended() { return has_annotation(_sun_misc_Contended); } ! void set_stable(bool stable) { set_annotation(_field_Stable); } + bool is_stable() const { return has_annotation(_field_Stable); } }; // This class also doubles as a holder for metadata cleanup. class FieldAnnotationCollector: public AnnotationCollector { ClassLoaderData* _loader_data;

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