619 // a hot call site for method next_m?
620 int freq = (invcnt) ? cnt/invcnt : cnt;
621
622 // Check size and frequency limits
623 if ((msg = shouldInline(m, freq, cnt)) != NULL) {
624 break;
625 }
626 // Check inlining negative tests
627 if ((msg = shouldNotInline(m)) != NULL) {
628 break;
629 }
630
631
632 // If the caller method is too big or something then we do not want to
633 // compile it just to inline a method
634 if (!can_be_compiled(next_m, CompLevel_any)) {
635 msg = "caller cannot be compiled";
636 break;
637 }
638
639 if( next_m->name() == vmSymbols::class_initializer_name() ) {
640 msg = "do not compile class initializer (OSR ok)";
641 break;
642 }
643
644 if (TraceCompilationPolicy && Verbose) {
645 tty->print("\n\t check caller: ");
646 next_m->print_short_name(tty);
647 tty->print(" ( interpreted " INTPTR_FORMAT ", size=%d ) ", p2i((address)next_m()), next_m->code_size());
648 }
649
650 current = next;
651 }
652
653 assert( !current || !current->is_compiled(), "" );
654
655 if (TraceCompilationPolicy && msg) tty->print("(%s)\n", msg);
656
657 return current;
658 }
659
|
619 // a hot call site for method next_m?
620 int freq = (invcnt) ? cnt/invcnt : cnt;
621
622 // Check size and frequency limits
623 if ((msg = shouldInline(m, freq, cnt)) != NULL) {
624 break;
625 }
626 // Check inlining negative tests
627 if ((msg = shouldNotInline(m)) != NULL) {
628 break;
629 }
630
631
632 // If the caller method is too big or something then we do not want to
633 // compile it just to inline a method
634 if (!can_be_compiled(next_m, CompLevel_any)) {
635 msg = "caller cannot be compiled";
636 break;
637 }
638
639 if( next_m->name()->equals(vmSymbols::class_initializer_name()) ) {
640 msg = "do not compile class initializer (OSR ok)";
641 break;
642 }
643
644 if (TraceCompilationPolicy && Verbose) {
645 tty->print("\n\t check caller: ");
646 next_m->print_short_name(tty);
647 tty->print(" ( interpreted " INTPTR_FORMAT ", size=%d ) ", p2i((address)next_m()), next_m->code_size());
648 }
649
650 current = next;
651 }
652
653 assert( !current || !current->is_compiled(), "" );
654
655 if (TraceCompilationPolicy && msg) tty->print("(%s)\n", msg);
656
657 return current;
658 }
659
|