mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-01-25 07:21:14 +01:00
faa2666393
Decreases total Wii state save time (not counting compression) from ~570ms to ~18ms. The compiler can't remove this check because of potential aliasing; this might be fixable (e.g. by making mode const), but there is no reason to have the code work in such a braindead way in the first place. - DoVoid now uses memcpy. - DoArray now uses DoVoid on the whole rather than Doing each element (would fail for an array of STL structures, but we don't have any of those). - Do also now uses DoVoid. (In the previous version, it replicated DoVoid's code in order to ensure each type gets its own implementation, which for small types then becomes a simple load/store in any modern compiler. Now DoVoid is __forceinline, which addresses that issue and shouldn't make a big difference otherwise - perhaps a few extra copies of the code inlined into DoArray or whatever.)