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