Fix vm::reserve_map logic

This commit is contained in:
Eladash 2019-08-20 23:18:54 +03:00 committed by Ivan
parent c43a126f62
commit ec9b896fbf
1 changed files with 5 additions and 11 deletions

View File

@ -1060,16 +1060,7 @@ namespace vm
} }
lock.upgrade(); lock.upgrade();
// Fixed allocation
if (addr)
{
// Recheck
area = _get_map(location, addr);
return !area ? _map(addr, area_size, flags) : area;
}
// Allocation on arbitrary address // Allocation on arbitrary address
if (location != any && location < g_locations.size()) if (location != any && location < g_locations.size())
{ {
@ -1085,7 +1076,10 @@ namespace vm
return loc; return loc;
} }
return nullptr; // Fixed address allocation
area = _get_map(location, addr);
return !area ? _map(addr, area_size, flags) : area;
} }
inline namespace ps3_ inline namespace ps3_