hotspot/src/share/vm/opto/bytecodeInfo.cpp
changeset 10514 e229a19078cf
parent 10509 43d670e5701e
child 10547 ea4a2ec31ae2
equal deleted inserted replaced
10511:22b3580bd8bb 10514:e229a19078cf
   139     ciMethodData* mdo = method()->method_data();
   139     ciMethodData* mdo = method()->method_data();
   140     ciProfileData* mha_profile = mdo->bci_to_data(caller_bci);
   140     ciProfileData* mha_profile = mdo->bci_to_data(caller_bci);
   141     assert(mha_profile, "must exist");
   141     assert(mha_profile, "must exist");
   142     CounterData* cd = mha_profile->as_CounterData();
   142     CounterData* cd = mha_profile->as_CounterData();
   143     invoke_count = cd->count();
   143     invoke_count = cd->count();
   144     call_site_count = invoke_count;  // use the same value
   144     if (invoke_count == 0) {
       
   145       return "method handle not reached";
       
   146     }
       
   147 
       
   148     if (_caller_jvms != NULL && _caller_jvms->method() != NULL &&
       
   149         _caller_jvms->method()->method_data() != NULL &&
       
   150         !_caller_jvms->method()->method_data()->is_empty()) {
       
   151       ciMethodData* mdo = _caller_jvms->method()->method_data();
       
   152       ciProfileData* mha_profile = mdo->bci_to_data(_caller_jvms->bci());
       
   153       assert(mha_profile, "must exist");
       
   154       CounterData* cd = mha_profile->as_CounterData();
       
   155       call_site_count = cd->count();
       
   156     } else {
       
   157       call_site_count = invoke_count;  // use the same value
       
   158     }
   145   }
   159   }
   146 
   160 
   147   assert(invoke_count != 0, "require invocation count greater than zero");
   161   assert(invoke_count != 0, "require invocation count greater than zero");
   148   int freq = call_site_count / invoke_count;
   162   int freq = call_site_count / invoke_count;
   149 
   163