equal
deleted
inserted
replaced
2197 |
2197 |
2198 void InstanceKlass::clean_method_data(BoolObjectClosure* is_alive) { |
2198 void InstanceKlass::clean_method_data(BoolObjectClosure* is_alive) { |
2199 for (int m = 0; m < methods()->length(); m++) { |
2199 for (int m = 0; m < methods()->length(); m++) { |
2200 MethodData* mdo = methods()->at(m)->method_data(); |
2200 MethodData* mdo = methods()->at(m)->method_data(); |
2201 if (mdo != NULL) { |
2201 if (mdo != NULL) { |
2202 for (ProfileData* data = mdo->first_data(); |
2202 mdo->clean_method_data(is_alive); |
2203 mdo->is_valid(data); |
|
2204 data = mdo->next_data(data)) { |
|
2205 data->clean_weak_klass_links(is_alive); |
|
2206 } |
|
2207 ParametersTypeData* parameters = mdo->parameters_type_data(); |
|
2208 if (parameters != NULL) { |
|
2209 parameters->clean_weak_klass_links(is_alive); |
|
2210 } |
|
2211 } |
2203 } |
2212 } |
2204 } |
2213 } |
2205 } |
2214 |
2206 |
2215 |
2207 |
2724 nmethod* cur = osr_nmethods_head(); |
2716 nmethod* cur = osr_nmethods_head(); |
2725 int max_level = CompLevel_none; // Find the max comp level excluding n |
2717 int max_level = CompLevel_none; // Find the max comp level excluding n |
2726 Method* m = n->method(); |
2718 Method* m = n->method(); |
2727 // Search for match |
2719 // Search for match |
2728 while(cur != NULL && cur != n) { |
2720 while(cur != NULL && cur != n) { |
2729 if (TieredCompilation) { |
2721 if (TieredCompilation && m == cur->method()) { |
2730 // Find max level before n |
2722 // Find max level before n |
2731 max_level = MAX2(max_level, cur->comp_level()); |
2723 max_level = MAX2(max_level, cur->comp_level()); |
2732 } |
2724 } |
2733 last = cur; |
2725 last = cur; |
2734 cur = cur->osr_link(); |
2726 cur = cur->osr_link(); |
2746 n->set_osr_link(NULL); |
2738 n->set_osr_link(NULL); |
2747 if (TieredCompilation) { |
2739 if (TieredCompilation) { |
2748 cur = next; |
2740 cur = next; |
2749 while (cur != NULL) { |
2741 while (cur != NULL) { |
2750 // Find max level after n |
2742 // Find max level after n |
2751 max_level = MAX2(max_level, cur->comp_level()); |
2743 if (m == cur->method()) { |
|
2744 max_level = MAX2(max_level, cur->comp_level()); |
|
2745 } |
2752 cur = cur->osr_link(); |
2746 cur = cur->osr_link(); |
2753 } |
2747 } |
2754 m->set_highest_osr_comp_level(max_level); |
2748 m->set_highest_osr_comp_level(max_level); |
2755 } |
2749 } |
2756 // Remember to unlock again |
2750 // Remember to unlock again |