< prev index next >

src/hotspot/share/c1/c1_Compilation.hpp

Print this page
*** 81,10 ***
--- 81,11 ---
    bool               _has_irreducible_loops;
    bool               _would_profile;
    bool               _has_method_handle_invokes;  // True if this method has MethodHandle invokes.
    bool               _has_reserved_stack_access;
    bool               _has_monitors; // Fastpath monitors detection for Continuations
+   int                _max_monitors; // Max number of active monitors, for fast-locking
    bool               _install_code;
    const char*        _bailout_msg;
    ExceptionInfoList* _exception_info_list;
    ExceptionHandlerTable _exception_handler_table;
    ImplicitExceptionTable _implicit_exception_table;

*** 138,10 ***
--- 139,11 ---
    AbstractCompiler* compiler() const             { return _compiler; }
    bool has_exception_handlers() const            { return _has_exception_handlers; }
    bool has_fpu_code() const                      { return _has_fpu_code; }
    bool has_unsafe_access() const                 { return _has_unsafe_access; }
    bool has_monitors() const                      { return _has_monitors; }
+   int max_monitors() const                       { return _max_monitors; }
    bool has_irreducible_loops() const             { return _has_irreducible_loops; }
    int max_vector_size() const                    { return 0; }
    ciMethod* method() const                       { return _method; }
    int osr_bci() const                            { return _osr_bci; }
    bool is_osr_compile() const                    { return osr_bci() >= 0; }

*** 170,10 ***
--- 172,12 ---
    void set_has_unsafe_access(bool f)             { _has_unsafe_access = f; }
    void set_has_irreducible_loops(bool f)         { _has_irreducible_loops = f; }
    void set_would_profile(bool f)                 { _would_profile = f; }
    void set_has_access_indexed(bool f)            { _has_access_indexed = f; }
    void set_has_monitors(bool f)                  { _has_monitors = f; }
+   void push_monitor()                            { _max_monitors++; }
+ 
    // Add a set of exception handlers covering the given PC offset
    void add_exception_handlers_for_pco(int pco, XHandlers* exception_handlers);
    // Statistics gathering
    void notice_inlined_method(ciMethod* method);
  
< prev index next >