| // Copyright 2010 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| #include "runtime.h" |
| #include "os.h" |
| #include "defs.h" |
| #include "malloc.h" |
| |
| enum { |
| MEM_COMMIT = 0x1000, |
| MEM_RESERVE = 0x2000, |
| MEM_RELEASE = 0x8000, |
| |
| PAGE_EXECUTE_READWRITE = 0x40, |
| }; |
| |
| void* |
| SysAlloc(uintptr n) |
| { |
| return stdcall(VirtualAlloc, 4, nil, n, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE); |
| } |
| |
| void |
| SysUnused(void *v, uintptr n) |
| { |
| USED(v); |
| USED(n); |
| } |
| |
| void |
| SysFree(void *v, uintptr n) |
| { |
| stdcall(VirtualFree, 3, v, n, MEM_RELEASE); |
| } |
| |
| void |
| SysMemInit(void) |
| { |
| } |