67 inline markOop mark_raw() const; |
67 inline markOop mark_raw() const; |
68 inline markOop* mark_addr_raw() const; |
68 inline markOop* mark_addr_raw() const; |
69 |
69 |
70 inline void set_mark(volatile markOop m); |
70 inline void set_mark(volatile markOop m); |
71 inline void set_mark_raw(volatile markOop m); |
71 inline void set_mark_raw(volatile markOop m); |
|
72 static inline void set_mark_raw(HeapWord* mem, markOop m); |
72 |
73 |
73 inline void release_set_mark(markOop m); |
74 inline void release_set_mark(markOop m); |
74 inline markOop cas_set_mark(markOop new_mark, markOop old_mark); |
75 inline markOop cas_set_mark(markOop new_mark, markOop old_mark); |
75 inline markOop cas_set_mark_raw(markOop new_mark, markOop old_mark, atomic_memory_order order = memory_order_conservative); |
76 inline markOop cas_set_mark_raw(markOop new_mark, markOop old_mark, atomic_memory_order order = memory_order_conservative); |
76 |
77 |
80 inline void init_mark_raw(); |
81 inline void init_mark_raw(); |
81 |
82 |
82 inline Klass* klass() const; |
83 inline Klass* klass() const; |
83 inline Klass* klass_or_null() const volatile; |
84 inline Klass* klass_or_null() const volatile; |
84 inline Klass* klass_or_null_acquire() const volatile; |
85 inline Klass* klass_or_null_acquire() const volatile; |
|
86 static inline Klass** klass_addr(HeapWord* mem); |
|
87 static inline narrowKlass* compressed_klass_addr(HeapWord* mem); |
85 inline Klass** klass_addr(); |
88 inline Klass** klass_addr(); |
86 inline narrowKlass* compressed_klass_addr(); |
89 inline narrowKlass* compressed_klass_addr(); |
87 |
90 |
88 inline void set_klass(Klass* k); |
91 inline void set_klass(Klass* k); |
89 inline void release_set_klass(Klass* k); |
92 static inline void release_set_klass(HeapWord* mem, Klass* klass); |
90 |
93 |
91 // For klass field compression |
94 // For klass field compression |
92 inline int klass_gap() const; |
95 inline int klass_gap() const; |
93 inline void set_klass_gap(int z); |
96 inline void set_klass_gap(int z); |
|
97 static inline void set_klass_gap(HeapWord* mem, int z); |
94 // For when the klass pointer is being used as a linked list "next" field. |
98 // For when the klass pointer is being used as a linked list "next" field. |
95 inline void set_klass_to_list_ptr(oop k); |
99 inline void set_klass_to_list_ptr(oop k); |
96 inline oop list_ptr_from_klass(); |
100 inline oop list_ptr_from_klass(); |
97 |
101 |
98 // size of object header, aligned to platform wordSize |
102 // size of object header, aligned to platform wordSize |