Lines Matching refs:vtable
59 /* To help us find the components of a vtable, we build ourselves a
60 GDB type object representing the vtable structure. Following the
193 /* Return the ptrdiff_t type used in the vtable type. */
204 gdb_gnu_v3_abi_vtable' object to the vtable's "address point"
261 /* Find the vtable for a value of CONTAINER_TYPE located at
262 CONTAINER_ADDR. Return a value of the correct vtable type for this
263 architecture, or NULL if CONTAINER does not have a vtable. */
310 struct value *vtable;
329 vtable = gnuv3_get_vtable (gdbarch, values_type,
331 if (vtable == NULL)
334 /* Find the linker symbol for this vtable. */
336 = lookup_minimal_symbol_by_pc (vtable->address ()
337 + vtable->embedded_offset ()).minsym;
341 /* The symbol's demangled name should be something like "vtable for
348 || !startswith (vtable_symbol_name, "vtable for "))
379 = value_as_long (value_field (vtable, vtable_field_offset_to_top));
397 struct value *vtable, *vfn;
399 /* Every class with virtual functions must have a vtable. */
400 vtable = gnuv3_get_vtable (gdbarch, container->type (),
402 gdb_assert (vtable != NULL);
404 /* Fetch the appropriate function pointer from the vtable. */
405 vfn = value_subscript (value_field (vtable, vtable_field_virtual_functions),
408 /* If this architecture uses function descriptors directly in the vtable,
409 then the address of the vtable entry is actually a "function pointer"
465 struct value *vtable;
503 our vtable. Recent GCC versions provide this information. If it isn't
516 vtable = gnuv3_get_vtable (gdbarch, type, address + embedded_offset);
517 gdb_assert (vtable != NULL);
518 vbase_array = value_field (vtable, vtable_field_vcall_and_vbase_offsets);
591 or a vtable offset. For pointers, we need to use extract_typed_address
593 vtable offsets we must handle as integers. At this point, we do not
649 for a field with the correct vtable offset. First convert it
813 /* Comparison function used for sorting the vtable entries. */
827 maximum vtable offset seen for the corresponding vtable. Updates
847 /* Update the value_and_voffset object with the highest vtable
871 /* Helper for gnuv3_print_vtable that prints a single vtable. */
880 struct value *vtable;
883 vtable = gnuv3_get_vtable (gdbarch, type,
886 vt_addr = value_field (vtable,
889 gdb_printf (_("vtable for '%s' @ %s (subobject @ %s):\n"),
904 vfn = value_subscript (value_field (vtable,
935 struct value *vtable;
958 vtable = NULL;
960 vtable = gnuv3_get_vtable (gdbarch, type,
963 if (!vtable)
1014 /* The vtable. */
1115 struct value *vtable, *typeinfo_value;
1118 vtable = gnuv3_get_vtable (gdbarch, type, address);
1119 if (vtable == NULL)
1122 typeinfo_value = value_field (vtable, vtable_field_type_info);