diff options
Diffstat (limited to 'src/vm/exceptionhandling.h')
-rw-r--r-- | src/vm/exceptionhandling.h | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/src/vm/exceptionhandling.h b/src/vm/exceptionhandling.h index 8b675d596d..97f1526621 100644 --- a/src/vm/exceptionhandling.h +++ b/src/vm/exceptionhandling.h @@ -26,11 +26,13 @@ ProcessCLRException(IN PEXCEPTION_RECORD pExceptionRecord IN OUT PT_DISPATCHER_CONTEXT pDispatcherContext); +#ifndef FEATURE_PAL void __declspec(noinline) ClrUnwindEx(EXCEPTION_RECORD* pExceptionRecord, UINT_PTR ReturnValue, UINT_PTR TargetIP, UINT_PTR TargetFrameSp); +#endif // !FEATURE_PAL typedef DWORD_PTR (HandlerFn)(UINT_PTR uStackFrame, Object* pExceptionObj); @@ -85,11 +87,9 @@ public: m_CorruptionSeverity = NotSet; #endif // FEATURE_CORRUPTING_EXCEPTIONS -#ifdef FEATURE_EXCEPTION_NOTIFICATIONS // By default, mark the tracker as not having delivered the first // chance exception notification m_fDeliveredFirstChanceNotification = FALSE; -#endif // FEATURE_EXCEPTION_NOTIFICATIONS m_sfFirstPassTopmostFrame.Clear(); @@ -147,11 +147,9 @@ public: m_CorruptionSeverity = NotSet; #endif // FEATURE_CORRUPTING_EXCEPTIONS -#ifdef FEATURE_EXCEPTION_NOTIFICATIONS // By default, mark the tracker as not having delivered the first // chance exception notification m_fDeliveredFirstChanceNotification = FALSE; -#endif // FEATURE_EXCEPTION_NOTIFICATIONS m_dwIndexClauseForCatch = 0; m_sfEstablisherOfActualHandlerFrame.Clear(); @@ -389,7 +387,7 @@ public: bool IsStackOverflowException(); -#ifdef FEATURE_PAL +#if defined(FEATURE_PAL) && !defined(CROSS_COMPILE) void TakeExceptionPointersOwnership(PAL_SEHException* ex) { _ASSERTE(ex->GetExceptionRecord() == m_ptrs.ExceptionRecord); @@ -397,7 +395,7 @@ public: ex->Clear(); m_fOwnsExceptionPointers = TRUE; } -#endif // FEATURE_PAL +#endif // FEATURE_PAL && !CROSS_COMPILE private: DWORD_PTR @@ -406,6 +404,7 @@ private: EE_ILEXCEPTION_CLAUSE* pEHClause, MethodDesc* pMD, EHFuncletType funcletType + X86_ARG(PT_CONTEXT pContextRecord) ARM_ARG(PT_CONTEXT pContextRecord) ARM64_ARG(PT_CONTEXT pContextRecord) ); @@ -428,7 +427,7 @@ private: m_hThrowable = NULL; } -#endif +#endif // !DACCESS_COMPILE void SaveStackTrace(); @@ -616,7 +615,6 @@ public: } #endif // FEATURE_CORRUPTING_EXCEPTIONS -#ifdef FEATURE_EXCEPTION_NOTIFICATIONS private: BOOL m_fDeliveredFirstChanceNotification; @@ -634,7 +632,6 @@ public: m_fDeliveredFirstChanceNotification = fDelivered; } -#endif // FEATURE_EXCEPTION_NOTIFICATIONS // Returns the exception tracker previous to the current inline PTR_ExceptionTracker GetPreviousExceptionTracker() @@ -656,6 +653,11 @@ public: { return !m_ExceptionFlags.UnwindHasStarted(); } + + EHClauseInfo* GetEHClauseInfo() + { + return &m_EHClauseInfo; + } private: ; @@ -775,9 +777,7 @@ private: ; EnclosingClauseInfo m_EnclosingClauseInfoOfCollapsedTracker; }; -#if defined(WIN64EXCEPTIONS) PTR_ExceptionTracker GetEHTrackerForPreallocatedException(OBJECTREF oPreAllocThrowable, PTR_ExceptionTracker pStartingEHTracker); -#endif // WIN64EXCEPTIONS class TrackerAllocator { |