Lines Matching refs:vtable

397   // Setup the primitive array type classes - can't be done until Object has a vtable.
3143 // up a vtable. We can just point at the one in java_lang_Object_.
3879 // Link the fields and virtual methods, creating vtable and iftables
4781 // Populate the class vtable and itable. Compute return type indices.
4786 // No vtable.
4917 Handle<mirror::ObjectArray<mirror::ArtMethod>> vtable;
4919 vtable = hs.NewHandle(AllocArtMethodArray(self, max_count));
4920 if (UNLIKELY(vtable.Get() == nullptr)) {
4925 vtable->SetWithoutChecks<false>(i, super_class->GetEmbeddedVTableEntry(i));
4928 klass->SetVTable(vtable.Get());
4938 vtable = hs.NewHandle(super_vtable->CopyOf(self, max_count));
4939 if (UNLIKELY(vtable.Get() == nullptr)) {
4947 // method which has not been matched to a vtable method, and j if the virtual method at the
4951 // the need for the initial vtable which we later shrink back down).
4952 // 3. Add non overridden methods to the end of the vtable.
4969 // Loop through each super vtable method and see if they are overriden by a method we added to
4973 mirror::ArtMethod* super_method = vtable->GetWithoutChecks(j);
4987 vtable->SetWithoutChecks<false>(j, virtual_method);
5002 local_method == vtable->GetWithoutChecks(method_idx)) {
5005 vtable->SetWithoutChecks<false>(actual_count, local_method);
5013 // Shrink vtable if possible
5016 vtable.Assign(vtable->CopyOf(self, actual_count));
5017 if (UNLIKELY(vtable.Get() == nullptr)) {
5022 klass->SetVTable(vtable.Get());
5030 mirror::ObjectArray<mirror::ArtMethod>* vtable = AllocArtMethodArray(self, num_virtual_methods);
5031 if (UNLIKELY(vtable == nullptr)) {
5037 vtable->SetWithoutChecks<false>(i, virtual_method);
5040 klass->SetVTable(vtable);
5150 // If we're an interface, we don't need the vtable pointers, so we're done.
5154 Handle<mirror::ObjectArray<mirror::ArtMethod>> vtable(
5213 // whole vtable.
5217 // A new interface, we need the whole vtable incase a new interface method is implemented
5219 input_array = vtable;
5239 // back from the end of the vtable. (This only matters if the
5241 // it -- otherwise it would use the same vtable slot. In .dex files
5267 // it must be that we overwrote a superclass vtable entry.
5319 int old_vtable_count = vtable->GetLength();
5321 vtable.Assign(vtable->CopyOf(self, new_vtable_count));
5322 if (UNLIKELY(vtable.Get() == nullptr)) {
5332 vtable->SetWithoutChecks<false>(old_vtable_count + i, method);
5334 // TODO: do not assign to the vtable field until it is fully constructed.
5335 klass->SetVTable(vtable.Get());
5339 mirror::ObjectArray<mirror::ArtMethod>* vtable = klass->GetVTableDuringLinking();
5340 for (int i = 0; i < vtable->GetLength(); ++i) {
5341 CHECK(vtable->GetWithoutChecks(i) != nullptr);