< prev index next >

src/hotspot/share/ci/ciMethod.hpp

Print this page




 228   bool          has_balanced_monitors();
 229 
 230   // Returns a bitmap indicating which locals are required to be
 231   // maintained as live for deopt.  raw_liveness_at_bci is always the
 232   // direct output of the liveness computation while liveness_at_bci
 233   // may mark all locals as live to improve support for debugging Java
 234   // code by maintaining the state of as many locals as possible.
 235   MethodLivenessResult raw_liveness_at_bci(int bci);
 236   MethodLivenessResult liveness_at_bci(int bci);
 237 
 238   // Get the interpreters viewpoint on oop liveness.  MethodLiveness is
 239   // conservative in the sense that it may consider locals to be live which
 240   // cannot be live, like in the case where a local could contain an oop or
 241   // a primitive along different paths.  In that case the local must be
 242   // dead when those paths merge. Since the interpreter's viewpoint is
 243   // used when gc'ing an interpreter frame we need to use its viewpoint
 244   // during OSR when loading the locals.
 245 
 246   ResourceBitMap live_local_oops_at_bci(int bci);
 247 


 248 #ifdef COMPILER1
 249   const BitMap& bci_block_start();
 250 #endif
 251 
 252   ciTypeFlow*   get_flow_analysis();
 253   ciTypeFlow*   get_osr_flow_analysis(int osr_bci);  // alternate entry point
 254   ciCallProfile call_profile_at_bci(int bci);
 255   int           interpreter_call_site_count(int bci);
 256 
 257   // Does type profiling provide any useful information at this point?
 258   bool          argument_profiled_type(int bci, int i, ciKlass*& type, ProfilePtrKind& ptr_kind);
 259   bool          parameter_profiled_type(int i, ciKlass*& type, ProfilePtrKind& ptr_kind);
 260   bool          return_profiled_type(int bci, ciKlass*& type, ProfilePtrKind& ptr_kind);
 261 
 262   ciField*      get_field_at_bci( int bci, bool &will_link);
 263   ciMethod*     get_method_at_bci(int bci, bool &will_link, ciSignature* *declared_signature);
 264   ciMethod*     get_method_at_bci(int bci) {
 265     bool ignored_will_link;
 266     ciSignature* ignored_declared_signature;
 267     return get_method_at_bci(bci, ignored_will_link, &ignored_declared_signature);




 228   bool          has_balanced_monitors();
 229 
 230   // Returns a bitmap indicating which locals are required to be
 231   // maintained as live for deopt.  raw_liveness_at_bci is always the
 232   // direct output of the liveness computation while liveness_at_bci
 233   // may mark all locals as live to improve support for debugging Java
 234   // code by maintaining the state of as many locals as possible.
 235   MethodLivenessResult raw_liveness_at_bci(int bci);
 236   MethodLivenessResult liveness_at_bci(int bci);
 237 
 238   // Get the interpreters viewpoint on oop liveness.  MethodLiveness is
 239   // conservative in the sense that it may consider locals to be live which
 240   // cannot be live, like in the case where a local could contain an oop or
 241   // a primitive along different paths.  In that case the local must be
 242   // dead when those paths merge. Since the interpreter's viewpoint is
 243   // used when gc'ing an interpreter frame we need to use its viewpoint
 244   // during OSR when loading the locals.
 245 
 246   ResourceBitMap live_local_oops_at_bci(int bci);
 247 
 248   bool needs_clinit_barrier() const;
 249 
 250 #ifdef COMPILER1
 251   const BitMap& bci_block_start();
 252 #endif
 253 
 254   ciTypeFlow*   get_flow_analysis();
 255   ciTypeFlow*   get_osr_flow_analysis(int osr_bci);  // alternate entry point
 256   ciCallProfile call_profile_at_bci(int bci);
 257   int           interpreter_call_site_count(int bci);
 258 
 259   // Does type profiling provide any useful information at this point?
 260   bool          argument_profiled_type(int bci, int i, ciKlass*& type, ProfilePtrKind& ptr_kind);
 261   bool          parameter_profiled_type(int i, ciKlass*& type, ProfilePtrKind& ptr_kind);
 262   bool          return_profiled_type(int bci, ciKlass*& type, ProfilePtrKind& ptr_kind);
 263 
 264   ciField*      get_field_at_bci( int bci, bool &will_link);
 265   ciMethod*     get_method_at_bci(int bci, bool &will_link, ciSignature* *declared_signature);
 266   ciMethod*     get_method_at_bci(int bci) {
 267     bool ignored_will_link;
 268     ciSignature* ignored_declared_signature;
 269     return get_method_at_bci(bci, ignored_will_link, &ignored_declared_signature);


< prev index next >