< prev index next >

src/share/vm/opto/parse.hpp

Print this page
rev 7851 : 8073607: add trace events for inlining
Reviewed-by:


  70   InlineTree *build_inline_tree_for_callee(ciMethod* callee_method,
  71                                            JVMState* caller_jvms,
  72                                            int caller_bci);
  73   bool        try_to_inline(ciMethod* callee_method,
  74                             ciMethod* caller_method,
  75                             int caller_bci,
  76                             JVMState* jvms,
  77                             ciCallProfile& profile,
  78                             WarmCallInfo* wci_result,
  79                             bool& should_delay);
  80   bool        should_inline(ciMethod* callee_method,
  81                             ciMethod* caller_method,
  82                             int caller_bci,
  83                             ciCallProfile& profile,
  84                             WarmCallInfo* wci_result);
  85   bool        should_not_inline(ciMethod* callee_method,
  86                                 ciMethod* caller_method,
  87                                 JVMState* jvms,
  88                                 WarmCallInfo* wci_result);
  89   void        print_inlining(ciMethod* callee_method, int caller_bci,
  90                              bool success) const;
  91 
  92   InlineTree* caller_tree()       const { return _caller_tree;  }
  93   InlineTree* callee_at(int bci, ciMethod* m) const;
  94   int         inline_level()      const { return stack_depth(); }
  95   int         stack_depth()       const { return _caller_jvms ? _caller_jvms->depth() : 0; }
  96   const char* msg()               const { return _msg; }
  97   void        set_msg(const char* msg)  { _msg = msg; }
  98 public:
  99   static const char* check_can_parse(ciMethod* callee);
 100 
 101   static InlineTree* build_inline_tree_root();
 102   static InlineTree* find_subtree_from_root(InlineTree* root, JVMState* jvms, ciMethod* callee);
 103 
 104   // For temporary (stack-allocated, stateless) ilts:
 105   InlineTree(Compile* c, ciMethod* callee_method, JVMState* caller_jvms, float site_invoke_ratio, int max_inline_level);
 106 
 107   // InlineTree enum
 108   enum InlineStyle {
 109     Inline_do_not_inline             =   0, //
 110     Inline_cha_is_monomorphic        =   1, //




  70   InlineTree *build_inline_tree_for_callee(ciMethod* callee_method,
  71                                            JVMState* caller_jvms,
  72                                            int caller_bci);
  73   bool        try_to_inline(ciMethod* callee_method,
  74                             ciMethod* caller_method,
  75                             int caller_bci,
  76                             JVMState* jvms,
  77                             ciCallProfile& profile,
  78                             WarmCallInfo* wci_result,
  79                             bool& should_delay);
  80   bool        should_inline(ciMethod* callee_method,
  81                             ciMethod* caller_method,
  82                             int caller_bci,
  83                             ciCallProfile& profile,
  84                             WarmCallInfo* wci_result);
  85   bool        should_not_inline(ciMethod* callee_method,
  86                                 ciMethod* caller_method,
  87                                 JVMState* jvms,
  88                                 WarmCallInfo* wci_result);
  89   void        print_inlining(ciMethod* callee_method, int caller_bci,
  90                              ciMethod* caller_method, bool success) const;
  91 
  92   InlineTree* caller_tree()       const { return _caller_tree;  }
  93   InlineTree* callee_at(int bci, ciMethod* m) const;
  94   int         inline_level()      const { return stack_depth(); }
  95   int         stack_depth()       const { return _caller_jvms ? _caller_jvms->depth() : 0; }
  96   const char* msg()               const { return _msg; }
  97   void        set_msg(const char* msg)  { _msg = msg; }
  98 public:
  99   static const char* check_can_parse(ciMethod* callee);
 100 
 101   static InlineTree* build_inline_tree_root();
 102   static InlineTree* find_subtree_from_root(InlineTree* root, JVMState* jvms, ciMethod* callee);
 103 
 104   // For temporary (stack-allocated, stateless) ilts:
 105   InlineTree(Compile* c, ciMethod* callee_method, JVMState* caller_jvms, float site_invoke_ratio, int max_inline_level);
 106 
 107   // InlineTree enum
 108   enum InlineStyle {
 109     Inline_do_not_inline             =   0, //
 110     Inline_cha_is_monomorphic        =   1, //


< prev index next >