75 // Used only to re-initialize the mark word (e.g., of promoted |
75 // Used only to re-initialize the mark word (e.g., of promoted |
76 // objects during a GC) -- requires a valid klass pointer |
76 // objects during a GC) -- requires a valid klass pointer |
77 void init_mark(); |
77 void init_mark(); |
78 |
78 |
79 klassOop klass() const; |
79 klassOop klass() const; |
|
80 klassOop klass_or_null() const volatile; |
80 oop* klass_addr(); |
81 oop* klass_addr(); |
81 narrowOop* compressed_klass_addr(); |
82 narrowOop* compressed_klass_addr(); |
82 |
83 |
83 void set_klass(klassOop k); |
84 void set_klass(klassOop k); |
|
85 |
|
86 // For klass field compression |
|
87 int klass_gap() const; |
|
88 void set_klass_gap(int z); |
84 // For when the klass pointer is being used as a linked list "next" field. |
89 // For when the klass pointer is being used as a linked list "next" field. |
85 void set_klass_to_list_ptr(oop k); |
90 void set_klass_to_list_ptr(oop k); |
86 |
91 |
87 // size of object header, aligned to platform wordSize |
92 // size of object header, aligned to platform wordSize |
88 static int header_size() { return sizeof(oopDesc)/HeapWordSize; } |
93 static int header_size() { return sizeof(oopDesc)/HeapWordSize; } |