mirror of
https://git.suyu.dev/suyu/dynarmic.git
synced 2026-01-09 07:58:16 +01:00
A32: Split off A32 specific IREmitter
This commit is contained in:
parent
b3c73e2622
commit
b1f0cf9278
15 changed files with 571 additions and 514 deletions
|
|
@ -3464,7 +3464,7 @@ void A32EmitX64::EmitTerminal(IR::Term::LinkBlock terminal, A32::LocationDescrip
|
|||
|
||||
code->cmp(qword[r15 + offsetof(JitState, cycles_remaining)], 0);
|
||||
|
||||
patch_information[terminal.next.value].jg.emplace_back(code->getCurr());
|
||||
patch_information[terminal.next.Value()].jg.emplace_back(code->getCurr());
|
||||
if (auto next_bb = GetBasicBlock(terminal.next)) {
|
||||
EmitPatchJg(terminal.next, next_bb->entrypoint);
|
||||
} else {
|
||||
|
|
@ -3477,7 +3477,7 @@ void A32EmitX64::EmitTerminal(IR::Term::LinkBlock terminal, A32::LocationDescrip
|
|||
code->align(16);
|
||||
code->L(dest);
|
||||
code->mov(MJitStateReg(A32::Reg::PC), A32::LocationDescriptor{terminal.next}.PC());
|
||||
PushRSBHelper(rax, rbx, terminal.next.value);
|
||||
PushRSBHelper(rax, rbx, terminal.next.Value());
|
||||
code->ForceReturnFromRunCode();
|
||||
code->SwitchToNearCode();
|
||||
}
|
||||
|
|
@ -3487,7 +3487,7 @@ void A32EmitX64::EmitTerminal(IR::Term::LinkBlockFast terminal, A32::LocationDes
|
|||
code->mov(dword[r15 + offsetof(JitState, CPSR_et)], CalculateCpsr_et(terminal.next));
|
||||
}
|
||||
|
||||
patch_information[terminal.next.value].jmp.emplace_back(code->getCurr());
|
||||
patch_information[terminal.next.Value()].jmp.emplace_back(code->getCurr());
|
||||
if (auto next_bb = GetBasicBlock(terminal.next)) {
|
||||
EmitPatchJmp(terminal.next, next_bb->entrypoint);
|
||||
} else {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue