Mercurial > hg > graal-compiler
comparison src/share/vm/opto/bytecodeInfo.cpp @ 1783:d5d065957597
6953144: Tiered compilation
Summary: Infrastructure for tiered compilation support (interpreter + c1 + c2) for 32 and 64 bit. Simple tiered policy implementation.
Reviewed-by: kvn, never, phh, twisti
author | iveresov |
---|---|
date | Fri, 03 Sep 2010 17:51:07 -0700 |
parents | e9ff18c4ace7 |
children | f95d63e2154a |
comparison
equal
deleted
inserted
replaced
1782:f353275af40e | 1783:d5d065957597 |
---|---|
138 tty->cr(); | 138 tty->cr(); |
139 } | 139 } |
140 } else { | 140 } else { |
141 // Not hot. Check for medium-sized pre-existing nmethod at cold sites. | 141 // Not hot. Check for medium-sized pre-existing nmethod at cold sites. |
142 if (callee_method->has_compiled_code() && | 142 if (callee_method->has_compiled_code() && |
143 callee_method->instructions_size() > InlineSmallCode/4) | 143 callee_method->instructions_size(CompLevel_full_optimization) > InlineSmallCode/4) |
144 return "already compiled into a medium method"; | 144 return "already compiled into a medium method"; |
145 } | 145 } |
146 if (size > max_size) { | 146 if (size > max_size) { |
147 if (max_size > C->max_inline_size()) | 147 if (max_size > C->max_inline_size()) |
148 return "hot method too big"; | 148 return "hot method too big"; |
178 if (!top_method->holder()->is_subclass_of(C->env()->Throwable_klass())) { | 178 if (!top_method->holder()->is_subclass_of(C->env()->Throwable_klass())) { |
179 wci_result->set_profit(wci_result->profit() * 0.1); | 179 wci_result->set_profit(wci_result->profit() * 0.1); |
180 } | 180 } |
181 } | 181 } |
182 | 182 |
183 if (callee_method->has_compiled_code() && callee_method->instructions_size() > InlineSmallCode) { | 183 if (callee_method->has_compiled_code() && callee_method->instructions_size(CompLevel_full_optimization) > InlineSmallCode) { |
184 wci_result->set_profit(wci_result->profit() * 0.1); | 184 wci_result->set_profit(wci_result->profit() * 0.1); |
185 // %%% adjust wci_result->size()? | 185 // %%% adjust wci_result->size()? |
186 } | 186 } |
187 | 187 |
188 return NULL; | 188 return NULL; |
204 return NULL; | 204 return NULL; |
205 } | 205 } |
206 | 206 |
207 // Now perform checks which are heuristic | 207 // Now perform checks which are heuristic |
208 | 208 |
209 if( callee_method->has_compiled_code() && callee_method->instructions_size() > InlineSmallCode ) | 209 if( callee_method->has_compiled_code() && callee_method->instructions_size(CompLevel_full_optimization) > InlineSmallCode ) |
210 return "already compiled into a big method"; | 210 return "already compiled into a big method"; |
211 | 211 |
212 // don't inline exception code unless the top method belongs to an | 212 // don't inline exception code unless the top method belongs to an |
213 // exception class | 213 // exception class |
214 if (caller_tree() != NULL && | 214 if (caller_tree() != NULL && |