< prev index next >

src/hotspot/share/oops/klass.hpp

Print this page

585                                          OverpassLookupMode overpass_mode,
586                                          PrivateLookupMode = PrivateLookupMode::find) const;
587  public:
588   Method* lookup_method(const Symbol* name, const Symbol* signature) const {
589     return uncached_lookup_method(name, signature, OverpassLookupMode::find);
590   }
591 
592   // array class with specific rank
593   virtual ArrayKlass* array_klass(int rank, TRAPS) = 0;
594 
595   // array class with this klass as element type
596   virtual ArrayKlass* array_klass(TRAPS) = 0;
597 
598   // These will return null instead of allocating on the heap:
599   virtual ArrayKlass* array_klass_or_null(int rank) = 0;
600   virtual ArrayKlass* array_klass_or_null() = 0;
601 
602   virtual oop protection_domain() const = 0;
603 
604   oop class_loader() const;

605 
606   inline oop klass_holder() const;
607 
608   inline void keep_alive() const;
609 
610  protected:
611 
612   // Error handling when length > max_length or length < 0
613   static void check_array_allocation_length(int length, int max_length, TRAPS);
614 
615   void set_vtable_length(int len) { _vtable_len= len; }
616 
617   vtableEntry* start_of_vtable() const;
618 #if INCLUDE_CDS
619   void restore_unshareable_info(ClassLoaderData* loader_data, Handle protection_domain, TRAPS);
620 #endif
621  public:
622   Method* method_at_vtable(int index);
623 
624   static ByteSize vtable_start_offset();

585                                          OverpassLookupMode overpass_mode,
586                                          PrivateLookupMode = PrivateLookupMode::find) const;
587  public:
588   Method* lookup_method(const Symbol* name, const Symbol* signature) const {
589     return uncached_lookup_method(name, signature, OverpassLookupMode::find);
590   }
591 
592   // array class with specific rank
593   virtual ArrayKlass* array_klass(int rank, TRAPS) = 0;
594 
595   // array class with this klass as element type
596   virtual ArrayKlass* array_klass(TRAPS) = 0;
597 
598   // These will return null instead of allocating on the heap:
599   virtual ArrayKlass* array_klass_or_null(int rank) = 0;
600   virtual ArrayKlass* array_klass_or_null() = 0;
601 
602   virtual oop protection_domain() const = 0;
603 
604   oop class_loader() const;
605   Symbol* class_loader_name_and_id() const;
606 
607   inline oop klass_holder() const;
608 
609   inline void keep_alive() const;
610 
611  protected:
612 
613   // Error handling when length > max_length or length < 0
614   static void check_array_allocation_length(int length, int max_length, TRAPS);
615 
616   void set_vtable_length(int len) { _vtable_len= len; }
617 
618   vtableEntry* start_of_vtable() const;
619 #if INCLUDE_CDS
620   void restore_unshareable_info(ClassLoaderData* loader_data, Handle protection_domain, TRAPS);
621 #endif
622  public:
623   Method* method_at_vtable(int index);
624 
625   static ByteSize vtable_start_offset();
< prev index next >