diff options
author | Jonghyun Park <parjong@gmail.com> | 2017-04-13 01:02:35 +0900 |
---|---|---|
committer | Bruce Forstall <brucefo@microsoft.com> | 2017-04-12 09:02:35 -0700 |
commit | f9d39599448fc89cd48b0a55a34f5d5fded7fa42 (patch) | |
tree | 3145b6e15c3fa518ec3b8bf6a90eef1bda0b95a4 /src/vm/stackwalk.cpp | |
parent | f00dfaf7bf0c137ec904a9d3a480a55e3f9f79a1 (diff) | |
download | coreclr-f9d39599448fc89cd48b0a55a34f5d5fded7fa42.tar.gz coreclr-f9d39599448fc89cd48b0a55a34f5d5fded7fa42.tar.bz2 coreclr-f9d39599448fc89cd48b0a55a34f5d5fded7fa42.zip |
[x86/Linux] Funclet-based synchronization (#10791)
* [x86/Linux] Funclet-based synchronization
* Fix x86/Windows build error
* Revise per feedback
* Fix format error
Diffstat (limited to 'src/vm/stackwalk.cpp')
-rw-r--r-- | src/vm/stackwalk.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/vm/stackwalk.cpp b/src/vm/stackwalk.cpp index dacc85f1a0..31e233ceb7 100644 --- a/src/vm/stackwalk.cpp +++ b/src/vm/stackwalk.cpp @@ -3149,7 +3149,10 @@ void StackFrameIterator::PreProcessingForManagedFrames(void) INDEBUG(m_crawl.pThread->DebugLogStackWalkInfo(&m_crawl, "CONSIDER", m_uFramesProcessed)); -#if defined(_DEBUG) && defined(_TARGET_X86_) && !defined(DACCESS_COMPILE) +#if defined(_DEBUG) && !defined(WIN64EXCEPTIONS) && !defined(DACCESS_COMPILE) + // + // VM is responsible for synchronization on non-funclet EH model. + // // m_crawl.GetThisPointer() requires full unwind // In GC's relocate phase, objects is not verifiable if ( !(m_flags & (LIGHTUNWIND | QUICKUNWIND | ALLOW_INVALID_OBJECTS)) && @@ -3173,7 +3176,7 @@ void StackFrameIterator::PreProcessingForManagedFrames(void) END_GCX_ASSERT_COOP; } -#endif // _DEBUG && _TARGET_X86_ && !DACCESS_COMPILE +#endif // _DEBUG && !WIN64EXCEPTIONS && !DACCESS_COMPILE m_frameState = SFITER_FRAMELESS_METHOD; } // StackFrameIterator::PreProcessingForManagedFrames() |