1c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.org/* Alloc.h -- Memory allocation functions
292ae1613a125071690336a57cedd4dd9e298cf20agl@chromium.org2009-02-07 : Igor Pavlov : Public domain
392ae1613a125071690336a57cedd4dd9e298cf20agl@chromium.orgin the public domain */
4c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.org
5c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.org#ifndef __COMMON_ALLOC_H
6c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.org#define __COMMON_ALLOC_H
7c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.org
8c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.org#include <stddef.h>
9c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.org
10c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.org#ifdef __cplusplus
11c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.orgextern "C" {
12c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.org#endif
13c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.org
14c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.orgvoid *MyAlloc(size_t size);
15c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.orgvoid MyFree(void *address);
16c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.org
17c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.org#ifdef _WIN32
18c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.org
19c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.orgvoid SetLargePageSize();
20c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.org
21c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.orgvoid *MidAlloc(size_t size);
22c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.orgvoid MidFree(void *address);
23c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.orgvoid *BigAlloc(size_t size);
24c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.orgvoid BigFree(void *address);
25c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.org
26c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.org#else
27c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.org
28c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.org#define MidAlloc(size) MyAlloc(size)
29c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.org#define MidFree(address) MyFree(address)
30c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.org#define BigAlloc(size) MyAlloc(size)
31c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.org#define BigFree(address) MyFree(address)
32c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.org
33c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.org#endif
34c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.org
35c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.org#ifdef __cplusplus
36c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.org}
37c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.org#endif
38c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.org
39c2a937599a1ec33cd0f57649580e93ff25b22fcabashi@chromium.org#endif
40