xace: ricer tuning for XaceHook
gcc doesn't want to hoist the check for XaceHooks[hook] != NULL above the varargs code for some reason, so do it ourselves. Before: 40000000 trep @ 0.0010 msec (1050420.2/sec): PutImage 10x10 square 60000000 trep @ 0.0005 msec (1921147.6/sec): ShmPutImage 10x10 square After: 40000000 trep @ 0.0009 msec (1087458.5/sec): PutImage 10x10 square 60000000 trep @ 0.0005 msec (2012238.6/sec): ShmPutImage 10x10 square Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Signed-off-by: Adam Jackson <ajax@redhat.com>
This commit is contained in:
parent
a4553019a1
commit
11977fab54
|
@ -101,6 +101,10 @@ int XaceHook(int hook, ...)
|
||||||
} u;
|
} u;
|
||||||
int *prv = NULL; /* points to return value from callback */
|
int *prv = NULL; /* points to return value from callback */
|
||||||
va_list ap; /* argument list */
|
va_list ap; /* argument list */
|
||||||
|
|
||||||
|
if (!XaceHooks[hook])
|
||||||
|
return Success;
|
||||||
|
|
||||||
va_start(ap, hook);
|
va_start(ap, hook);
|
||||||
|
|
||||||
/* Marshal arguments for passing to callback.
|
/* Marshal arguments for passing to callback.
|
||||||
|
|
Loading…
Reference in New Issue