Mercurial > hg > graal-jvmci-8
comparison src/share/vm/oops/klass.hpp @ 11173:6b0fd0964b87
Merge with http://hg.openjdk.java.net/hsx/hsx25/hotspot/
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Wed, 31 Jul 2013 11:00:54 +0200 |
parents | 836a62f43af9 71180a6e5080 |
children | 58fc8e2b7b6d |
comparison
equal
deleted
inserted
replaced
10912:4ea54634f03e | 11173:6b0fd0964b87 |
---|---|
77 // [modifier_flags] | 77 // [modifier_flags] |
78 // [access_flags ] | 78 // [access_flags ] |
79 // [last_biased_lock_bulk_revocation_time] (64 bits) | 79 // [last_biased_lock_bulk_revocation_time] (64 bits) |
80 // [prototype_header] | 80 // [prototype_header] |
81 // [biased_lock_revocation_count] | 81 // [biased_lock_revocation_count] |
82 // [alloc_count ] | |
83 // [_modified_oops] | 82 // [_modified_oops] |
84 // [_accumulated_modified_oops] | 83 // [_accumulated_modified_oops] |
85 // [trace_id] | 84 // [trace_id] |
86 | 85 |
87 | 86 |
170 // (the 64-bit chunk goes first, to avoid some fragmentation) | 169 // (the 64-bit chunk goes first, to avoid some fragmentation) |
171 jlong _last_biased_lock_bulk_revocation_time; | 170 jlong _last_biased_lock_bulk_revocation_time; |
172 markOop _prototype_header; // Used when biased locking is both enabled and disabled for this type | 171 markOop _prototype_header; // Used when biased locking is both enabled and disabled for this type |
173 jint _biased_lock_revocation_count; | 172 jint _biased_lock_revocation_count; |
174 | 173 |
175 juint _alloc_count; // allocation profiling support | |
176 | |
177 TRACE_DEFINE_KLASS_TRACE_ID; | 174 TRACE_DEFINE_KLASS_TRACE_ID; |
178 | 175 |
179 // Remembered sets support for the oops in the klasses. | 176 // Remembered sets support for the oops in the klasses. |
180 jbyte _modified_oops; // Card Table Equivalent (YC/CMS support) | 177 jbyte _modified_oops; // Card Table Equivalent (YC/CMS support) |
181 jbyte _accumulated_modified_oops; // Mod Union Equivalent (CMS support) | 178 jbyte _accumulated_modified_oops; // Mod Union Equivalent (CMS support) |
289 Klass* next_sibling_oop() const { return _next_sibling; } | 286 Klass* next_sibling_oop() const { return _next_sibling; } |
290 void set_subklass(Klass* s); | 287 void set_subklass(Klass* s); |
291 void set_next_sibling(Klass* s); | 288 void set_next_sibling(Klass* s); |
292 | 289 |
293 public: | 290 public: |
294 // Allocation profiling support | |
295 juint alloc_count() const { return _alloc_count; } | |
296 void set_alloc_count(juint n) { _alloc_count = n; } | |
297 virtual juint alloc_size() const = 0; | |
298 virtual void set_alloc_size(juint n) = 0; | |
299 | 291 |
300 // Compiler support | 292 // Compiler support |
301 static ByteSize super_offset() { return in_ByteSize(offset_of(Klass, _super)); } | 293 static ByteSize super_offset() { return in_ByteSize(offset_of(Klass, _super)); } |
302 static ByteSize super_check_offset_offset() { return in_ByteSize(offset_of(Klass, _super_check_offset)); } | 294 static ByteSize super_check_offset_offset() { return in_ByteSize(offset_of(Klass, _super_check_offset)); } |
303 static ByteSize primary_supers_offset() { return in_ByteSize(offset_of(Klass, _primary_supers)); } | 295 static ByteSize primary_supers_offset() { return in_ByteSize(offset_of(Klass, _primary_supers)); } |
677 SPECIALIZED_OOP_OOP_ITERATE_CLOSURES_1(Klass_OOP_OOP_ITERATE_BACKWARDS_DECL) | 669 SPECIALIZED_OOP_OOP_ITERATE_CLOSURES_1(Klass_OOP_OOP_ITERATE_BACKWARDS_DECL) |
678 SPECIALIZED_OOP_OOP_ITERATE_CLOSURES_2(Klass_OOP_OOP_ITERATE_BACKWARDS_DECL) | 670 SPECIALIZED_OOP_OOP_ITERATE_CLOSURES_2(Klass_OOP_OOP_ITERATE_BACKWARDS_DECL) |
679 #endif // INCLUDE_ALL_GCS | 671 #endif // INCLUDE_ALL_GCS |
680 | 672 |
681 virtual void array_klasses_do(void f(Klass* k)) {} | 673 virtual void array_klasses_do(void f(Klass* k)) {} |
682 virtual void with_array_klasses_do(void f(Klass* k)); | |
683 | 674 |
684 // Return self, except for abstract classes with exactly 1 | 675 // Return self, except for abstract classes with exactly 1 |
685 // implementor. Then return the 1 concrete implementation. | 676 // implementor. Then return the 1 concrete implementation. |
686 Klass *up_cast_abstract(); | 677 Klass *up_cast_abstract(); |
687 | 678 |
703 virtual void oop_print_on (oop obj, outputStream* st); | 694 virtual void oop_print_on (oop obj, outputStream* st); |
704 | 695 |
705 virtual const char* internal_name() const = 0; | 696 virtual const char* internal_name() const = 0; |
706 | 697 |
707 // Verification | 698 // Verification |
708 virtual void verify_on(outputStream* st); | 699 virtual void verify_on(outputStream* st, bool check_dictionary); |
709 void verify() { verify_on(tty); } | 700 void verify(bool check_dictionary = true) { verify_on(tty, check_dictionary); } |
710 | 701 |
711 #ifndef PRODUCT | 702 #ifndef PRODUCT |
712 void verify_vtable_index(int index); | 703 void verify_vtable_index(int index); |
713 #endif | 704 #endif |
714 | 705 |