On 15 March 2016 at 13:17, Venkatesh N <[email protected]> wrote: > Thanks Alex. > > While executing the host instruction(s) for the guest instruction, > when a callq to c helper routine is made, will every CALLQ will be > treated as End of TB. If so, what happens to TB optimizations.
No, a call to a helper function does not automatically end the TB. A helper function can be marked with flags to indicate whether it has side effects or reads or writes globals (see the "Helpers" section in tcg/README) -- this then affects whether the optimization pass and register allocator write TCG values back to memory before the call or not. (A helper which can trigger an exception counts as having a side effect, so guest register values are written back to their canonical locations in the CPU state struct before the call.) thanks -- PMM
