summaryrefslogtreecommitdiff
path: root/src/vm/stackwalk.cpp
diff options
context:
space:
mode:
authorJonghyun Park <parjong@gmail.com>2017-04-13 01:02:35 +0900
committerBruce Forstall <brucefo@microsoft.com>2017-04-12 09:02:35 -0700
commitf9d39599448fc89cd48b0a55a34f5d5fded7fa42 (patch)
tree3145b6e15c3fa518ec3b8bf6a90eef1bda0b95a4 /src/vm/stackwalk.cpp
parentf00dfaf7bf0c137ec904a9d3a480a55e3f9f79a1 (diff)
downloadcoreclr-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.cpp7
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()