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