summaryrefslogtreecommitdiff
path: root/src/vm/exceptionhandling.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/vm/exceptionhandling.h')
-rw-r--r--src/vm/exceptionhandling.h22
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
{