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