76 // (e.g., ACC_ENUM). |
76 // (e.g., ACC_ENUM). |
77 // Note that the class-related ACC_ANNOTATION bit conflicts with these flags. |
77 // Note that the class-related ACC_ANNOTATION bit conflicts with these flags. |
78 JVM_ACC_FIELD_ACCESS_WATCHED = 0x00002000, // field access is watched by JVMTI |
78 JVM_ACC_FIELD_ACCESS_WATCHED = 0x00002000, // field access is watched by JVMTI |
79 JVM_ACC_FIELD_MODIFICATION_WATCHED = 0x00008000, // field modification is watched by JVMTI |
79 JVM_ACC_FIELD_MODIFICATION_WATCHED = 0x00008000, // field modification is watched by JVMTI |
80 JVM_ACC_FIELD_INTERNAL = 0x00000400, // internal field, same as JVM_ACC_ABSTRACT |
80 JVM_ACC_FIELD_INTERNAL = 0x00000400, // internal field, same as JVM_ACC_ABSTRACT |
|
81 JVM_ACC_FIELD_STABLE = 0x00000020, // @Stable field, same as JVM_ACC_SYNCHRONIZED |
81 JVM_ACC_FIELD_HAS_GENERIC_SIGNATURE = 0x00000800, // field has generic signature |
82 JVM_ACC_FIELD_HAS_GENERIC_SIGNATURE = 0x00000800, // field has generic signature |
82 |
83 |
83 JVM_ACC_FIELD_INTERNAL_FLAGS = JVM_ACC_FIELD_ACCESS_WATCHED | |
84 JVM_ACC_FIELD_INTERNAL_FLAGS = JVM_ACC_FIELD_ACCESS_WATCHED | |
84 JVM_ACC_FIELD_MODIFICATION_WATCHED | |
85 JVM_ACC_FIELD_MODIFICATION_WATCHED | |
85 JVM_ACC_FIELD_INTERNAL | |
86 JVM_ACC_FIELD_INTERNAL | |
|
87 JVM_ACC_FIELD_STABLE | |
86 JVM_ACC_FIELD_HAS_GENERIC_SIGNATURE, |
88 JVM_ACC_FIELD_HAS_GENERIC_SIGNATURE, |
87 |
89 |
88 // flags accepted by set_field_flags() |
90 // flags accepted by set_field_flags() |
89 JVM_ACC_FIELD_FLAGS = JVM_RECOGNIZED_FIELD_MODIFIERS | JVM_ACC_FIELD_INTERNAL_FLAGS |
91 JVM_ACC_FIELD_FLAGS = JVM_RECOGNIZED_FIELD_MODIFIERS | JVM_ACC_FIELD_INTERNAL_FLAGS |
90 |
92 |
146 bool is_field_access_watched() const { return (_flags & JVM_ACC_FIELD_ACCESS_WATCHED) != 0; } |
148 bool is_field_access_watched() const { return (_flags & JVM_ACC_FIELD_ACCESS_WATCHED) != 0; } |
147 bool is_field_modification_watched() const |
149 bool is_field_modification_watched() const |
148 { return (_flags & JVM_ACC_FIELD_MODIFICATION_WATCHED) != 0; } |
150 { return (_flags & JVM_ACC_FIELD_MODIFICATION_WATCHED) != 0; } |
149 bool on_stack() const { return (_flags & JVM_ACC_ON_STACK) != 0; } |
151 bool on_stack() const { return (_flags & JVM_ACC_ON_STACK) != 0; } |
150 bool is_internal() const { return (_flags & JVM_ACC_FIELD_INTERNAL) != 0; } |
152 bool is_internal() const { return (_flags & JVM_ACC_FIELD_INTERNAL) != 0; } |
|
153 bool is_stable() const { return (_flags & JVM_ACC_FIELD_STABLE) != 0; } |
151 bool field_has_generic_signature() const |
154 bool field_has_generic_signature() const |
152 { return (_flags & JVM_ACC_FIELD_HAS_GENERIC_SIGNATURE) != 0; } |
155 { return (_flags & JVM_ACC_FIELD_HAS_GENERIC_SIGNATURE) != 0; } |
153 |
156 |
154 // get .class file flags |
157 // get .class file flags |
155 jint get_flags () const { return (_flags & JVM_ACC_WRITTEN_FLAGS); } |
158 jint get_flags () const { return (_flags & JVM_ACC_WRITTEN_FLAGS); } |