8208999: Some use of Klass* should be replaced by InstanceKlass*

Klass::java_super() => InstanceKlass*; InstanceKlass::{local,transitive}_interfaces() => Array<InstanceKlass*>*

Reviewed-by: coleenp, hseigel
This commit is contained in:
Ioi Lam 2018-08-07 15:45:07 -07:00
parent 01cc27f875
commit 1b2e7cbaef
32 changed files with 275 additions and 245 deletions

View file

@ -279,10 +279,10 @@ class InstanceKlass: public Klass {
Array<Method*>* _methods;
// Default Method Array, concrete methods inherited from interfaces
Array<Method*>* _default_methods;
// Interface (Klass*s) this class declares locally to implement.
Array<Klass*>* _local_interfaces;
// Interface (Klass*s) this class implements transitively.
Array<Klass*>* _transitive_interfaces;
// Interfaces (InstanceKlass*s) this class declares locally to implement.
Array<InstanceKlass*>* _local_interfaces;
// Interfaces (InstanceKlass*s) this class implements transitively.
Array<InstanceKlass*>* _transitive_interfaces;
// Int array containing the original order of method in the class file (for JVMTI).
Array<int>* _method_ordering;
// Int array containing the vtable_indices for default_methods
@ -415,13 +415,13 @@ class InstanceKlass: public Klass {
Array<int>* create_new_default_vtable_indices(int len, TRAPS);
// interfaces
Array<Klass*>* local_interfaces() const { return _local_interfaces; }
void set_local_interfaces(Array<Klass*>* a) {
Array<InstanceKlass*>* local_interfaces() const { return _local_interfaces; }
void set_local_interfaces(Array<InstanceKlass*>* a) {
guarantee(_local_interfaces == NULL || a == NULL, "Just checking");
_local_interfaces = a; }
Array<Klass*>* transitive_interfaces() const { return _transitive_interfaces; }
void set_transitive_interfaces(Array<Klass*>* a) {
Array<InstanceKlass*>* transitive_interfaces() const { return _transitive_interfaces; }
void set_transitive_interfaces(Array<InstanceKlass*>* a) {
guarantee(_transitive_interfaces == NULL || a == NULL, "Just checking");
_transitive_interfaces = a;
}
@ -1052,7 +1052,7 @@ public:
// virtual operations from Klass
bool is_leaf_class() const { return _subklass == NULL; }
GrowableArray<Klass*>* compute_secondary_supers(int num_extra_slots,
Array<Klass*>* transitive_interfaces);
Array<InstanceKlass*>* transitive_interfaces);
bool compute_is_subtype_of(Klass* k);
bool can_be_primary_super_slow() const;
int oop_size(oop obj) const { return size_helper(); }
@ -1080,7 +1080,7 @@ public:
return static_cast<const InstanceKlass*>(k);
}
InstanceKlass* java_super() const {
virtual InstanceKlass* java_super() const {
return (super() == NULL) ? NULL : cast(super());
}
@ -1201,8 +1201,8 @@ public:
Array<Method*>* methods);
void static deallocate_interfaces(ClassLoaderData* loader_data,
const Klass* super_klass,
Array<Klass*>* local_interfaces,
Array<Klass*>* transitive_interfaces);
Array<InstanceKlass*>* local_interfaces,
Array<InstanceKlass*>* transitive_interfaces);
// The constant pool is on stack if any of the methods are executing or
// referenced by handles.
@ -1379,6 +1379,7 @@ public:
void print_dependent_nmethods(bool verbose = false);
bool is_dependent_nmethod(nmethod* nm);
bool verify_itable_index(int index);
#endif
const char* internal_name() const;