src/share/vm/oops/instanceKlass.cpp
Print this page
*** 2763,2773 ****
nmethod* cur = osr_nmethods_head();
int max_level = CompLevel_none; // Find the max comp level excluding n
Method* m = n->method();
// Search for match
while(cur != NULL && cur != n) {
! if (TieredCompilation) {
// Find max level before n
max_level = MAX2(max_level, cur->comp_level());
}
last = cur;
cur = cur->osr_link();
--- 2763,2773 ----
nmethod* cur = osr_nmethods_head();
int max_level = CompLevel_none; // Find the max comp level excluding n
Method* m = n->method();
// Search for match
while(cur != NULL && cur != n) {
! if (TieredCompilation && m == cur->method()) {
// Find max level before n
max_level = MAX2(max_level, cur->comp_level());
}
last = cur;
cur = cur->osr_link();
*** 2785,2795 ****
--- 2785,2797 ----
n->set_osr_link(NULL);
if (TieredCompilation) {
cur = next;
while (cur != NULL) {
// Find max level after n
+ if (m == cur->method()) {
max_level = MAX2(max_level, cur->comp_level());
+ }
cur = cur->osr_link();
}
m->set_highest_osr_comp_level(max_level);
}
// Remember to unlock again