comparison src/share/vm/runtime/simpleThresholdPolicy.cpp @ 1966:4110c3e0c50d

Merge
author iveresov
date Fri, 19 Nov 2010 17:01:34 -0800
parents 22ef3370343b
children f95d63e2154a
comparison
equal deleted inserted replaced
1962:0be53e62c06c 1966:4110c3e0c50d
174 level = (CompLevel)TieredStopAtLevel; 174 level = (CompLevel)TieredStopAtLevel;
175 } 175 }
176 if (level == CompLevel_none) { 176 if (level == CompLevel_none) {
177 return; 177 return;
178 } 178 }
179 // Check if the method can be compiled, if not - try different levels. 179 // Check if the method can be compiled. If it cannot be compiled with C1, continue profiling
180 // in the interpreter and then compile with C2 (the transition function will request that,
181 // see common() ). If the method cannot be compiled with C2 but still can with C1, compile it with
182 // pure C1.
180 if (!can_be_compiled(mh, level)) { 183 if (!can_be_compiled(mh, level)) {
181 if (level < CompLevel_full_optimization && can_be_compiled(mh, CompLevel_full_optimization)) {
182 compile(mh, bci, CompLevel_full_optimization, THREAD);
183 }
184 if (level == CompLevel_full_optimization && can_be_compiled(mh, CompLevel_simple)) { 184 if (level == CompLevel_full_optimization && can_be_compiled(mh, CompLevel_simple)) {
185 compile(mh, bci, CompLevel_simple, THREAD); 185 compile(mh, bci, CompLevel_simple, THREAD);
186 } 186 }
187 return; 187 return;
188 } 188 }