< prev index next >

src/hotspot/share/opto/compile.hpp

Print this page
*** 300,10 ***
--- 300,11 ---
    bool                  _parsed_irreducible_loop; // True if ciTypeFlow detected irreducible loops during parsing
  #endif
    bool                  _has_irreducible_loop;  // Found irreducible loops
    // JSR 292
    bool                  _has_method_handle_invokes; // True if this method has MethodHandle invokes.
+   uint                  _max_monitors;          // Keep track of maximum number of active monitors in this compilation
    RTMState              _rtm_state;             // State of Restricted Transactional Memory usage
    int                   _loop_opts_cnt;         // loop opts round
    bool                  _clinit_barrier_on_entry; // True if clinit barrier is needed on nmethod entry
    uint                  _stress_seed;           // Seed for stress testing
  

*** 594,10 ***
--- 595,14 ---
    uint              max_node_limit() const       { return (uint)_max_node_limit; }
    void          set_max_node_limit(uint n)       { _max_node_limit = n; }
    bool              clinit_barrier_on_entry()       { return _clinit_barrier_on_entry; }
    void          set_clinit_barrier_on_entry(bool z) { _clinit_barrier_on_entry = z; }
  
+   void          push_monitor() { _max_monitors++; }
+   void          reset_max_monitors() { _max_monitors = 0; }
+   uint          max_monitors() { return _max_monitors; }
+ 
    // check the CompilerOracle for special behaviours for this compile
    bool          method_has_option(enum CompileCommand option) {
      return method() != NULL && method()->has_option(option);
    }
  
< prev index next >