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();
|