354 } 355 jlong prev_time() const { 356 return method_counters() == NULL ? 0 : method_counters()->prev_time(); 357 } 358 void set_prev_time(jlong time, TRAPS) { 359 MethodCounters* mcs = get_method_counters(CHECK); 360 if (mcs != NULL) { 361 mcs->set_prev_time(time); 362 } 363 } 364 float rate() const { 365 return method_counters() == NULL ? 0 : method_counters()->rate(); 366 } 367 void set_rate(float rate, TRAPS) { 368 MethodCounters* mcs = get_method_counters(CHECK); 369 if (mcs != NULL) { 370 mcs->set_rate(rate); 371 } 372 } 373 #endif 374 375 int invocation_count(); 376 int backedge_count(); 377 378 bool was_executed_more_than(int n); 379 bool was_never_executed() { return !was_executed_more_than(0); } 380 381 static void build_interpreter_method_data(methodHandle method, TRAPS); 382 383 static MethodCounters* build_method_counters(Method* m, TRAPS); 384 385 int interpreter_invocation_count() { 386 if (TieredCompilation) return invocation_count(); 387 else return (method_counters() == NULL) ? 0 : 388 method_counters()->interpreter_invocation_count(); 389 } 390 int increment_interpreter_invocation_count(TRAPS) { 391 if (TieredCompilation) ShouldNotReachHere(); 392 MethodCounters* mcs = get_method_counters(CHECK_0); 393 return (mcs == NULL) ? 0 : mcs->increment_interpreter_invocation_count(); | 354 } 355 jlong prev_time() const { 356 return method_counters() == NULL ? 0 : method_counters()->prev_time(); 357 } 358 void set_prev_time(jlong time, TRAPS) { 359 MethodCounters* mcs = get_method_counters(CHECK); 360 if (mcs != NULL) { 361 mcs->set_prev_time(time); 362 } 363 } 364 float rate() const { 365 return method_counters() == NULL ? 0 : method_counters()->rate(); 366 } 367 void set_rate(float rate, TRAPS) { 368 MethodCounters* mcs = get_method_counters(CHECK); 369 if (mcs != NULL) { 370 mcs->set_rate(rate); 371 } 372 } 373 #endif 374 int nmethod_age() const { 375 if (method_counters() == NULL) { 376 return INT_MAX; 377 } else { 378 return method_counters()->nmethod_age(); 379 } 380 } 381 382 int invocation_count(); 383 int backedge_count(); 384 385 bool was_executed_more_than(int n); 386 bool was_never_executed() { return !was_executed_more_than(0); } 387 388 static void build_interpreter_method_data(methodHandle method, TRAPS); 389 390 static MethodCounters* build_method_counters(Method* m, TRAPS); 391 392 int interpreter_invocation_count() { 393 if (TieredCompilation) return invocation_count(); 394 else return (method_counters() == NULL) ? 0 : 395 method_counters()->interpreter_invocation_count(); 396 } 397 int increment_interpreter_invocation_count(TRAPS) { 398 if (TieredCompilation) ShouldNotReachHere(); 399 MethodCounters* mcs = get_method_counters(CHECK_0); 400 return (mcs == NULL) ? 0 : mcs->increment_interpreter_invocation_count(); |