Boost logo

Boost :

Subject: Re: [boost] Boost.Atomic request for review/inclusion
From: Phil Endecott (spam_from_boost_dev_at_[hidden])
Date: 2009-12-17 07:30:02


Helge Bahmann wrote:
> On Tue, 15 Dec 2009, Phil Endecott wrote:
>> I will have a look at merging my ARM implementation with this ASAP. git-foo
>> is probably the hardest part.

Hi Helge,

I have posted a patch here:

   http://chezphil.org/tmp/boost_atomic_20091217.patch

This has a certain amount of noise in it, sorry. This is the result of

   git diff e0fa477e1e812ffc0d94160bbc7bb28365c6fe1e

where that commit code is from "git log". I presume there is a better
way to do that. Feel free to educate me.

A few points to note:

- This needs a fix to boost/detail/endian.hpp per my message yesterday.

- The oldish Boost tree that I have on that machine has
boost/detail/spinlock_pool.hpp not
boost/smart_ptr/detail/spinlock_pool.hpp (used in your fallback.hpp).
Presumably it has been moved at some point; if it is now to be used
here, perhaps it should move back to the higher-level directory?

- I have suppressed a few unused args warnings in fallback.hpp.

- My Linux code is completely untested as my cross-compiler is broken.
Can anyone else help with this?

- My asm version for ARM v6+ has been tested with Apple's iPhone
cross-compiler and your tests/simple.cpp passes.

- I don't know how to make this work in Thumb mode (this is a mode in
which the processor uses a subset of the instruction set with a more
compact encoding; it doesn't include all of the instructions and you
can only change mode at function entry/exit.) ARM v7 also seems to be
more complicated that I thought in this respect. Are there any Thumb
experts out there?

Now what I'd really like is for someone to port shared_ptr to use this...

Regards, Phil.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk