public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Do we still need ggc-simple
@ 2003-11-19 23:10 Steven Bosscher
  2003-11-28  0:19 ` Ben Elliston
  2003-12-10 11:24 ` Nick Burrett
  0 siblings, 2 replies; 7+ messages in thread
From: Steven Bosscher @ 2003-11-19 23:10 UTC (permalink / raw)
  To: gcc

Hi,

Why do we still have ggc-simple?  Are there any targets for which ggc-page 
doesn't work?

Gr.
Steven

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Do we still need ggc-simple
  2003-11-19 23:10 Do we still need ggc-simple Steven Bosscher
@ 2003-11-28  0:19 ` Ben Elliston
  2003-12-10 11:24 ` Nick Burrett
  1 sibling, 0 replies; 7+ messages in thread
From: Ben Elliston @ 2003-11-28  0:19 UTC (permalink / raw)
  To: gcc

Steven Bosscher <s.bosscher@student.tudelft.nl> writes:

> Why do we still have ggc-simple?  Are there any targets for which
> ggc-page doesn't work?

It can still be chosen with the --with-gc configure option and leaving
it there as a simpler GC could be useful for debugging.

Ben


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Do we still need ggc-simple
  2003-11-19 23:10 Do we still need ggc-simple Steven Bosscher
  2003-11-28  0:19 ` Ben Elliston
@ 2003-12-10 11:24 ` Nick Burrett
  2003-12-14  3:19   ` Steven Bosscher
  1 sibling, 1 reply; 7+ messages in thread
From: Nick Burrett @ 2003-12-10 11:24 UTC (permalink / raw)
  To: Steven Bosscher; +Cc: gcc



Steven Bosscher wrote:

> Why do we still have ggc-simple?  Are there any targets for which ggc-page 
> doesn't work?

Yes (arm-riscos-aof), though it is maintained outside of the GCC tree.

Regards,


Nick.

-- 
Nick Burrett
Network Engineer, Designer Servers Ltd.   http://www.dsvr.co.uk

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Do we still need ggc-simple
  2003-12-10 11:24 ` Nick Burrett
@ 2003-12-14  3:19   ` Steven Bosscher
  2003-12-14 13:58     ` Nick Burrett
  0 siblings, 1 reply; 7+ messages in thread
From: Steven Bosscher @ 2003-12-14  3:19 UTC (permalink / raw)
  To: Nick Burrett, Ben Elliston; +Cc: gcc

On Wednesday 10 December 2003 11:41, Nick Burrett wrote:
> Steven Bosscher wrote:
> > Why do we still have ggc-simple?  Are there any targets for which
> > ggc-page doesn't work?
>
> Yes (arm-riscos-aof), though it is maintained outside of the GCC tree.

OK.  So I like bitching.

Why is arm-riscos-aof not using ggc-page with malloc?

Fact:  Virtually no-one is using ggc-simple.

I know for sure since building GCC with ggc-simple.c has been impossible since 
at least 26 Oct 2003.  On that day the zone collector was commited, and 
anyone who has tried to build gcc with ggc-simple as the collector should 
have seen a link failure because tree_zone is not declared anywhere.  I've 
heard no complaint, and my conclusion has to be that in almost two months 
time, nobody has noticed that ggc-simple.c is currently broken.

Ben suggested that a simpler GC could be useful for debugging.  I don't see 
how.  It's easy enough to tweak the better collectors to make them not 
collect at all, or change it in other ways to make debugging easier.

Besides, we have two collectors, and I find it hard to believe that we'd be 
able to break them both without anyone noticing.  Especially ggc-page, which 
is now effectively in "deep freeze": No serious work on this collector has 
been done over the past year (since the pch branch was merged).  So for 
debugging, you can always switch to the another collector.
(I do have to admit that we need a better way to analyse the performance/
characteristics of the other collectors.  But this has little to do with 
debugging.)

Having three collectors like we do now is very unpleasant.  Every time someone 
tries to add a feature to the GC system, it has to be added to _three_ 
collectors.  Bah.  Especially since ggc-simple is almost unused.  I would 
very much like to see it go away.

Gr.
Steven

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Do we still need ggc-simple
  2003-12-14  3:19   ` Steven Bosscher
@ 2003-12-14 13:58     ` Nick Burrett
  2003-12-28 22:36       ` Mark Mitchell
  0 siblings, 1 reply; 7+ messages in thread
From: Nick Burrett @ 2003-12-14 13:58 UTC (permalink / raw)
  To: Steven Bosscher; +Cc: Ben Elliston, gcc

Steven Bosscher wrote:
> On Wednesday 10 December 2003 11:41, Nick Burrett wrote:
> 
>>Steven Bosscher wrote:
>>
>>>Why do we still have ggc-simple?  Are there any targets for which
>>>ggc-page doesn't work?
>>
>>Yes (arm-riscos-aof), though it is maintained outside of the GCC tree.
> 
> 
> OK.  So I like bitching.
> 
> Why is arm-riscos-aof not using ggc-page with malloc?

Sorry.  The last time I looked to make the decision on using ggc-page or 
ggc-simple, I figured that ggc-page was a solely mmap implementation. 
Upon reading the code further, I notice it isn't and therefore I will 
drop my requirement for ggc-simple.

> I know for sure since building GCC with ggc-simple.c has been impossible since 
> at least 26 Oct 2003.  On that day the zone collector was commited, and 
> anyone who has tried to build gcc with ggc-simple as the collector should 
> have seen a link failure because tree_zone is not declared anywhere.  I've 
> heard no complaint, and my conclusion has to be that in almost two months 
> time, nobody has noticed that ggc-simple.c is currently broken.

You are making the assumption that all port maintainers keep their ports 
right up-to-date.  Due to limited resources and the work required, it 
has taken me and a small team of developers over a year to move from 
2.95 to a 3.3 port.  Part of this is due to having to write/maintain a C 
library, an assembler, a linker, a library maker and the ports of 
several other applications.  The other part of the problem is not having 
that much time out of office-hours to work on such stuff.

I would have come across the breakage to ggc-simple.c in about 12 months 
from now, at which point I'd do the necessary work to swap to ggc-page.c 
(if there was any to be done).

> Having three collectors like we do now is very unpleasant.  Every time someone 
> tries to add a feature to the GC system, it has to be added to _three_ 
> collectors.  Bah.  Especially since ggc-simple is almost unused.  I would 
> very much like to see it go away.

I don't disagree.  If you're committing a patch that breaks an interface 
(in this case ggc-simple.c), then either you should have fixed your 
patch to fix the interface, or simply removed ggc-simple.c.

Breaking the ggc-simple.c or removing the file entirely has the same net 
effect -- it isn't going to work in either case.  Then if somebody 
complains, you could either revert it's removal and fix the breakages, 
or help the maintainer to understand why ggc-page.c should be used instead.

Regards,


Nick.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Do we still need ggc-simple
  2003-12-14 13:58     ` Nick Burrett
@ 2003-12-28 22:36       ` Mark Mitchell
  2003-12-29  2:28         ` Steven Bosscher
  0 siblings, 1 reply; 7+ messages in thread
From: Mark Mitchell @ 2003-12-28 22:36 UTC (permalink / raw)
  To: Nick Burrett; +Cc: Steven Bosscher, Ben Elliston, gcc

On Sun, 2003-12-14 at 02:35, Nick Burrett wrote:
> Steven Bosscher wrote:
> > On Wednesday 10 December 2003 11:41, Nick Burrett wrote:
> > 
> >>Steven Bosscher wrote:
> >>
> >>>Why do we still have ggc-simple?  Are there any targets for which
> >>>ggc-page doesn't work?
> >>
> >>Yes (arm-riscos-aof), though it is maintained outside of the GCC tree.
> > 
> > 
> > OK.  So I like bitching.
> > 
> > Why is arm-riscos-aof not using ggc-page with malloc?
> 
> Sorry.  The last time I looked to make the decision on using ggc-page or 
> ggc-simple, I figured that ggc-page was a solely mmap implementation. 
> Upon reading the code further, I notice it isn't and therefore I will 
> drop my requirement for ggc-simple.

Based on this discussion, I will pre-approve a patch to remove all
traces of ggc-simple.c from the mainline.

-- 
Mark Mitchell <mark@codesourcery.com>
CodeSourcery, LLC

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Do we still need ggc-simple
  2003-12-28 22:36       ` Mark Mitchell
@ 2003-12-29  2:28         ` Steven Bosscher
  0 siblings, 0 replies; 7+ messages in thread
From: Steven Bosscher @ 2003-12-29  2:28 UTC (permalink / raw)
  To: gcc-patches, mark, Nick Burrett; +Cc: Ben Elliston, gcc

On Sunday 28 December 2003 19:33, Mark Mitchell wrote:
> On Sun, 2003-12-14 at 02:35, Nick Burrett wrote:
> > Steven Bosscher wrote:
> > > On Wednesday 10 December 2003 11:41, Nick Burrett wrote:
> > >>Steven Bosscher wrote:
> > >>>Why do we still have ggc-simple?  Are there any targets for which
> > >>>ggc-page doesn't work?
> > >>
> > >>Yes (arm-riscos-aof), though it is maintained outside of the GCC tree.
> > >
> > > OK.  So I like bitching.
> > >
> > > Why is arm-riscos-aof not using ggc-page with malloc?
> >
> > Sorry.  The last time I looked to make the decision on using ggc-page or
> > ggc-simple, I figured that ggc-page was a solely mmap implementation.
> > Upon reading the code further, I notice it isn't and therefore I will
> > drop my requirement for ggc-simple.
>
> Based on this discussion, I will pre-approve a patch to remove all
> traces of ggc-simple.c from the mainline.


Like so.

2003-12-28  Steven Bosscher  <steven@gcc.gnu.org>

	* ggc-simple.c: Remove.
	* Makefile.in: Remove ggc-simple.o.
	* configure.in: Disallow --with-gc=simple.
	* configure: Regenerate.

Index: Makefile.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Makefile.in,v
retrieving revision 1.1212
diff -c -3 -p -r1.1212 Makefile.in
*** Makefile.in	24 Dec 2003 00:14:17 -0000	1.1212
--- Makefile.in	28 Dec 2003 19:40:16 -0000
*************** gtype-desc.o: gtype-desc.c $(CONFIG_H) $
*** 1466,1474 ****
  ggc-common.o: ggc-common.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(GGC_H) \
  	$(HASHTAB_H) toplev.h $(PARAMS_H) hosthooks.h
  
- ggc-simple.o: ggc-simple.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
- 	flags.h $(GGC_H) varray.h $(TIMEVAR_H) $(TM_P_H) $(PARAMS_H)
- 
  ggc-page.o: ggc-page.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
  	flags.h toplev.h $(GGC_H) $(TIMEVAR_H) $(TM_P_H) $(PARAMS_H)
  
--- 1466,1471 ----
Index: configure
===================================================================
RCS file: /cvs/gcc/gcc/gcc/configure,v
retrieving revision 1.787
diff -c -3 -p -r1.787 configure
*** configure	22 Dec 2003 07:42:37 -0000	1.787
--- configure	28 Dec 2003 19:40:19 -0000
*************** ac_help="$ac_help
*** 85,91 ****
                            use KEY instead of GCC version as the last portion
                            of the registry key"
  ac_help="$ac_help
!   --with-gc={simple,page,zone} choose the garbage collection mechanism to use
                            with the compiler"
  ac_help="$ac_help
    --with-system-zlib      use installed libz"
--- 85,91 ----
                            use KEY instead of GCC version as the last portion
                            of the registry key"
  ac_help="$ac_help
!   --with-gc={page,zone} choose the garbage collection mechanism to use
                            with the compiler"
  ac_help="$ac_help
    --with-system-zlib      use installed libz"
*************** fi
*** 7649,7655 ****
  if test "${with_gc+set}" = set; then
    withval="$with_gc"
    case "$withval" in
!   simple | page | zone)
      GGC=ggc-$withval
      ;;
    *)
--- 7649,7655 ----
  if test "${with_gc+set}" = set; then
    withval="$with_gc"
    case "$withval" in
!   page | zone)
      GGC=ggc-$withval
      ;;
    *)
Index: configure.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/configure.in,v
retrieving revision 1.763
diff -c -3 -p -r1.763 configure.in
*** configure.in	22 Dec 2003 07:42:37 -0000	1.763
--- configure.in	28 Dec 2003 19:40:21 -0000
*************** AC_SUBST(gthread_flags)
*** 2689,2698 ****
  
  # Find out what GC implementation we want, or may, use.
  AC_ARG_WITH(gc,
! [  --with-gc={simple,page,zone} choose the garbage collection mechanism to use
                            with the compiler],
  [case "$withval" in
!   simple | page | zone)
      GGC=ggc-$withval
      ;;
    *)
--- 2689,2698 ----
  
  # Find out what GC implementation we want, or may, use.
  AC_ARG_WITH(gc,
! [  --with-gc={page,zone} choose the garbage collection mechanism to use
                            with the compiler],
  [case "$withval" in
!   page | zone)
      GGC=ggc-$withval
      ;;
    *)

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2003-12-28 19:44 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-11-19 23:10 Do we still need ggc-simple Steven Bosscher
2003-11-28  0:19 ` Ben Elliston
2003-12-10 11:24 ` Nick Burrett
2003-12-14  3:19   ` Steven Bosscher
2003-12-14 13:58     ` Nick Burrett
2003-12-28 22:36       ` Mark Mitchell
2003-12-29  2:28         ` Steven Bosscher

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).