Comment # 21 on bug 1229450 from Jiri Slaby
(In reply to Jiri Slaby from comment #20)
> | |   |   ->24.01% (954,816,480B) 0x489B4AB: UnknownInlinedFun (dwarf_loader.c:959)

So given this struct class_member is the largest consumer, running pahole on
pahole. The below results in 4.102 GB -> 3.585 GB savings.

--- a/dwarves.h
+++ b/dwarves.h
@@ -487,14 +487,14 @@ int cu__for_all_tags(struct cu *cu,
  */
 struct tag {
        struct list_head node;
+       const char       *attribute;
+       void             *priv;
        type_id_t        type;
        uint16_t         tag;
+       uint16_t         recursivity_level;
        bool             visited;
        bool             top_level;
        bool             has_btf_type_tag;
-       uint16_t         recursivity_level;
-       const char       *attribute;
-       void             *priv;
 };

 // To use with things like type->type_enum ==
perf_event_type+perf_user_event_type
@@ -1086,17 +1086,17 @@ static inline int function__inlined(const struct
function *func)
 struct class_member {
        struct tag       tag;
        const char       *name;
+       uint64_t         const_value;
        uint32_t         bit_offset;
        uint32_t         bit_size;
        uint32_t         byte_offset;
        int              hole;
        size_t           byte_size;
+       uint32_t         alignment;
        int8_t           bitfield_offset;
        uint8_t          bitfield_size;
        uint8_t          bit_hole;
        uint8_t          bitfield_end:1;
-       uint64_t         const_value;
-       uint32_t         alignment;
        uint8_t          visited:1;
        uint8_t          is_static:1;
        uint8_t          has_bit_offset:1;


You are receiving this mail because: