< prev index next >

src/share/vm/oops/oop.hpp

Print this page
rev 11973 : [mq]: overflow_list_3_1


  75   void set_mark(volatile markOop m) { _mark = m; }
  76 
  77   inline void release_set_mark(markOop m);
  78   inline markOop cas_set_mark(markOop new_mark, markOop old_mark);
  79 
  80   // Used only to re-initialize the mark word (e.g., of promoted
  81   // objects during a GC) -- requires a valid klass pointer
  82   inline void init_mark();
  83 
  84   inline Klass* klass() const;
  85   inline Klass* klass_or_null() const volatile;
  86   inline Klass** klass_addr();
  87   inline narrowKlass* compressed_klass_addr();
  88 
  89   inline void set_klass(Klass* k);
  90 
  91   // For klass field compression
  92   inline int klass_gap() const;
  93   inline void set_klass_gap(int z);
  94   // For when the klass pointer is being used as a linked list "next" field.
  95   inline void set_klass_to_list_ptr(oop k);
  96   inline oop list_ptr_from_klass();
  97 
  98   // size of object header, aligned to platform wordSize
  99   static int header_size() { return sizeof(oopDesc)/HeapWordSize; }
 100 
 101   // Returns whether this is an instance of k or an instance of a subclass of k
 102   inline bool is_a(Klass* k) const;
 103 
 104   // Returns the actual oop size of the object
 105   inline int size();
 106 
 107   // Sometimes (for complicated concurrency-related reasons), it is useful
 108   // to be able to figure out the size of an object knowing its klass.
 109   inline int size_given_klass(Klass* klass);
 110 
 111   // type test operations (inlined in oop.inline.hpp)
 112   inline bool is_instance()            const;
 113   inline bool is_array()               const;
 114   inline bool is_objArray()            const;
 115   inline bool is_typeArray()           const;
 116 




  75   void set_mark(volatile markOop m) { _mark = m; }
  76 
  77   inline void release_set_mark(markOop m);
  78   inline markOop cas_set_mark(markOop new_mark, markOop old_mark);
  79 
  80   // Used only to re-initialize the mark word (e.g., of promoted
  81   // objects during a GC) -- requires a valid klass pointer
  82   inline void init_mark();
  83 
  84   inline Klass* klass() const;
  85   inline Klass* klass_or_null() const volatile;
  86   inline Klass** klass_addr();
  87   inline narrowKlass* compressed_klass_addr();
  88 
  89   inline void set_klass(Klass* k);
  90 
  91   // For klass field compression
  92   inline int klass_gap() const;
  93   inline void set_klass_gap(int z);
  94   // For when the klass pointer is being used as a linked list "next" field.
  95   inline void set_klass_to_list_ptr(oopDesc* k);
  96   inline oopDesc* list_ptr_from_klass();
  97 
  98   // size of object header, aligned to platform wordSize
  99   static int header_size() { return sizeof(oopDesc)/HeapWordSize; }
 100 
 101   // Returns whether this is an instance of k or an instance of a subclass of k
 102   inline bool is_a(Klass* k) const;
 103 
 104   // Returns the actual oop size of the object
 105   inline int size();
 106 
 107   // Sometimes (for complicated concurrency-related reasons), it is useful
 108   // to be able to figure out the size of an object knowing its klass.
 109   inline int size_given_klass(Klass* klass);
 110 
 111   // type test operations (inlined in oop.inline.hpp)
 112   inline bool is_instance()            const;
 113   inline bool is_array()               const;
 114   inline bool is_objArray()            const;
 115   inline bool is_typeArray()           const;
 116 


< prev index next >