Messages in this thread |  | | | Subject | RE: [RFC] net: bpf_jit: Two pass JIT and other changes | | Date | Mon, 2 Apr 2012 10:28:07 +0100 | | From | "David Laight" <> |
| |
> 1) Sadly, gcc isn't always smart enough to inline emit_code(). > So turn it into a macro to force gcc to inline it. This saves > about 500 bytes. Tested with gcc 4.6.0. An alternative to the > macro would be to create inline emit_code1(), emit_code2() etc.
Does giving it the __attribute__((always_inline)) help? I had to mark a load of small static functions that way after a minor change (possibly to the overall size) stopped gcc inlining everything.
I have also noticed in the past that gcc tends to generate better code for #define than when inlining functions.
David
|  |