diff options
author | Evgeny Pavlov <e.pavlov@samsung.com> | 2016-07-27 16:27:17 +0300 |
---|---|---|
committer | Evgeny Pavlov <e.pavlov@samsung.com> | 2016-07-27 16:27:17 +0300 |
commit | 27e570de343590fb99a1d9862668ab13843e42be (patch) | |
tree | 4457df07c9aa95f452cec9a7aacc314ab6560b8e /src/vm | |
parent | 0fdb42a7d63c0038426abe6be46b973e47131505 (diff) | |
download | coreclr-27e570de343590fb99a1d9862668ab13843e42be.tar.gz coreclr-27e570de343590fb99a1d9862668ab13843e42be.tar.bz2 coreclr-27e570de343590fb99a1d9862668ab13843e42be.zip |
Add flag to check re-entrancy of JIT notification
Diffstat (limited to 'src/vm')
-rw-r--r-- | src/vm/util.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/vm/util.cpp b/src/vm/util.cpp index 703564e2f2..3ce26d6653 100644 --- a/src/vm/util.cpp +++ b/src/vm/util.cpp @@ -3361,6 +3361,7 @@ void InitializeClrNotifications() #if defined(FEATURE_GDBJIT) #include "gdbjit.h" +__declspec(thread) bool tls_isSymReaderInProgress = false; #endif // FEATURE_GDBJIT // called from the runtime @@ -3375,7 +3376,12 @@ void DACNotify::DoJITNotification(MethodDesc *MethodDescPtr) } CONTRACTL_END; #if defined(FEATURE_GDBJIT) && defined(FEATURE_PAL) && !defined(CROSSGEN_COMPILE) - NotifyGdb::MethodCompiled(MethodDescPtr); + if(!tls_isSymReaderInProgress) + { + tls_isSymReaderInProgress = true; + NotifyGdb::MethodCompiled(MethodDescPtr); + tls_isSymReaderInProgress = false; + } #endif TADDR Args[2] = { JIT_NOTIFICATION, (TADDR) MethodDescPtr }; DACNotifyExceptionHelper(Args, 2); |