summaryrefslogtreecommitdiffstats
path: root/dwflpp.h
diff options
context:
space:
mode:
authorJosh Stone <jistone@redhat.com>2009-08-25 17:23:28 -0700
committerJosh Stone <jistone@redhat.com>2009-08-25 17:23:28 -0700
commitd089f5b2932a473692f8c3e1badb883fabc55dee (patch)
tree55a2176ea9ea2b560f853fe785d6ecb402008c65 /dwflpp.h
parent54558065ee8428cfdc42135f151739fbc787d034 (diff)
downloadsystemtap-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.h')
-rw-r--r--dwflpp.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/dwflpp.h b/dwflpp.h
index 1d6fe0c8..9c342090 100644
--- a/dwflpp.h
+++ b/dwflpp.h
@@ -65,6 +65,9 @@ typedef stap_map<std::string, Dwarf_Die>::type cu_function_cache_t;
// cu die -> (function -> die)
typedef stap_map<void*, cu_function_cache_t*>::type mod_cu_function_cache_t;
+// inline function die -> instance die[]
+typedef stap_map<void*, std::vector<Dwarf_Die>*>::type cu_inl_function_cache_t;
+
typedef std::vector<func_info> func_info_map_t;
typedef std::vector<inline_instance_info> inline_instance_map_t;
@@ -289,7 +292,6 @@ private:
typedef std::map<Dwarf*, std::vector<Dwarf_Die>*> module_cu_cache_t;
module_cu_cache_t module_cu_cache;
- typedef std::map<std::string, std::vector<Dwarf_Die>*> cu_inl_function_cache_t;
cu_inl_function_cache_t cu_inl_function_cache;
static int cu_inl_function_caching_callback (Dwarf_Die* func, void *arg);