< prev index next >

src/hotspot/share/opto/compile.hpp

Print this page




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

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


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


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




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


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


< prev index next >