src/hotspot/share/oops/oop.hpp
changeset 50882 80abf702eed8
parent 50800 6da12aa23b88
child 51268 4ac20e5f96ce
equal deleted inserted replaced
50881:a21cad3fa448 50882:80abf702eed8
    67   inline markOop  mark_raw()      const;
    67   inline markOop  mark_raw()      const;
    68   inline markOop* mark_addr_raw() const;
    68   inline markOop* mark_addr_raw() const;
    69 
    69 
    70   inline void set_mark(volatile markOop m);
    70   inline void set_mark(volatile markOop m);
    71   inline void set_mark_raw(volatile markOop m);
    71   inline void set_mark_raw(volatile markOop m);
       
    72   static inline void set_mark_raw(HeapWord* mem, markOop m);
    72 
    73 
    73   inline void release_set_mark(markOop m);
    74   inline void release_set_mark(markOop m);
    74   inline markOop cas_set_mark(markOop new_mark, markOop old_mark);
    75   inline markOop cas_set_mark(markOop new_mark, markOop old_mark);
    75   inline markOop cas_set_mark_raw(markOop new_mark, markOop old_mark, atomic_memory_order order = memory_order_conservative);
    76   inline markOop cas_set_mark_raw(markOop new_mark, markOop old_mark, atomic_memory_order order = memory_order_conservative);
    76 
    77 
    80   inline void init_mark_raw();
    81   inline void init_mark_raw();
    81 
    82 
    82   inline Klass* klass() const;
    83   inline Klass* klass() const;
    83   inline Klass* klass_or_null() const volatile;
    84   inline Klass* klass_or_null() const volatile;
    84   inline Klass* klass_or_null_acquire() 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);
    85   inline Klass** klass_addr();
    88   inline Klass** klass_addr();
    86   inline narrowKlass* compressed_klass_addr();
    89   inline narrowKlass* compressed_klass_addr();
    87 
    90 
    88   inline void set_klass(Klass* k);
    91   inline void set_klass(Klass* k);
    89   inline void release_set_klass(Klass* k);
    92   static inline void release_set_klass(HeapWord* mem, Klass* klass);
    90 
    93 
    91   // For klass field compression
    94   // For klass field compression
    92   inline int klass_gap() const;
    95   inline int klass_gap() const;
    93   inline void set_klass_gap(int z);
    96   inline void set_klass_gap(int z);
       
    97   static inline void set_klass_gap(HeapWord* mem, int z);
    94   // For when the klass pointer is being used as a linked list "next" field.
    98   // For when the klass pointer is being used as a linked list "next" field.
    95   inline void set_klass_to_list_ptr(oop k);
    99   inline void set_klass_to_list_ptr(oop k);
    96   inline oop list_ptr_from_klass();
   100   inline oop list_ptr_from_klass();
    97 
   101 
    98   // size of object header, aligned to platform wordSize
   102   // size of object header, aligned to platform wordSize