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