Mercurial > hg > truffle
comparison src/share/vm/oops/oop.hpp @ 167:feeb96a45707
6696264: assert("narrow oop can never be zero") for GCBasher & ParNewGC
Summary: decouple set_klass() with zeroing the gap when compressed.
Reviewed-by: kvn, ysr, jrose
author | coleenp |
---|---|
date | Wed, 28 May 2008 21:06:24 -0700 |
parents | b7268662a986 |
children | d1605aabd0a1 6aae2f9d0294 |
comparison
equal
deleted
inserted
replaced
166:aaa1137c5ef4 | 167:feeb96a45707 |
---|---|
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; } |