< prev index next >
src/hotspot/share/code/nmethod.cpp
Print this page
@@ -313,11 +313,11 @@
ExceptionCache* ExceptionCache::next() {
return Atomic::load(&_next);
}
void ExceptionCache::set_next(ExceptionCache *ec) {
- Atomic::store(ec, &_next);
+ Atomic::store(&_next, ec);
}
//-----------------------------------------------------------------------------
@@ -1148,11 +1148,11 @@
signed char old_state = Atomic::load(&_state);
if (old_state >= new_state) {
// Ensure monotonicity of transitions.
return false;
}
- if (Atomic::cmpxchg(new_state, &_state, old_state) == old_state) {
+ if (Atomic::cmpxchg(&_state, old_state, new_state) == old_state) {
return true;
}
}
}
@@ -1847,11 +1847,11 @@
bool nmethod::oops_do_try_claim_weak_request() {
assert(SafepointSynchronize::is_at_safepoint(), "only at safepoint");
if ((_oops_do_mark_link == NULL) &&
- (Atomic::replace_if_null(mark_link(this, claim_weak_request_tag), &_oops_do_mark_link))) {
+ (Atomic::replace_if_null(&_oops_do_mark_link, mark_link(this, claim_weak_request_tag)))) {
oops_do_log_change("oops_do, mark weak request");
return true;
}
return false;
}
@@ -1861,33 +1861,33 @@
}
nmethod::oops_do_mark_link* nmethod::oops_do_try_claim_strong_done() {
assert(SafepointSynchronize::is_at_safepoint(), "only at safepoint");
- oops_do_mark_link* old_next = Atomic::cmpxchg(mark_link(this, claim_strong_done_tag), &_oops_do_mark_link, mark_link(NULL, claim_weak_request_tag));
+ oops_do_mark_link* old_next = Atomic::cmpxchg(&_oops_do_mark_link, mark_link(NULL, claim_weak_request_tag), mark_link(this, claim_strong_done_tag));
if (old_next == NULL) {
oops_do_log_change("oops_do, mark strong done");
}
return old_next;
}
nmethod::oops_do_mark_link* nmethod::oops_do_try_add_strong_request(nmethod::oops_do_mark_link* next) {
assert(SafepointSynchronize::is_at_safepoint(), "only at safepoint");
assert(next == mark_link(this, claim_weak_request_tag), "Should be claimed as weak");
- oops_do_mark_link* old_next = Atomic::cmpxchg(mark_link(this, claim_strong_request_tag), &_oops_do_mark_link, next);
+ oops_do_mark_link* old_next = Atomic::cmpxchg(&_oops_do_mark_link, next, mark_link(this, claim_strong_request_tag));
if (old_next == next) {
oops_do_log_change("oops_do, mark strong request");
}
return old_next;
}
bool nmethod::oops_do_try_claim_weak_done_as_strong_done(nmethod::oops_do_mark_link* next) {
assert(SafepointSynchronize::is_at_safepoint(), "only at safepoint");
assert(extract_state(next) == claim_weak_done_tag, "Should be claimed as weak done");
- oops_do_mark_link* old_next = Atomic::cmpxchg(mark_link(extract_nmethod(next), claim_strong_done_tag), &_oops_do_mark_link, next);
+ oops_do_mark_link* old_next = Atomic::cmpxchg(&_oops_do_mark_link, next, mark_link(extract_nmethod(next), claim_strong_done_tag));
if (old_next == next) {
oops_do_log_change("oops_do, mark weak done -> mark strong done");
return true;
}
return false;
@@ -1898,28 +1898,28 @@
assert(extract_state(_oops_do_mark_link) == claim_weak_request_tag ||
extract_state(_oops_do_mark_link) == claim_strong_request_tag,
"must be but is nmethod " PTR_FORMAT " %u", p2i(extract_nmethod(_oops_do_mark_link)), extract_state(_oops_do_mark_link));
- nmethod* old_head = Atomic::xchg(this, &_oops_do_mark_nmethods);
+ nmethod* old_head = Atomic::xchg(&_oops_do_mark_nmethods, this);
// Self-loop if needed.
if (old_head == NULL) {
old_head = this;
}
// Try to install end of list and weak done tag.
- if (Atomic::cmpxchg(mark_link(old_head, claim_weak_done_tag), &_oops_do_mark_link, mark_link(this, claim_weak_request_tag)) == mark_link(this, claim_weak_request_tag)) {
+ if (Atomic::cmpxchg(&_oops_do_mark_link, mark_link(this, claim_weak_request_tag), mark_link(old_head, claim_weak_done_tag)) == mark_link(this, claim_weak_request_tag)) {
oops_do_log_change("oops_do, mark weak done");
return NULL;
} else {
return old_head;
}
}
void nmethod::oops_do_add_to_list_as_strong_done() {
assert(SafepointSynchronize::is_at_safepoint(), "only at safepoint");
- nmethod* old_head = Atomic::xchg(this, &_oops_do_mark_nmethods);
+ nmethod* old_head = Atomic::xchg(&_oops_do_mark_nmethods, this);
// Self-loop if needed.
if (old_head == NULL) {
old_head = this;
}
assert(_oops_do_mark_link == mark_link(this, claim_strong_done_tag), "must be but is nmethod " PTR_FORMAT " state %u",
< prev index next >