RFC: omit write barrier instructions unless '-threaded'

Gabor Greif ggreif at gmail.com
Wed Feb 27 17:34:25 CET 2013


On 2/27/13, Joey Adams <joeyadams3.14159 at gmail.com> wrote:
> On Sun, Feb 24, 2013 at 3:40 PM, Gabor Greif <ggreif at gmail.com> wrote:
>
>> Hi all,
>>
>> from what I gathered so far no emission of write barriers is needed when
>>  - running on a uniprocessor (-threaded or not)
>>  - running on a multiprocessor sans having linked with -threaded.
>>
>
> On Windows, the non-threaded RTS does I/O with forked threads; see
> rts/win32/IOManager.c and the async* functions in GHC.Conc.Windows.  I
> think this means that for Windows, we need those write barriers even for
> non-threaded.

And when those async threads return control to the RTS don't they
implicitly establish a write barrier? After all they are very
syscall-like, or I am mistaken?

Surely someone at Microsoft can find out :-)

Cheers,

    Gabor
>
> -Joey
>



More information about the ghc-devs mailing list