[OPTIM] force inlining of large functions with gcc >= 3
GCC 3 and above do not inline large functions, which is a problem
with ebtree where most core functions are inlined.
This simple patch has both reduced code size and increased speed.
It should be back-ported to ebtree.
diff --git a/include/common/config.h b/include/common/config.h
index 74bee47..5efa7cb 100644
--- a/include/common/config.h
+++ b/include/common/config.h
@@ -83,4 +83,15 @@
#define REGPRM3
#endif
+/* By default, gcc does not inline large chunks of code, but we want it to
+ * respect our choices.
+ */
+#if !defined(forceinline)
+#if __GNUC__ < 3
+#define forceinline inline
+#else
+#define forceinline inline __attribute__((always_inline))
+#endif
+#endif
+
#endif /* _COMMON_CONFIG_H */