view runtime/block_alloc.h @ 92:e73a93fb5de1

Beginning of port of compiler to itself, some bugfixes and a refcount optimization
author Mike Pavone <pavone@retrodev.com>
date Mon, 02 Aug 2010 00:58:55 -0400
parents 3e20ed8959c4
children
line wrap: on
line source

#ifndef BLOCK_ALLOC_H_
#define BLOCK_ALLOC_H_

#ifdef _WIN32
#define BLOCK_SIZE 1024*16
#include <windows.h>

#define block_alloc(size)      VirtualAlloc(NULL, size, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
#define block_free(block,size) VirtualFree(block, size, MEM_RELEASE)

#else
#define BLOCK_SIZE 1024*4
#include <sys/mman.h>

#define block_alloc(size)      mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0)
#define block_free(block,size) munmap(block, size)

#endif

#endif //BLOCK_ALLOC_H_