[cpu] Add linux registers to CallExtern
This commit is contained in:
parent
74d30f8348
commit
b3f5b6ecf0
|
@ -497,8 +497,13 @@ void X64Emitter::CallExtern(const hir::Instr* instr, const Function* function) {
|
|||
auto thunk = backend()->guest_to_host_thunk();
|
||||
mov(rax, reinterpret_cast<uint64_t>(thunk));
|
||||
mov(rcx, reinterpret_cast<uint64_t>(builtin_function->handler()));
|
||||
#if XE_PLATFORM_LINUX
|
||||
mov(rbx, reinterpret_cast<uint64_t>(builtin_function->arg0()));
|
||||
mov(rdx, reinterpret_cast<uint64_t>(builtin_function->arg1()));
|
||||
#else
|
||||
mov(rdx, reinterpret_cast<uint64_t>(builtin_function->arg0()));
|
||||
mov(r8, reinterpret_cast<uint64_t>(builtin_function->arg1()));
|
||||
#endif
|
||||
call(rax);
|
||||
// rax = host return
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue