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