718 xtty->stamp(); |
718 xtty->stamp(); |
719 xtty->end_elem(); |
719 xtty->end_elem(); |
720 } |
720 } |
721 } |
721 } |
722 |
722 |
|
723 bool Method::is_always_compilable() const { |
|
724 // Generated adapters must be compiled |
|
725 if (is_method_handle_intrinsic() && is_synthetic()) { |
|
726 assert(!is_not_c1_compilable(), "sanity check"); |
|
727 assert(!is_not_c2_compilable(), "sanity check"); |
|
728 return true; |
|
729 } |
|
730 |
|
731 return false; |
|
732 } |
|
733 |
723 bool Method::is_not_compilable(int comp_level) const { |
734 bool Method::is_not_compilable(int comp_level) const { |
724 if (number_of_breakpoints() > 0) |
735 if (number_of_breakpoints() > 0) |
725 return true; |
736 return true; |
726 if (is_method_handle_intrinsic()) |
737 if (is_always_compilable()) |
727 return !is_synthetic(); // the generated adapters must be compiled |
738 return false; |
728 if (comp_level == CompLevel_any) |
739 if (comp_level == CompLevel_any) |
729 return is_not_c1_compilable() || is_not_c2_compilable(); |
740 return is_not_c1_compilable() || is_not_c2_compilable(); |
730 if (is_c1_compile(comp_level)) |
741 if (is_c1_compile(comp_level)) |
731 return is_not_c1_compilable(); |
742 return is_not_c1_compilable(); |
732 if (is_c2_compile(comp_level)) |
743 if (is_c2_compile(comp_level)) |
734 return false; |
745 return false; |
735 } |
746 } |
736 |
747 |
737 // call this when compiler finds that this method is not compilable |
748 // call this when compiler finds that this method is not compilable |
738 void Method::set_not_compilable(int comp_level, bool report, const char* reason) { |
749 void Method::set_not_compilable(int comp_level, bool report, const char* reason) { |
|
750 if (is_always_compilable()) { |
|
751 // Don't mark a method which should be always compilable |
|
752 return; |
|
753 } |
739 print_made_not_compilable(comp_level, /*is_osr*/ false, report, reason); |
754 print_made_not_compilable(comp_level, /*is_osr*/ false, report, reason); |
740 if (comp_level == CompLevel_all) { |
755 if (comp_level == CompLevel_all) { |
741 set_not_c1_compilable(); |
756 set_not_c1_compilable(); |
742 set_not_c2_compilable(); |
757 set_not_c2_compilable(); |
743 } else { |
758 } else { |