Corruption of shared data with multiple threads

David Nadlinger via digitalmars-d-ldc digitalmars-d-ldc at puremagic.com
Sun Mar 29 11:03:35 PDT 2015


Oh, I forgot to ask: Did you look into making use of LLVM's profiling 
data framework instead? We would likely get better performance this way, 
and might be able profit of all the tooling built around LLVM's coverage 
support down the road.

See for example:

http://llvm.org/devmtg/2014-04/PDFs/LightningTalks/EuroLLVM'14%20--%20ASan%20%2B%20Coverage.pdf
http://llvm.org/docs/CommandGuide/llvm-cov.html
http://llvm.org/docs/CoverageMappingFormat.html

But then, offering a DMD-compatible implementation might also be nice 
for users, and it's rather simple…

  — David


On 03/29/2015 07:33 PM, David Nadlinger wrote:
> On 03/29/2015 06:46 PM, Johan Engelen via digitalmars-d-ldc wrote:
>> Is it a known issue, that we have some bugs with shared data + multiple
>> threads?
>
> I don't know of any general threading issues besides #666 (which only
> affects migrating fibers between threads). We do optimize some things
> much more aggressively than DMD does, though, so it is possible that
> broken code works by accident on DMD but fails on LDC.
>
>> (LLVM 3.6, MSVC, x64)
>
> There might be some Win64-specific issues, though. Kai? You might want
> to test your changes on Linux to be sure.
>
>   — David


More information about the digitalmars-d-ldc mailing list