[Gc] Latest cvs commits
ivmai at mail.ru
Mon Oct 19 10:43:06 PDT 2009
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.
There is a minor evidence of a symbol collision when compiling extra/gc.c on some targets in some configurations (between a symbol from a system header included from one .c file and a GC symbol (not prefixed with GC_) defined in another .c file), but it would most likely result in a compilation error or warning (at least) in such a case. I haven't observed such things (but minor testing has been done).
More information about the Gc