src/share/vm/opto/parse.hpp

changeset 1592
c3b315a0d58a
parent 1424
148e5441d916
child 1607
b2b6a9bf6238
     1.1 --- a/src/share/vm/opto/parse.hpp	Fri Jan 08 13:47:01 2010 -0800
     1.2 +++ b/src/share/vm/opto/parse.hpp	Fri Jan 08 13:58:49 2010 -0800
     1.3 @@ -39,6 +39,7 @@
     1.4    // Always between 0.0 and 1.0.  Represents the percentage of the method's
     1.5    // total execution time used at this call site.
     1.6    const float _site_invoke_ratio;
     1.7 +  const int   _site_depth_adjust;
     1.8    float compute_callee_frequency( int caller_bci ) const;
     1.9  
    1.10    GrowableArray<InlineTree*> _subtrees;
    1.11 @@ -50,7 +51,8 @@
    1.12               ciMethod* callee_method,
    1.13               JVMState* caller_jvms,
    1.14               int caller_bci,
    1.15 -             float site_invoke_ratio);
    1.16 +             float site_invoke_ratio,
    1.17 +             int site_depth_adjust);
    1.18    InlineTree *build_inline_tree_for_callee(ciMethod* callee_method,
    1.19                                             JVMState* caller_jvms,
    1.20                                             int caller_bci);
    1.21 @@ -61,14 +63,15 @@
    1.22  
    1.23    InlineTree *caller_tree()       const { return _caller_tree;  }
    1.24    InlineTree* callee_at(int bci, ciMethod* m) const;
    1.25 -  int         inline_depth()      const { return _caller_jvms ? _caller_jvms->depth() : 0; }
    1.26 +  int         inline_depth()      const { return stack_depth() + _site_depth_adjust; }
    1.27 +  int         stack_depth()       const { return _caller_jvms ? _caller_jvms->depth() : 0; }
    1.28  
    1.29  public:
    1.30    static InlineTree* build_inline_tree_root();
    1.31    static InlineTree* find_subtree_from_root(InlineTree* root, JVMState* jvms, ciMethod* callee, bool create_if_not_found = false);
    1.32  
    1.33    // For temporary (stack-allocated, stateless) ilts:
    1.34 -  InlineTree(Compile* c, ciMethod* callee_method, JVMState* caller_jvms, float site_invoke_ratio);
    1.35 +  InlineTree(Compile* c, ciMethod* callee_method, JVMState* caller_jvms, float site_invoke_ratio, int site_depth_adjust);
    1.36  
    1.37    // InlineTree enum
    1.38    enum InlineStyle {

mercurial