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]

Re: A quick word about the pthreadrope7 fails.


Dhruv Matani wrote:

Except for the first case(first allocation), all of them will be even!


Good. Therefore let's just start with 2 longs as bitmap, everywhere, and we are
done once and for all!


I have a beta patch in which I have used long. I figured that this
conversion from unsigned int to long can be only better for the
allocator, because now(64-bit) the CPU can manipulate 64-bits directly!
Hence, 64-bits in a bitmap can be checked for emptiness/fullness.

Would you be interested in testing that out on a 64-bit machine?


Yes, of course, but see above. Also, please document that 8 in struct _Alloc_block:
it must be very clear that raising to 16 guarantees alignment 16.


Basically, the patch, besides the 2 above, boils down to a search and replace
s/int/long/, right? No need of additional weird computations and casts!


Paolo.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]