< prev index next >

src/hotspot/share/oops/oop.hpp

Print this page

 73   static inline void release_set_mark(HeapWord* mem, markWord m);
 74 
 75   inline void release_set_mark(markWord m);
 76   inline markWord cas_set_mark(markWord new_mark, markWord old_mark);
 77   inline markWord cas_set_mark(markWord new_mark, markWord old_mark, atomic_memory_order order);
 78 
 79   // Returns the prototype mark that should be used for this object.
 80   inline markWord prototype_mark() const;
 81 
 82   // Used only to re-initialize the mark word (e.g., of promoted
 83   // objects during a GC) -- requires a valid klass pointer
 84   inline void init_mark();
 85 
 86   inline Klass* klass() const;
 87   inline Klass* klass_or_null() const;
 88   inline Klass* klass_or_null_acquire() const;
 89   // Get the klass without running any asserts.
 90   inline Klass* klass_without_asserts() const;
 91 
 92   void set_narrow_klass(narrowKlass nk) NOT_CDS_JAVA_HEAP_RETURN;

 93   inline void set_klass(Klass* k);
 94   static inline void release_set_klass(HeapWord* mem, Klass* k);
 95 
 96   // For klass field compression
 97   static inline void set_klass_gap(HeapWord* mem, int z);
 98 
 99   // Size of object header, aligned to platform wordSize
100   static int header_size() {
101     if (UseCompactObjectHeaders) {
102       return sizeof(markWord) / HeapWordSize;
103     } else {
104       return sizeof(oopDesc)  / HeapWordSize;
105     }
106   }
107 
108   // Returns whether this is an instance of k or an instance of a subclass of k
109   inline bool is_a(Klass* k) const;
110 
111   // Returns the actual oop size of the object in machine words
112   inline size_t size();

 73   static inline void release_set_mark(HeapWord* mem, markWord m);
 74 
 75   inline void release_set_mark(markWord m);
 76   inline markWord cas_set_mark(markWord new_mark, markWord old_mark);
 77   inline markWord cas_set_mark(markWord new_mark, markWord old_mark, atomic_memory_order order);
 78 
 79   // Returns the prototype mark that should be used for this object.
 80   inline markWord prototype_mark() const;
 81 
 82   // Used only to re-initialize the mark word (e.g., of promoted
 83   // objects during a GC) -- requires a valid klass pointer
 84   inline void init_mark();
 85 
 86   inline Klass* klass() const;
 87   inline Klass* klass_or_null() const;
 88   inline Klass* klass_or_null_acquire() const;
 89   // Get the klass without running any asserts.
 90   inline Klass* klass_without_asserts() const;
 91 
 92   void set_narrow_klass(narrowKlass nk) NOT_CDS_JAVA_HEAP_RETURN;
 93   inline narrowKlass narrow_klass() const;
 94   inline void set_klass(Klass* k);
 95   static inline void release_set_klass(HeapWord* mem, Klass* k);
 96 
 97   // For klass field compression
 98   static inline void set_klass_gap(HeapWord* mem, int z);
 99 
100   // Size of object header, aligned to platform wordSize
101   static int header_size() {
102     if (UseCompactObjectHeaders) {
103       return sizeof(markWord) / HeapWordSize;
104     } else {
105       return sizeof(oopDesc)  / HeapWordSize;
106     }
107   }
108 
109   // Returns whether this is an instance of k or an instance of a subclass of k
110   inline bool is_a(Klass* k) const;
111 
112   // Returns the actual oop size of the object in machine words
113   inline size_t size();
< prev index next >