- investigate the commit you mention above. Sadly I cannot
remember the original case that prompted for the caching code to be
added.
Sorry I could not reply earlier.
The caching code was added by me to make libreoffice work with non-toy
spreadsheets. Apparently referencing external cells is done through
exception handling in office suites and this lead to waiting for whole
minutes for libreoffice to load.
The gcc toolchain has this optimization, but clang one does not. So I
added a simple caching mechanism a few years ago that make this bearable.
See revision 1.8 of AddressSpace.hpp. Of course it moved in the meantime
and CVS lost all its history.
https://cvsweb.openbsd.org/src/lib/libunwind/src/Attic/AddressSpace.hpp