Mercurial > hg > truffle
comparison src/share/vm/oops/instanceKlass.hpp @ 7587:4a916f2ce331
8003985: Support @Contended Annotation - JEP 142
Summary: HotSpot changes to support @Contended annotation.
Reviewed-by: coleenp, kvn, jrose
Contributed-by: Aleksey Shipilev <aleksey.shipilev@oracle.com>
author | jwilhelm |
---|---|
date | Mon, 14 Jan 2013 15:17:47 +0100 |
parents | 37a3e8b7a1e9 |
children | 212c5b9c38e7 |
comparison
equal
deleted
inserted
replaced
7586:90a92d5bca17 | 7587:4a916f2ce331 |
---|---|
228 bool _is_marked_dependent; // used for marking during flushing and deoptimization | 228 bool _is_marked_dependent; // used for marking during flushing and deoptimization |
229 enum { | 229 enum { |
230 _misc_rewritten = 1 << 0, // methods rewritten. | 230 _misc_rewritten = 1 << 0, // methods rewritten. |
231 _misc_has_nonstatic_fields = 1 << 1, // for sizing with UseCompressedOops | 231 _misc_has_nonstatic_fields = 1 << 1, // for sizing with UseCompressedOops |
232 _misc_should_verify_class = 1 << 2, // allow caching of preverification | 232 _misc_should_verify_class = 1 << 2, // allow caching of preverification |
233 _misc_is_anonymous = 1 << 3 // has embedded _inner_classes field | 233 _misc_is_anonymous = 1 << 3, // has embedded _inner_classes field |
234 _misc_is_contended = 1 << 4 // marked with contended annotation | |
234 }; | 235 }; |
235 u2 _misc_flags; | 236 u2 _misc_flags; |
236 u2 _minor_version; // minor version number of class file | 237 u2 _minor_version; // minor version number of class file |
237 u2 _major_version; // major version number of class file | 238 u2 _major_version; // major version number of class file |
238 Thread* _init_thread; // Pointer to current thread doing initialization (to handle recusive initialization) | 239 Thread* _init_thread; // Pointer to current thread doing initialization (to handle recusive initialization) |
548 // in places where the metadata is stored in other places, like nmethods | 549 // in places where the metadata is stored in other places, like nmethods |
549 oop klass_holder() const { | 550 oop klass_holder() const { |
550 return is_anonymous() ? java_mirror() : class_loader(); | 551 return is_anonymous() ? java_mirror() : class_loader(); |
551 } | 552 } |
552 | 553 |
554 bool is_contended() const { | |
555 return (_misc_flags & _misc_is_contended) != 0; | |
556 } | |
557 void set_is_contended(bool value) { | |
558 if (value) { | |
559 _misc_flags |= _misc_is_contended; | |
560 } else { | |
561 _misc_flags &= ~_misc_is_contended; | |
562 } | |
563 } | |
564 | |
553 // signers | 565 // signers |
554 objArrayOop signers() const { return _signers; } | 566 objArrayOop signers() const { return _signers; } |
555 void set_signers(objArrayOop s) { klass_oop_store((oop*)&_signers, s); } | 567 void set_signers(objArrayOop s) { klass_oop_store((oop*)&_signers, s); } |
556 | 568 |
557 // source file name | 569 // source file name |