Skip to content

Commit

Permalink
Optimize vm::range_lock a bit
Browse files Browse the repository at this point in the history
Bad conditions led to optimization misses and long-generated code.
  • Loading branch information
elad335 committed Oct 7, 2022
1 parent f62ab2d commit 51dc9ad
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion rpcs3/Emu/Memory/vm_locking.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ namespace vm
// Old-style conditional constexpr
const u32 size = Size ? Size : _size;

if (size <= 4096u && !((begin | size) & (size - 1)) ? !vm::check_addr(begin) : !vm::check_addr(begin, vm::page_readable, size))
if (Size == 1 || (begin % 4096 + size % 4096) / 4096 ? !vm::check_addr(begin) : !vm::check_addr(begin, vm::page_readable, size))
{
range_lock->release(0);
range_lock_internal(range_lock, begin, _size);
Expand Down

0 comments on commit 51dc9ad

Please sign in to comment.