This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
David Daney wrote:Andrew Haley wrote:David Daney wrote:This patch adds a new configure option to easily allow libgcj to be built with the -freduced-reflection option. This reduces the size (as reported by the size command) of libgcj by about 5% on i686-pc-linux. Although the resulting library has reduced functionality (as serialization, RMI and CORBA don't work with -freduced-reflection), the size savings can be important in some circumstances (embedded devices).
The name of the option is --enable-reduced-reflection, although I considered and rejected --with-reduced-reflection.
Tested on i686-pc-linux. Where as expected most -findirect-dispatch execution tests failed as well as the interpreter tests and several other random tests that rely on accurate reflection meta-data.
OK to commit?OK. I'm a little nervous about this, but I can see the advantages. I wonder if it might be worth dropping the nonfunctional packages from libgcj built with reduce reflection.
I have thought about this. And while it may be relatively easy to remove RMI and CORBA, there would still be broken serialization which would be quite difficult to remove.
I will defer a couple more days while we think about this.
Do we really want this in libgcj? I don't know, I could keep it as a local patch without much pain.
Your patch is OK, and potentially useful to others. It would be more useful if we could drop the parts of libgcj that don't work with it, but that's more like a request for enhancement.
* configure.ac (reduced-reflection): New AC_ARG_ENABLE. (build_libgcj_reduced_reflection): New variable. (BUILD_LIBGCJ_REDUCED_REFLECTION): New AM_CONDITIONAL. * Makefile.am (LIBGCJ_REDUCED_REFLECTION_FLAGS): New variable. (%.lo: %.list): Add LIBGCJ_REDUCED_REFLECTION_FLAGS to compile command. (java/util/concurrent.lo, java/util/concurrent/atomic.lo, java/util/concurrent/locks.lo): Override LIBGCJ_REDUCED_REFLECTION_FLAGS. * Makefile.in, include/Makefile.in, testsuite/Makefile.in, gcj/Makefile.in, configure: Regenerate.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |