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

src/share/vm/opto/compile.hpp

Print this page




 302   bool                  _has_unsafe_access;     // True if the method _may_ produce faults in unsafe loads or stores.
 303   bool                  _has_stringbuilder;     // True StringBuffers or StringBuilders are allocated
 304   bool                  _has_boxed_value;       // True if a boxed object is allocated
 305   int                   _max_vector_size;       // Maximum size of generated vectors
 306   uint                  _trap_hist[trapHistLength];  // Cumulative traps
 307   bool                  _trap_can_recompile;    // Have we emitted a recompiling trap?
 308   uint                  _decompile_count;       // Cumulative decompilation counts.
 309   bool                  _do_inlining;           // True if we intend to do inlining
 310   bool                  _do_scheduling;         // True if we intend to do scheduling
 311   bool                  _do_freq_based_layout;  // True if we intend to do frequency based block layout
 312   bool                  _do_count_invocations;  // True if we generate code to count invocations
 313   bool                  _do_method_data_update; // True if we generate code to update MethodData*s
 314   int                   _AliasLevel;            // Locally-adjusted version of AliasLevel flag.
 315   bool                  _print_assembly;        // True if we should dump assembly code for this compilation
 316   bool                  _print_inlining;        // True if we should print inlining for this compilation
 317   bool                  _print_intrinsics;      // True if we should print intrinsics for this compilation
 318 #ifndef PRODUCT
 319   bool                  _trace_opto_output;
 320   bool                  _parsed_irreducible_loop; // True if ciTypeFlow detected irreducible loops during parsing
 321 #endif

 322   // JSR 292
 323   bool                  _has_method_handle_invokes; // True if this method has MethodHandle invokes.
 324   RTMState              _rtm_state;             // State of Restricted Transactional Memory usage
 325 
 326   // Compilation environment.
 327   Arena                 _comp_arena;            // Arena with lifetime equivalent to Compile
 328   ciEnv*                _env;                   // CI interface
 329   CompileLog*           _log;                   // from CompilerThread
 330   const char*           _failure_reason;        // for record_failure/failing pattern
 331   GrowableArray<CallGenerator*>* _intrinsics;   // List of intrinsics.
 332   GrowableArray<Node*>* _macro_nodes;           // List of nodes which need to be expanded before matching.
 333   GrowableArray<Node*>* _predicate_opaqs;       // List of Opaque1 nodes for the loop predicates.
 334   GrowableArray<Node*>* _expensive_nodes;       // List of nodes that are expensive to compute and that we'd better not let the GVN freely common
 335   ConnectionGraph*      _congraph;
 336 #ifndef PRODUCT
 337   IdealGraphPrinter*    _printer;
 338 #endif
 339 
 340 
 341   // Node management


 587   bool              print_assembly() const       { return _print_assembly; }
 588   void          set_print_assembly(bool z)       { _print_assembly = z; }
 589   bool              print_inlining() const       { return _print_inlining; }
 590   void          set_print_inlining(bool z)       { _print_inlining = z; }
 591   bool              print_intrinsics() const     { return _print_intrinsics; }
 592   void          set_print_intrinsics(bool z)     { _print_intrinsics = z; }
 593   RTMState          rtm_state()  const           { return _rtm_state; }
 594   void          set_rtm_state(RTMState s)        { _rtm_state = s; }
 595   bool              use_rtm() const              { return (_rtm_state & NoRTM) == 0; }
 596   bool          profile_rtm() const              { return _rtm_state == ProfileRTM; }
 597   // check the CompilerOracle for special behaviours for this compile
 598   bool          method_has_option(const char * option) {
 599     return method() != NULL && method()->has_option(option);
 600   }
 601 #ifndef PRODUCT
 602   bool          trace_opto_output() const       { return _trace_opto_output; }
 603   bool              parsed_irreducible_loop() const { return _parsed_irreducible_loop; }
 604   void          set_parsed_irreducible_loop(bool z) { _parsed_irreducible_loop = z; }
 605   int _in_dump_cnt;  // Required for dumping ir nodes.
 606 #endif


 607 
 608   // JSR 292
 609   bool              has_method_handle_invokes() const { return _has_method_handle_invokes;     }
 610   void          set_has_method_handle_invokes(bool z) {        _has_method_handle_invokes = z; }
 611 
 612   Ticks _latest_stage_start_counter;
 613 
 614   void begin_method() {
 615 #ifndef PRODUCT
 616     if (_printer) _printer->begin_method(this);
 617 #endif
 618     C->_latest_stage_start_counter.stamp();
 619   }
 620 
 621   void print_method(CompilerPhaseType cpt, int level = 1) {
 622     EventCompilerPhase event;
 623     if (event.should_commit()) {
 624       event.set_starttime(C->_latest_stage_start_counter);
 625       event.set_phase((u1) cpt);
 626       event.set_compileID(C->_compile_id);




 302   bool                  _has_unsafe_access;     // True if the method _may_ produce faults in unsafe loads or stores.
 303   bool                  _has_stringbuilder;     // True StringBuffers or StringBuilders are allocated
 304   bool                  _has_boxed_value;       // True if a boxed object is allocated
 305   int                   _max_vector_size;       // Maximum size of generated vectors
 306   uint                  _trap_hist[trapHistLength];  // Cumulative traps
 307   bool                  _trap_can_recompile;    // Have we emitted a recompiling trap?
 308   uint                  _decompile_count;       // Cumulative decompilation counts.
 309   bool                  _do_inlining;           // True if we intend to do inlining
 310   bool                  _do_scheduling;         // True if we intend to do scheduling
 311   bool                  _do_freq_based_layout;  // True if we intend to do frequency based block layout
 312   bool                  _do_count_invocations;  // True if we generate code to count invocations
 313   bool                  _do_method_data_update; // True if we generate code to update MethodData*s
 314   int                   _AliasLevel;            // Locally-adjusted version of AliasLevel flag.
 315   bool                  _print_assembly;        // True if we should dump assembly code for this compilation
 316   bool                  _print_inlining;        // True if we should print inlining for this compilation
 317   bool                  _print_intrinsics;      // True if we should print intrinsics for this compilation
 318 #ifndef PRODUCT
 319   bool                  _trace_opto_output;
 320   bool                  _parsed_irreducible_loop; // True if ciTypeFlow detected irreducible loops during parsing
 321 #endif
 322   bool                  _has_irreducible_loop;  // Found irreducible loops
 323   // JSR 292
 324   bool                  _has_method_handle_invokes; // True if this method has MethodHandle invokes.
 325   RTMState              _rtm_state;             // State of Restricted Transactional Memory usage
 326 
 327   // Compilation environment.
 328   Arena                 _comp_arena;            // Arena with lifetime equivalent to Compile
 329   ciEnv*                _env;                   // CI interface
 330   CompileLog*           _log;                   // from CompilerThread
 331   const char*           _failure_reason;        // for record_failure/failing pattern
 332   GrowableArray<CallGenerator*>* _intrinsics;   // List of intrinsics.
 333   GrowableArray<Node*>* _macro_nodes;           // List of nodes which need to be expanded before matching.
 334   GrowableArray<Node*>* _predicate_opaqs;       // List of Opaque1 nodes for the loop predicates.
 335   GrowableArray<Node*>* _expensive_nodes;       // List of nodes that are expensive to compute and that we'd better not let the GVN freely common
 336   ConnectionGraph*      _congraph;
 337 #ifndef PRODUCT
 338   IdealGraphPrinter*    _printer;
 339 #endif
 340 
 341 
 342   // Node management


 588   bool              print_assembly() const       { return _print_assembly; }
 589   void          set_print_assembly(bool z)       { _print_assembly = z; }
 590   bool              print_inlining() const       { return _print_inlining; }
 591   void          set_print_inlining(bool z)       { _print_inlining = z; }
 592   bool              print_intrinsics() const     { return _print_intrinsics; }
 593   void          set_print_intrinsics(bool z)     { _print_intrinsics = z; }
 594   RTMState          rtm_state()  const           { return _rtm_state; }
 595   void          set_rtm_state(RTMState s)        { _rtm_state = s; }
 596   bool              use_rtm() const              { return (_rtm_state & NoRTM) == 0; }
 597   bool          profile_rtm() const              { return _rtm_state == ProfileRTM; }
 598   // check the CompilerOracle for special behaviours for this compile
 599   bool          method_has_option(const char * option) {
 600     return method() != NULL && method()->has_option(option);
 601   }
 602 #ifndef PRODUCT
 603   bool          trace_opto_output() const       { return _trace_opto_output; }
 604   bool              parsed_irreducible_loop() const { return _parsed_irreducible_loop; }
 605   void          set_parsed_irreducible_loop(bool z) { _parsed_irreducible_loop = z; }
 606   int _in_dump_cnt;  // Required for dumping ir nodes.
 607 #endif
 608   bool              has_irreducible_loop() const { return _has_irreducible_loop; }
 609   void          set_has_irreducible_loop(bool z) { _has_irreducible_loop = z; }
 610 
 611   // JSR 292
 612   bool              has_method_handle_invokes() const { return _has_method_handle_invokes;     }
 613   void          set_has_method_handle_invokes(bool z) {        _has_method_handle_invokes = z; }
 614 
 615   Ticks _latest_stage_start_counter;
 616 
 617   void begin_method() {
 618 #ifndef PRODUCT
 619     if (_printer) _printer->begin_method(this);
 620 #endif
 621     C->_latest_stage_start_counter.stamp();
 622   }
 623 
 624   void print_method(CompilerPhaseType cpt, int level = 1) {
 625     EventCompilerPhase event;
 626     if (event.should_commit()) {
 627       event.set_starttime(C->_latest_stage_start_counter);
 628       event.set_phase((u1) cpt);
 629       event.set_compileID(C->_compile_id);


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