backend/A64/block_of_code.h: add CallLambda

This commit is contained in:
SachinVin 2022-09-15 19:38:54 +05:30
parent 0dde1d1ff3
commit 14d1018f92

View File

@ -16,6 +16,7 @@
#include "dynarmic/backend/A64/constant_pool.h"
#include "dynarmic/backend/A64/emitter/a64_emitter.h"
#include "dynarmic/backend/A64/jitstate_info.h"
#include "dynarmic/common/cast_util.h"
#include "dynarmic/interface/halt_reason.h"
namespace Dynarmic::BackendA64 {
@ -66,6 +67,12 @@ public:
/// @note this clobbers ABI caller-save registers
void LookupBlock();
/// Code emitter: Calls the lambda. Lambda must not have any captures.
template<typename Lambda>
void CallLambda(Lambda l) {
QuickCallFunction(Common::FptrCast(l));
}
u64 MConst(u64 lower, u64 upper = 0);
void EmitPatchLDR(Arm64Gen::ARM64Reg Rt, u64 lower, u64 upper = 0);