diff options
Diffstat (limited to 'src/vm/stackwalk.cpp')
-rw-r--r-- | src/vm/stackwalk.cpp | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/src/vm/stackwalk.cpp b/src/vm/stackwalk.cpp index 18a8900039..44e5f99640 100644 --- a/src/vm/stackwalk.cpp +++ b/src/vm/stackwalk.cpp @@ -555,11 +555,9 @@ UINT_PTR Thread::VirtualUnwindCallFrame(PREGDISPLAY pRD, EECodeInfo* pCodeInfo / pRD->pCurrentContext = pRD->pCallerContext; pRD->pCallerContext = temp; -#if defined(_TARGET_AMD64_) || defined(_TARGET_ARM_) || defined(_TARGET_ARM64_) PT_KNONVOLATILE_CONTEXT_POINTERS tempPtrs = pRD->pCurrentContextPointers; pRD->pCurrentContextPointers = pRD->pCallerContextPointers; pRD->pCallerContextPointers = tempPtrs; -#endif // defined(_TARGET_AMD64_) || defined(_TARGET_ARM_) || defined(_TARGET_ARM64_) } else { @@ -722,15 +720,12 @@ PCODE Thread::VirtualUnwindNonLeafCallFrame(T_CONTEXT* pContext, KNONVOLATILE_CO CONTRACTL_END; PCODE uControlPc = GetIP(pContext); -#if defined(_WIN64) +#ifdef BIT64 UINT64 EstablisherFrame; - PVOID HandlerData; -#elif defined(_TARGET_ARM_) +#else // BIT64 DWORD EstablisherFrame; +#endif // BIT64 PVOID HandlerData; -#else - _ASSERTE(!"nyi platform stackwalking"); -#endif if (NULL == pFunctionEntry) { @@ -893,7 +888,7 @@ StackWalkAction Thread::MakeStackwalkerCallback( } -#if !defined(DACCESS_COMPILE) && defined(_TARGET_X86_) +#if !defined(DACCESS_COMPILE) && defined(_TARGET_X86_) && !defined(WIN64EXCEPTIONS) #define STACKWALKER_MAY_POP_FRAMES #endif @@ -2677,9 +2672,10 @@ StackWalkAction StackFrameIterator::NextRaw(void) // We are transitioning from unmanaged code to managed code... lets do some validation of our // EH mechanism on platforms that we can. -#if defined(_DEBUG) && !defined(DACCESS_COMPILE) && (defined(_TARGET_X86_) && !defined(FEATURE_STUBS_AS_IL)) +#if defined(_DEBUG) && !defined(DACCESS_COMPILE) && (defined(_TARGET_X86_) && !defined(FEATURE_PAL)) && !defined(WIN64EXCEPTIONS) + // TODO: Revise this once we enable WIN64EXCEPTIONS for x86/Linux VerifyValidTransitionFromManagedCode(m_crawl.pThread, &m_crawl); -#endif // _DEBUG && !DACCESS_COMPILE && _TARGET_X86_ +#endif // _DEBUG && !DACCESS_COMPILE && _TARGET_X86_ && !WIN64EXCEPTIONS } } |