summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Lioncash2022-01-25 13:30:51 -0500
committerGravatar Lioncash2022-01-25 13:31:54 -0500
commitf11eefed5619319629b399aec07880cc12c760a3 (patch)
tree0a085489689be28c73aa3a5b67008359c6acd8aa /src
parentvideo_core/macro_jit_x64: Move impl class into cpp file (diff)
downloadyuzu-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.cpp9
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.
41constexpr size_t MAX_CODE_SIZE = 0x10000; 41constexpr size_t MAX_CODE_SIZE = 0x10000;
42 42
43std::bitset<32> PersistentCallerSavedRegs() {
44 return PERSISTENT_REGISTERS & Common::X64::ABI_ALL_CALLER_SAVED;
45}
46
43class MacroJITx64Impl final : public Xbyak::CodeGenerator, public CachedMacro { 47class MacroJITx64Impl final : public Xbyak::CodeGenerator, public CachedMacro {
44public: 48public:
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
678std::bitset<32> MacroJITx64Impl::PersistentCallerSavedRegs() const {
679 return PERSISTENT_REGISTERS & Common::X64::ABI_ALL_CALLER_SAVED;
680}
681} // Anonymous namespace 680} // Anonymous namespace
682 681
683MacroJITx64::MacroJITx64(Engines::Maxwell3D& maxwell3d_) 682MacroJITx64::MacroJITx64(Engines::Maxwell3D& maxwell3d_)