hotspot/src/share/vm/oops/instanceKlass.cpp
changeset 22920 dd3a135fca38
parent 22916 582da2ed4dfa
child 22929 cb114f3238ef
equal deleted inserted replaced
22919:4d686766ac23 22920:dd3a135fca38
  2709   nmethod* cur  = osr_nmethods_head();
  2709   nmethod* cur  = osr_nmethods_head();
  2710   int max_level = CompLevel_none;  // Find the max comp level excluding n
  2710   int max_level = CompLevel_none;  // Find the max comp level excluding n
  2711   Method* m = n->method();
  2711   Method* m = n->method();
  2712   // Search for match
  2712   // Search for match
  2713   while(cur != NULL && cur != n) {
  2713   while(cur != NULL && cur != n) {
  2714     if (TieredCompilation) {
  2714     if (TieredCompilation && m == cur->method()) {
  2715       // Find max level before n
  2715       // Find max level before n
  2716       max_level = MAX2(max_level, cur->comp_level());
  2716       max_level = MAX2(max_level, cur->comp_level());
  2717     }
  2717     }
  2718     last = cur;
  2718     last = cur;
  2719     cur = cur->osr_link();
  2719     cur = cur->osr_link();
  2731   n->set_osr_link(NULL);
  2731   n->set_osr_link(NULL);
  2732   if (TieredCompilation) {
  2732   if (TieredCompilation) {
  2733     cur = next;
  2733     cur = next;
  2734     while (cur != NULL) {
  2734     while (cur != NULL) {
  2735       // Find max level after n
  2735       // Find max level after n
  2736       max_level = MAX2(max_level, cur->comp_level());
  2736       if (m == cur->method()) {
       
  2737         max_level = MAX2(max_level, cur->comp_level());
       
  2738       }
  2737       cur = cur->osr_link();
  2739       cur = cur->osr_link();
  2738     }
  2740     }
  2739     m->set_highest_osr_comp_level(max_level);
  2741     m->set_highest_osr_comp_level(max_level);
  2740   }
  2742   }
  2741   // Remember to unlock again
  2743   // Remember to unlock again