On Tue, 2021-08-17 at 11:17 +0200, Thomas Schwinge wrote:
> Hi!
> 
> On 2004-09-02T18:47:01+0200, Jan Hubicka <hubi...@ucw.cz> wrote:
> > *** ggc-common.c      9 Aug 2004 20:19:29 -0000       1.88
> > --- ggc-common.c      2 Sep 2004 16:08:50 -0000
> 
> > + /* When set, ggc_collect will do collection.  */
> > + bool ggc_force_collect;
> 
> > *************** void dump_ggc_loc_statistics (void)
> 
> > +   ggc_force_collect = true;
> > +   ggc_collect ();
> 
> > *************** ggc_collect (void)
> 
> > !   if (G.allocated < allocated_last_gc + min_expand)
> 
> > !   if (G.allocated < allocated_last_gc + min_expand &&
> > !ggc_force_collect)
> 
> > *** ggc.h     2 Sep 2004 02:39:15 -0000       1.68
> > --- ggc.h     2 Sep 2004 16:08:50 -0000
> 
> > + /* When set, ggc_collect will do collection.  */
> > + extern bool ggc_force_collect;
> 
> This has later acquired another use in the GCC selftests.
> 
> I wonder if we shouldn't simplify the interface per the attached
> "Turn
> global 'ggc_force_collect' variable into 'force_collect' parameter to
> 'ggc_collect'"?  OK to push to master branch after bootstrap testing?

Looks good to me, but bool params can be unclear - maybe introduce an
enum to make the meaning more explicit to the reader of the code?

e.g.

enum gcc_collect_when
{
  GGC_COLLECT_UNDER_MEMORY_PRESSURE,
  GGC_COLLECT_ALWAYS
};

or somesuch???

Dave


Reply via email to