From af28ce7ecba9c3b5e17c203f784213a416d00f4f Mon Sep 17 00:00:00 2001 From: Lioncash Date: Thu, 22 Dec 2016 19:15:31 -0500 Subject: [PATCH] DSP: Move DSPEmitter into the Jit directory This is actually used as the DSP JIT, so this should be with the other JIT source files. This commit also makes it so changes to the JIT emitter don't require recompiling all of the DSP core (i.e. changing the JIT won't require the interpreter to be rebuilt). --- Source/Core/Core/CMakeLists.txt | 2 +- Source/Core/Core/Core.vcxproj | 4 ++-- Source/Core/Core/Core.vcxproj.filters | 10 +++++----- Source/Core/Core/DSP/DSPCore.cpp | 2 +- Source/Core/Core/DSP/DSPCore.h | 3 ++- Source/Core/Core/DSP/DSPTables.cpp | 2 +- Source/Core/Core/DSP/DSPTables.h | 2 +- Source/Core/Core/DSP/Interpreter/DSPIntUtil.h | 1 + Source/Core/Core/DSP/{ => Jit}/DSPEmitter.cpp | 2 +- Source/Core/Core/DSP/{ => Jit}/DSPEmitter.h | 0 Source/Core/Core/DSP/Jit/DSPJitArithmetic.cpp | 2 +- Source/Core/Core/DSP/Jit/DSPJitBranch.cpp | 2 +- Source/Core/Core/DSP/Jit/DSPJitCCUtil.cpp | 2 +- Source/Core/Core/DSP/Jit/DSPJitExtOps.cpp | 2 +- Source/Core/Core/DSP/Jit/DSPJitLoadStore.cpp | 2 +- Source/Core/Core/DSP/Jit/DSPJitMisc.cpp | 2 +- Source/Core/Core/DSP/Jit/DSPJitMultiplier.cpp | 2 +- Source/Core/Core/DSP/Jit/DSPJitRegCache.cpp | 2 +- Source/Core/Core/DSP/Jit/DSPJitUtil.cpp | 2 +- Source/Core/Core/HW/DSPLLE/DSPHost.cpp | 1 + Source/Core/Core/HW/DSPLLE/DSPLLE.cpp | 1 + 21 files changed, 26 insertions(+), 22 deletions(-) rename Source/Core/Core/DSP/{ => Jit}/DSPEmitter.cpp (99%) rename Source/Core/Core/DSP/{ => Jit}/DSPEmitter.h (100%) diff --git a/Source/Core/Core/CMakeLists.txt b/Source/Core/Core/CMakeLists.txt index 37f2c3ebab..0d76fb8c47 100644 --- a/Source/Core/Core/CMakeLists.txt +++ b/Source/Core/Core/CMakeLists.txt @@ -33,7 +33,6 @@ set(SRCS ActionReplay.cpp DSP/DSPMemoryMap.cpp DSP/DSPStacks.cpp DSP/DSPAnalyzer.cpp - DSP/DSPEmitter.cpp DSP/DSPCodeUtil.cpp DSP/LabelMap.cpp DSP/DSPCore.cpp @@ -46,6 +45,7 @@ set(SRCS ActionReplay.cpp DSP/Interpreter/DSPIntLoadStore.cpp DSP/Interpreter/DSPIntMisc.cpp DSP/Interpreter/DSPIntMultiplier.cpp + DSP/Jit/DSPEmitter.cpp DSP/Jit/DSPJitRegCache.cpp DSP/Jit/DSPJitExtOps.cpp DSP/Jit/DSPJitBranch.cpp diff --git a/Source/Core/Core/Core.vcxproj b/Source/Core/Core/Core.vcxproj index 29f554ae9a..47845d7b3d 100644 --- a/Source/Core/Core/Core.vcxproj +++ b/Source/Core/Core/Core.vcxproj @@ -59,7 +59,6 @@ - @@ -72,6 +71,7 @@ + @@ -286,7 +286,6 @@ - @@ -296,6 +295,7 @@ + diff --git a/Source/Core/Core/Core.vcxproj.filters b/Source/Core/Core/Core.vcxproj.filters index 515f3fdf61..ea1040901e 100644 --- a/Source/Core/Core/Core.vcxproj.filters +++ b/Source/Core/Core/Core.vcxproj.filters @@ -210,6 +210,9 @@ DSPCore\Interpreter + + DSPCore\Jit + DSPCore\Jit @@ -237,9 +240,6 @@ DSPCore\Jit - - DSPCore\Jit - FifoPlayer @@ -821,10 +821,10 @@ DSPCore\Interpreter - + DSPCore\Jit - + DSPCore\Jit diff --git a/Source/Core/Core/DSP/DSPCore.cpp b/Source/Core/Core/DSP/DSPCore.cpp index ca901459bf..d6d0e0fe6b 100644 --- a/Source/Core/Core/DSP/DSPCore.cpp +++ b/Source/Core/Core/DSP/DSPCore.cpp @@ -18,11 +18,11 @@ #include "Common/MsgHandler.h" #include "Core/DSP/DSPAnalyzer.h" -#include "Core/DSP/DSPEmitter.h" #include "Core/DSP/DSPHWInterface.h" #include "Core/DSP/DSPHost.h" #include "Core/DSP/Interpreter/DSPIntUtil.h" #include "Core/DSP/Interpreter/DSPInterpreter.h" +#include "Core/DSP/Jit/DSPEmitter.h" SDSP g_dsp; DSPBreakpoints g_dsp_breakpoints; diff --git a/Source/Core/Core/DSP/DSPCore.h b/Source/Core/Core/DSP/DSPCore.h index c6ac49eb99..f53a860b97 100644 --- a/Source/Core/Core/DSP/DSPCore.h +++ b/Source/Core/Core/DSP/DSPCore.h @@ -13,7 +13,8 @@ #include "Core/DSP/DSPBreakpoints.h" #include "Core/DSP/DSPCaptureLogger.h" -#include "Core/DSP/DSPEmitter.h" + +class DSPEmitter; enum : u32 { diff --git a/Source/Core/Core/DSP/DSPTables.cpp b/Source/Core/Core/DSP/DSPTables.cpp index be93f5b2c0..60458252d1 100644 --- a/Source/Core/Core/DSP/DSPTables.cpp +++ b/Source/Core/Core/DSP/DSPTables.cpp @@ -8,9 +8,9 @@ #include "Common/CommonTypes.h" -#include "Core/DSP/DSPEmitter.h" #include "Core/DSP/Interpreter/DSPIntExtOps.h" #include "Core/DSP/Interpreter/DSPInterpreter.h" +#include "Core/DSP/Jit/DSPEmitter.h" // clang-format off const DSPOPCTemplate opcodes[] = diff --git a/Source/Core/Core/DSP/DSPTables.h b/Source/Core/Core/DSP/DSPTables.h index 28b67d7fec..4501f5b598 100644 --- a/Source/Core/Core/DSP/DSPTables.h +++ b/Source/Core/Core/DSP/DSPTables.h @@ -7,7 +7,7 @@ #pragma once #include "Core/DSP/DSPCommon.h" -#include "Core/DSP/DSPEmitter.h" +#include "Core/DSP/Jit/DSPEmitter.h" // The non-ADDR ones that end with _D are the opposite one - if the bit specify // ACC0, then ACC_D will be ACC1. diff --git a/Source/Core/Core/DSP/Interpreter/DSPIntUtil.h b/Source/Core/Core/DSP/Interpreter/DSPIntUtil.h index 9c540400e1..31ec638b31 100644 --- a/Source/Core/Core/DSP/Interpreter/DSPIntUtil.h +++ b/Source/Core/Core/DSP/Interpreter/DSPIntUtil.h @@ -5,6 +5,7 @@ #pragma once +#include "Common/Assert.h" #include "Common/CommonTypes.h" #include "Core/DSP/DSPCore.h" diff --git a/Source/Core/Core/DSP/DSPEmitter.cpp b/Source/Core/Core/DSP/Jit/DSPEmitter.cpp similarity index 99% rename from Source/Core/Core/DSP/DSPEmitter.cpp rename to Source/Core/Core/DSP/Jit/DSPEmitter.cpp index f4c558cd37..b86cedec3e 100644 --- a/Source/Core/Core/DSP/DSPEmitter.cpp +++ b/Source/Core/Core/DSP/Jit/DSPEmitter.cpp @@ -2,7 +2,7 @@ // Licensed under GPLv2+ // Refer to the license.txt file included. -#include "Core/DSP/DSPEmitter.h" +#include "Core/DSP/Jit/DSPEmitter.h" #include diff --git a/Source/Core/Core/DSP/DSPEmitter.h b/Source/Core/Core/DSP/Jit/DSPEmitter.h similarity index 100% rename from Source/Core/Core/DSP/DSPEmitter.h rename to Source/Core/Core/DSP/Jit/DSPEmitter.h diff --git a/Source/Core/Core/DSP/Jit/DSPJitArithmetic.cpp b/Source/Core/Core/DSP/Jit/DSPJitArithmetic.cpp index fde040416c..1bc8cf2a04 100644 --- a/Source/Core/Core/DSP/Jit/DSPJitArithmetic.cpp +++ b/Source/Core/Core/DSP/Jit/DSPJitArithmetic.cpp @@ -6,8 +6,8 @@ #include "Common/CommonTypes.h" -#include "Core/DSP/DSPEmitter.h" #include "Core/DSP/DSPMemoryMap.h" +#include "Core/DSP/Jit/DSPEmitter.h" using namespace Gen; diff --git a/Source/Core/Core/DSP/Jit/DSPJitBranch.cpp b/Source/Core/Core/DSP/Jit/DSPJitBranch.cpp index 18ca7053a6..1fbc3d9bd3 100644 --- a/Source/Core/Core/DSP/Jit/DSPJitBranch.cpp +++ b/Source/Core/Core/DSP/Jit/DSPJitBranch.cpp @@ -5,8 +5,8 @@ #include "Common/CommonTypes.h" #include "Core/DSP/DSPAnalyzer.h" -#include "Core/DSP/DSPEmitter.h" #include "Core/DSP/DSPMemoryMap.h" +#include "Core/DSP/Jit/DSPEmitter.h" using namespace Gen; diff --git a/Source/Core/Core/DSP/Jit/DSPJitCCUtil.cpp b/Source/Core/Core/DSP/Jit/DSPJitCCUtil.cpp index be4b69e56b..3d7657a074 100644 --- a/Source/Core/Core/DSP/Jit/DSPJitCCUtil.cpp +++ b/Source/Core/Core/DSP/Jit/DSPJitCCUtil.cpp @@ -5,7 +5,7 @@ // Additional copyrights go to Duddie and Tratax (c) 2004 #include "Core/DSP/DSPCore.h" -#include "Core/DSP/DSPEmitter.h" +#include "Core/DSP/Jit/DSPEmitter.h" using namespace Gen; diff --git a/Source/Core/Core/DSP/Jit/DSPJitExtOps.cpp b/Source/Core/Core/DSP/Jit/DSPJitExtOps.cpp index aec658f975..dfcdd5743e 100644 --- a/Source/Core/Core/DSP/Jit/DSPJitExtOps.cpp +++ b/Source/Core/Core/DSP/Jit/DSPJitExtOps.cpp @@ -4,8 +4,8 @@ #include "Common/CommonTypes.h" -#include "Core/DSP/DSPEmitter.h" #include "Core/DSP/DSPMemoryMap.h" +#include "Core/DSP/Jit/DSPEmitter.h" using namespace Gen; diff --git a/Source/Core/Core/DSP/Jit/DSPJitLoadStore.cpp b/Source/Core/Core/DSP/Jit/DSPJitLoadStore.cpp index 2d37f18a30..f0f61e5296 100644 --- a/Source/Core/Core/DSP/Jit/DSPJitLoadStore.cpp +++ b/Source/Core/Core/DSP/Jit/DSPJitLoadStore.cpp @@ -6,9 +6,9 @@ #include "Common/CommonTypes.h" -#include "Core/DSP/DSPEmitter.h" #include "Core/DSP/DSPMemoryMap.h" #include "Core/DSP/Interpreter/DSPInterpreter.h" +#include "Core/DSP/Jit/DSPEmitter.h" using namespace Gen; diff --git a/Source/Core/Core/DSP/Jit/DSPJitMisc.cpp b/Source/Core/Core/DSP/Jit/DSPJitMisc.cpp index f71f9d3b33..8dcdb6f153 100644 --- a/Source/Core/Core/DSP/Jit/DSPJitMisc.cpp +++ b/Source/Core/Core/DSP/Jit/DSPJitMisc.cpp @@ -4,9 +4,9 @@ #include "Common/CommonTypes.h" -#include "Core/DSP/DSPEmitter.h" #include "Core/DSP/DSPMemoryMap.h" #include "Core/DSP/Interpreter/DSPInterpreter.h" +#include "Core/DSP/Jit/DSPEmitter.h" using namespace Gen; diff --git a/Source/Core/Core/DSP/Jit/DSPJitMultiplier.cpp b/Source/Core/Core/DSP/Jit/DSPJitMultiplier.cpp index 3c6b614f72..63047f6d83 100644 --- a/Source/Core/Core/DSP/Jit/DSPJitMultiplier.cpp +++ b/Source/Core/Core/DSP/Jit/DSPJitMultiplier.cpp @@ -9,7 +9,7 @@ #include "Common/CommonTypes.h" #include "Core/DSP/DSPCore.h" -#include "Core/DSP/DSPEmitter.h" +#include "Core/DSP/Jit/DSPEmitter.h" using namespace Gen; diff --git a/Source/Core/Core/DSP/Jit/DSPJitRegCache.cpp b/Source/Core/Core/DSP/Jit/DSPJitRegCache.cpp index 05dce4878b..f5b754cdad 100644 --- a/Source/Core/Core/DSP/Jit/DSPJitRegCache.cpp +++ b/Source/Core/Core/DSP/Jit/DSPJitRegCache.cpp @@ -9,8 +9,8 @@ #include "Common/Assert.h" #include "Common/Logging/Log.h" -#include "Core/DSP/DSPEmitter.h" #include "Core/DSP/DSPMemoryMap.h" +#include "Core/DSP/Jit/DSPEmitter.h" using namespace Gen; diff --git a/Source/Core/Core/DSP/Jit/DSPJitUtil.cpp b/Source/Core/Core/DSP/Jit/DSPJitUtil.cpp index de088f0f4c..c03cb782f8 100644 --- a/Source/Core/Core/DSP/Jit/DSPJitUtil.cpp +++ b/Source/Core/Core/DSP/Jit/DSPJitUtil.cpp @@ -4,9 +4,9 @@ #include "Common/CommonTypes.h" -#include "Core/DSP/DSPEmitter.h" #include "Core/DSP/DSPHWInterface.h" #include "Core/DSP/DSPMemoryMap.h" +#include "Core/DSP/Jit/DSPEmitter.h" using namespace Gen; diff --git a/Source/Core/Core/HW/DSPLLE/DSPHost.cpp b/Source/Core/Core/HW/DSPLLE/DSPHost.cpp index 83b50bc60a..6bd2394cbd 100644 --- a/Source/Core/Core/HW/DSPLLE/DSPHost.cpp +++ b/Source/Core/Core/HW/DSPLLE/DSPHost.cpp @@ -9,6 +9,7 @@ #include "Core/ConfigManager.h" #include "Core/DSP/DSPAnalyzer.h" #include "Core/DSP/DSPCore.h" +#include "Core/DSP/Jit/DSPEmitter.h" #include "Core/HW/DSP.h" #include "Core/HW/DSPLLE/DSPLLETools.h" #include "Core/HW/DSPLLE/DSPSymbols.h" diff --git a/Source/Core/Core/HW/DSPLLE/DSPLLE.cpp b/Source/Core/Core/HW/DSPLLE/DSPLLE.cpp index 370acfcd86..8af0c9b7ec 100644 --- a/Source/Core/Core/HW/DSPLLE/DSPLLE.cpp +++ b/Source/Core/Core/HW/DSPLLE/DSPLLE.cpp @@ -13,6 +13,7 @@ #include "Common/CommonTypes.h" #include "Common/Event.h" #include "Common/Logging/Log.h" +#include "Common/MemoryUtil.h" #include "Common/Thread.h" #include "Core/ConfigManager.h" #include "Core/Core.h"