Mercurial > hg > truffle
comparison src/share/vm/opto/parse.hpp @ 8119:133bf557ef77
8007439: C2: adding successful message of inlining
Reviewed-by: kvn, vlivanov
author | iignatyev |
---|---|
date | Wed, 27 Feb 2013 05:58:48 -0800 |
parents | 60bba1398c51 |
children | 6f3fd5150b67 |
comparison
equal
deleted
inserted
replaced
8079:ad736b4683b4 | 8119:133bf557ef77 |
---|---|
56 float compute_callee_frequency( int caller_bci ) const; | 56 float compute_callee_frequency( int caller_bci ) const; |
57 | 57 |
58 GrowableArray<InlineTree*> _subtrees; | 58 GrowableArray<InlineTree*> _subtrees; |
59 | 59 |
60 void print_impl(outputStream* stj, int indent) const PRODUCT_RETURN; | 60 void print_impl(outputStream* stj, int indent) const PRODUCT_RETURN; |
61 | 61 const char* _msg; |
62 protected: | 62 protected: |
63 InlineTree(Compile* C, | 63 InlineTree(Compile* C, |
64 const InlineTree* caller_tree, | 64 const InlineTree* caller_tree, |
65 ciMethod* callee_method, | 65 ciMethod* callee_method, |
66 JVMState* caller_jvms, | 66 JVMState* caller_jvms, |
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, bool& should_delay); | 73 bool try_to_inline(ciMethod* callee_method, |
74 const char* should_inline(ciMethod* callee_method, ciMethod* caller_method, int caller_bci, ciCallProfile& profile, WarmCallInfo* wci_result) const; | 74 ciMethod* caller_method, |
75 const char* should_not_inline(ciMethod* callee_method, ciMethod* caller_method, WarmCallInfo* wci_result) const; | 75 int caller_bci, |
76 ciCallProfile& profile, | |
77 WarmCallInfo* wci_result, | |
78 bool& should_delay); | |
79 bool should_inline(ciMethod* callee_method, | |
80 ciMethod* caller_method, | |
81 int caller_bci, | |
82 ciCallProfile& profile, | |
83 WarmCallInfo* wci_result); | |
84 bool should_not_inline(ciMethod* callee_method, | |
85 ciMethod* caller_method, | |
86 WarmCallInfo* wci_result); | |
76 void print_inlining(ciMethod* callee_method, int caller_bci, | 87 void print_inlining(ciMethod* callee_method, int caller_bci, |
77 const char* msg, bool success) const; | 88 bool success) const; |
78 | 89 |
79 InlineTree *caller_tree() const { return _caller_tree; } | 90 InlineTree* caller_tree() const { return _caller_tree; } |
80 InlineTree* callee_at(int bci, ciMethod* m) const; | 91 InlineTree* callee_at(int bci, ciMethod* m) const; |
81 int inline_level() const { return stack_depth(); } | 92 int inline_level() const { return stack_depth(); } |
82 int stack_depth() const { return _caller_jvms ? _caller_jvms->depth() : 0; } | 93 int stack_depth() const { return _caller_jvms ? _caller_jvms->depth() : 0; } |
83 | 94 const char* msg() const { return _msg; } |
95 void set_msg(const char* msg) { _msg = msg; } | |
84 public: | 96 public: |
85 static const char* check_can_parse(ciMethod* callee); | 97 static const char* check_can_parse(ciMethod* callee); |
86 | 98 |
87 static InlineTree* build_inline_tree_root(); | 99 static InlineTree* build_inline_tree_root(); |
88 static InlineTree* find_subtree_from_root(InlineTree* root, JVMState* jvms, ciMethod* callee); | 100 static InlineTree* find_subtree_from_root(InlineTree* root, JVMState* jvms, ciMethod* callee); |