src/share/vm/oops/method.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/oops/method.hpp	Fri Sep 19 11:48:31 2014
--- new/src/share/vm/oops/method.hpp	Fri Sep 19 11:48:31 2014

*** 363,377 **** --- 363,379 ---- 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); ! void clear_method_counters() { + _method_counters = NULL; + } + + 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