diff options
| author | 2022-01-25 13:30:51 -0500 | |
|---|---|---|
| committer | 2022-01-25 13:31:54 -0500 | |
| commit | f11eefed5619319629b399aec07880cc12c760a3 (patch) | |
| tree | 0a085489689be28c73aa3a5b67008359c6acd8aa /src | |
| parent | video_core/macro_jit_x64: Move impl class into cpp file (diff) | |
| download | yuzu-f11eefed5619319629b399aec07880cc12c760a3.tar.gz yuzu-f11eefed5619319629b399aec07880cc12c760a3.tar.xz yuzu-f11eefed5619319629b399aec07880cc12c760a3.zip | |
video_core/macro_jit_x64: Decouple PersistentCallerSavedRegs() from impl
This doesn't depend on class state and can just be a regular function.
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/macro/macro_jit_x64.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/video_core/macro/macro_jit_x64.cpp b/src/video_core/macro/macro_jit_x64.cpp index 1934039c0..4b1b8c157 100644 --- a/src/video_core/macro/macro_jit_x64.cpp +++ b/src/video_core/macro/macro_jit_x64.cpp | |||
| @@ -40,6 +40,10 @@ const std::bitset<32> PERSISTENT_REGISTERS = Common::X64::BuildRegSet({ | |||
| 40 | // Arbitrarily chosen based on current booting games. | 40 | // Arbitrarily chosen based on current booting games. |
| 41 | constexpr size_t MAX_CODE_SIZE = 0x10000; | 41 | constexpr size_t MAX_CODE_SIZE = 0x10000; |
| 42 | 42 | ||
| 43 | std::bitset<32> PersistentCallerSavedRegs() { | ||
| 44 | return PERSISTENT_REGISTERS & Common::X64::ABI_ALL_CALLER_SAVED; | ||
| 45 | } | ||
| 46 | |||
| 43 | class MacroJITx64Impl final : public Xbyak::CodeGenerator, public CachedMacro { | 47 | class MacroJITx64Impl final : public Xbyak::CodeGenerator, public CachedMacro { |
| 44 | public: | 48 | public: |
| 45 | explicit MacroJITx64Impl(Engines::Maxwell3D& maxwell3d_, const std::vector<u32>& code_) | 49 | explicit MacroJITx64Impl(Engines::Maxwell3D& maxwell3d_, const std::vector<u32>& code_) |
| @@ -70,7 +74,6 @@ private: | |||
| 70 | void Compile_Send(Xbyak::Reg32 value); | 74 | void Compile_Send(Xbyak::Reg32 value); |
| 71 | 75 | ||
| 72 | Macro::Opcode GetOpCode() const; | 76 | Macro::Opcode GetOpCode() const; |
| 73 | std::bitset<32> PersistentCallerSavedRegs() const; | ||
| 74 | 77 | ||
| 75 | struct JITState { | 78 | struct JITState { |
| 76 | Engines::Maxwell3D* maxwell3d{}; | 79 | Engines::Maxwell3D* maxwell3d{}; |
| @@ -674,10 +677,6 @@ Macro::Opcode MacroJITx64Impl::GetOpCode() const { | |||
| 674 | ASSERT(pc < code.size()); | 677 | ASSERT(pc < code.size()); |
| 675 | return {code[pc]}; | 678 | return {code[pc]}; |
| 676 | } | 679 | } |
| 677 | |||
| 678 | std::bitset<32> MacroJITx64Impl::PersistentCallerSavedRegs() const { | ||
| 679 | return PERSISTENT_REGISTERS & Common::X64::ABI_ALL_CALLER_SAVED; | ||
| 680 | } | ||
| 681 | } // Anonymous namespace | 680 | } // Anonymous namespace |
| 682 | 681 | ||
| 683 | MacroJITx64::MacroJITx64(Engines::Maxwell3D& maxwell3d_) | 682 | MacroJITx64::MacroJITx64(Engines::Maxwell3D& maxwell3d_) |