From 5c87fd284a02eb089ce2af7fe9d757d2c1fa5a36 Mon Sep 17 00:00:00 2001 From: Jan Kotas Date: Wed, 11 Nov 2015 17:48:49 -0800 Subject: [PATCH] Use volatile store for g_hrFatalError --- src/utilcode/ex.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/utilcode/ex.cpp b/src/utilcode/ex.cpp index d3e0393..e692e13 100644 --- a/src/utilcode/ex.cpp +++ b/src/utilcode/ex.cpp @@ -1698,7 +1698,8 @@ void DECLSPEC_NORETURN ThrowOutOfMemory() #ifndef DACCESS_COMPILE - g_hrFatalError = COR_E_OUTOFMEMORY; + // Use volatile store to prevent compiler from optimizing the static variable away + VolatileStoreWithoutBarrier(&g_hrFatalError, COR_E_OUTOFMEMORY); // Regular CLR builds - throw our pre-created OOM exception object PAL_CPP_THROW(Exception *, Exception::GetOOMException()); -- 2.7.4