On 2015-06-18 10:16, Paolo Bonzini wrote:
> 
> 
> On 18/06/2015 07:17, Pavel Dovgaluk wrote:
> >>> > >
> >>> > >  static inline RES_TYPE
> >>> > > -glue(glue(cpu_ld, USUFFIX), MEMSUFFIX)(CPUArchState *env, 
> >>> > > target_ulong ptr)
> >>> > > +glue(glue(glue(cpu_ld, USUFFIX), MEMSUFFIX), _ra)(CPUArchState *env,
> >>> > > +                                                  target_ulong ptr,
> >>> > > +                                                  uintptr_t retaddr)
> >> > 
> >> > Would it make sense to call these helper_cpu_ld##USUFFIX##MEMSUFFIX?
> > I don't want to use 'helper' prefix, because helper functions are
> > usually called directly from TB.
> 
> True, but in the end these have the same functionality as helpers, just
> they're indirectly called from other helpers.

Not fully. The idea is that the helpers are non-inline functions
handling the slow path. The cpu_ld##USUFFIX##MEMSUFFIX are inline
functions handling the fast path, and calling the helpers for the slow
path. That allows for example GCC to optimize the fast path when the
cpu_ld functions are used in a loop.

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
aurel...@aurel32.net                 http://www.aurel32.net

Reply via email to