dolphin/Source/Core/Common
comex faa2666393 PointerWrap currently checks its mode for every individual byte of everything it 'does', including all of RAM. Make it not do that.
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.)
2014-08-28 15:35:19 -04:00
..
Crypto Fix warnings unearthed by #579 2014-07-13 02:16:51 +02:00
Logging Common: Get rid of StdConditionVariable, StdMutex, and StdThread. 2014-08-16 23:33:19 -04:00
ArmCPUDetect.cpp Try to fix android build. 2014-06-15 15:56:42 -07:00
ArmEmitter.cpp remove unused globals 2014-07-11 16:10:20 +02:00
ArmEmitter.h remove unused globals 2014-07-11 16:10:20 +02:00
Atomic.h Remove all trailing whitespaces from our codebase. 2014-03-29 11:05:44 +01:00
Atomic_GCC.h Atomic: support clang 3.4+ 2014-04-17 10:39:02 +02:00
Atomic_Win32.h Make Common/ mostly IWYU clean (and fix errors in rest of the project detected by this change). 2014-02-22 23:37:29 +01:00
BitField.h BitField: Add an explicit getter function for retrieving the BitField value. 2014-06-11 20:58:40 +02:00
BreakPoints.cpp clang-modernize -use-nullptr 2014-03-09 21:14:26 +01:00
BreakPoints.h Convert all includes to relative paths. 2014-02-18 02:19:10 -05:00
CDUtils.cpp mark all local functions as static 2014-07-11 16:07:23 +02:00
CDUtils.h Convert all includes to relative paths. 2014-02-18 02:19:10 -05:00
ChunkFile.h PointerWrap currently checks its mode for every individual byte of everything it 'does', including all of RAM. Make it not do that. 2014-08-28 15:35:19 -04:00
CMakeLists.txt Windows: Use a shared precompiled header for dolphin code under Source/ 2014-08-14 23:51:13 -07:00
CodeBlock.h Remove dumb CodeBlock duplication in the emitters. 2014-04-09 13:53:43 -05:00
ColorUtil.cpp mark all local functions as static 2014-07-11 16:07:23 +02:00
ColorUtil.h Convert all includes to relative paths. 2014-02-18 02:19:10 -05:00
Common.h windows: remove now-extraneous NOMINMAX and WIN32_LEAN_AND_MEAN #defines from dolphin code. 2014-08-23 10:48:48 -07:00
Common.vcxproj Add Common/Event.h to the VS project files. 2014-08-17 21:52:40 -07:00
Common.vcxproj.filters Add Common/Event.h to the VS project files. 2014-08-17 21:52:40 -07:00
CommonFuncs.h Common: Use the OSX equivalent byte-swap functions 2014-08-08 13:26:26 -04:00
CommonPaths.h Make Common/ mostly IWYU clean (and fix errors in rest of the project detected by this change). 2014-02-22 23:37:29 +01:00
CommonTypes.h Make Common/ mostly IWYU clean (and fix errors in rest of the project detected by this change). 2014-02-22 23:37:29 +01:00
CPUDetect.h Add AVX2/BMI1/BMI2 detection support 2014-08-24 09:14:54 -07:00
DebugInterface.h Core: Kill off Host_ShowJitResults 2014-08-15 15:18:28 -04:00
Event.h Add Common::Event::WaitFor(), which has the same semantics as std::condition_variable::wait_for() (with millisecond units). 2014-08-17 21:52:40 -07:00
ExtendedTrace.cpp Get rid of instances of "using namespace std;" in the project 2014-08-17 02:05:33 -04:00
ExtendedTrace.h remove unused globals 2014-07-11 16:10:20 +02:00
FifoQueue.h clang-modernize -use-nullptr 2014-03-09 21:14:26 +01:00
FileSearch.cpp Fixes spacing for "for", "while", "switch" and "if" 2014-03-11 00:35:07 +13:00
FileSearch.h Replace all include guard ifdefs with "#pragma once" 2014-02-10 18:07:16 -05:00
FileUtil.cpp Common: Simplify StripTailDirSlashes 2014-07-31 22:18:45 -04:00
FileUtil.h Kill off some usages of c_str. 2014-03-14 13:51:23 -04:00
FixedSizeQueue.h Make Common/ mostly IWYU clean (and fix errors in rest of the project detected by this change). 2014-02-22 23:37:29 +01:00
Flag.h Common::Flag: Add support for TestAndSet + test by implementing basic spinlocks. 2014-04-14 23:13:15 +02:00
FPURoundMode.h FPURoundMode: revert use of enums in bit-fields 2014-03-09 15:24:35 +01:00
GekkoDisassembler.cpp Common: Introduce the new Gekko disassembler to Common. 2014-08-04 00:45:07 -04:00
GekkoDisassembler.h Common: Introduce the new Gekko disassembler to Common. 2014-08-04 00:45:07 -04:00
GenericFPURoundMode.cpp FPURoundMode: revert use of enums in bit-fields 2014-03-09 15:24:35 +01:00
Hash.cpp Remove the min/max functions in CommonFuncs. 2014-05-29 21:44:41 -04:00
Hash.h Make Common/ mostly IWYU clean (and fix errors in rest of the project detected by this change). 2014-02-22 23:37:29 +01:00
IniFile.cpp Add the VideoCommon PostProcessing class. 2014-08-13 01:05:10 -05:00
IniFile.h Add the VideoCommon PostProcessing class. 2014-08-13 01:05:10 -05:00
LinearDiskCache.h Kill off some usages of c_str. 2014-03-14 13:51:23 -04:00
make_scmrev.h.js Windows: Also look for git.exe in the registry (for Git Extensions installs). 2014-07-20 12:33:56 -07:00
MathUtil.cpp MathUtil: add constructors to IntFloat/IntDouble 2014-03-24 16:14:22 +01:00
MathUtil.h Fix incorrect clamping in SWRenderer. 2014-07-15 21:15:49 +12:00
MemArena.cpp Core: Remove leftover Windows 32-bit functions in MemArena.cpp 2014-08-10 05:35:14 -04:00
MemArena.h Make Common/ mostly IWYU clean (and fix errors in rest of the project detected by this change). 2014-02-22 23:37:29 +01:00
MemoryUtil.cpp Fixes a check for what mmap returns. 2014-07-31 00:53:00 -05:00
MemoryUtil.h Make Common/ mostly IWYU clean (and fix errors in rest of the project detected by this change). 2014-02-22 23:37:29 +01:00
Misc.cpp clang-modernize -use-nullptr 2014-03-09 21:14:26 +01:00
MsgHandler.cpp Fixes spacing for "for", "while", "switch" and "if" 2014-03-11 00:35:07 +13:00
MsgHandler.h avoid the extern keyword in .cpp files 2014-07-11 16:10:20 +02:00
NandPaths.cpp Remove all trailing whitespaces from our codebase. 2014-03-29 11:05:44 +01:00
NandPaths.h GCI Folder: correctly identify region of sysmenu 2014-06-23 19:58:27 -07:00
Network.cpp Fix MAC address reading on Windows. 2014-03-07 21:40:59 +13:00
Network.h Fix MAC address reading on Windows. 2014-03-07 21:40:59 +13:00
PcapFile.cpp Common: Add a PCAP writer module 2014-06-22 20:04:46 +02:00
PcapFile.h Common: Add a PCAP writer module 2014-06-22 20:04:46 +02:00
SCMRevGen.vcxproj Windows: Give SCMRevGen a configuration for x64 instead of Win32. 2014-08-13 03:57:10 -07:00
SDCardUtil.cpp Kill off some usages of c_str. 2014-03-14 13:51:23 -04:00
SDCardUtil.h Kill off some usages of c_str. 2014-03-14 13:51:23 -04:00
SettingsHandler.cpp Fixes spacing for "for", "while", "switch" and "if" 2014-03-11 00:35:07 +13:00
SettingsHandler.h Remove all trailing whitespaces from our codebase. 2014-03-29 11:05:44 +01:00
StdMakeUnique.h Add a std::make_unique implementation 2014-05-06 12:32:03 +02:00
StringUtil.cpp Common: Fix AsciiToHex returning true on overflow values 2014-08-12 02:49:04 -04:00
StringUtil.h Add TryParseVector to StringUtil. 2014-08-12 23:45:14 -05:00
SymbolDB.cpp Kill off some usages of c_str. 2014-03-14 13:51:23 -04:00
SymbolDB.h Kill off some usages of c_str. 2014-03-14 13:51:23 -04:00
SysConf.cpp mark all local functions as static 2014-07-11 16:07:23 +02:00
SysConf.h Remove the min/max functions in CommonFuncs. 2014-05-29 21:44:41 -04:00
Thread.cpp Convert all includes to relative paths. 2014-02-18 02:19:10 -05:00
Thread.h Common: Get rid of StdConditionVariable, StdMutex, and StdThread. 2014-08-16 23:33:19 -04:00
Timer.cpp Remove all trailing whitespaces from our codebase. 2014-03-29 11:05:44 +01:00
Timer.h Convert all includes to relative paths. 2014-02-18 02:19:10 -05:00
Version.cpp Common: State OS instead of 32/64 bit in the netplay lobby 2014-07-30 02:04:17 -04:00
x64ABI.cpp Remove the rest of x86_32 support from Common. 2014-08-03 13:49:46 -05:00
x64ABI.h Reduce my idiocy in register saving code. 2014-08-23 15:46:10 -04:00
x64Analyzer.cpp Fix Fastmem on CPUs without MOVBE 2014-04-25 01:11:52 +02:00
x64Analyzer.h Add remaining possible uses of MOVBE 2014-04-24 16:36:03 +02:00
x64CPUDetect.cpp Add AVX2/BMI1/BMI2 detection support 2014-08-24 09:14:54 -07:00
x64Emitter.cpp x64Emitter: remove redundant "Gen::" 2014-08-20 02:56:07 +02:00
x64Emitter.h x64Emitter: remove redundant "Gen::" 2014-08-20 02:56:07 +02:00
x64FPURoundMode.cpp Remove the rest of x86_32 support from Common. 2014-08-03 13:49:46 -05:00
XSaveWorkaround.cpp Windows: Improve XSaveWorkaround to behave correctly when XSAVE processor feature is enabled, but AVX support isn't available for whatever reason. 2014-08-10 14:50:29 -07:00