mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-18 01:54:47 +02:00
8204524: Unnecessary memory barriers in G1ParScanThreadState::copy_to_survivor_space
Reviewed-by: kbarrett, mdoerr, drwhite, tschatzl
This commit is contained in:
parent
84eec7f854
commit
4641ea7bed
3 changed files with 5 additions and 5 deletions
|
@ -352,7 +352,7 @@ bool oopDesc::cas_forward_to(oop p, markOop compare, atomic_memory_order order)
|
|||
return cas_set_mark_raw(m, compare, order) == compare;
|
||||
}
|
||||
|
||||
oop oopDesc::forward_to_atomic(oop p) {
|
||||
oop oopDesc::forward_to_atomic(oop p, atomic_memory_order order) {
|
||||
markOop oldMark = mark_raw();
|
||||
markOop forwardPtrMark = markOopDesc::encode_pointer_as_mark(p);
|
||||
markOop curMark;
|
||||
|
@ -361,7 +361,7 @@ oop oopDesc::forward_to_atomic(oop p) {
|
|||
assert(sizeof(markOop) == sizeof(intptr_t), "CAS below requires this.");
|
||||
|
||||
while (!oldMark->is_marked()) {
|
||||
curMark = cas_set_mark_raw(forwardPtrMark, oldMark);
|
||||
curMark = cas_set_mark_raw(forwardPtrMark, oldMark, order);
|
||||
assert(is_forwarded(), "object should have been forwarded");
|
||||
if (curMark == oldMark) {
|
||||
return NULL;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue