Skip to content

Commit

Permalink
Add stackwalk/x86-swk.h
Browse files Browse the repository at this point in the history
  • Loading branch information
hainest committed Apr 3, 2024
1 parent 947c294 commit 2eff2f5
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 6 deletions.
12 changes: 10 additions & 2 deletions docs/stackwalk/developer/symtab-swk.h.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
.. _`sec:symtab-swk.h`:

symtab-swk.h
============
############

.. cpp:namespace:: Dyninst::Stackwalker

.. cpp:namespace:: Dyninst::stackwalk
.. cpp:class:: SymtabWrapper

.. cpp:function:: protected SymtabWrapper()
.. cpp:function:: static Symtab *getSymtab(std::string filename)
.. cpp:function:: static void notifyOfSymtab(Symtab *symtab, std::string name)
.. cpp:function:: ~SymtabWrapper()
38 changes: 36 additions & 2 deletions docs/stackwalk/developer/x86-swk.h.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,39 @@
.. _`sec:x86-swk.h`:

x86-swk.h
=========
#########

.. cpp:namespace:: Dyninst::Stackwalker

.. cpp:class:: StepperWandererImpl : public FrameStepper

.. cpp:member:: private WandererHelper *whelper
.. cpp:member:: private FrameFuncHelper *fhelper
.. cpp:member:: private StepperWanderer *parent
.. cpp:function:: private bool getWord(Address &words, Address start)
.. cpp:function:: StepperWandererImpl(Walker *walker_, StepperWanderer *parent_, WandererHelper *whelper_, FrameFuncHelper *fhelper_)
.. cpp:function:: virtual gcframe_ret_t getCallerFrame(const Frame &in, Frame &out)
.. cpp:function:: virtual unsigned getPriority() const
.. cpp:function:: void registerStepperGroup(StepperGroup *group)
.. cpp:function:: virtual const char *getName() const
.. cpp:function:: virtual ~StepperWandererImpl()


.. cpp:class:: LookupFuncStart : public FrameFuncHelper

.. cpp:member:: private static std::map<Dyninst::PID, LookupFuncStart*> all_func_starts
.. cpp:function:: private LookupFuncStart(ProcessState *proc_)
.. cpp:member:: private int ref_count
.. cpp:function:: private void updateCache(Address addr, alloc_frame_t result)
.. cpp:function:: private bool checkCache(Address addr, alloc_frame_t &result)
.. cpp:member:: private static const unsigned int cache_size = 64

.. cpp:namespace:: Dyninst::stackwalk
We need some kind of re-entrant safe synhronization before we can
globally turn this caching on, but it would sure help things.

.. cpp:member:: private LRUCache<Address, alloc_frame_t> cache
.. cpp:function:: static LookupFuncStart *getLookupFuncStart(ProcessState *p)
.. cpp:function:: void releaseMe()
.. cpp:function:: virtual alloc_frame_t allocatesFrame(Address addr)
.. cpp:function:: ~LookupFuncStart()
.. cpp:function:: static void clear_func_mapping(Dyninst::PID)
2 changes: 0 additions & 2 deletions stackwalk/src/x86-swk.h
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,6 @@ class LookupFuncStart : public FrameFuncHelper

void updateCache(Address addr, alloc_frame_t result);
bool checkCache(Address addr, alloc_frame_t &result);
//We need some kind of re-entrant safe synhronization before we can
// globally turn this caching on, but it would sure help things.
static const unsigned int cache_size = 64;
LRUCache<Address, alloc_frame_t> cache;
public:
Expand Down

0 comments on commit 2eff2f5

Please sign in to comment.