summaryrefslogtreecommitdiffstats
path: root/dwflpp.h
diff options
context:
space:
mode:
authorMark Wielaard <mjw@redhat.com>2009-09-29 16:45:37 +0200
committerMark Wielaard <mjw@redhat.com>2009-09-29 16:45:37 +0200
commit68983551cc9390aa2bddd8e62ed0f0e3eca1edb6 (patch)
tree98dc1f189dac99351989f7167b84a88f39d6a86c /dwflpp.h
parent497f19d74912d0b6adf729f88509c71a45cacdd4 (diff)
downloadsystemtap-steved-68983551cc9390aa2bddd8e62ed0f0e3eca1edb6.tar.gz
systemtap-steved-68983551cc9390aa2bddd8e62ed0f0e3eca1edb6.tar.xz
systemtap-steved-68983551cc9390aa2bddd8e62ed0f0e3eca1edb6.zip
Cache Dwfl's for reuse between pass 2 and pass 3.
* setupdwfl.h: Introduce DwflPtr. * setupdwfl.cxx: Cache kernel_dwfl and user_dwfl. Keep track of last used module strings. Return cached versions if same query used. * dwflpp.h: Use DwflPtr instead of Dwfl*. * dwflpp.cxx: Use DwflPtr and don't dwfl_end(). * translate.cxx: Likewise. Run through dwfl_getmodules() with returned ptr offset.
Diffstat (limited to 'dwflpp.h')
-rw-r--r--dwflpp.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/dwflpp.h b/dwflpp.h
index 979ec868..226b84d8 100644
--- a/dwflpp.h
+++ b/dwflpp.h
@@ -16,6 +16,7 @@
#include "elaborate.h"
#include "session.h"
#include "unordered.h"
+#include "setupdwfl.h"
#include <cstring>
#include <iostream>
@@ -286,7 +287,7 @@ struct dwflpp
private:
- Dwfl * dwfl;
+ DwflPtr dwfl_ptr;
// These are "current" values we focus on.
Dwarf * module_dwarf;