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; }