hotspot/src/share/vm/opto/compile.hpp
changeset 22872 b6902ee5bc8d
parent 22243 91944eab7b92
parent 22865 3b8857d7b3cc
child 23491 f690330b10b9
equal deleted inserted replaced
22511:fae90cb64946 22872:b6902ee5bc8d
   597   }
   597   }
   598 #ifndef PRODUCT
   598 #ifndef PRODUCT
   599   bool          trace_opto_output() const       { return _trace_opto_output; }
   599   bool          trace_opto_output() const       { return _trace_opto_output; }
   600   bool              parsed_irreducible_loop() const { return _parsed_irreducible_loop; }
   600   bool              parsed_irreducible_loop() const { return _parsed_irreducible_loop; }
   601   void          set_parsed_irreducible_loop(bool z) { _parsed_irreducible_loop = z; }
   601   void          set_parsed_irreducible_loop(bool z) { _parsed_irreducible_loop = z; }
       
   602   int _in_dump_cnt;  // Required for dumping ir nodes.
   602 #endif
   603 #endif
   603 
   604 
   604   // JSR 292
   605   // JSR 292
   605   bool              has_method_handle_invokes() const { return _has_method_handle_invokes;     }
   606   bool              has_method_handle_invokes() const { return _has_method_handle_invokes;     }
   606   void          set_has_method_handle_invokes(bool z) {        _has_method_handle_invokes = z; }
   607   void          set_has_method_handle_invokes(bool z) {        _has_method_handle_invokes = z; }
   762   // Constant table
   763   // Constant table
   763   ConstantTable&   constant_table() { return _constant_table; }
   764   ConstantTable&   constant_table() { return _constant_table; }
   764 
   765 
   765   MachConstantBaseNode*     mach_constant_base_node();
   766   MachConstantBaseNode*     mach_constant_base_node();
   766   bool                  has_mach_constant_base_node() const { return _mach_constant_base_node != NULL; }
   767   bool                  has_mach_constant_base_node() const { return _mach_constant_base_node != NULL; }
       
   768   // Generated by adlc, true if CallNode requires MachConstantBase.
       
   769   bool                      needs_clone_jvms();
   767 
   770 
   768   // Handy undefined Node
   771   // Handy undefined Node
   769   Node*             top() const                 { return _top; }
   772   Node*             top() const                 { return _top; }
   770 
   773 
   771   // these are used by guys who need to know about creation and transformation of top:
   774   // these are used by guys who need to know about creation and transformation of top:
   858   bool too_many_traps(Deoptimization::DeoptReason reason,
   861   bool too_many_traps(Deoptimization::DeoptReason reason,
   859                       // Privately used parameter for logging:
   862                       // Privately used parameter for logging:
   860                       ciMethodData* logmd = NULL);
   863                       ciMethodData* logmd = NULL);
   861   // Report if there were too many recompiles at a method and bci.
   864   // Report if there were too many recompiles at a method and bci.
   862   bool too_many_recompiles(ciMethod* method, int bci, Deoptimization::DeoptReason reason);
   865   bool too_many_recompiles(ciMethod* method, int bci, Deoptimization::DeoptReason reason);
       
   866   // Return a bitset with the reasons where deoptimization is allowed,
       
   867   // i.e., where there were not too many uncommon traps.
       
   868   int _allowed_reasons;
       
   869   int      allowed_deopt_reasons() { return _allowed_reasons; }
       
   870   void set_allowed_deopt_reasons();
   863 
   871 
   864   // Parsing, optimization
   872   // Parsing, optimization
   865   PhaseGVN*         initial_gvn()               { return _initial_gvn; }
   873   PhaseGVN*         initial_gvn()               { return _initial_gvn; }
   866   Unique_Node_List* for_igvn()                  { return _for_igvn; }
   874   Unique_Node_List* for_igvn()                  { return _for_igvn; }
   867   inline void       record_for_igvn(Node* n);   // Body is after class Unique_Node_List.
   875   inline void       record_for_igvn(Node* n);   // Body is after class Unique_Node_List.