comparison src/share/vm/opto/parse.hpp @ 7473:d092d1b31229

8005071: Incremental inlining for JSR 292 Summary: post parse inlining driven by number of live nodes. Reviewed-by: twisti, kvn, jrose
author roland
date Sun, 23 Dec 2012 17:08:22 +0100
parents b9a9ed0f8eeb
children 5698813d45eb
comparison
equal deleted inserted replaced
7445:cd962e15c08e 7473:d092d1b31229
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; }