223 case FIELDINFO_TAG_TYPE_PLAIN:
224 _shorts[low_packed_offset] |= FIELDINFO_TAG_TYPE_CONTENDED;
225 _shorts[high_packed_offset] = val;
226 return;
227 #ifndef PRODUCT
228 case FIELDINFO_TAG_TYPE_CONTENDED:
229 fatal("Overwriting contended group");
230 case FIELDINFO_TAG_BLANK:
231 fatal("Setting contended group for the blank field");
232 case FIELDINFO_TAG_OFFSET:
233 fatal("Setting contended group for field with offset");
234 #endif
235 }
236 ShouldNotReachHere();
237 }
238
239 bool is_internal() const {
240 return (access_flags() & JVM_ACC_FIELD_INTERNAL) != 0;
241 }
242
243 Symbol* lookup_symbol(int symbol_index) const {
244 assert(is_internal(), "only internal fields");
245 return vmSymbols::symbol_at((vmSymbols::SID)symbol_index);
246 }
247 };
248
249 #endif // SHARE_VM_OOPS_FIELDINFO_HPP
|
223 case FIELDINFO_TAG_TYPE_PLAIN:
224 _shorts[low_packed_offset] |= FIELDINFO_TAG_TYPE_CONTENDED;
225 _shorts[high_packed_offset] = val;
226 return;
227 #ifndef PRODUCT
228 case FIELDINFO_TAG_TYPE_CONTENDED:
229 fatal("Overwriting contended group");
230 case FIELDINFO_TAG_BLANK:
231 fatal("Setting contended group for the blank field");
232 case FIELDINFO_TAG_OFFSET:
233 fatal("Setting contended group for field with offset");
234 #endif
235 }
236 ShouldNotReachHere();
237 }
238
239 bool is_internal() const {
240 return (access_flags() & JVM_ACC_FIELD_INTERNAL) != 0;
241 }
242
243 bool is_stable() const {
244 return (access_flags() & JVM_ACC_FIELD_STABLE) != 0;
245 }
246 void set_stable(bool z) {
247 if (z) _shorts[access_flags_offset] |= JVM_ACC_FIELD_STABLE;
248 else _shorts[access_flags_offset] &= ~JVM_ACC_FIELD_STABLE;
249 }
250
251 Symbol* lookup_symbol(int symbol_index) const {
252 assert(is_internal(), "only internal fields");
253 return vmSymbols::symbol_at((vmSymbols::SID)symbol_index);
254 }
255 };
256
257 #endif // SHARE_VM_OOPS_FIELDINFO_HPP
|