annotate mem_win.c @ 741:80a67be1770b

Initial work on Windows port
author Michael Pavone <pavone@retrodev.com>
date Tue, 01 Apr 2014 19:43:58 -0700
parents
children bce97fc0bb8a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
741
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
1 /*
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
2 Copyright 2013 Michael Pavone
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
3 This file is part of BlastEm.
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
4 BlastEm is free software distributed under the terms of the GNU General Public License version 3 or greater. See COPYING for full license text.
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
5 */
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
6
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
7 #include "mem.h"
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
8 #include <Windows.h>
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
9
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
10 void * alloc_code(size_t *size)
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
11 {
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
12 *size += PAGE_SIZE - (*size & (PAGE_SIZE - 1));
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
13
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
14 return VirtualAlloc(NULL, *size, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
15 }