303 }; |
303 }; |
304 |
304 |
305 void LateInlineCallGenerator::do_late_inline() { |
305 void LateInlineCallGenerator::do_late_inline() { |
306 // Can't inline it |
306 // Can't inline it |
307 if (call_node() == NULL || call_node()->outcnt() == 0 || |
307 if (call_node() == NULL || call_node()->outcnt() == 0 || |
308 call_node()->in(0) == NULL || call_node()->in(0)->is_top()) |
308 call_node()->in(0) == NULL || call_node()->in(0)->is_top()) { |
309 return; |
309 return; |
310 |
310 } |
|
311 |
|
312 const TypeTuple *r = call_node()->tf()->domain(); |
311 for (int i1 = 0; i1 < method()->arg_size(); i1++) { |
313 for (int i1 = 0; i1 < method()->arg_size(); i1++) { |
312 if (call_node()->in(TypeFunc::Parms + i1)->is_top()) { |
314 if (call_node()->in(TypeFunc::Parms + i1)->is_top() && r->field_at(TypeFunc::Parms + i1) != Type::HALF) { |
313 assert(Compile::current()->inlining_incrementally(), "shouldn't happen during parsing"); |
315 assert(Compile::current()->inlining_incrementally(), "shouldn't happen during parsing"); |
314 return; |
316 return; |
315 } |
317 } |
316 } |
318 } |
317 |
319 |