[RFC] Improving compact x86-64 compact unwind descriptors

I think you’d end up losing out on a significant amount of the size savings this way. I’ll have to dig around for the data again, but I’ve found for Meta’s Android apps that the actual unwinding encodings were less than 50% of eh_frame size; the rest was all the other overhead from the CIE and FDE structures. Even a function that requires no unwinding information at all (e.g. a leaf function with no stack usage) has 28 bytes of overhead (20 bytes for the FDE and 8 bytes for eh_frame_hdr), and an internal option to eliminate those reduced overall eh_frame size by 25%.

2 Likes