Lines Matching defs:btf_dedup

2647 struct btf_dedup;
2649 static struct btf_dedup *btf_dedup_new(struct btf *btf, struct btf_ext *btf_ext,
2651 static void btf_dedup_free(struct btf_dedup *d);
2652 static int btf_dedup_strings(struct btf_dedup *d);
2653 static int btf_dedup_prim_types(struct btf_dedup *d);
2654 static int btf_dedup_struct_types(struct btf_dedup *d);
2655 static int btf_dedup_ref_types(struct btf_dedup *d);
2656 static int btf_dedup_compact_types(struct btf_dedup *d);
2657 static int btf_dedup_remap_types(struct btf_dedup *d);
2672 * More verbose and detailed description of both problem btf_dedup is solving,
2781 * `btf_dedup->map` array. This map is also used to record STRUCT/UNION that
2785 * index (`btf_dedup->dedup_table`), which maps type descriptor's signature hash
2799 struct btf_dedup *d = btf_dedup_new(btf, btf_ext, opts);
2849 struct btf_dedup {
2897 static int btf_dedup_table_add(struct btf_dedup *d, long hash, __u32 type_id)
2903 static int btf_dedup_hypot_map_add(struct btf_dedup *d,
2920 static void btf_dedup_clear_hypot_map(struct btf_dedup *d)
2929 static void btf_dedup_free(struct btf_dedup *d)
2961 static struct btf_dedup *btf_dedup_new(struct btf *btf, struct btf_ext *btf_ext,
2964 struct btf_dedup *d = calloc(1, sizeof(struct btf_dedup));
3026 static int btf_for_each_str_off(struct btf_dedup *d, str_off_fn_t fn, void *ctx)
3185 static int btf_dedup_strings(struct btf_dedup *d)
3567 * canonical and is added into `btf_dedup->dedup_table` as another candidate.
3569 static int btf_dedup_prim_type(struct btf_dedup *d, __u32 type_id)
3652 static int btf_dedup_prim_types(struct btf_dedup *d)
3667 static inline bool is_type_mapped(struct btf_dedup *d, uint32_t type_id)
3677 static inline __u32 resolve_type_id(struct btf_dedup *d, __u32 type_id)
3688 static uint32_t resolve_fwd_id(struct btf_dedup *d, uint32_t type_id)
3727 * a `cand_id` is recored in hypothetical mapping (`btf_dedup->hypot_map`).
3758 * unlikely to happen, but btf_dedup API allows to disable FWD resolution if
3803 static int btf_dedup_is_equiv(struct btf_dedup *d, __u32 cand_id,
3966 static void btf_dedup_merge_hypot_map(struct btf_dedup *d)
4024 * (btf_dedup->hypot_map) produced by aforementioned type graph equivalence
4031 * as canonical for itself and is added into btf_dedup->dedup_table hash map
4034 static int btf_dedup_struct_type(struct btf_dedup *d, __u32 type_id)
4090 static int btf_dedup_struct_types(struct btf_dedup *d)
4124 * btf_dedup->dedup_table as another possible canonical representative.
4126 static int btf_dedup_ref_type(struct btf_dedup *d, __u32 type_id)
4234 static int btf_dedup_ref_types(struct btf_dedup *d)
4255 * duplicates. During compaction btf_dedup->hypot_map array is reused to store
4260 static int btf_dedup_compact_types(struct btf_dedup *d)
4306 * then mapping it to a deduplicated type ID, stored in btf_dedup->hypot_map,
4309 static int btf_dedup_remap_type_id(struct btf_dedup *d, __u32 type_id)
4325 * deduped type ID is stored in btf_dedup->hypot_map and is populated during
4330 static int btf_dedup_remap_type(struct btf_dedup *d, __u32 type_id)
4423 static int btf_dedup_remap_types(struct btf_dedup *d)