< prev index next >

src/hotspot/share/opto/compile.hpp

Print this page

 285   uint                  _decompile_count;       // Cumulative decompilation counts.
 286   bool                  _do_inlining;           // True if we intend to do inlining
 287   bool                  _do_scheduling;         // True if we intend to do scheduling
 288   bool                  _do_freq_based_layout;  // True if we intend to do frequency based block layout
 289   bool                  _do_vector_loop;        // True if allowed to execute loop in parallel iterations
 290   bool                  _use_cmove;             // True if CMove should be used without profitability analysis
 291   bool                  _age_code;              // True if we need to profile code age (decrement the aging counter)
 292   int                   _AliasLevel;            // Locally-adjusted version of AliasLevel flag.
 293   bool                  _print_assembly;        // True if we should dump assembly code for this compilation
 294   bool                  _print_inlining;        // True if we should print inlining for this compilation
 295   bool                  _print_intrinsics;      // True if we should print intrinsics for this compilation
 296 #ifndef PRODUCT
 297   uint                  _igv_idx;               // Counter for IGV node identifiers
 298   bool                  _trace_opto_output;
 299   bool                  _print_ideal;
 300   bool                  _parsed_irreducible_loop; // True if ciTypeFlow detected irreducible loops during parsing
 301 #endif
 302   bool                  _has_irreducible_loop;  // Found irreducible loops
 303   // JSR 292
 304   bool                  _has_method_handle_invokes; // True if this method has MethodHandle invokes.

 305   RTMState              _rtm_state;             // State of Restricted Transactional Memory usage
 306   int                   _loop_opts_cnt;         // loop opts round
 307   bool                  _clinit_barrier_on_entry; // True if clinit barrier is needed on nmethod entry
 308   uint                  _stress_seed;           // Seed for stress testing
 309 
 310   // Compilation environment.
 311   Arena                 _comp_arena;            // Arena with lifetime equivalent to Compile
 312   void*                 _barrier_set_state;     // Potential GC barrier state for Compile
 313   ciEnv*                _env;                   // CI interface
 314   DirectiveSet*         _directive;             // Compiler directive
 315   CompileLog*           _log;                   // from CompilerThread
 316   const char*           _failure_reason;        // for record_failure/failing pattern
 317   GrowableArray<CallGenerator*> _intrinsics;    // List of intrinsics.
 318   GrowableArray<Node*>  _macro_nodes;           // List of nodes which need to be expanded before matching.
 319   GrowableArray<Node*>  _predicate_opaqs;       // List of Opaque1 nodes for the loop predicates.
 320   GrowableArray<Node*>  _skeleton_predicate_opaqs; // List of Opaque4 nodes for the loop skeleton predicates.
 321   GrowableArray<Node*>  _expensive_nodes;       // List of nodes that are expensive to compute and that we'd better not let the GVN freely common
 322   GrowableArray<Node*>  _for_post_loop_igvn;    // List of nodes for IGVN after loop opts are over
 323   GrowableArray<Node_List*> _coarsened_locks;   // List of coarsened Lock and Unlock nodes
 324   ConnectionGraph*      _congraph;

 578   void          set_do_vector_loop(bool z)      { _do_vector_loop = z; }
 579   bool              use_cmove() const           { return _use_cmove; }
 580   void          set_use_cmove(bool z)           { _use_cmove = z; }
 581   bool              age_code() const             { return _age_code; }
 582   void          set_age_code(bool z)             { _age_code = z; }
 583   int               AliasLevel() const           { return _AliasLevel; }
 584   bool              print_assembly() const       { return _print_assembly; }
 585   void          set_print_assembly(bool z)       { _print_assembly = z; }
 586   bool              print_inlining() const       { return _print_inlining; }
 587   void          set_print_inlining(bool z)       { _print_inlining = z; }
 588   bool              print_intrinsics() const     { return _print_intrinsics; }
 589   void          set_print_intrinsics(bool z)     { _print_intrinsics = z; }
 590   RTMState          rtm_state()  const           { return _rtm_state; }
 591   void          set_rtm_state(RTMState s)        { _rtm_state = s; }
 592   bool              use_rtm() const              { return (_rtm_state & NoRTM) == 0; }
 593   bool          profile_rtm() const              { return _rtm_state == ProfileRTM; }
 594   uint              max_node_limit() const       { return (uint)_max_node_limit; }
 595   void          set_max_node_limit(uint n)       { _max_node_limit = n; }
 596   bool              clinit_barrier_on_entry()       { return _clinit_barrier_on_entry; }
 597   void          set_clinit_barrier_on_entry(bool z) { _clinit_barrier_on_entry = z; }


 598 
 599   // check the CompilerOracle for special behaviours for this compile
 600   bool          method_has_option(enum CompileCommand option) {
 601     return method() != NULL && method()->has_option(option);
 602   }
 603 
 604 #ifndef PRODUCT
 605   uint          next_igv_idx()                  { return _igv_idx++; }
 606   bool          trace_opto_output() const       { return _trace_opto_output; }
 607   bool          print_ideal() const             { return _print_ideal; }
 608   bool              parsed_irreducible_loop() const { return _parsed_irreducible_loop; }
 609   void          set_parsed_irreducible_loop(bool z) { _parsed_irreducible_loop = z; }
 610   int _in_dump_cnt;  // Required for dumping ir nodes.
 611 #endif
 612   bool              has_irreducible_loop() const { return _has_irreducible_loop; }
 613   void          set_has_irreducible_loop(bool z) { _has_irreducible_loop = z; }
 614 
 615   // JSR 292
 616   bool              has_method_handle_invokes() const { return _has_method_handle_invokes;     }
 617   void          set_has_method_handle_invokes(bool z) {        _has_method_handle_invokes = z; }

 285   uint                  _decompile_count;       // Cumulative decompilation counts.
 286   bool                  _do_inlining;           // True if we intend to do inlining
 287   bool                  _do_scheduling;         // True if we intend to do scheduling
 288   bool                  _do_freq_based_layout;  // True if we intend to do frequency based block layout
 289   bool                  _do_vector_loop;        // True if allowed to execute loop in parallel iterations
 290   bool                  _use_cmove;             // True if CMove should be used without profitability analysis
 291   bool                  _age_code;              // True if we need to profile code age (decrement the aging counter)
 292   int                   _AliasLevel;            // Locally-adjusted version of AliasLevel flag.
 293   bool                  _print_assembly;        // True if we should dump assembly code for this compilation
 294   bool                  _print_inlining;        // True if we should print inlining for this compilation
 295   bool                  _print_intrinsics;      // True if we should print intrinsics for this compilation
 296 #ifndef PRODUCT
 297   uint                  _igv_idx;               // Counter for IGV node identifiers
 298   bool                  _trace_opto_output;
 299   bool                  _print_ideal;
 300   bool                  _parsed_irreducible_loop; // True if ciTypeFlow detected irreducible loops during parsing
 301 #endif
 302   bool                  _has_irreducible_loop;  // Found irreducible loops
 303   // JSR 292
 304   bool                  _has_method_handle_invokes; // True if this method has MethodHandle invokes.
 305   bool                  _has_monitors;          // Metadata transfered to nmethod to enable Continuations lock-detection fastpath
 306   RTMState              _rtm_state;             // State of Restricted Transactional Memory usage
 307   int                   _loop_opts_cnt;         // loop opts round
 308   bool                  _clinit_barrier_on_entry; // True if clinit barrier is needed on nmethod entry
 309   uint                  _stress_seed;           // Seed for stress testing
 310 
 311   // Compilation environment.
 312   Arena                 _comp_arena;            // Arena with lifetime equivalent to Compile
 313   void*                 _barrier_set_state;     // Potential GC barrier state for Compile
 314   ciEnv*                _env;                   // CI interface
 315   DirectiveSet*         _directive;             // Compiler directive
 316   CompileLog*           _log;                   // from CompilerThread
 317   const char*           _failure_reason;        // for record_failure/failing pattern
 318   GrowableArray<CallGenerator*> _intrinsics;    // List of intrinsics.
 319   GrowableArray<Node*>  _macro_nodes;           // List of nodes which need to be expanded before matching.
 320   GrowableArray<Node*>  _predicate_opaqs;       // List of Opaque1 nodes for the loop predicates.
 321   GrowableArray<Node*>  _skeleton_predicate_opaqs; // List of Opaque4 nodes for the loop skeleton predicates.
 322   GrowableArray<Node*>  _expensive_nodes;       // List of nodes that are expensive to compute and that we'd better not let the GVN freely common
 323   GrowableArray<Node*>  _for_post_loop_igvn;    // List of nodes for IGVN after loop opts are over
 324   GrowableArray<Node_List*> _coarsened_locks;   // List of coarsened Lock and Unlock nodes
 325   ConnectionGraph*      _congraph;

 579   void          set_do_vector_loop(bool z)      { _do_vector_loop = z; }
 580   bool              use_cmove() const           { return _use_cmove; }
 581   void          set_use_cmove(bool z)           { _use_cmove = z; }
 582   bool              age_code() const             { return _age_code; }
 583   void          set_age_code(bool z)             { _age_code = z; }
 584   int               AliasLevel() const           { return _AliasLevel; }
 585   bool              print_assembly() const       { return _print_assembly; }
 586   void          set_print_assembly(bool z)       { _print_assembly = z; }
 587   bool              print_inlining() const       { return _print_inlining; }
 588   void          set_print_inlining(bool z)       { _print_inlining = z; }
 589   bool              print_intrinsics() const     { return _print_intrinsics; }
 590   void          set_print_intrinsics(bool z)     { _print_intrinsics = z; }
 591   RTMState          rtm_state()  const           { return _rtm_state; }
 592   void          set_rtm_state(RTMState s)        { _rtm_state = s; }
 593   bool              use_rtm() const              { return (_rtm_state & NoRTM) == 0; }
 594   bool          profile_rtm() const              { return _rtm_state == ProfileRTM; }
 595   uint              max_node_limit() const       { return (uint)_max_node_limit; }
 596   void          set_max_node_limit(uint n)       { _max_node_limit = n; }
 597   bool              clinit_barrier_on_entry()       { return _clinit_barrier_on_entry; }
 598   void          set_clinit_barrier_on_entry(bool z) { _clinit_barrier_on_entry = z; }
 599   bool              has_monitors() const         { return _has_monitors; }
 600   void          set_has_monitors(bool v)         { _has_monitors = v; }
 601 
 602   // check the CompilerOracle for special behaviours for this compile
 603   bool          method_has_option(enum CompileCommand option) {
 604     return method() != NULL && method()->has_option(option);
 605   }
 606 
 607 #ifndef PRODUCT
 608   uint          next_igv_idx()                  { return _igv_idx++; }
 609   bool          trace_opto_output() const       { return _trace_opto_output; }
 610   bool          print_ideal() const             { return _print_ideal; }
 611   bool              parsed_irreducible_loop() const { return _parsed_irreducible_loop; }
 612   void          set_parsed_irreducible_loop(bool z) { _parsed_irreducible_loop = z; }
 613   int _in_dump_cnt;  // Required for dumping ir nodes.
 614 #endif
 615   bool              has_irreducible_loop() const { return _has_irreducible_loop; }
 616   void          set_has_irreducible_loop(bool z) { _has_irreducible_loop = z; }
 617 
 618   // JSR 292
 619   bool              has_method_handle_invokes() const { return _has_method_handle_invokes;     }
 620   void          set_has_method_handle_invokes(bool z) {        _has_method_handle_invokes = z; }
< prev index next >