yuzu/src/core/hle/kernel/memory
ReinUsesLisp b3587102d1 core/memory: Read and write page table atomically
Squash attributes into the pointer's integer, making them an uintptr_t
pair containing 2 bits at the bottom and then the pointer. These bits
are currently unused thanks to alignment requirements.

Configure Dynarmic to mask out these bits on pointer reads.

While we are at it, remove some unused attributes carried over from
Citra.

Read/Write and other hot functions use a two step unpacking process that
is less readable to stop MSVC from emitting an extra AND instruction in
the hot path:

 mov         rdi,rcx
 shr         rdx,0Ch
 mov         r8,qword ptr [rax+8]
 mov         rax,qword ptr [r8+rdx*8]
 mov         rdx,rax
-and         al,3
 and         rdx,0FFFFFFFFFFFFFFFCh
 je          Core::Memory::Memory::Impl::Read<unsigned char>
 mov         rax,qword ptr [vaddr]
 movzx       eax,byte ptr [rdx+rax]
2020-12-29 21:54:49 -03:00
..
address_space_info.cpp Revert "core: Fix clang build" 2020-10-20 19:07:39 -07:00
address_space_info.h address_space_info: Make use of designated initializers 2020-07-13 10:42:49 -04:00
memory_block.h video_core: Resolve more variable shadowing scenarios pt.3 2020-12-05 16:02:23 -05:00
memory_block_manager.cpp kernel/memory: Remove unused variables in memory_block_manager 2020-05-03 13:36:20 -04:00
memory_block_manager.h core: Mark unused fields as [[maybe_unused]] 2020-12-06 18:36:10 -05:00
memory_layout.h memory_layout: Remove unused data member 2020-07-13 10:51:23 -04:00
memory_manager.cpp Revert "core: Fix clang build" 2020-10-20 19:07:39 -07:00
memory_manager.h kernel/memory: Remove unused includes 2020-05-03 13:41:18 -04:00
memory_types.h kernel: memory: Add memory_types.h, for things that are commonly used in memory code. 2020-04-17 00:59:29 -04:00
page_heap.cpp Revert "core: Fix clang build" 2020-10-20 19:07:39 -07:00
page_heap.h Revert "core: Fix clang build" 2020-10-20 19:07:39 -07:00
page_linked_list.h kernel/memory: Remove unused includes 2020-05-03 13:41:18 -04:00
page_table.cpp core/memory: Read and write page table atomically 2020-12-29 21:54:49 -03:00
page_table.h kernel/memory: Remove unused includes 2020-05-03 13:41:18 -04:00
slab_heap.h Merge pull request #3881 from lioncash/mem-warning 2020-05-05 15:41:18 -04:00
system_control.cpp system_control: Make functions internally linked where applicable 2020-08-05 15:34:27 -04:00
system_control.h system_control: Make functions internally linked where applicable 2020-08-05 15:34:27 -04:00