Fix brick table issue on Unix
authorJan Vorlicek <janvorli@microsoft.com>
Mon, 11 Apr 2016 11:42:07 +0000 (13:42 +0200)
committerJan Vorlicek <janvorli@microsoft.com>
Mon, 11 Apr 2016 11:42:07 +0000 (13:42 +0200)
commit54e626fec535ce9eb1f97420c619572911eed583
treeddbeb98b8751e9063614e477e4b0328b671608c1
parente8c82e2c4363b58b76c036ba6db5a192f4e3d33b
Fix brick table issue on Unix

There is a problem with Clang compiling a loop that sets a range of brick
table entries that are "shorts" as a memset. That causes it to be written
by bytes in some cases on OSX (and it is a mere chance that the memset on
Linux is implemented so that it doesn't use byte access).
This was causing corruption of the brick table on OSX.
The fix is to mark the pointer that iterates over the brick table as volatile
to prevent the compiler from using the memset.
src/gc/gc.cpp