[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] x86/alternatives: Force inline stac() and clac()
>>> Andrew Cooper <andrew.cooper3@xxxxxxxxxx> 08/18/14 6:16 PM >>> >In this case, we know better than the compiler. > >gcc 4.7 (Debian Wheezy) chooses to create translation-unit-local functions >(even for non-debug builds) named stac() and clac(), and calls them. > >$ objdump -d xen-syms | grep -c "<stac>:" >6 > >$ objdump -d xen-syms | grep -o "callq [0-9a-f]\+ <stac>" | uniq -c >5 callq ffff82d0801166c9 <stac> >20 callq ffff82d08015ef99 <stac> >4 callq ffff82d080165169 <stac> >8 callq ffff82d080188cb9 <stac> >3 callq ffff82d080228779 <stac> >4 callq ffff82d08022c5c9 <stac> > >Forcing always_inline removes these functions, and replaces each of the callqs >with the expected 3byte nops. I'm fine putting the patch in, but isn't this a compiler bug? Creating a 5-byte call instruction instead of a 3-byte inline expansion should even preclude out of line placement under -Os (which otherwise is the most likely reason for functions not getting inlined). Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |