diff options
Diffstat (limited to 'Src/Wasabi/api/script/debugger/vcpudebug.h')
-rw-r--r-- | Src/Wasabi/api/script/debugger/vcpudebug.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/Src/Wasabi/api/script/debugger/vcpudebug.h b/Src/Wasabi/api/script/debugger/vcpudebug.h new file mode 100644 index 00000000..6bba084b --- /dev/null +++ b/Src/Wasabi/api/script/debugger/vcpudebug.h @@ -0,0 +1,39 @@ +#ifndef __VCPUDEBUG_H +#define __VCPUDEBUG_H + +#include <bfc/ptrlist.h> +#include <bfc/stack.h> +#include <bfc/reentryfilter.h> + +class MakiJITD; + +class VCPUDebugger { + public: + VCPUDebugger(); + virtual ~VCPUDebugger(); + + void trace(); + + int getVIP(); // instruction pointer + int getVSD(); // script descriptor (id) + int getVSP(); // variables stack pointer + int getVCC(); // call stack pointer + + int filterEvent(int vcpuid, int eventid); // if this returns 1, you should return immediatly and not call eventComplete! + void eventComplete(); + + int isActive(); + + MakiJITD *createJITD(int vcpuid); + MakiJITD *getJITD(int vcpuid); + const char *getCodeBlock(int vcpuid); + + private: + + PtrList<MakiJITD> jitds; + ReentryFilterObject reentryfilter; + ReentryFilter filter; + Stack<int> scopestack; +}; + +#endif |