Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/corert.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Kotas <jkotas@microsoft.com>2015-11-11 21:05:51 +0300
committerJan Kotas <jkotas@microsoft.com>2015-11-11 21:05:51 +0300
commitedf68bdeb1766326712150eb433e67c39de64d59 (patch)
tree3894fa16874859fd5b4d658403500bb94a2b002f /src/Native/Runtime/EHHelpers.cpp
parente5f9c922661ac5face78e0ebd55615d34a24e310 (diff)
Delete FEATURE_CLR_EH define
It been always set for years and there are no plans to build the runtime without it.
Diffstat (limited to 'src/Native/Runtime/EHHelpers.cpp')
-rw-r--r--src/Native/Runtime/EHHelpers.cpp19
1 files changed, 4 insertions, 15 deletions
diff --git a/src/Native/Runtime/EHHelpers.cpp b/src/Native/Runtime/EHHelpers.cpp
index 4faaeeba2..9f4cb1263 100644
--- a/src/Native/Runtime/EHHelpers.cpp
+++ b/src/Native/Runtime/EHHelpers.cpp
@@ -228,7 +228,7 @@ COOP_PINVOKE_HELPER(void, RhpCopyContextFromExInfo,
}
-#if defined(FEATURE_CLR_EH) && (defined(_AMD64_) || defined(_ARM_) || defined(_X86_))
+#if defined(_AMD64_) || defined(_ARM_) || defined(_X86_)
struct DISPATCHER_CONTEXT
{
UIntNative ControlPc;
@@ -284,17 +284,12 @@ EXTERN_C Int32 __stdcall RhpPInvokeExceptionGuard(PEXCEPTION_RECORD pExcep
#else
EXTERN_C Int32 RhpPInvokeExceptionGuard()
{
-#ifdef FEATURE_CLR_EH
ASSERT_UNCONDITIONALLY("RhpPInvokeExceptionGuard NYI for this architecture!");
-#else
- ASSERT_UNCONDITIONALLY("RhpPInvokeExceptionGuard NYI for this version of Redhawk!");
-#endif
RhFailFast();
return 0;
}
-#endif // FEATURE_CLR_EH && (_AMD64_ || _ARM_)
+#endif
-#ifdef FEATURE_CLR_EH
#if defined(_AMD64_) || defined(_ARM_) || defined(_X86_)
EXTERN_C REDHAWK_API void __fastcall RhpThrowHwEx();
#else
@@ -330,7 +325,6 @@ EXTERN_C void* RhpThrowEx2 = NULL;
EXTERN_C void* RhpThrowHwEx2 = NULL;
EXTERN_C void* RhpRethrow2 = NULL;
#endif
-#endif // FEATURE_CLR_EH
#if defined(_AMD64_) || defined(_X86_)
#define RhpAssignRefAVLocation RhpAssignRef
@@ -393,7 +387,7 @@ static UIntNative UnwindWriteBarrierToCaller(_CONTEXT * pContext)
Int32 __stdcall RhpVectoredExceptionHandler(PEXCEPTION_POINTERS pExPtrs)
{
UIntNative faultingIP = pExPtrs->ContextRecord->GetIP();
-#ifdef FEATURE_CLR_EH
+
ICodeManager * pCodeManager = GetRuntimeInstance()->FindCodeManagerByAddress((PTR_VOID)faultingIP);
UIntNative faultCode = pExPtrs->ExceptionRecord->ExceptionCode;
if ((pCodeManager != NULL) || (faultCode == STATUS_ACCESS_VIOLATION && InWriteBarrierHelper(faultingIP)))
@@ -421,7 +415,6 @@ Int32 __stdcall RhpVectoredExceptionHandler(PEXCEPTION_POINTERS pExPtrs)
return EXCEPTION_CONTINUE_EXECUTION;
}
else
-#endif // FEATURE_CLR_EH
{
static UInt8 *s_pbRuntimeModuleLower = NULL;
static UInt8 *s_pbRuntimeModuleUpper = NULL;
@@ -446,11 +439,7 @@ Int32 __stdcall RhpVectoredExceptionHandler(PEXCEPTION_POINTERS pExPtrs)
if (((UInt8*)faultingIP >= s_pbRuntimeModuleLower) && ((UInt8*)faultingIP < s_pbRuntimeModuleUpper))
{
// Generally any form of hardware exception within the runtime itself is considered a fatal error.
- // Note this includes the managed code within the runtime. Eventually the range check above will
- // have to get a little more complex to deal with A/Vs in runtime helpers that we want to
- // translate into managed exceptions (e.g. null ref exceptions in the write barriers or interface
- // invocation stubs). Until FEATURE_CLR_EH comes fully online this simpler range check is
- // sufficient.
+ // Note this includes the managed code within the runtime.
ASSERT_UNCONDITIONALLY("Hardware exception raised inside the runtime.");
RhFailFast2(pExPtrs->ExceptionRecord, pExPtrs->ContextRecord);
}