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]

Re: [Patch, Java]: Add --enable-reduced-reflection configure option.


Andrew Haley wrote:
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.


Thanks Andrew.


Committed with this corrected ChangeLog:

2008-09-05 David Daney <ddaney@avtrex.com>

* doc/install.texi (--enable-reduced-reflection): Document new option.


2008-09-05 David Daney <ddaney@avtrex.com>


	* 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]