mirror of
https://github.com/citra-emu/citra.git
synced 2024-11-25 07:40:13 +00:00
JitX64: Add accessors for ARMul_State::exclusive_tag and ARMul_State::exclusive_state
This commit is contained in:
parent
b9a852b048
commit
4f012099a0
@ -171,4 +171,18 @@ Gen::OpArg JitX64::MJitStateVFlag() {
|
||||
return Gen::MDisp(reg_alloc.JitStateReg(), offsetof(JitState, cpu_state) + offsetof(ARMul_State, VFlag));
|
||||
}
|
||||
|
||||
Gen::OpArg JitX64::MJitStateExclusiveTag() {
|
||||
static_assert(std::is_same<decltype(JitState::cpu_state), ARMul_State>::value, "JitState::cpu_state must be ARMul_State");
|
||||
static_assert(std::is_same<decltype(ARMul_State::exclusive_tag), u32>::value, "exclusive_tag must be u32");
|
||||
|
||||
return Gen::MDisp(reg_alloc.JitStateReg(), offsetof(JitState, cpu_state) + offsetof(ARMul_State, exclusive_tag));
|
||||
}
|
||||
|
||||
Gen::OpArg JitX64::MJitStateExclusiveState() {
|
||||
static_assert(std::is_same<decltype(JitState::cpu_state), ARMul_State>::value, "JitState::cpu_state must be ARMul_State");
|
||||
static_assert(std::is_same<decltype(ARMul_State::exclusive_state), bool>::value, "exclusive_state must be bool");
|
||||
|
||||
return Gen::MDisp(reg_alloc.JitStateReg(), offsetof(JitState, cpu_state) + offsetof(ARMul_State, exclusive_state));
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -82,6 +82,8 @@ private:
|
||||
Gen::OpArg MJitStateCFlag();
|
||||
Gen::OpArg MJitStateNFlag();
|
||||
Gen::OpArg MJitStateVFlag();
|
||||
Gen::OpArg MJitStateExclusiveTag();
|
||||
Gen::OpArg MJitStateExclusiveState();
|
||||
|
||||
private:
|
||||
struct CondManager {
|
||||
|
@ -240,7 +240,6 @@ public:
|
||||
// process for our purposes), not per ARMul_State (which tracks CPU core state).
|
||||
std::unordered_map<u32, int> instruction_cache;
|
||||
|
||||
private:
|
||||
void ResetMPCoreCP15Registers();
|
||||
|
||||
// Defines a reservation granule of 2 words, which protects the first 2 words starting at the tag.
|
||||
|
Loading…
Reference in New Issue
Block a user