A64: Implement branch

This commit is contained in:
MerryMage 2018-01-07 13:42:11 +00:00
parent 0641445e51
commit 86d1095df7
5 changed files with 49 additions and 6 deletions

View file

@ -266,7 +266,7 @@ void A64EmitX64::EmitPatchJg(const IR::LocationDescriptor& target_desc, CodePtr
code->mov(qword[r15 + offsetof(A64JitState, pc)], A64::LocationDescriptor{target_desc}.PC());
code->jg(code->GetReturnFromRunCodeAddress());
}
code->EnsurePatchLocationSize(patch_location, 14);
code->EnsurePatchLocationSize(patch_location, 17);
}
void A64EmitX64::EmitPatchJmp(const IR::LocationDescriptor& target_desc, CodePtr target_code_ptr) {
@ -277,7 +277,7 @@ void A64EmitX64::EmitPatchJmp(const IR::LocationDescriptor& target_desc, CodePtr
code->mov(qword[r15 + offsetof(A64JitState, pc)], A64::LocationDescriptor{target_desc}.PC());
code->jmp(code->GetReturnFromRunCodeAddress());
}
code->EnsurePatchLocationSize(patch_location, 13);
code->EnsurePatchLocationSize(patch_location, 16);
}
void A64EmitX64::EmitPatchMovRcx(CodePtr target_code_ptr) {