< prev index next >

src/hotspot/share/opto/compile.hpp

Print this page




 398   uint                  _decompile_count;       // Cumulative decompilation counts.
 399   bool                  _do_inlining;           // True if we intend to do inlining
 400   bool                  _do_scheduling;         // True if we intend to do scheduling
 401   bool                  _do_freq_based_layout;  // True if we intend to do frequency based block layout
 402   bool                  _do_count_invocations;  // True if we generate code to count invocations
 403   bool                  _do_method_data_update; // True if we generate code to update MethodData*s
 404   bool                  _do_vector_loop;        // True if allowed to execute loop in parallel iterations
 405   bool                  _use_cmove;             // True if CMove should be used without profitability analysis
 406   bool                  _age_code;              // True if we need to profile code age (decrement the aging counter)
 407   int                   _AliasLevel;            // Locally-adjusted version of AliasLevel flag.
 408   bool                  _print_assembly;        // True if we should dump assembly code for this compilation
 409   bool                  _print_inlining;        // True if we should print inlining for this compilation
 410   bool                  _print_intrinsics;      // True if we should print intrinsics for this compilation
 411 #ifndef PRODUCT
 412   bool                  _trace_opto_output;
 413   bool                  _parsed_irreducible_loop; // True if ciTypeFlow detected irreducible loops during parsing
 414 #endif
 415   bool                  _has_irreducible_loop;  // Found irreducible loops
 416   // JSR 292
 417   bool                  _has_method_handle_invokes; // True if this method has MethodHandle invokes.

 418   RTMState              _rtm_state;             // State of Restricted Transactional Memory usage
 419   int                   _loop_opts_cnt;         // loop opts round
 420   bool                  _clinit_barrier_on_entry; // True if clinit barrier is needed on nmethod entry
 421 
 422   // Compilation environment.
 423   Arena                 _comp_arena;            // Arena with lifetime equivalent to Compile
 424   void*                 _barrier_set_state;     // Potential GC barrier state for Compile
 425   ciEnv*                _env;                   // CI interface
 426   DirectiveSet*         _directive;             // Compiler directive
 427   CompileLog*           _log;                   // from CompilerThread
 428   const char*           _failure_reason;        // for record_failure/failing pattern
 429   GrowableArray<CallGenerator*>* _intrinsics;   // List of intrinsics.
 430   GrowableArray<Node*>* _macro_nodes;           // List of nodes which need to be expanded before matching.
 431   GrowableArray<Node*>* _predicate_opaqs;       // List of Opaque1 nodes for the loop predicates.
 432   GrowableArray<Node*>* _expensive_nodes;       // List of nodes that are expensive to compute and that we'd better not let the GVN freely common
 433   GrowableArray<Node*>* _range_check_casts;     // List of CastII nodes with a range check dependency
 434   GrowableArray<Node*>* _opaque4_nodes;         // List of Opaque4 nodes that have a default value
 435   ConnectionGraph*      _congraph;
 436 #ifndef PRODUCT
 437   IdealGraphPrinter*    _printer;


 701   void          set_do_vector_loop(bool z)      { _do_vector_loop = z; }
 702   bool              use_cmove() const           { return _use_cmove; }
 703   void          set_use_cmove(bool z)           { _use_cmove = z; }
 704   bool              age_code() const             { return _age_code; }
 705   void          set_age_code(bool z)             { _age_code = z; }
 706   int               AliasLevel() const           { return _AliasLevel; }
 707   bool              print_assembly() const       { return _print_assembly; }
 708   void          set_print_assembly(bool z)       { _print_assembly = z; }
 709   bool              print_inlining() const       { return _print_inlining; }
 710   void          set_print_inlining(bool z)       { _print_inlining = z; }
 711   bool              print_intrinsics() const     { return _print_intrinsics; }
 712   void          set_print_intrinsics(bool z)     { _print_intrinsics = z; }
 713   RTMState          rtm_state()  const           { return _rtm_state; }
 714   void          set_rtm_state(RTMState s)        { _rtm_state = s; }
 715   bool              use_rtm() const              { return (_rtm_state & NoRTM) == 0; }
 716   bool          profile_rtm() const              { return _rtm_state == ProfileRTM; }
 717   uint              max_node_limit() const       { return (uint)_max_node_limit; }
 718   void          set_max_node_limit(uint n)       { _max_node_limit = n; }
 719   bool              clinit_barrier_on_entry()       { return _clinit_barrier_on_entry; }
 720   void          set_clinit_barrier_on_entry(bool z) { _clinit_barrier_on_entry = z; }


 721 
 722   // check the CompilerOracle for special behaviours for this compile
 723   bool          method_has_option(const char * option) {
 724     return method() != NULL && method()->has_option(option);
 725   }
 726 
 727 #ifndef PRODUCT
 728   bool          trace_opto_output() const       { return _trace_opto_output; }
 729   bool              parsed_irreducible_loop() const { return _parsed_irreducible_loop; }
 730   void          set_parsed_irreducible_loop(bool z) { _parsed_irreducible_loop = z; }
 731   int _in_dump_cnt;  // Required for dumping ir nodes.
 732 #endif
 733   bool              has_irreducible_loop() const { return _has_irreducible_loop; }
 734   void          set_has_irreducible_loop(bool z) { _has_irreducible_loop = z; }
 735 
 736   // JSR 292
 737   bool              has_method_handle_invokes() const { return _has_method_handle_invokes;     }
 738   void          set_has_method_handle_invokes(bool z) {        _has_method_handle_invokes = z; }
 739 
 740   Ticks _latest_stage_start_counter;




 398   uint                  _decompile_count;       // Cumulative decompilation counts.
 399   bool                  _do_inlining;           // True if we intend to do inlining
 400   bool                  _do_scheduling;         // True if we intend to do scheduling
 401   bool                  _do_freq_based_layout;  // True if we intend to do frequency based block layout
 402   bool                  _do_count_invocations;  // True if we generate code to count invocations
 403   bool                  _do_method_data_update; // True if we generate code to update MethodData*s
 404   bool                  _do_vector_loop;        // True if allowed to execute loop in parallel iterations
 405   bool                  _use_cmove;             // True if CMove should be used without profitability analysis
 406   bool                  _age_code;              // True if we need to profile code age (decrement the aging counter)
 407   int                   _AliasLevel;            // Locally-adjusted version of AliasLevel flag.
 408   bool                  _print_assembly;        // True if we should dump assembly code for this compilation
 409   bool                  _print_inlining;        // True if we should print inlining for this compilation
 410   bool                  _print_intrinsics;      // True if we should print intrinsics for this compilation
 411 #ifndef PRODUCT
 412   bool                  _trace_opto_output;
 413   bool                  _parsed_irreducible_loop; // True if ciTypeFlow detected irreducible loops during parsing
 414 #endif
 415   bool                  _has_irreducible_loop;  // Found irreducible loops
 416   // JSR 292
 417   bool                  _has_method_handle_invokes; // True if this method has MethodHandle invokes.
 418   bool                  _has_monitors;          // Metadata transfered to nmethod to enable Continuations lock-detection fastpath
 419   RTMState              _rtm_state;             // State of Restricted Transactional Memory usage
 420   int                   _loop_opts_cnt;         // loop opts round
 421   bool                  _clinit_barrier_on_entry; // True if clinit barrier is needed on nmethod entry
 422 
 423   // Compilation environment.
 424   Arena                 _comp_arena;            // Arena with lifetime equivalent to Compile
 425   void*                 _barrier_set_state;     // Potential GC barrier state for Compile
 426   ciEnv*                _env;                   // CI interface
 427   DirectiveSet*         _directive;             // Compiler directive
 428   CompileLog*           _log;                   // from CompilerThread
 429   const char*           _failure_reason;        // for record_failure/failing pattern
 430   GrowableArray<CallGenerator*>* _intrinsics;   // List of intrinsics.
 431   GrowableArray<Node*>* _macro_nodes;           // List of nodes which need to be expanded before matching.
 432   GrowableArray<Node*>* _predicate_opaqs;       // List of Opaque1 nodes for the loop predicates.
 433   GrowableArray<Node*>* _expensive_nodes;       // List of nodes that are expensive to compute and that we'd better not let the GVN freely common
 434   GrowableArray<Node*>* _range_check_casts;     // List of CastII nodes with a range check dependency
 435   GrowableArray<Node*>* _opaque4_nodes;         // List of Opaque4 nodes that have a default value
 436   ConnectionGraph*      _congraph;
 437 #ifndef PRODUCT
 438   IdealGraphPrinter*    _printer;


 702   void          set_do_vector_loop(bool z)      { _do_vector_loop = z; }
 703   bool              use_cmove() const           { return _use_cmove; }
 704   void          set_use_cmove(bool z)           { _use_cmove = z; }
 705   bool              age_code() const             { return _age_code; }
 706   void          set_age_code(bool z)             { _age_code = z; }
 707   int               AliasLevel() const           { return _AliasLevel; }
 708   bool              print_assembly() const       { return _print_assembly; }
 709   void          set_print_assembly(bool z)       { _print_assembly = z; }
 710   bool              print_inlining() const       { return _print_inlining; }
 711   void          set_print_inlining(bool z)       { _print_inlining = z; }
 712   bool              print_intrinsics() const     { return _print_intrinsics; }
 713   void          set_print_intrinsics(bool z)     { _print_intrinsics = z; }
 714   RTMState          rtm_state()  const           { return _rtm_state; }
 715   void          set_rtm_state(RTMState s)        { _rtm_state = s; }
 716   bool              use_rtm() const              { return (_rtm_state & NoRTM) == 0; }
 717   bool          profile_rtm() const              { return _rtm_state == ProfileRTM; }
 718   uint              max_node_limit() const       { return (uint)_max_node_limit; }
 719   void          set_max_node_limit(uint n)       { _max_node_limit = n; }
 720   bool              clinit_barrier_on_entry()       { return _clinit_barrier_on_entry; }
 721   void          set_clinit_barrier_on_entry(bool z) { _clinit_barrier_on_entry = z; }
 722   bool              has_monitors() const         { return _has_monitors; }
 723   void          set_has_monitors(bool v)         { _has_monitors = v; }
 724 
 725   // check the CompilerOracle for special behaviours for this compile
 726   bool          method_has_option(const char * option) {
 727     return method() != NULL && method()->has_option(option);
 728   }
 729 
 730 #ifndef PRODUCT
 731   bool          trace_opto_output() const       { return _trace_opto_output; }
 732   bool              parsed_irreducible_loop() const { return _parsed_irreducible_loop; }
 733   void          set_parsed_irreducible_loop(bool z) { _parsed_irreducible_loop = z; }
 734   int _in_dump_cnt;  // Required for dumping ir nodes.
 735 #endif
 736   bool              has_irreducible_loop() const { return _has_irreducible_loop; }
 737   void          set_has_irreducible_loop(bool z) { _has_irreducible_loop = z; }
 738 
 739   // JSR 292
 740   bool              has_method_handle_invokes() const { return _has_method_handle_invokes;     }
 741   void          set_has_method_handle_invokes(bool z) {        _has_method_handle_invokes = z; }
 742 
 743   Ticks _latest_stage_start_counter;


< prev index next >