Boost logo

Boost :

Subject: Re: [boost] [context] 4 days left on Boost.Context mini-review
From: Giovanni Piero Deretta (gpderetta_at_[hidden])
Date: 2012-01-09 12:44:44


On Mon, Jan 9, 2012 at 5:36 PM, Robert Ramey <ramey_at_[hidden]> wrote:
> Giovanni Piero Deretta wrote:
>> On Mon, Jan 9, 2012 at 12:58 AM, Robert Ramey <ramey_at_[hidden]> wrote:
>>>
>> Note that Boost.Context has a much more
>> comprehensive set of backends: while Boost.Coroutine only had a Linux
>> x86 asm backend and relied on fibers or makecontext for portability,
>
> I"m a window ms user and I found this unsatisfactory so I re-implemented
> the context switch in inline assembly.  This had the effect of making the
> library header only.  Is it really necessary that Boost.Context be a
> compiled
> library?
>

IIRC, at least on amd64 VC++ does not allow inline assembly at all.
With GCC, you could probably write some working inline assembly, but
any compiler upgrade (or even optimization flag) could break it at any
moment as jumping out of inline assember is forbidden. Getting the
correct register clobbering flags is also non-trivial.

-- 
gpd

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