<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dolphin/Source/Core/Common/SymbolDB.h, branch 2603a</title>
<subtitle>GameCube and Wii emulator</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/'/>
<entry>
<title>PPCSymbolDB: Don't return non-const pointers</title>
<updated>2025-07-27T15:03:57+00:00</updated>
<author>
<name>JosJuice</name>
<email>josjuice@gmail.com</email>
</author>
<published>2025-06-30T19:31:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=9f32562e3633b62526918cbf0cfb920b96a263da'/>
<id>9f32562e3633b62526918cbf0cfb920b96a263da</id>
<content type='text'>
For thread safety, we shouldn't return any pointers or references that
can be used to mutate the state of the PPCSymbolDB. This should be the
final part of making PPCSymbolDB thread safe unless I've missed
something.

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For thread safety, we shouldn't return any pointers or references that
can be used to mutate the state of the PPCSymbolDB. This should be the
final part of making PPCSymbolDB thread safe unless I've missed
something.

</pre>
</div>
</content>
</entry>
<entry>
<title>PPCSymbolDB: Add missing locking</title>
<updated>2025-07-27T14:26:47+00:00</updated>
<author>
<name>JosJuice</name>
<email>josjuice@gmail.com</email>
</author>
<published>2025-06-30T17:26:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=fef77a5f20d03f22315b2d77f7970c3fed895b13'/>
<id>fef77a5f20d03f22315b2d77f7970c3fed895b13</id>
<content type='text'>
9395238 added locking in some PPCSymbolDB functions that access member
variables, but far from all. To ensure thread safety, this commit adds
the missing locking.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
9395238 added locking in some PPCSymbolDB functions that access member
variables, but far from all. To ensure thread safety, this commit adds
the missing locking.
</pre>
</div>
</content>
</entry>
<entry>
<title>PPCSymbolDB: Reduce lock contention in LoadMap/LoadMapOnBoot</title>
<updated>2025-07-27T14:26:47+00:00</updated>
<author>
<name>JosJuice</name>
<email>josjuice@gmail.com</email>
</author>
<published>2025-06-30T17:12:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=803e6b017bf8bb82ee65b48fa244eb1e4c89034d'/>
<id>803e6b017bf8bb82ee65b48fa244eb1e4c89034d</id>
<content type='text'>
By building the map in a local variable and then swapping it with the
member variable, we avoid the need to hold a lock while building the
map.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
By building the map in a local variable and then swapping it with the
member variable, we avoid the need to hold a lock while building the
map.
</pre>
</div>
</content>
</entry>
<entry>
<title>PPCSymbolDB: Move loading map on boot logic from boot.cpp into PPCSymbolDB, as it will be needing a mutex.</title>
<updated>2025-06-25T19:01:16+00:00</updated>
<author>
<name>TryTwo</name>
<email>taolas@gmail.com</email>
</author>
<published>2025-06-18T05:25:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=fe121e4c6eafac094019c727a8162f2488e61019'/>
<id>fe121e4c6eafac094019c727a8162f2488e61019</id>
<content type='text'>
Cleanup loading code and reduce amount of signals.

On boot. allow previously loaded map to be kept, if its filename matches. Useful for restarting a game with a large symbol map.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Cleanup loading code and reduce amount of signals.

On boot. allow previously loaded map to be kept, if its filename matches. Useful for restarting a game with a large symbol map.
</pre>
</div>
</content>
</entry>
<entry>
<title>Debugger symbols: Add  new symbol type: Notes..  Notes are for naming single instructions, or small groups of instructions.</title>
<updated>2025-06-20T00:55:35+00:00</updated>
<author>
<name>TryTwo</name>
<email>taolas@gmail.com</email>
</author>
<published>2025-05-20T06:13:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=040d9a43367f4e2a3aa57ddb47c41d5d13b5b39e'/>
<id>040d9a43367f4e2a3aa57ddb47c41d5d13b5b39e</id>
<content type='text'>
Notes are separate from function symbols, and can be searched separately.
Unlike functions, notes of different length can overlap each other.
In the instruction window, a note will always display over the function symbol.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Notes are separate from function symbols, and can be searched separately.
Unlike functions, notes of different length can overlap each other.
In the instruction window, a note will always display over the function symbol.
</pre>
</div>
</content>
</entry>
<entry>
<title>Core: Store object name separately for symbols</title>
<updated>2024-11-11T17:36:53+00:00</updated>
<author>
<name>Amber Brault</name>
<email>celestialamber1@gmail.com</email>
</author>
<published>2024-11-02T20:48:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=1c4bfc35d980856033714a84a8425e71576623eb'/>
<id>1c4bfc35d980856033714a84a8425e71576623eb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Rename Symbol constructor parameter to prevent shadowing</title>
<updated>2023-06-20T17:38:31+00:00</updated>
<author>
<name>Nicolas van Kempen</name>
<email>nvankemp@gmail.com</email>
</author>
<published>2023-06-20T17:38:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=4ef2f2c710da2f3719d445af7ac88a34d8c6df94'/>
<id>4ef2f2c710da2f3719d445af7ac88a34d8c6df94</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>SymbolDB: Add constructors to Symbol</title>
<updated>2023-05-02T20:04:47+00:00</updated>
<author>
<name>Lioncash</name>
<email>mai.iam2048@gmail.com</email>
</author>
<published>2023-05-02T20:04:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=15d1ae3a8abf93e18a524e26ffe87459c0511d16'/>
<id>15d1ae3a8abf93e18a524e26ffe87459c0511d16</id>
<content type='text'>
Allows for much more convenient in-place construction.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Allows for much more convenient in-place construction.
</pre>
</div>
</content>
</entry>
<entry>
<title>DolphinQt: Properly lock CPU before accessing emulated memory</title>
<updated>2023-02-12T10:27:50+00:00</updated>
<author>
<name>JosJuice</name>
<email>josjuice@gmail.com</email>
</author>
<published>2023-02-12T10:07:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=7cecb28bdf6443362a6ab20e0042ddb3b407ebec'/>
<id>7cecb28bdf6443362a6ab20e0042ddb3b407ebec</id>
<content type='text'>
This fixes a problem I was having where using frame advance with the
debugger open would frequently cause panic alerts about invalid addresses
due to the CPU thread changing MSR.DR while the host thread was trying
to access memory.

To aid in tracking down all the places where we weren't properly locking
the CPU, I've created a new type (in Core.h) that you have to pass as a
reference or pointer to functions that require running as the CPU thread.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes a problem I was having where using frame advance with the
debugger open would frequently cause panic alerts about invalid addresses
due to the CPU thread changing MSR.DR while the host thread was trying
to access memory.

To aid in tracking down all the places where we weren't properly locking
the CPU, I've created a new type (in Core.h) that you have to pass as a
reference or pointer to functions that require running as the CPU thread.
</pre>
</div>
</content>
</entry>
<entry>
<title>treewide: convert GPLv2+ license info to SPDX tags</title>
<updated>2021-07-05T02:35:56+00:00</updated>
<author>
<name>Pierre Bourdon</name>
<email>delroth@gmail.com</email>
</author>
<published>2021-07-05T01:22:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=e149ad4f0a9874f354221a7fc76d8f1841e47808'/>
<id>e149ad4f0a9874f354221a7fc76d8f1841e47808</id>
<content type='text'>
SPDX standardizes how source code conveys its copyright and licensing
information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX
tags are adopted in many large projects, including things like the Linux
kernel.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
SPDX standardizes how source code conveys its copyright and licensing
information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX
tags are adopted in many large projects, including things like the Linux
kernel.
</pre>
</div>
</content>
</entry>
</feed>
