Home | History | Annotate | Download | only in runtime

Lines Matching refs:iftable

57 #include "mirror/iftable-inl.h"
292 array_iftable_ = GcRoot<mirror::IfTable>(AllocIfTable(self, 2));
428 // Setup the single, global copy of "iftable".
436 mirror::IfTable* array_iftable = array_iftable_.Read();
1684 array_iftable_ = GcRoot<mirror::IfTable>(GetClassRoot(kObjectArrayClass)->GetIfTable());
3203 // Use the single, global copies of "interfaces" and "iftable"
3206 mirror::IfTable* array_iftable = array_iftable_.Read();
5064 mirror::IfTable* super_iftable = klass->GetSuperClass()->GetIfTable();
5071 // Class just inherits marker interfaces from parent so recycle parent's iftable.
5091 Handle<mirror::IfTable> iftable(hs.NewHandle(AllocIfTable(self, ifcount)));
5092 if (UNLIKELY(iftable.Get() == nullptr)) {
5097 mirror::IfTable* super_iftable = klass->GetSuperClass()->GetIfTable();
5100 iftable->SetInterface(i, super_interface);
5108 // Check if interface is already in iftable
5111 mirror::Class* existing_interface = iftable->GetInterface(j);
5119 iftable->SetInterface(idx++, interface);
5125 mirror::Class* existing_interface = iftable->GetInterface(k);
5132 iftable->SetInterface(idx++, super_interface);
5137 // Shrink iftable in case duplicates were found
5140 iftable.Assign(down_cast<mirror::IfTable*>(iftable->CopyOf(self, idx * mirror::IfTable::kMax)));
5141 if (UNLIKELY(iftable.Get() == nullptr)) {
5149 klass->SetIfTable(iftable.Get());
5167 // No imt in the super class, need to reconstruct from the iftable.
5168 mirror::IfTable* if_table = super_class->GetIfTable();
5172 mirror::Class* interface = iftable->GetInterface(i);
5198 size_t num_methods = iftable->GetInterface(i)->NumVirtualMethods();
5206 mirror::IfTable* if_table = klass->GetSuperClass()->GetIfTable();
5225 iftable->SetMethodArray(i, method_array.Get());
5232 mirror::ArtMethod* interface_method = iftable->GetInterface(i)->GetVirtualMethod(j);