src/share/vm/opto/compile.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Sdiff src/share/vm/opto

src/share/vm/opto/compile.hpp

Print this page




 694   }
 695   // remove the opaque nodes that protect the predicates so that the unused checks and
 696   // uncommon traps will be eliminated from the graph.
 697   void cleanup_loop_predicates(PhaseIterGVN &igvn);
 698   bool is_predicate_opaq(Node * n) {
 699     return _predicate_opaqs->contains(n);
 700   }
 701 
 702   // Are there candidate expensive nodes for optimization?
 703   bool should_optimize_expensive_nodes(PhaseIterGVN &igvn);
 704   // Check whether n1 and n2 are similar
 705   static int cmp_expensive_nodes(Node* n1, Node* n2);
 706   // Sort expensive nodes to locate similar expensive nodes
 707   void sort_expensive_nodes();
 708 
 709   // Compilation environment.
 710   Arena*            comp_arena()                { return &_comp_arena; }
 711   ciEnv*            env() const                 { return _env; }
 712   CompileLog*       log() const                 { return _log; }
 713   bool              failing() const             { return _env->failing() || _failure_reason != NULL; }
 714   const char*       failure_reason() { return _failure_reason; }
 715   bool              failure_reason_is(const char* r) { return (r==_failure_reason) || (r!=NULL && _failure_reason!=NULL && strcmp(r, _failure_reason)==0); }



 716 
 717   void record_failure(const char* reason);
 718   void record_method_not_compilable(const char* reason, bool all_tiers = false) {
 719     // All bailouts cover "all_tiers" when TieredCompilation is off.
 720     if (!TieredCompilation) all_tiers = true;
 721     env()->record_method_not_compilable(reason, all_tiers);
 722     // Record failure reason.
 723     record_failure(reason);
 724   }
 725   void record_method_not_compilable_all_tiers(const char* reason) {
 726     record_method_not_compilable(reason, true);
 727   }
 728   bool check_node_count(uint margin, const char* reason) {
 729     if (live_nodes() + margin > (uint)MaxNodeLimit) {
 730       record_method_not_compilable(reason);
 731       return true;
 732     } else {
 733       return false;
 734     }
 735   }




 694   }
 695   // remove the opaque nodes that protect the predicates so that the unused checks and
 696   // uncommon traps will be eliminated from the graph.
 697   void cleanup_loop_predicates(PhaseIterGVN &igvn);
 698   bool is_predicate_opaq(Node * n) {
 699     return _predicate_opaqs->contains(n);
 700   }
 701 
 702   // Are there candidate expensive nodes for optimization?
 703   bool should_optimize_expensive_nodes(PhaseIterGVN &igvn);
 704   // Check whether n1 and n2 are similar
 705   static int cmp_expensive_nodes(Node* n1, Node* n2);
 706   // Sort expensive nodes to locate similar expensive nodes
 707   void sort_expensive_nodes();
 708 
 709   // Compilation environment.
 710   Arena*      comp_arena()           { return &_comp_arena; }
 711   ciEnv*      env() const            { return _env; }
 712   CompileLog* log() const            { return _log; }
 713   bool        failing() const        { return _env->failing() || _failure_reason != NULL; }
 714   const char* failure_reason() const { return (_env->failing()) ? _env->failure_reason() : _failure_reason; }
 715 
 716   bool failure_reason_is(const char* r) const {
 717     return (r == _failure_reason) || (r != NULL && _failure_reason != NULL && strcmp(r, _failure_reason) == 0);
 718   }
 719 
 720   void record_failure(const char* reason);
 721   void record_method_not_compilable(const char* reason, bool all_tiers = false) {
 722     // All bailouts cover "all_tiers" when TieredCompilation is off.
 723     if (!TieredCompilation) all_tiers = true;
 724     env()->record_method_not_compilable(reason, all_tiers);
 725     // Record failure reason.
 726     record_failure(reason);
 727   }
 728   void record_method_not_compilable_all_tiers(const char* reason) {
 729     record_method_not_compilable(reason, true);
 730   }
 731   bool check_node_count(uint margin, const char* reason) {
 732     if (live_nodes() + margin > (uint)MaxNodeLimit) {
 733       record_method_not_compilable(reason);
 734       return true;
 735     } else {
 736       return false;
 737     }
 738   }


src/share/vm/opto/compile.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File