< prev index next >

src/hotspot/share/oops/klass.hpp

Print this page

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

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

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