--- a/hotspot/src/share/vm/oops/methodData.cpp Thu Apr 11 21:54:46 2013 -0700
+++ b/hotspot/src/share/vm/oops/methodData.cpp Mon Apr 15 21:25:23 2013 -0400
@@ -732,14 +732,17 @@
} else {
int iic = method->interpreter_invocation_count();
if (mileage < iic) mileage = iic;
- InvocationCounter* ic = method->invocation_counter();
- InvocationCounter* bc = method->backedge_counter();
- int icval = ic->count();
- if (ic->carry()) icval += CompileThreshold;
- if (mileage < icval) mileage = icval;
- int bcval = bc->count();
- if (bc->carry()) bcval += CompileThreshold;
- if (mileage < bcval) mileage = bcval;
+ MethodCounters* mcs = method->method_counters();
+ if (mcs != NULL) {
+ InvocationCounter* ic = mcs->invocation_counter();
+ InvocationCounter* bc = mcs->backedge_counter();
+ int icval = ic->count();
+ if (ic->carry()) icval += CompileThreshold;
+ if (mileage < icval) mileage = icval;
+ int bcval = bc->count();
+ if (bc->carry()) bcval += CompileThreshold;
+ if (mileage < bcval) mileage = bcval;
+ }
}
return mileage;
}