< prev index next >

src/hotspot/share/oops/method.hpp

Print this page
rev 56655 : 8232613: Move Object.registerNatives into HotSpot
Reviewed-by: alanb, coleenp, lfoltan


 329                              { return constMethod()->has_exception_handler(); }
 330   int exception_table_length() const
 331                              { return constMethod()->exception_table_length(); }
 332   ExceptionTableElement* exception_table_start() const
 333                              { return constMethod()->exception_table_start(); }
 334 
 335   // Finds the first entry point bci of an exception handler for an
 336   // exception of klass ex_klass thrown at throw_bci. A value of NULL
 337   // for ex_klass indicates that the exception klass is not known; in
 338   // this case it matches any constraint class. Returns -1 if the
 339   // exception cannot be handled in this method. The handler
 340   // constraint classes are loaded if necessary. Note that this may
 341   // throw an exception if loading of the constraint classes causes
 342   // an IllegalAccessError (bugid 4307310) or an OutOfMemoryError.
 343   // If an exception is thrown, returns the bci of the
 344   // exception handler which caused the exception to be thrown, which
 345   // is needed for proper retries. See, for example,
 346   // InterpreterRuntime::exception_handler_for_exception.
 347   static int fast_exception_handler_bci_for(const methodHandle& mh, Klass* ex_klass, int throw_bci, TRAPS);
 348 






 349   // method data access
 350   MethodData* method_data() const              {
 351     return _method_data;
 352   }
 353 
 354   void set_method_data(MethodData* data);
 355 
 356   MethodCounters* method_counters() const {
 357     return _method_counters;
 358   }
 359 
 360   void clear_method_counters() {
 361     _method_counters = NULL;
 362   }
 363 
 364   bool init_method_counters(MethodCounters* counters);
 365 
 366 #ifdef TIERED
 367   // We are reusing interpreter_invocation_count as a holder for the previous event count!
 368   // We can do that since interpreter_invocation_count is not used in tiered.




 329                              { return constMethod()->has_exception_handler(); }
 330   int exception_table_length() const
 331                              { return constMethod()->exception_table_length(); }
 332   ExceptionTableElement* exception_table_start() const
 333                              { return constMethod()->exception_table_start(); }
 334 
 335   // Finds the first entry point bci of an exception handler for an
 336   // exception of klass ex_klass thrown at throw_bci. A value of NULL
 337   // for ex_klass indicates that the exception klass is not known; in
 338   // this case it matches any constraint class. Returns -1 if the
 339   // exception cannot be handled in this method. The handler
 340   // constraint classes are loaded if necessary. Note that this may
 341   // throw an exception if loading of the constraint classes causes
 342   // an IllegalAccessError (bugid 4307310) or an OutOfMemoryError.
 343   // If an exception is thrown, returns the bci of the
 344   // exception handler which caused the exception to be thrown, which
 345   // is needed for proper retries. See, for example,
 346   // InterpreterRuntime::exception_handler_for_exception.
 347   static int fast_exception_handler_bci_for(const methodHandle& mh, Klass* ex_klass, int throw_bci, TRAPS);
 348 
 349   static void register_native(Klass* k,
 350                               Symbol* name,
 351                               Symbol* signature,
 352                               address entry,
 353                               TRAPS);
 354 
 355   // method data access
 356   MethodData* method_data() const              {
 357     return _method_data;
 358   }
 359 
 360   void set_method_data(MethodData* data);
 361 
 362   MethodCounters* method_counters() const {
 363     return _method_counters;
 364   }
 365 
 366   void clear_method_counters() {
 367     _method_counters = NULL;
 368   }
 369 
 370   bool init_method_counters(MethodCounters* counters);
 371 
 372 #ifdef TIERED
 373   // We are reusing interpreter_invocation_count as a holder for the previous event count!
 374   // We can do that since interpreter_invocation_count is not used in tiered.


< prev index next >