libstdc++/8230: Buggy allocator behaviour

Gabriel Dos Reis gdr@integrable-solutions.net
Wed Nov 20 23:03:00 GMT 2002


The following reply was made to PR libstdc++/8230; it has been noted by GNATS.

From: Gabriel Dos Reis <gdr@integrable-solutions.net>
To: Benjamin Kosnik <bkoz@redhat.com>
Cc: bkoz@gcc.gnu.org, gcc-bugs@gcc.gnu.org, jkanze@caicheuvreux.com,
   gcc-gnats@gcc.gnu.org, libstdc++@gcc.gnu.org
Subject: Re: libstdc++/8230: Buggy allocator behaviour
Date: 14 Nov 2002 21:39:50 +0100

 Benjamin Kosnik <bkoz@redhat.com> writes:
 
 | See attached patch for a way to fix this with the pool allocators.
 
 I agree with your patch.
 
 The following comment is for possible improvements.  What about using
 
    if (__builtin_expect(__ret == 0, 0))
        __throw_bad_alloc("allocate::allocate");
 
 ?
 That gives a hint to the compiler that the branch is expected to be
 taken very unfrequently, and it should make scheduling accordingly.
 
 In general, I would like to see us starting using use __builtin_expect()
 at places where we do checks for limits cases.  Thoughts? 
 
 -- Gaby



More information about the Gcc-prs mailing list