diff options
author | Josh Stone <jistone@redhat.com> | 2009-08-25 17:23:28 -0700 |
---|---|---|
committer | Josh Stone <jistone@redhat.com> | 2009-08-25 17:23:28 -0700 |
commit | d089f5b2932a473692f8c3e1badb883fabc55dee (patch) | |
tree | 55a2176ea9ea2b560f853fe785d6ecb402008c65 /dwflpp.cxx | |
parent | 54558065ee8428cfdc42135f151739fbc787d034 (diff) | |
download | systemtap-steved-d089f5b2932a473692f8c3e1badb883fabc55dee.tar.gz systemtap-steved-d089f5b2932a473692f8c3e1badb883fabc55dee.tar.xz systemtap-steved-d089f5b2932a473692f8c3e1badb883fabc55dee.zip |
Index cu_inl_function_cache_t by function->addr
Again, avoid needless string construction for map indexing.
* dwflpp.h (cu_inl_function_cache_t): Index by the void* function->addr.
* dwflpp.cxx (dwflpp::iterate_over_inline_instances): Index
cu_inl_function_cache by function->addr.
Diffstat (limited to 'dwflpp.cxx')
-rw-r--r-- | dwflpp.cxx | 5 |
1 files changed, 2 insertions, 3 deletions
@@ -514,12 +514,11 @@ dwflpp::iterate_over_inline_instances (int (* callback)(Dwarf_Die * die, void * assert (function); assert (func_is_inline ()); - string key = module_name + ":" + cu_name + ":" + function_name; - vector<Dwarf_Die>* v = cu_inl_function_cache[key]; + vector<Dwarf_Die>* v = cu_inl_function_cache[function->addr]; if (v == 0) { v = new vector<Dwarf_Die>; - cu_inl_function_cache[key] = v; + cu_inl_function_cache[function->addr] = v; dwarf_func_inline_instances (function, cu_inl_function_caching_callback, v); } |