| 
									
										
										
										
											2013-04-17 23:09:55 -04:00
										 |  |  | // Copyright 2013 Dolphin Emulator Project
 | 
					
						
							|  |  |  | // Licensed under GPLv2
 | 
					
						
							|  |  |  | // Refer to the license.txt file included.
 | 
					
						
							| 
									
										
										
										
											2008-12-08 04:46:09 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifndef _MEMORYUTIL_H
 | 
					
						
							|  |  |  | #define _MEMORYUTIL_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-07-18 05:15:16 +00:00
										 |  |  | #ifndef _WIN32
 | 
					
						
							|  |  |  | #include <sys/mman.h>
 | 
					
						
							|  |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2010-01-19 19:28:27 +00:00
										 |  |  | #include <string>
 | 
					
						
							| 
									
										
										
										
											2009-09-07 12:40:43 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-19 21:24:52 +00:00
										 |  |  | void* AllocateExecutableMemory(size_t size, bool low = true); | 
					
						
							|  |  |  | void* AllocateMemoryPages(size_t size); | 
					
						
							|  |  |  | void FreeMemoryPages(void* ptr, size_t size); | 
					
						
							| 
									
										
										
										
											2011-02-25 20:35:05 +00:00
										 |  |  | void* AllocateAlignedMemory(size_t size,size_t alignment); | 
					
						
							|  |  |  | void FreeAlignedMemory(void* ptr); | 
					
						
							| 
									
										
										
										
											2008-12-19 21:24:52 +00:00
										 |  |  | void WriteProtectMemory(void* ptr, size_t size, bool executable = false); | 
					
						
							| 
									
										
										
										
											2009-04-06 18:47:21 +00:00
										 |  |  | void UnWriteProtectMemory(void* ptr, size_t size, bool allowExecute = false); | 
					
						
							| 
									
										
										
										
											2009-09-07 12:40:43 +00:00
										 |  |  | std::string MemUsage(); | 
					
						
							| 
									
										
										
										
											2008-12-08 04:46:09 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-04-06 18:47:21 +00:00
										 |  |  | inline int GetPageSize() { return 4096; } | 
					
						
							| 
									
										
										
										
											2008-12-08 04:46:09 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | #endif
 |