<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dolphin/Source/Core/Common/MemArenaWin.cpp, branch release-prep-2503a</title>
<subtitle>GameCube and Wii emulator</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/'/>
<entry>
<title>Common/MemArenaWin: Rewrite LazyMemoryRegion to manually map memory blocks into the large memory region as needed.</title>
<updated>2023-12-09T20:11:31+00:00</updated>
<author>
<name>Admiral H. Curtiss</name>
<email>pikachu025@gmail.com</email>
</author>
<published>2023-11-28T20:17:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=3364d571cca88344bd7cc1364951f5f7b4a11ce9'/>
<id>3364d571cca88344bd7cc1364951f5f7b4a11ce9</id>
<content type='text'>
Internal details: The large region is split into individual same-sized blocks of memory. On creation, we allocate a single block of memory that will always remain zero, and map that into the entire memory region. Then, the first time any of these blocks is written to, we swap the mapped zero block out with a newly allocated block of memory. On clear, we swap back to the zero block and deallocate the data blocks. That way we only actually allocate one zero block as well as a handful of real data blocks where the JitCache actually writes to.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Internal details: The large region is split into individual same-sized blocks of memory. On creation, we allocate a single block of memory that will always remain zero, and map that into the entire memory region. Then, the first time any of these blocks is written to, we swap the mapped zero block out with a newly allocated block of memory. On clear, we swap back to the zero block and deallocate the data blocks. That way we only actually allocate one zero block as well as a handful of real data blocks where the JitCache actually writes to.
</pre>
</div>
</content>
</entry>
<entry>
<title>Common/MemArenaWin: Move the advanced Windows memory function address initialization into its own struct and function so it can be reused.</title>
<updated>2023-12-09T19:58:07+00:00</updated>
<author>
<name>Admiral H. Curtiss</name>
<email>pikachu025@gmail.com</email>
</author>
<published>2023-11-28T20:15:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=eb235d6ee30c0f15c775a08842aa070a7839b137'/>
<id>eb235d6ee30c0f15c775a08842aa070a7839b137</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Common/MemArena: A zero-byte allocation is invalid.</title>
<updated>2023-09-07T12:41:24+00:00</updated>
<author>
<name>Admiral H. Curtiss</name>
<email>pikachu025@gmail.com</email>
</author>
<published>2023-09-07T12:41:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=422bc7a62724643a4d0e92adf857883f73aa9ca6'/>
<id>422bc7a62724643a4d0e92adf857883f73aa9ca6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Common/MemArena: Add LazyMemoryRegion to represent a zero-initialized memory region whose pages are only allocated on first access.</title>
<updated>2023-09-02T02:02:10+00:00</updated>
<author>
<name>Admiral H. Curtiss</name>
<email>pikachu025@gmail.com</email>
</author>
<published>2023-09-02T02:01:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=5bd7756064e4759fe13a557106cf9629908a04f0'/>
<id>5bd7756064e4759fe13a557106cf9629908a04f0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Common/MemArena: Pass shared memory base file name to GrabSHMSegment().</title>
<updated>2023-05-19T16:53:08+00:00</updated>
<author>
<name>Admiral H. Curtiss</name>
<email>pikachu025@gmail.com</email>
</author>
<published>2023-05-10T23:51:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=8342164dbdf6d862556de017f67ff28ecde0f0ec'/>
<id>8342164dbdf6d862556de017f67ff28ecde0f0ec</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Common/MemArenaWin: Handle file mappings &gt;= 4GB.</title>
<updated>2023-05-19T16:44:32+00:00</updated>
<author>
<name>Admiral H. Curtiss</name>
<email>pikachu025@gmail.com</email>
</author>
<published>2023-05-10T23:35:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=ff5bcba966372d5071c080234866e5fab23ae647'/>
<id>ff5bcba966372d5071c080234866e5fab23ae647</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>MemArena: Load UnmapViewOfFileEx dynamically to restore Windows 7 support.</title>
<updated>2022-02-14T20:57:18+00:00</updated>
<author>
<name>Admiral H. Curtiss</name>
<email>pikachu025@gmail.com</email>
</author>
<published>2022-02-14T20:54:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=4a9553bf6df683b9f2995e5d7c485bf3034502e1'/>
<id>4a9553bf6df683b9f2995e5d7c485bf3034502e1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>MemArena: Use Common::DynamicLibrary for m_api_ms_win_core_memory_l1_1_6_handle.</title>
<updated>2022-02-14T20:57:15+00:00</updated>
<author>
<name>Admiral H. Curtiss</name>
<email>pikachu025@gmail.com</email>
</author>
<published>2022-02-14T20:49:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=3a4de2b306efd6136791f7d995eb3ddea153d011'/>
<id>3a4de2b306efd6136791f7d995eb3ddea153d011</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>MemArena: Use placeholders on Windows.</title>
<updated>2022-02-06T17:06:04+00:00</updated>
<author>
<name>Admiral H. Curtiss</name>
<email>pikachu025@gmail.com</email>
</author>
<published>2021-06-21T04:15:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=79405de1037e93042b6357e19a43058d4a6b159f'/>
<id>79405de1037e93042b6357e19a43058d4a6b159f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>MemArena: Prepare interface for proper memory reservation.</title>
<updated>2021-12-25T19:20:36+00:00</updated>
<author>
<name>Admiral H. Curtiss</name>
<email>pikachu025@gmail.com</email>
</author>
<published>2021-06-21T00:13:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=155412856072c07521536d5a07117c400c0ce131'/>
<id>155412856072c07521536d5a07117c400c0ce131</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
