< prev index next >

src/hotspot/share/oops/oop.hpp

Print this page




  71   inline void set_mark_raw(volatile markOop m);
  72   static inline void set_mark_raw(HeapWord* mem, markOop m);
  73 
  74   inline void release_set_mark(markOop m);
  75   inline markOop cas_set_mark(markOop new_mark, markOop old_mark);
  76   inline markOop cas_set_mark_raw(markOop new_mark, markOop old_mark, atomic_memory_order order = memory_order_conservative);
  77 
  78   // Used only to re-initialize the mark word (e.g., of promoted
  79   // objects during a GC) -- requires a valid klass pointer
  80   inline void init_mark();
  81   inline void init_mark_raw();
  82 
  83   inline Klass* klass() const;
  84   inline Klass* klass_or_null() 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);
  88   inline Klass** klass_addr();
  89   inline narrowKlass* compressed_klass_addr();
  90 
  91   // oop only test (does not load klass)
  92   inline bool klass_is_value_type();
  93 
  94   inline void set_klass(Klass* k);
  95   static inline void release_set_klass(HeapWord* mem, Klass* klass);
  96 
  97   // For klass field compression
  98   inline int klass_gap() const;
  99   inline void set_klass_gap(int z);
 100   static inline void set_klass_gap(HeapWord* mem, int z);
 101   // For when the klass pointer is being used as a linked list "next" field.
 102   inline void set_klass_to_list_ptr(oop k);
 103   inline oop list_ptr_from_klass();
 104 
 105   // size of object header, aligned to platform wordSize
 106   static int header_size() { return sizeof(oopDesc)/HeapWordSize; }
 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
 112   inline int size();
 113 




  71   inline void set_mark_raw(volatile markOop m);
  72   static inline void set_mark_raw(HeapWord* mem, markOop m);
  73 
  74   inline void release_set_mark(markOop m);
  75   inline markOop cas_set_mark(markOop new_mark, markOop old_mark);
  76   inline markOop cas_set_mark_raw(markOop new_mark, markOop old_mark, atomic_memory_order order = memory_order_conservative);
  77 
  78   // Used only to re-initialize the mark word (e.g., of promoted
  79   // objects during a GC) -- requires a valid klass pointer
  80   inline void init_mark();
  81   inline void init_mark_raw();
  82 
  83   inline Klass* klass() const;
  84   inline Klass* klass_or_null() 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);
  88   inline Klass** klass_addr();
  89   inline narrowKlass* compressed_klass_addr();
  90 



  91   inline void set_klass(Klass* k);
  92   static inline void release_set_klass(HeapWord* mem, Klass* klass);
  93 
  94   // For klass field compression
  95   inline int klass_gap() const;
  96   inline void set_klass_gap(int z);
  97   static inline void set_klass_gap(HeapWord* mem, int z);
  98   // For when the klass pointer is being used as a linked list "next" field.
  99   inline void set_klass_to_list_ptr(oop k);
 100   inline oop list_ptr_from_klass();
 101 
 102   // size of object header, aligned to platform wordSize
 103   static int header_size() { return sizeof(oopDesc)/HeapWordSize; }
 104 
 105   // Returns whether this is an instance of k or an instance of a subclass of k
 106   inline bool is_a(Klass* k) const;
 107 
 108   // Returns the actual oop size of the object
 109   inline int size();
 110 


< prev index next >