[Gc] Re: Latest cvs commits
ivmai at mail.ru
Fri Oct 23 05:31:32 PDT 2009
Several days ago I wrote:
> I've added extra/gc.c file to enable cross-module optimizations (this could be considered as an alternative to the modern GCC -flto option). For this I've introduced new tagging macros GC_EXTERN and GC_INNER for the GC-scope variable declarations and definitions, respectively. More over GC_INNER could be used for the GC-scope function prototypes and definitions, but, in theory, this shouldn't lead to more performance (and, even more, shouldn't lead to the code size shrunk in the presence of a function-level linker), so I've decided not to do so.
Nonetheless, I've added GC_INNER also to the GC-scope functions (definitions and prototypes) not to rely on the above theory. Along with the change, I've converted a dozen of functions to static ones and made a number of functions to be conditionally defined (i.e., defined only if used for a particular configuration).
In addition, GC_DLL now works for non-Win32 GCC without -fvisibility option.
More information about the Gc