diff options
-rw-r--r-- | src/ARM.cpp | 2 | ||||
-rw-r--r-- | src/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/CP15.cpp | 4 | ||||
-rw-r--r-- | src/Config.cpp | 4 |
4 files changed, 9 insertions, 3 deletions
diff --git a/src/ARM.cpp b/src/ARM.cpp index 32cb91c..95d2b8b 100644 --- a/src/ARM.cpp +++ b/src/ARM.cpp @@ -127,6 +127,7 @@ void ARM::DoSavestate(Savestate* file) file->VarArray(R_IRQ, 3*sizeof(u32)); file->VarArray(R_UND, 3*sizeof(u32)); file->Var32(&CurInstr); +#ifdef JIT_ENABLED if (!file->Saving && Config::JIT_Enable) { // hack, the JIT doesn't really pipeline @@ -134,6 +135,7 @@ void ARM::DoSavestate(Savestate* file) // loaded while running the interpreter FillPipeline(); } +#endif file->VarArray(NextInstr, 2*sizeof(u32)); file->Var32(&ExceptionBase); diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index f650f42..c92a21d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -10,7 +10,6 @@ add_library(core STATIC ARMInterpreter_ALU.cpp ARMInterpreter_Branch.cpp ARMInterpreter_LoadStore.cpp - ARM_InstrInfo.cpp Config.cpp CP15.cpp CRC32.cpp @@ -39,6 +38,7 @@ if (ENABLE_JIT) target_sources(core PRIVATE ARMJIT.cpp + ARM_InstrInfo.cpp dolphin/CommonFuncs.cpp ) diff --git a/src/CP15.cpp b/src/CP15.cpp index 8bb4f6b..62258e9 100644 --- a/src/CP15.cpp +++ b/src/CP15.cpp @@ -561,11 +561,15 @@ void ARMv5::CP15Write(u32 id, u32 val) case 0x750: +#ifdef JIT_ENABLED ARMJIT::InvalidateAll(); +#endif ICacheInvalidateAll(); return; case 0x751: +#ifdef JIT_ENABLED ARMJIT::InvalidateByAddr(ARMJIT::TranslateAddr<0>(val)); +#endif ICacheInvalidateByAddr(val); return; case 0x752: diff --git a/src/Config.cpp b/src/Config.cpp index f3f8c6c..7971e5a 100644 --- a/src/Config.cpp +++ b/src/Config.cpp @@ -36,7 +36,7 @@ int GL_Antialias; #ifdef JIT_ENABLED int JIT_Enable = false; -int JIT_MaxBlockSize = 12; +int JIT_MaxBlockSize = 32; int JIT_BrancheOptimisations = 2; int JIT_LiteralOptimisations = true; #endif @@ -51,7 +51,7 @@ ConfigEntry ConfigFile[] = #ifdef JIT_ENABLED {"JIT_Enable", 0, &JIT_Enable, 0, NULL, 0}, - {"JIT_MaxBlockSize", 0, &JIT_MaxBlockSize, 10, NULL, 0}, + {"JIT_MaxBlockSize", 0, &JIT_MaxBlockSize, 32, NULL, 0}, {"JIT_BranchOptimisations", 0, &JIT_BrancheOptimisations, 2, NULL, 0}, {"JIT_LiteralOptimisations", 0, &JIT_LiteralOptimisations, 1, NULL, 0}, #endif |