< 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 >