aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/macro/macro_jit_x64.cpp
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2022-01-25 13:30:51 -0500
committerLioncash <mathew1800@gmail.com>2022-01-25 13:31:54 -0500
commit9a802c7a098e6d0aeaa883a8d592a75de95e9495 (patch)
tree0a085489689be28c73aa3a5b67008359c6acd8aa /src/video_core/macro/macro_jit_x64.cpp
parent0b91a77ccc108a226e80c31b5546c5325f37e357 (diff)
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/video_core/macro/macro_jit_x64.cpp')
-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 1934039c09..4b1b8c157d 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({
// Arbitrarily chosen based on current booting games.
constexpr size_t MAX_CODE_SIZE = 0x10000;
+std::bitset<32> PersistentCallerSavedRegs() {
+ return PERSISTENT_REGISTERS & Common::X64::ABI_ALL_CALLER_SAVED;
+}
+
class MacroJITx64Impl final : public Xbyak::CodeGenerator, public CachedMacro {
public:
explicit MacroJITx64Impl(Engines::Maxwell3D& maxwell3d_, const std::vector<u32>& code_)
@@ -70,7 +74,6 @@ private:
void Compile_Send(Xbyak::Reg32 value);
Macro::Opcode GetOpCode() const;
- std::bitset<32> PersistentCallerSavedRegs() const;
struct JITState {
Engines::Maxwell3D* maxwell3d{};
@@ -674,10 +677,6 @@ Macro::Opcode MacroJITx64Impl::GetOpCode() const {
ASSERT(pc < code.size());
return {code[pc]};
}
-
-std::bitset<32> MacroJITx64Impl::PersistentCallerSavedRegs() const {
- return PERSISTENT_REGISTERS & Common::X64::ABI_ALL_CALLER_SAVED;
-}
} // Anonymous namespace
MacroJITx64::MacroJITx64(Engines::Maxwell3D& maxwell3d_)