8188220: Remove Atomic::*_ptr() uses and overloads from hotspot

With the new template functions these are unnecessary.

Reviewed-by: kbarrett, dholmes, eosterlund
This commit is contained in:
Coleen Phillimore 2017-10-16 22:36:06 -04:00
parent cb9e7bf51a
commit 39b068db11
83 changed files with 376 additions and 458 deletions

View file

@ -444,6 +444,11 @@ MethodCounters* Method::build_method_counters(Method* m, TRAPS) {
return mh->method_counters();
}
bool Method::init_method_counters(MethodCounters* counters) {
// Try to install a pointer to MethodCounters, return true on success.
return Atomic::cmpxchg(counters, &_method_counters, (MethodCounters*)NULL) == NULL;
}
void Method::cleanup_inline_caches() {
// The current system doesn't use inline caches in the interpreter
// => nothing to do (keep this method around for future use)
@ -1108,8 +1113,8 @@ void Method::restore_unshareable_info(TRAPS) {
}
}
volatile address Method::from_compiled_entry_no_trampoline() const {
nmethod *code = (nmethod *)OrderAccess::load_ptr_acquire(&_code);
address Method::from_compiled_entry_no_trampoline() const {
CompiledMethod *code = OrderAccess::load_acquire(&_code);
if (code) {
return code->verified_entry_point();
} else {
@ -1135,7 +1140,7 @@ address Method::verified_code_entry() {
// Not inline to avoid circular ref.
bool Method::check_code() const {
// cached in a register or local. There's a race on the value of the field.
CompiledMethod *code = (CompiledMethod *)OrderAccess::load_ptr_acquire(&_code);
CompiledMethod *code = OrderAccess::load_acquire(&_code);
return code == NULL || (code->method() == NULL) || (code->method() == (Method*)this && !code->is_osr_method());
}