mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-17 17:44:40 +02:00
Merge
This commit is contained in:
commit
c76b282388
133 changed files with 3255 additions and 1442 deletions
|
@ -94,7 +94,7 @@ void oopDesc::release_set_mark(markOop m) {
|
|||
}
|
||||
|
||||
markOop oopDesc::cas_set_mark(markOop new_mark, markOop old_mark) {
|
||||
return (markOop) Atomic::cmpxchg_ptr(new_mark, &_mark, old_mark);
|
||||
return Atomic::cmpxchg(new_mark, &_mark, old_mark);
|
||||
}
|
||||
|
||||
void oopDesc::init_mark() {
|
||||
|
@ -408,14 +408,14 @@ oop oopDesc::atomic_compare_exchange_oop(oop exchange_value,
|
|||
narrowOop val = encode_heap_oop(exchange_value);
|
||||
narrowOop cmp = encode_heap_oop(compare_value);
|
||||
|
||||
narrowOop old = (narrowOop) Atomic::cmpxchg(val, (narrowOop*)dest, cmp);
|
||||
narrowOop old = Atomic::cmpxchg(val, (narrowOop*)dest, cmp);
|
||||
// decode old from T to oop
|
||||
return decode_heap_oop(old);
|
||||
} else {
|
||||
if (prebarrier) {
|
||||
update_barrier_set_pre((oop*)dest, exchange_value);
|
||||
}
|
||||
return (oop)Atomic::cmpxchg_ptr(exchange_value, (oop*)dest, compare_value);
|
||||
return Atomic::cmpxchg(exchange_value, (oop*)dest, compare_value);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -584,7 +584,7 @@ oop oopDesc::forward_to_atomic(oop p) {
|
|||
assert(sizeof(markOop) == sizeof(intptr_t), "CAS below requires this.");
|
||||
|
||||
while (!oldMark->is_marked()) {
|
||||
curMark = (markOop)Atomic::cmpxchg_ptr(forwardPtrMark, &_mark, oldMark);
|
||||
curMark = Atomic::cmpxchg(forwardPtrMark, &_mark, oldMark);
|
||||
assert(is_forwarded(), "object should have been forwarded");
|
||||
if (curMark == oldMark) {
|
||||
return NULL;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue