yosys/backends/cxxrtl/runtime/cxxrtl
Catherine 9134cd1928 cxxrtl: reduce stack space consumed by `debug_info()`.
Before this commit, the creation of (constant) attribute maps caused
`debug_info()` (which is built with `__attribute__((optnone))`) to
consume large amounts of stack space; up to tens of megabytes. This
caused problems particularly on macOS, where the default stack size
is 512 KiB.

After this commit, `std::map` objects are no longer created inline in
the `debug_info()` function, but are compiled to and then expanded from
a string literal in a subroutine call. This reduces stack space usage
by about 50%.
2024-05-08 02:55:17 +00:00
..
capi cxxrtl: expose scope information in the C++ API. 2024-02-26 12:42:48 +00:00
cxxrtl.h cxxrtl: reduce stack space consumed by `debug_info()`. 2024-05-08 02:55:17 +00:00
cxxrtl_replay.h cxxrtl: fix close of invalid fd in spool destructor. 2024-05-08 00:46:10 +00:00
cxxrtl_time.h cxxrtl: improve robustness of `cxxrtl::time`. 2024-01-09 13:44:39 +00:00
cxxrtl_vcd.h cxxrtl: reorganize runtime component files. 2023-11-28 15:32:36 +00:00