qemu-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Generating host code in TCG mode


From: Peter Maydell
Subject: Re: Generating host code in TCG mode
Date: Sat, 18 Mar 2023 18:51:25 +0000

On Fri, 17 Mar 2023 at 21:01, 沈梦姣 <shen.mengjiao3@icloud.com> wrote:
> TCG knows what registers may be clobbered by a call into
> host C code (this is set up in the tcg_target_call_clobber_regs
> regset by code in tcg_target_init()), so the register allocator
> will either avoid using those registers
>
> Look at tcg_target_reg_alloc_order in i386 host, it has these
> clobber registers though it first allocates callee saved registers.

Yes, that's the sensible order to allocate in.

> for values that must
> be preserved across the call, or else it will spill them to
> memory.
>
> I didn’t see these clobber registers being saved to memory
> before call/jmp Host C code in i386(x86-64) host, and copy
> these memory value back to these registers

If they were not saved to memory, then there must not have
been a 'live' value in them in the example you were looking
at. If TCG didn't correctly handle registers that are clobbered
by calls, then it would not work at all.

thanks
-- PMM



reply via email to

[Prev in Thread] Current Thread [Next in Thread]