Page MenuHomeFreeBSD

Avoid .debug_str lookups.
ClosedPublic

Authored by markj on Jun 25 2019, 4:24 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Apr 6, 3:40 PM
Unknown Object (File)
Thu, Mar 28, 6:01 PM
Unknown Object (File)
Feb 20 2024, 10:13 PM
Unknown Object (File)
Feb 14 2024, 1:22 PM
Unknown Object (File)
Dec 25 2023, 9:08 PM
Unknown Object (File)
Dec 20 2023, 4:47 AM
Unknown Object (File)
Dec 14 2023, 10:11 AM
Unknown Object (File)
Dec 11 2023, 1:37 AM
Subscribers

Details

Summary

libdwarf caches a string table handle, use that instead. This provides
a noticeable speedup when iterating through DIEs, since we would
otherwise do a linear search of all of the DWARF sections looking for
".debug_str" using strcmp().

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Presumably _dwarf_strtab_init is guaranteed to be called?

Presumably _dwarf_strtab_init is guaranteed to be called?

The only way it won't be called is if an earlier error occurs during initialization. If there is no string table, then the assertion in the removed code would fail.

This revision is now accepted and ready to land.Jun 25 2019, 7:58 PM