diff options
author | Zack Rusin <zack@kde.org> | 2011-09-01 01:50:56 -0400 |
---|---|---|
committer | Zack Rusin <zack@kde.org> | 2011-09-01 01:50:56 -0400 |
commit | e0df952b67f3ae38aeb0fd7e32942f8fa53ac49f (patch) | |
tree | c004c648ebde59b139b15a7b76bcf54ab72160fb /trace_parser.hpp | |
parent | 8216d8efc428dd336957433d743af5c4ac2d0d05 (diff) |
First working implementation of on-demand-loading of frames/calls.
Diffstat (limited to 'trace_parser.hpp')
-rw-r--r-- | trace_parser.hpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/trace_parser.hpp b/trace_parser.hpp index a000986..a9f11f7 100644 --- a/trace_parser.hpp +++ b/trace_parser.hpp @@ -29,6 +29,7 @@ #include <iostream> #include <list> +#include <set> #include "trace_file.hpp" #include "trace_format.hpp" @@ -57,6 +58,15 @@ protected: typedef std::vector<BitmaskSig *> BitmaskMap; BitmaskMap bitmasks; + typedef std::set<File::Offset> TraceOffsets; + TraceOffsets m_callSigOffsets; + TraceOffsets m_structSigOffsets; + TraceOffsets m_enumSigOffsets; + TraceOffsets m_bitmaskSigOffsets; + + typedef std::map<File::Offset, unsigned> CallNumOffsets; + CallNumOffsets m_callNumOffsets; + unsigned next_call_no; public: @@ -87,6 +97,13 @@ public: file->setCurrentOffset(offset); } + bool callWithSignature(const File::Offset &offset) const; + bool structWithSignature(const File::Offset &offset) const; + bool enumWithSignature(const File::Offset &offset) const; + bool bitmaskWithSignature(const File::Offset &offset) const; + bool hasCallBeenParsed(const File::Offset &offset) const; + unsigned callNumForOffset(const File::Offset &offset) const; + protected: void parse_enter(void); |