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