< prev index next >

src/hotspot/share/oops/klass.hpp

Print this page

563                                          OverpassLookupMode overpass_mode,
564                                          PrivateLookupMode = PrivateLookupMode::find) const;
565  public:
566   Method* lookup_method(const Symbol* name, const Symbol* signature) const {
567     return uncached_lookup_method(name, signature, OverpassLookupMode::find);
568   }
569 
570   // array class with specific rank
571   virtual ArrayKlass* array_klass(int rank, TRAPS) = 0;
572 
573   // array class with this klass as element type
574   virtual ArrayKlass* array_klass(TRAPS) = 0;
575 
576   // These will return null instead of allocating on the heap:
577   virtual ArrayKlass* array_klass_or_null(int rank) = 0;
578   virtual ArrayKlass* array_klass_or_null() = 0;
579 
580   virtual oop protection_domain() const = 0;
581 
582   oop class_loader() const;

583 
584   inline oop klass_holder() const;
585 
586   inline void keep_alive() const;
587 
588  protected:
589 
590   // Error handling when length > max_length or length < 0
591   static void check_array_allocation_length(int length, int max_length, TRAPS);
592 
593   void set_vtable_length(int len) { _vtable_len= len; }
594 
595   vtableEntry* start_of_vtable() const;
596 #if INCLUDE_CDS
597   void restore_unshareable_info(ClassLoaderData* loader_data, Handle protection_domain, TRAPS);
598 #endif
599  public:
600   Method* method_at_vtable(int index);
601 
602   static ByteSize vtable_start_offset();

563                                          OverpassLookupMode overpass_mode,
564                                          PrivateLookupMode = PrivateLookupMode::find) const;
565  public:
566   Method* lookup_method(const Symbol* name, const Symbol* signature) const {
567     return uncached_lookup_method(name, signature, OverpassLookupMode::find);
568   }
569 
570   // array class with specific rank
571   virtual ArrayKlass* array_klass(int rank, TRAPS) = 0;
572 
573   // array class with this klass as element type
574   virtual ArrayKlass* array_klass(TRAPS) = 0;
575 
576   // These will return null instead of allocating on the heap:
577   virtual ArrayKlass* array_klass_or_null(int rank) = 0;
578   virtual ArrayKlass* array_klass_or_null() = 0;
579 
580   virtual oop protection_domain() const = 0;
581 
582   oop class_loader() const;
583   Symbol* class_loader_name_and_id() const;
584 
585   inline oop klass_holder() const;
586 
587   inline void keep_alive() const;
588 
589  protected:
590 
591   // Error handling when length > max_length or length < 0
592   static void check_array_allocation_length(int length, int max_length, TRAPS);
593 
594   void set_vtable_length(int len) { _vtable_len= len; }
595 
596   vtableEntry* start_of_vtable() const;
597 #if INCLUDE_CDS
598   void restore_unshareable_info(ClassLoaderData* loader_data, Handle protection_domain, TRAPS);
599 #endif
600  public:
601   Method* method_at_vtable(int index);
602 
603   static ByteSize vtable_start_offset();
< prev index next >