mirror of
https://github.com/kanjitalk755/macemu.git
synced 2024-08-08 01:29:26 +00:00
Use vm_acquire() to allocate translation cache
This commit is contained in:
parent
5df172aa53
commit
599f7e845f
@ -21,6 +21,7 @@
|
|||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include "prefs.h"
|
#include "prefs.h"
|
||||||
#include "user_strings.h"
|
#include "user_strings.h"
|
||||||
|
#include "vm_alloc.h"
|
||||||
|
|
||||||
#include "m68k.h"
|
#include "m68k.h"
|
||||||
#include "memory.h"
|
#include "memory.h"
|
||||||
@ -5156,18 +5157,12 @@ void alloc_cache(void)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
while (!compiled_code && cache_size) {
|
while (!compiled_code && cache_size) {
|
||||||
#ifndef WIN32
|
if ((compiled_code = (uae_u8 *)vm_acquire(cache_size * 1024)) == VM_MAP_FAILED) {
|
||||||
compiled_code = (uae_u8 *)mmap(0, cache_size * 1024,
|
|
||||||
PROT_READ | PROT_WRITE | PROT_EXEC, MAP_PRIVATE, zero_fd, 0);
|
|
||||||
if (compiled_code == (uae_u8 *)MAP_FAILED) {
|
|
||||||
#else
|
|
||||||
compiled_code = (uae_u8 *)malloc(cache_size * 1024);
|
|
||||||
if (compiled_code == 0) {
|
|
||||||
#endif
|
|
||||||
compiled_code = 0;
|
compiled_code = 0;
|
||||||
cache_size /= 2;
|
cache_size /= 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
vm_protect(compiled_code, cache_size, VM_PAGE_READ | VM_PAGE_WRITE | VM_PAGE_EXECUTE);
|
||||||
|
|
||||||
if (compiled_code) {
|
if (compiled_code) {
|
||||||
write_log("<JIT compiler> : actual translation cache size : %d KB at 0x%08X\n", cache_size, compiled_code);
|
write_log("<JIT compiler> : actual translation cache size : %d KB at 0x%08X\n", cache_size, compiled_code);
|
||||||
|
Loading…
Reference in New Issue
Block a user