summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinNoGUI/MainNoGUI.cpp
diff options
context:
space:
mode:
authorJosJuice <josjuice@gmail.com>2023-08-25 15:28:07 +0200
committerJosJuice <josjuice@gmail.com>2025-11-16 09:52:09 +0100
commit817bb9d94c43ca6be8862e2a09159f9b67836807 (patch)
tree82b0147147f3d9cb33aa8429bf034fc673ef5cad /Source/Core/DolphinNoGUI/MainNoGUI.cpp
parent4114a0b50660e0821f4f54ddd597372a99c75a48 (diff)
Jit64: Don't store immediate values in register cache
They're now stored in ConstantPropagation instead. I've also removed the LocationType enum. The location of each guest register is now tracked using three booleans: Whether it is in ppcState, whether it is in a host register, and whether it is a known immediate. The first two of these booleans are stored in the register cache, and the last one is stored in ConstantPropagation. This new model allows us to handle the combination of a value simultaneously being in a host register and being a known immediate. It also keeps track of which registers are dirty, which was previously kept track of in X64CachedReg. The old model maps to the new model as follows: default host_reg immediate Default true false false Discarded false false false Bound (!dirty) true false Immediate false false true SpeculativeImmediate true false true [previously unrepresentable] (!dirty) true true
Diffstat (limited to 'Source/Core/DolphinNoGUI/MainNoGUI.cpp')
0 files changed, 0 insertions, 0 deletions