mt_allocator issues.
Stefan Olsson
stefan@xapa.se
Sat Mar 13 15:20:00 GMT 2004
Hi Dhruv,
you are right. The original version was SGI style:
template<int __inst> class __mt_alloc
and since __inst was unused (and set to zero) there was only one
instance. However this changed when it was turned into a standards
compliant allocator:
template<typename _Tp> class __mt_alloc
As of right now (late saturday afternoon) I'm not sure if this is a good
or bad thing, but it was never the less not originally intended this way!
Is it possible (through keywords/compiler options) to get the static
members "application wide" instead of one copy per template? Or do we
have to define them elsewhere to get back to square one?
Brgds
/Stefan
Dhruv Matani wrote:
>Hello,
>
>Form the comments at the stat of the file:
> /**
> * This is a fixed size (power of 2) allocator which - when
> * compiled with thread support - will maintain one freelist per
> * size per thread plus a "global" one. Steps are taken to limit
> * the per thread freelist sizes (by returning excess back to
> * "global").
>
>But, it seems that currently, it is maintaining a freelist per size per
>thread per type on which it is being instantiated.
>
>Ok, I may be wrong, but just a hunch.
>
>Is this what was intended?
>
>
>
>
>
>
>
>
More information about the Libstdc++
mailing list