This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: ObjC configured --with-objc-gc needs external Boehm gc
- To: Matthias Klose <doko at cs dot tu-berlin dot de>
- Subject: Re: ObjC configured --with-objc-gc needs external Boehm gc
- From: Tom Tromey <tromey at redhat dot com>
- Date: 16 Jan 2001 15:59:49 -0700
- Cc: gcc at gcc dot gnu dot org, java-discuss at sources dot redhat dot com, ovidiu at cup dot hp dot com
- References: <14948.50666.334807.731387@gargle.gargle.HOWL>
- Reply-To: tromey at redhat dot com
>>>>> "Matthias" == Matthias Klose <doko@cs.tu-berlin.de> writes:
Matthias> The Objective C runtime library enabled with garbage
Matthias> collection needs an external Boehm gc collector beeing
Matthias> installed at compile time. Is it possible to build the
Matthias> libobjcgc library with the Boehm gc that is already used for
Matthias> gcj?
The boehm-gc in the gcc tree is a mildly modified version of the
standard Boehm collector. Basically we modified it to use autoconf
and automake so that it would fit into the existing gcc build system.
However, the Boehm GC is designed so that many of its options can only
be set at build time, and not at runtime. So we've set things up to
configure the GC to be appropriate for our runtime environment. It
might or might not work in other environments.
For instance, we define these options:
AC_DEFINE(SILENT)
AC_DEFINE(NO_SIGNALS)
AC_DEFINE(JAVA_FINALIZATION)
AC_DEFINE(GC_GCJ_SUPPORT)
When cross-compiling we also assume that we're targeting a smaller
or embedded system and enable these options:
AC_DEFINE(NO_SIGSET)
AC_DEFINE(NO_CLOCK)
AC_DEFINE(SMALL_CONFIG)
AC_DEFINE(NO_DEBUGGING)
I'm not against having other uses for the boehm-gc. However, ideally
these other uses wouldn't result in performance loss for Java
programs. The GC is a critical component for us; we've gotten
significant performance improvements by tweaking it. Untweaking would
be bad for us.
One idea would be to work with Hans Boehm to see if some of these
configuration options can be made runtime configurable without
(significant) performance impact.
Tom