This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ 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] | |
This patch seems more correct, because it handles the case where the
memory in fact can be allocated.
-Dhruv.
On Tue, 2004-10-19 at 22:04, Dhruv Matani wrote:
> On Tue, 2004-10-19 at 20:44, Paolo Carlini wrote:
> > Dhruv Matani wrote:
> >
> > >And tries to explain more concretely what I'm trying to achieve and also
> > >shows that it's do able in current C++.
> > >
> > Why you keep on refusing to deal with one issue at a time?
>
> I know :-( I have to try and consciously stick to one thing at a time,
> and learn to control my frivolous nature.
>
> >
> > The below cannot fix, not even in principle, the immediate problem that
> > we have with __len overflowing size_type: all the new tricks in __mt_alloc
> > are not in effect in this case, ::operator new for sure will never return
> > an address == _M_start (half the memory is already used), it will always
> > throw, even if you ask only for __old_size + 1.
>
> Ah! I did not think about this. You are right on this count because
> vector first allocates and then deallocates, so no matter what if half
> the memory is used, you are doomed.
>
> > Don't try to achieve the
> > impossible, concentrate on the case of small memory allocations, managed
> > via mt_alloc memory pools: in that case there is rooom for improvement..
>
> Yes, I have shown in the patch that the small size cases can be dealt
> with quite well with __mt_alloc<>.
>
>
> Attached is a patch and test-case which shows that the patch actually
> works.
>
> >
> > Paolo.
--
-Dhruv Matani.
http://www.geocities.com/dhruvbird/
The price of freedom is responsibility, but it's a bargain, because
freedom is priceless. ~ Hugh Downs
Attachment:
patch_vector_tcc_19102004_dhruv
Description: Text document
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |