I reorganized the code a bit more, trying not to really sacrifice
readability and other qualities. Now (with fancy_business dummies in
place, these are obviously not committed), the code size changes thus on
x86_64:
dwarf_formaddr 126 263 +137 2.09
dwarf_formref_die 200 443 +243 2.21
dwarf_formstring 162 345 +183 2.13
dwarf_formudata 389 598 +209 1.54
dwarf_getaranges 1144 1610 +466 1.41
dwarf_getlocation 115 118 +3 1.03
dwarf_getlocation_addr 1117 948 -169 0.85
dwarf_getpubnames 1247 1387 +140 1.11
dwarf_getsrclines 5358 5407 +49 1.01
dwarf_nextcu 453 721 +268 1.59
dwarf_ranges 694 797 +103 1.15
getlocation 1585 1829 +244 1.15
That's similar to the numbers I posted first time around, and we're back
to 2.0% of .text increase. The tests are spinning now.
I also got rid of the cosmetic thing with defining multiple variables
per line. Both is on the branch.
PM