On Thu, May 27, 2010 at 1:03 PM, Lassi Tuura <[email protected]> wrote: > This is fine in itself. How do you suggest to technically handle a frame > cache that survives across calls, such that the caller has enough control > to make the cache big enough to hit almost always after a warm-up period? > > I did for example play around with an idea of extra unw_set_foo() calls > after unw_local_init() but before starting trace itself. I wanted to get > this patch first out for discussion, so I didn't fully explore that. >
We already have a caching policy in unw_addr_space.caching_policy (NONE, GLOBAL, PER_THREAD). src/dwarf implements dwarf_rs_cache based on this. The implementation was borrowed from ia64. Perhaps you can reuse the existing policy in unw_addr_space and find a way of reusing the cache implementation code? One concern is the amount of code duplication. We'll be going from 2 copies to 3 copies of very similar code. -Arun _______________________________________________ Libunwind-devel mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/libunwind-devel
