#include <stdlib.h>
#if !PLATFORM(WIN_OS)
#include <pthread.h>
+#else
+ #include "windows.h"
#endif
namespace WTF {
-
+
void* tryFastMalloc(size_t n)
{
ASSERT(!isForbidden());
void releaseFastMallocFreeMemory() { }
+#if HAVE(VIRTUALALLOC)
+void* fastMallocExecutable(size_t n)
+{
+ return VirtualAlloc(0, n, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
+}
+
+void fastFreeExecutable(void* p)
+{
+ VirtualFree(p, 0, MEM_RELEASE);
+}
+#else
+void* fastMallocExecutable(size_t n)
+{
+ return fastMalloc(n);
+}
+
+void fastFreeExecutable(void* p)
+{
+ fastFree(p);
+}
+#endif
+
} // namespace WTF
#if PLATFORM(DARWIN)
}
}
+void* fastMallocExecutable(size_t n)
+{
+ return malloc<false>(n);
+}
+
+void fastFreeExecutable(void* p)
+{
+ free(p);
+}
+
#ifdef WTF_CHANGES
#undef do_malloc
#else