< prev index next >
src/share/vm/oops/oop.hpp
Print this page
rev 10933 : 8154736: enhancement of cmpxchg and copy_to_survivor for ppc64
Reviewed-by:
Contributed-by: HORII@jp.ibm.com, mdoerr
*** 28,37 ****
--- 28,38 ----
#include "gc/shared/specialized_oop_closures.hpp"
#include "memory/iterator.hpp"
#include "memory/memRegion.hpp"
#include "oops/metadata.hpp"
#include "utilities/macros.hpp"
+ #include "runtime/atomic.hpp"
// oopDesc is the top baseclass for objects classes. The {name}Desc classes describe
// the format of Java objects so the fields can be accessed from C++.
// oopDesc is abstract.
// (see oopHierarchy for complete oop class hierarchy)
*** 73,83 ****
markOop* mark_addr() const { return (markOop*) &_mark; }
void set_mark(volatile markOop m) { _mark = m; }
inline void release_set_mark(markOop m);
! inline markOop cas_set_mark(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();
--- 74,84 ----
markOop* mark_addr() const { return (markOop*) &_mark; }
void set_mark(volatile markOop m) { _mark = m; }
inline void release_set_mark(markOop m);
! inline markOop cas_set_mark(markOop new_mark, markOop old_mark, memory_order order = memory_order_seq_cst);
// 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();
*** 296,306 ****
// Forward pointer operations for scavenge
inline bool is_forwarded() const;
inline void forward_to(oop p);
! inline bool cas_forward_to(oop p, markOop compare);
#if INCLUDE_ALL_GCS
// Like "forward_to", but inserts the forwarding pointer atomically.
// Exactly one thread succeeds in inserting the forwarding pointer, and
// this call returns "NULL" for that thread; any other thread has the
--- 297,307 ----
// Forward pointer operations for scavenge
inline bool is_forwarded() const;
inline void forward_to(oop p);
! inline bool cas_forward_to(oop p, markOop compare, memory_order order = memory_order_seq_cst);
#if INCLUDE_ALL_GCS
// Like "forward_to", but inserts the forwarding pointer atomically.
// Exactly one thread succeeds in inserting the forwarding pointer, and
// this call returns "NULL" for that thread; any other thread has the
< prev index next >