< prev index next >

src/share/vm/ci/ciMethod.hpp

Print this page




 226   // during OSR when loading the locals.
 227 
 228   BitMap  live_local_oops_at_bci(int bci);
 229 
 230 #ifdef COMPILER1
 231   const BitMap  bci_block_start();
 232 #endif
 233 
 234   ciTypeFlow*   get_flow_analysis();
 235   ciTypeFlow*   get_osr_flow_analysis(int osr_bci);  // alternate entry point
 236   ciCallProfile call_profile_at_bci(int bci);
 237   int           interpreter_call_site_count(int bci);
 238 
 239   // Does type profiling provide a useful type at this point?
 240   ciKlass*      argument_profiled_type(int bci, int i);
 241   ciKlass*      parameter_profiled_type(int i);
 242   ciKlass*      return_profiled_type(int bci);
 243 
 244   ciField*      get_field_at_bci( int bci, bool &will_link);
 245   ciMethod*     get_method_at_bci(int bci, bool &will_link, ciSignature* *declared_signature);





 246   // Given a certain calling environment, find the monomorphic target
 247   // for the call.  Return NULL if the call is not monomorphic in
 248   // its calling environment.
 249   ciMethod* find_monomorphic_target(ciInstanceKlass* caller,
 250                                     ciInstanceKlass* callee_holder,
 251                                     ciInstanceKlass* actual_receiver,
 252                                     bool check_access = true);
 253 
 254   // Given a known receiver klass, find the target for the call.
 255   // Return NULL if the call has no target or is abstract.
 256   ciMethod* resolve_invoke(ciKlass* caller, ciKlass* exact_receiver, bool check_access = true);
 257 
 258   // Find the proper vtable index to invoke this method.
 259   int resolve_vtable_index(ciKlass* caller, ciKlass* receiver);
 260 
 261   // Compilation directives
 262   bool should_exclude();
 263   bool should_inline();
 264   bool should_not_inline();
 265   bool should_print_assembly();




 226   // during OSR when loading the locals.
 227 
 228   BitMap  live_local_oops_at_bci(int bci);
 229 
 230 #ifdef COMPILER1
 231   const BitMap  bci_block_start();
 232 #endif
 233 
 234   ciTypeFlow*   get_flow_analysis();
 235   ciTypeFlow*   get_osr_flow_analysis(int osr_bci);  // alternate entry point
 236   ciCallProfile call_profile_at_bci(int bci);
 237   int           interpreter_call_site_count(int bci);
 238 
 239   // Does type profiling provide a useful type at this point?
 240   ciKlass*      argument_profiled_type(int bci, int i);
 241   ciKlass*      parameter_profiled_type(int i);
 242   ciKlass*      return_profiled_type(int bci);
 243 
 244   ciField*      get_field_at_bci( int bci, bool &will_link);
 245   ciMethod*     get_method_at_bci(int bci, bool &will_link, ciSignature* *declared_signature);
 246   ciMethod*     get_method_at_bci(int bci) {
 247     bool ignored_will_link;
 248     ciSignature* ignored_declared_signature;
 249     return get_method_at_bci(bci, ignored_will_link, &ignored_declared_signature);
 250   }
 251   // Given a certain calling environment, find the monomorphic target
 252   // for the call.  Return NULL if the call is not monomorphic in
 253   // its calling environment.
 254   ciMethod* find_monomorphic_target(ciInstanceKlass* caller,
 255                                     ciInstanceKlass* callee_holder,
 256                                     ciInstanceKlass* actual_receiver,
 257                                     bool check_access = true);
 258 
 259   // Given a known receiver klass, find the target for the call.
 260   // Return NULL if the call has no target or is abstract.
 261   ciMethod* resolve_invoke(ciKlass* caller, ciKlass* exact_receiver, bool check_access = true);
 262 
 263   // Find the proper vtable index to invoke this method.
 264   int resolve_vtable_index(ciKlass* caller, ciKlass* receiver);
 265 
 266   // Compilation directives
 267   bool should_exclude();
 268   bool should_inline();
 269   bool should_not_inline();
 270   bool should_print_assembly();


< prev index next >