src/share/vm/oops/method.hpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
hs-comp Cdiff src/share/vm/oops/method.hpp
src/share/vm/oops/method.hpp
Print this page
*** 332,345 ****
MethodCounters* method_counters() const {
return _method_counters;
}
void set_method_counters(MethodCounters* counters) {
! // The store into method must be released. On platforms without
! // total store order (TSO) the reference may become visible before
! // the initialization of data otherwise.
! OrderAccess::release_store_ptr((volatile void *)&_method_counters, counters);
}
#ifdef TIERED
// We are reusing interpreter_invocation_count as a holder for the previous event count!
// We can do that since interpreter_invocation_count is not used in tiered.
--- 332,347 ----
MethodCounters* method_counters() const {
return _method_counters;
}
void set_method_counters(MethodCounters* counters) {
! _method_counters = counters;
! }
!
! bool init_method_counters(MethodCounters* counters) {
! // Try to install a pointer to MethodCounters, return true on success.
! return Atomic::cmpxchg_ptr(counters, (volatile void*)&_method_counters, NULL) == NULL;
}
#ifdef TIERED
// We are reusing interpreter_invocation_count as a holder for the previous event count!
// We can do that since interpreter_invocation_count is not used in tiered.
src/share/vm/oops/method.hpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File