mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-03 16:39:01 -06:00 
			
		
		
		
	macro_jit_x64: Remove NEXT_PARAMETER
Not required, as PARAMETERS can just be incremented directly.
This commit is contained in:
		@@ -17,7 +17,6 @@ namespace Tegra {
 | 
			
		||||
static const Xbyak::Reg64 STATE = Xbyak::util::rbx;
 | 
			
		||||
static const Xbyak::Reg32 RESULT = Xbyak::util::ebp;
 | 
			
		||||
static const Xbyak::Reg64 PARAMETERS = Xbyak::util::r12;
 | 
			
		||||
static const Xbyak::Reg64 NEXT_PARAMETER = Xbyak::util::r13;
 | 
			
		||||
static const Xbyak::Reg32 METHOD_ADDRESS = Xbyak::util::r14d;
 | 
			
		||||
static const Xbyak::Reg64 BRANCH_HOLDER = Xbyak::util::r15;
 | 
			
		||||
 | 
			
		||||
@@ -25,7 +24,6 @@ static const std::bitset<32> PERSISTENT_REGISTERS = Common::X64::BuildRegSet({
 | 
			
		||||
    STATE,
 | 
			
		||||
    RESULT,
 | 
			
		||||
    PARAMETERS,
 | 
			
		||||
    NEXT_PARAMETER,
 | 
			
		||||
    METHOD_ADDRESS,
 | 
			
		||||
    BRANCH_HOLDER,
 | 
			
		||||
});
 | 
			
		||||
@@ -422,7 +420,6 @@ void MacroJITx64Impl::Compile() {
 | 
			
		||||
    mov(PARAMETERS, Common::X64::ABI_PARAM2);
 | 
			
		||||
    xor_(RESULT, RESULT);
 | 
			
		||||
    xor_(METHOD_ADDRESS, METHOD_ADDRESS);
 | 
			
		||||
    xor_(NEXT_PARAMETER, NEXT_PARAMETER);
 | 
			
		||||
    xor_(BRANCH_HOLDER, BRANCH_HOLDER);
 | 
			
		||||
 | 
			
		||||
    mov(dword[STATE + offsetof(JITState, registers) + 4], Compile_FetchParameter());
 | 
			
		||||
@@ -529,8 +526,8 @@ bool MacroJITx64Impl::Compile_NextInstruction() {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Xbyak::Reg32 Tegra::MacroJITx64Impl::Compile_FetchParameter() {
 | 
			
		||||
    mov(eax, dword[PARAMETERS + NEXT_PARAMETER * sizeof(u32)]);
 | 
			
		||||
    inc(NEXT_PARAMETER);
 | 
			
		||||
    mov(eax, dword[PARAMETERS]);
 | 
			
		||||
    add(PARAMETERS, sizeof(u32));
 | 
			
		||||
    return eax;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user