gecko-dev/mozglue/misc/StackWalk_windows.h
David Major eeaa91fc5c Bug 1359507: Replace the stack walk workaround lock with an atomic counter of suppressions. r=mstange,froydnj
This fixes a deadlock by removing one of the two sides of a mutual-wait.
2017-05-03 12:10:48 -04:00

27 lines
623 B
C

#ifndef mozilla_StackWalk_windows_h
#define mozilla_StackWalk_windows_h
#include "mozilla/Types.h"
#ifdef _M_AMD64
/**
* Allow stack walkers to work around the egregious win64 dynamic lookup table
* list API by locking around SuspendThread to avoid deadlock.
*
* See comment in StackWalk.cpp
*/
struct MOZ_RAII AutoSuppressStackWalking
{
MFBT_API AutoSuppressStackWalking();
MFBT_API ~AutoSuppressStackWalking();
};
MFBT_API void
RegisterJitCodeRegion(uint8_t* aStart, size_t size);
MFBT_API void
UnregisterJitCodeRegion(uint8_t* aStart, size_t size);
#endif // _M_AMD64
#endif // mozilla_StackWalk_windows_h