On 08/26/2013 03:26 PM, Paolo Bonzini wrote: > Something that can be done on top of this patch: what about moving the > "-1" to helper_ret_*? It is common to pretty much all the targets > (except ARM has -2), and it would allow some simplifications.
I suppose so, yes. > li rN, retaddr > mtlr rN > b st_trampoline[i] > > sequence instead of one of > > li rN, retaddr > mtlr rN > bl st_trampoline[i] > b retaddr This sort of thing is very difficult to evaluate, because of the cpu's return address prediction stack. I have so far avoided it. The only cpus that I believe can make good use of tail calls into the memory helpers are those with predicated stores and calls, i.e. arm and ia64. r~