Bug 1016629 - c. Add define for ThreadStackHelper pseudostack support; r=snorp

This commit is contained in:
Jim Chen
2014-07-24 22:33:46 -04:00
parent 39ee7fe82e
commit 16a3098f2f
2 changed files with 17 additions and 11 deletions

View File

@@ -23,6 +23,13 @@
#include <mach/mach.h>
#endif
// Support pseudostack on these platforms.
#if defined(XP_LINUX) || defined(XP_WIN) || defined(XP_MACOSX)
# ifdef MOZ_ENABLE_PROFILER_SPS
# define MOZ_THREADSTACKHELPER_PSEUDO
# endif
#endif
namespace mozilla {
/**
@@ -41,16 +48,16 @@ public:
typedef Telemetry::HangStack Stack;
private:
#ifdef MOZ_ENABLE_PROFILER_SPS
Stack* mStackToFill;
#ifdef MOZ_THREADSTACKHELPER_PSEUDO
const PseudoStack* const mPseudoStack;
#endif
Stack* mStackToFill;
size_t mMaxStackSize;
size_t mMaxBufferSize;
bool PrepareStackBuffer(Stack& aStack);
void FillStackBuffer();
#ifdef MOZ_ENABLE_PROFILER_SPS
#ifdef MOZ_THREADSTACKHELPER_PSEUDO
const char* AppendJSEntry(const volatile StackEntry* aEntry,
intptr_t& aAvailableBufferSize,
const char* aPrevLabel);