Jeremy Rifkin
aed47df73e
Slightly improve memory usage by packing some structs used in the die cache
2025-02-17 22:18:15 -06:00
Jeremy Rifkin
e22300b36d
Refactor to not use if constexpr
2025-02-17 21:41:16 -06:00
Jeremy Rifkin
a4faef7f1e
Refactor cu_cache to use die_cache abstraction and reduce cu die cloning
2025-02-17 21:13:08 -06:00
Jeremy Rifkin
83527947a2
Add an abstraction for die caches / lookup and reduce die cloning
2025-02-17 20:40:46 -06:00
Jeremy Rifkin
1d79dbcf42
Add a configurable cache size for the line tables cache, related to #193
2025-02-17 19:10:46 -06:00
Jeremy Rifkin
8c7b1dc6aa
Silence a gcc warning about unitialized values
2025-02-17 18:22:58 -06:00
Jeremy Rifkin
111f8e6aec
Simplify to two move constructors, just use the move assignment operator
2025-02-17 13:51:26 -06:00
Jeremy Rifkin
ead3f128aa
Make line_table_info serve as a raii utility for dwarf line table stuff
2025-02-17 13:50:06 -06:00
Jeremy Rifkin
8963639639
Fix an issue with destruction order of dwarf stuff and clean up cleanup logic
2025-02-17 13:23:58 -06:00
Jeremy Rifkin
b762ee7ec6
Remove some commented code
2025-02-17 13:05:57 -06:00
Jeremy Rifkin
62548497a8
Create a helper wrapper / abstraction for managing srcfiles lists
2025-02-17 01:02:28 -06:00
Jeremy Rifkin
4ab78f7a69
Fix srcfiles deallocation
2025-02-16 18:34:49 -06:00
Jeremy Rifkin
bc0164224e
Try using dwarf_set_de_alloc_flag(0) to improve performance and memory usage
2025-02-16 17:53:40 -06:00
Jeremy Rifkin
d18d6ee77d
Fix cleanup of dwarf aranges
2025-02-16 17:53:10 -06:00
Jeremy Rifkin
90da0563f9
Recurse into DW_TAG_lexical_block DIEs while searching for inlining information
2024-11-10 16:09:55 -06:00
Jeremy Rifkin
4c59e73a01
Split up cpptrace.hpp
2024-10-05 18:01:12 -05:00
Vittorio Romeo
0ddbbf43cb
Improve compilation times on Windows ( #172 )
...
Thank you for the very useful library!
Few improvements:
- Better header hygiene
- Isolate `windows.h` to `.cpp` whenever possible
- Use `WIN32_LEAN_AND_MEAN`
- Remove unused headers
Tested on Windows with
```
cmake .. -DCMAKE_BUILD_TYPE=Debug -GNinja -DCMAKE_EXPORT_COMPILE_COMMANDS=1
-DCMAKE_CXX_COMPILER=clang++ -DCMAKE_CXX_FLAGS="-ftime-trace -Wall -Wextra -Wpedantic
-Wno-ignored-attributes" -DCMAKE_COLOR_DIAGNOSTICS=1 -DCPPTRACE_BUILD_TESTING=1
-DCPPTRACE_BUILD_BENCHMARKING=0
```
There's a lot more that can be improved if you are interested.
---------
Co-authored-by: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com>
2024-10-02 10:55:13 -05:00
Jeremy Rifkin
b364d37f78
Implement better dwarf rangelist base address logic ( #157 )
...
Related to https://github.com/davea42/libdwarf-code/issues/255 , allows
re-enabling the clang+sanitizer+rel+dsym tests.
2024-08-18 16:51:40 -05:00
Jeremy Rifkin
164cc75681
A little refactoring and reorganization. Remove relative includes.
2024-08-18 11:58:49 -05:00
Jeremy
e1fb3527a4
Fix an issue with split dwarf on clang
2024-07-11 19:10:16 -05:00
Jeremy
611660de5b
Fix use after free during cleanup of split dwarf information, fixes #141
2024-07-02 21:56:35 -06:00
Jeremy Rifkin
b2bff57d81
Debug Fission ( #132 )
...
Implement support for debug fission, closes #129
2024-05-28 20:39:34 -05:00
Jeremy
5556aedddb
Refactor cu lookup out of pc resolution
2024-05-25 16:20:41 -05:00
Jeremy
810b74ecaa
Refactor symbols_with_libdwarf indo separate files
2024-05-25 14:29:55 -05:00