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 Mar  7 19:45:31 2014
--- new/src/share/vm/oops/method.hpp	Fri Mar  7 19:45:30 2014

*** 227,240 **** --- 227,241 ---- void clear_breakpoint(int bci); void clear_all_breakpoints(); // Tracking number of breakpoints, for fullspeed debugging. // Only mutated by VM thread. u2 number_of_breakpoints() const { if (method_counters() == NULL) { + MethodCounters* mcs = method_counters(); + if (mcs == NULL) { return 0; } else { ! return method_counters()->number_of_breakpoints(); ! return mcs->number_of_breakpoints(); } } void incr_number_of_breakpoints(TRAPS) { MethodCounters* mcs = get_method_counters(CHECK); if (mcs != NULL) {
*** 247,258 **** --- 248,260 ---- mcs->decr_number_of_breakpoints(); } } // Initialization only void clear_number_of_breakpoints() { if (method_counters() != NULL) { method_counters()->clear_number_of_breakpoints(); + MethodCounters* mcs = method_counters(); + if (mcs != NULL) { + mcs->clear_number_of_breakpoints(); } } // index into InstanceKlass methods() array // note: also used by jfr
*** 295,308 **** --- 297,311 ---- mcs->interpreter_throwout_increment(); } } int interpreter_throwout_count() const { if (method_counters() == NULL) { + MethodCounters* mcs = method_counters(); + if (mcs == NULL) { return 0; } else { ! return method_counters()->interpreter_throwout_count(); ! return mcs->interpreter_throwout_count(); } } // size of parameters int size_of_parameters() const { return constMethod()->size_of_parameters(); }
*** 373,402 **** --- 376,407 ---- return 0; } else { return method_counters()->interpreter_invocation_count(); } } ! void set_prev_event_count(int count, TRAPS) { ! MethodCounters* mcs = get_method_counters(CHECK); ! MethodCounters* mcs = method_counters(); if (mcs != NULL) { mcs->set_interpreter_invocation_count(count); } } jlong prev_time() const { ! return method_counters() == NULL ? 0 : method_counters()->prev_time(); ! MethodCounters* mcs = method_counters(); + return mcs == NULL ? 0 : mcs->prev_time(); } ! void set_prev_time(jlong time, TRAPS) { ! MethodCounters* mcs = get_method_counters(CHECK); ! MethodCounters* mcs = method_counters(); if (mcs != NULL) { mcs->set_prev_time(time); } } float rate() const { ! return method_counters() == NULL ? 0 : method_counters()->rate(); ! MethodCounters* mcs = method_counters(); + return mcs == NULL ? 0 : mcs->rate(); } - void set_rate(float rate, TRAPS) { ! MethodCounters* mcs = get_method_counters(CHECK); if (mcs != NULL) { mcs->set_rate(rate); } } #endif
*** 410,426 **** --- 415,434 ---- static void build_interpreter_method_data(methodHandle method, TRAPS); static MethodCounters* build_method_counters(Method* m, TRAPS); int interpreter_invocation_count() { ! if (TieredCompilation) return invocation_count(); else return (method_counters() == NULL) ? 0 : method_counters()->interpreter_invocation_count(); ! if (TieredCompilation) { + return invocation_count(); + } else { + MethodCounters* mcs = method_counters(); + return (mcs == NULL) ? 0 : mcs->interpreter_invocation_count(); + } } - int increment_interpreter_invocation_count(TRAPS) { if (TieredCompilation) ShouldNotReachHere(); ! MethodCounters* mcs = get_method_counters(CHECK_0); return (mcs == NULL) ? 0 : mcs->increment_interpreter_invocation_count(); } #ifndef PRODUCT int compiled_invocation_count() const { return _compiled_invocation_count; }

src/share/vm/oops/method.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File