68 float site_invoke_ratio, |
68 float site_invoke_ratio, |
69 int max_inline_level); |
69 int max_inline_level); |
70 InlineTree *build_inline_tree_for_callee(ciMethod* callee_method, |
70 InlineTree *build_inline_tree_for_callee(ciMethod* callee_method, |
71 JVMState* caller_jvms, |
71 JVMState* caller_jvms, |
72 int caller_bci); |
72 int caller_bci); |
73 const char* try_to_inline(ciMethod* callee_method, ciMethod* caller_method, int caller_bci, ciCallProfile& profile, WarmCallInfo* wci_result); |
73 const char* try_to_inline(ciMethod* callee_method, ciMethod* caller_method, int caller_bci, ciCallProfile& profile, WarmCallInfo* wci_result, bool& should_delay); |
74 const char* should_inline(ciMethod* callee_method, ciMethod* caller_method, int caller_bci, ciCallProfile& profile, WarmCallInfo* wci_result) const; |
74 const char* should_inline(ciMethod* callee_method, ciMethod* caller_method, int caller_bci, ciCallProfile& profile, WarmCallInfo* wci_result) const; |
75 const char* should_not_inline(ciMethod* callee_method, ciMethod* caller_method, WarmCallInfo* wci_result) const; |
75 const char* should_not_inline(ciMethod* callee_method, ciMethod* caller_method, WarmCallInfo* wci_result) const; |
76 void print_inlining(ciMethod *callee_method, int caller_bci, const char *failure_msg) const; |
76 void print_inlining(ciMethod *callee_method, int caller_bci, const char *failure_msg) const; |
77 |
77 |
78 InlineTree *caller_tree() const { return _caller_tree; } |
78 InlineTree *caller_tree() const { return _caller_tree; } |
105 // |
105 // |
106 // If the method is inlinable, a new inline subtree is created on the fly, |
106 // If the method is inlinable, a new inline subtree is created on the fly, |
107 // and may be accessed by find_subtree_from_root. |
107 // and may be accessed by find_subtree_from_root. |
108 // The call_method is the dest_method for a special or static invocation. |
108 // The call_method is the dest_method for a special or static invocation. |
109 // The call_method is an optimized virtual method candidate otherwise. |
109 // The call_method is an optimized virtual method candidate otherwise. |
110 WarmCallInfo* ok_to_inline(ciMethod *call_method, JVMState* caller_jvms, ciCallProfile& profile, WarmCallInfo* wci); |
110 WarmCallInfo* ok_to_inline(ciMethod *call_method, JVMState* caller_jvms, ciCallProfile& profile, WarmCallInfo* wci, bool& should_delay); |
111 |
111 |
112 // Information about inlined method |
112 // Information about inlined method |
113 JVMState* caller_jvms() const { return _caller_jvms; } |
113 JVMState* caller_jvms() const { return _caller_jvms; } |
114 ciMethod *method() const { return _method; } |
114 ciMethod *method() const { return _method; } |
115 int caller_bci() const { return _caller_jvms ? _caller_jvms->bci() : InvocationEntryBci; } |
115 int caller_bci() const { return _caller_jvms ? _caller_jvms->bci() : InvocationEntryBci; } |