diff options
author | gdkchan <gab.dark.100@gmail.com> | 2019-02-04 18:26:05 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-04 18:26:05 -0300 |
commit | a694420d11ef74e4f0bf473be2b6f64635bc89c7 (patch) | |
tree | 6c44e7a0633dca7b54d99ac3f01f0648fa602559 /Ryujinx.Tests/Cpu/CpuTest.cs | |
parent | f5b4f6ccc4815cfac1fa3c103d8941a26d152d8a (diff) |
Implement speculative translation on the CPU (#515)
* Implement speculative translation on the cpu, and change the way how branches to unknown or untranslated addresses works
* Port t0opt changes and other cleanups
* Change namespace from translation related classes to ChocolArm64.Translation, other minor tweaks
* Fix typo
* Translate higher quality code for indirect jumps aswell, and on some cases that were missed when lower quality (tier 0) code was available
* Remove debug print
* Remove direct argument passing optimization, and enable tail calls for BR instructions
* Call delegates directly with Callvirt rather than calling Execute, do not emit calls for tier 0 code
* Remove unused property
* Rename argument on ArmSubroutine delegate
Diffstat (limited to 'Ryujinx.Tests/Cpu/CpuTest.cs')
-rw-r--r-- | Ryujinx.Tests/Cpu/CpuTest.cs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Ryujinx.Tests/Cpu/CpuTest.cs b/Ryujinx.Tests/Cpu/CpuTest.cs index b970e055..47feb573 100644 --- a/Ryujinx.Tests/Cpu/CpuTest.cs +++ b/Ryujinx.Tests/Cpu/CpuTest.cs @@ -1,6 +1,7 @@ using ChocolArm64; using ChocolArm64.Memory; using ChocolArm64.State; +using ChocolArm64.Translation; using NUnit.Framework; @@ -48,10 +49,12 @@ namespace Ryujinx.Tests.Cpu _entryPoint = Position; - Translator translator = new Translator(); _ramPointer = Marshal.AllocHGlobal(new IntPtr(_size)); _memory = new MemoryManager(_ramPointer); _memory.Map(Position, 0, _size); + + Translator translator = new Translator(_memory); + _thread = new CpuThread(translator, _memory, _entryPoint); if (_unicornAvailable) |