[jit] Add debug option for using clr memory model (#15019)
commit1120e823123d76a4c2a04fe06612f377978dc866
authorVlad Brezae <brezaevlad@gmail.com>
Thu, 20 Jun 2019 16:18:26 +0000 (20 19:18 +0300)
committerGitHub <noreply@github.com>
Thu, 20 Jun 2019 16:18:26 +0000 (20 19:18 +0300)
tree559f3b880603528a404801ac465327f32db1d597
parentfb6ce0df91641a83b891c1ca939b6bc3e56fac35
[jit] Add debug option for using clr memory model (#15019)

* [jit] Move value storing in a new write barrier emitting method

Brings together ref storing and the write barrier generation.

* [jit] Add debug option to attempt using the CLR memory model

Which prevents reordering of stores. Part of the way this is done on CoreCLR is by adding memory barriers to the write barrier, so we attempt a similar behavior.

This is not a complete implementation.

* [build] Add memory model flag to csc when building the bcl

This should prevent random crashes during the build

* [build] Add memory model flag to compiler server

* [build] Add memory model flag to test building
mcs/build/rules.make
mcs/build/start-compiler-server.sh
mono/mini/Makefile.am.in
mono/mini/method-to-ir.c
mono/mini/mini-runtime.c
mono/mini/mini-runtime.h
mono/mini/mini.h
mono/tests/Makefile.am