--- old/src/hotspot/share/oops/oop.hpp 2018-03-25 12:59:33.349749991 +0200 +++ new/src/hotspot/share/oops/oop.hpp 2018-03-25 12:59:33.131752941 +0200 @@ -63,17 +63,21 @@ } _metadata; public: - markOop mark() const; - markOop* mark_addr() const; + inline markOop mark() const; + inline markOop mark_raw() const; + inline markOop* mark_addr_raw() const; - void set_mark(volatile markOop m); + inline void set_mark(volatile markOop m); + inline void set_mark_raw(volatile markOop m); inline void release_set_mark(markOop m); inline markOop cas_set_mark(markOop new_mark, markOop old_mark); + inline markOop cas_set_mark_raw(markOop new_mark, markOop old_mark); // Used only to re-initialize the mark word (e.g., of promoted // objects during a GC) -- requires a valid klass pointer inline void init_mark(); + inline void init_mark_raw(); inline Klass* klass() const; inline Klass* klass_or_null() const volatile; @@ -273,6 +277,7 @@ inline bool is_locked() const; inline bool is_unlocked() const; inline bool has_bias_pattern() const; + inline bool has_bias_pattern_raw() const; // asserts and guarantees static bool is_oop(oop obj, bool ignore_mark_word = false); @@ -357,9 +362,9 @@ unsigned int new_hash(juint seed); // marks are forwarded to stack when object is locked - inline bool has_displaced_mark() const; - inline markOop displaced_mark() const; - inline void set_displaced_mark(markOop m); + inline bool has_displaced_mark_raw() const; + inline markOop displaced_mark_raw() const; + inline void set_displaced_mark_raw(markOop m); static bool has_klass_gap();