< prev index next >

src/share/vm/opto/bytecodeInfo.cpp

Print this page




 479   if ( callee->is_native())                     return "native method";
 480   if ( callee->is_abstract())                   return "abstract method";
 481   if (!callee->can_be_compiled())               return "not compilable (disabled)";
 482   if (!callee->has_balanced_monitors())         return "not compilable (unbalanced monitors)";
 483   if ( callee->get_flow_analysis()->failing())  return "not compilable (flow analysis failed)";
 484   return NULL;
 485 }
 486 
 487 //------------------------------print_inlining---------------------------------
 488 void InlineTree::print_inlining(ciMethod* callee_method, int caller_bci,
 489                                 ciMethod* caller_method, bool success) const {
 490   const char* inline_msg = msg();
 491   assert(inline_msg != NULL, "just checking");
 492   if (C->log() != NULL) {
 493     if (success) {
 494       C->log()->inline_success(inline_msg);
 495     } else {
 496       C->log()->inline_fail(inline_msg);
 497     }
 498   }


 499   if (C->print_inlining()) {
 500     C->print_inlining(callee_method, inline_level(), caller_bci, inline_msg);
 501     if (callee_method == NULL) tty->print(" callee not monotonic or profiled");
 502     if (Verbose && callee_method) {
 503       const InlineTree *top = this;
 504       while( top->caller_tree() != NULL ) { top = top->caller_tree(); }
 505       //tty->print("  bcs: %d+%d  invoked: %d", top->count_inline_bcs(), callee_method->code_size(), callee_method->interpreter_invocation_count());
 506     }
 507   }
 508 #if INCLUDE_TRACE
 509   EventCompilerInlining event;
 510   if (event.should_commit()) {
 511     event.set_compileId(C->compile_id());
 512     event.set_message(inline_msg);
 513     event.set_succeeded(success);
 514     event.set_bci(caller_bci);
 515     event.set_caller(caller_method->get_Method());
 516     event.set_callee(callee_method->to_trace_struct());
 517     event.commit();
 518   }




 479   if ( callee->is_native())                     return "native method";
 480   if ( callee->is_abstract())                   return "abstract method";
 481   if (!callee->can_be_compiled())               return "not compilable (disabled)";
 482   if (!callee->has_balanced_monitors())         return "not compilable (unbalanced monitors)";
 483   if ( callee->get_flow_analysis()->failing())  return "not compilable (flow analysis failed)";
 484   return NULL;
 485 }
 486 
 487 //------------------------------print_inlining---------------------------------
 488 void InlineTree::print_inlining(ciMethod* callee_method, int caller_bci,
 489                                 ciMethod* caller_method, bool success) const {
 490   const char* inline_msg = msg();
 491   assert(inline_msg != NULL, "just checking");
 492   if (C->log() != NULL) {
 493     if (success) {
 494       C->log()->inline_success(inline_msg);
 495     } else {
 496       C->log()->inline_fail(inline_msg);
 497     }
 498   }
 499   CompileTask::print_inlining_ul(callee_method, inline_level(),
 500                                                caller_bci, inline_msg);
 501   if (C->print_inlining()) {
 502     C->print_inlining(callee_method, inline_level(), caller_bci, inline_msg);
 503     if (callee_method == NULL) tty->print(" callee not monotonic or profiled");
 504     if (Verbose && callee_method) {
 505       const InlineTree *top = this;
 506       while( top->caller_tree() != NULL ) { top = top->caller_tree(); }
 507       //tty->print("  bcs: %d+%d  invoked: %d", top->count_inline_bcs(), callee_method->code_size(), callee_method->interpreter_invocation_count());
 508     }
 509   }
 510 #if INCLUDE_TRACE
 511   EventCompilerInlining event;
 512   if (event.should_commit()) {
 513     event.set_compileId(C->compile_id());
 514     event.set_message(inline_msg);
 515     event.set_succeeded(success);
 516     event.set_bci(caller_bci);
 517     event.set_caller(caller_method->get_Method());
 518     event.set_callee(callee_method->to_trace_struct());
 519     event.commit();
 520   }


< prev index next >