< prev index next >

src/hotspot/share/oops/klass.hpp

Print this page




 449 
 450   bool search_secondary_supers(Klass* k) const;
 451 
 452   // Find LCA in class hierarchy
 453   Klass *LCA( Klass *k );
 454 
 455   // Check whether reflection/jni/jvm code is allowed to instantiate this class;
 456   // if not, throw either an Error or an Exception.
 457   virtual void check_valid_for_instantiation(bool throwError, TRAPS);
 458 
 459   // array copying
 460   virtual void  copy_array(arrayOop s, int src_pos, arrayOop d, int dst_pos, int length, TRAPS);
 461 
 462   // tells if the class should be initialized
 463   virtual bool should_be_initialized() const    { return false; }
 464   // initializes the klass
 465   virtual void initialize(TRAPS);
 466   // lookup operation for MethodLookupCache
 467   friend class MethodLookupCache;
 468   virtual Klass* find_field(Symbol* name, Symbol* signature, fieldDescriptor* fd) const;
 469   virtual Method* uncached_lookup_method(const Symbol* name, const Symbol* signature, OverpassLookupMode overpass_mode) const;


 470  public:
 471   Method* lookup_method(const Symbol* name, const Symbol* signature) const {
 472     return uncached_lookup_method(name, signature, find_overpass);
 473   }
 474 
 475   // array class with specific rank
 476   Klass* array_klass(int rank, TRAPS)         {  return array_klass_impl(false, rank, THREAD); }
 477 
 478   // array class with this klass as element type
 479   Klass* array_klass(TRAPS)                   {  return array_klass_impl(false, THREAD); }
 480 
 481   // These will return NULL instead of allocating on the heap:
 482   // NB: these can block for a mutex, like other functions with TRAPS arg.
 483   Klass* array_klass_or_null(int rank);
 484   Klass* array_klass_or_null();
 485 
 486   virtual oop protection_domain() const = 0;
 487 
 488   oop class_loader() const;
 489 




 449 
 450   bool search_secondary_supers(Klass* k) const;
 451 
 452   // Find LCA in class hierarchy
 453   Klass *LCA( Klass *k );
 454 
 455   // Check whether reflection/jni/jvm code is allowed to instantiate this class;
 456   // if not, throw either an Error or an Exception.
 457   virtual void check_valid_for_instantiation(bool throwError, TRAPS);
 458 
 459   // array copying
 460   virtual void  copy_array(arrayOop s, int src_pos, arrayOop d, int dst_pos, int length, TRAPS);
 461 
 462   // tells if the class should be initialized
 463   virtual bool should_be_initialized() const    { return false; }
 464   // initializes the klass
 465   virtual void initialize(TRAPS);
 466   // lookup operation for MethodLookupCache
 467   friend class MethodLookupCache;
 468   virtual Klass* find_field(Symbol* name, Symbol* signature, fieldDescriptor* fd) const;
 469   virtual Method* uncached_lookup_method(const Symbol* name, const Symbol* signature,
 470                                          OverpassLookupMode overpass_mode,
 471                                          PrivateLookupMode = find_private) const;
 472  public:
 473   Method* lookup_method(const Symbol* name, const Symbol* signature) const {
 474     return uncached_lookup_method(name, signature, find_overpass);
 475   }
 476 
 477   // array class with specific rank
 478   Klass* array_klass(int rank, TRAPS)         {  return array_klass_impl(false, rank, THREAD); }
 479 
 480   // array class with this klass as element type
 481   Klass* array_klass(TRAPS)                   {  return array_klass_impl(false, THREAD); }
 482 
 483   // These will return NULL instead of allocating on the heap:
 484   // NB: these can block for a mutex, like other functions with TRAPS arg.
 485   Klass* array_klass_or_null(int rank);
 486   Klass* array_klass_or_null();
 487 
 488   virtual oop protection_domain() const = 0;
 489 
 490   oop class_loader() const;
 491 


< prev index next >