1.1 --- a/src/os/windows/vm/os_windows.hpp Wed Jun 27 15:23:36 2012 +0200 1.2 +++ b/src/os/windows/vm/os_windows.hpp Thu Jun 28 17:03:16 2012 -0400 1.3 @@ -98,7 +98,7 @@ 1.4 static LONG WINAPI serialize_fault_filter(struct _EXCEPTION_POINTERS* e); 1.5 }; 1.6 1.7 -class PlatformEvent : public CHeapObj { 1.8 +class PlatformEvent : public CHeapObj<mtInternal> { 1.9 private: 1.10 double CachePad [4] ; // increase odds that _Event is sole occupant of cache line 1.11 volatile int _Event ; 1.12 @@ -124,7 +124,7 @@ 1.13 1.14 1.15 1.16 -class PlatformParker : public CHeapObj { 1.17 +class PlatformParker : public CHeapObj<mtInternal> { 1.18 protected: 1.19 HANDLE _ParkEvent ; 1.20 1.21 @@ -182,6 +182,9 @@ 1.22 static BOOL GetNumaHighestNodeNumber(PULONG); 1.23 static BOOL GetNumaNodeProcessorMask(UCHAR, PULONGLONG); 1.24 1.25 + // Stack walking 1.26 + static USHORT RtlCaptureStackBackTrace(ULONG, ULONG, PVOID*, PULONG); 1.27 + 1.28 private: 1.29 // GetLargePageMinimum available on Windows Vista/Windows Server 2003 1.30 // and later 1.31 @@ -191,6 +194,7 @@ 1.32 static LPVOID (WINAPI *_VirtualAllocExNuma) (HANDLE, LPVOID, SIZE_T, DWORD, DWORD, DWORD); 1.33 static BOOL (WINAPI *_GetNumaHighestNodeNumber) (PULONG); 1.34 static BOOL (WINAPI *_GetNumaNodeProcessorMask) (UCHAR, PULONGLONG); 1.35 + static USHORT (WINAPI *_RtlCaptureStackBackTrace)(ULONG, ULONG, PVOID*, PULONG); 1.36 static BOOL initialized; 1.37 1.38 static void initialize();