diff --git a/src/coreclr/vm/dllimportcallback.h b/src/coreclr/vm/dllimportcallback.h index eb884db91b818..ce3bce62998e1 100644 --- a/src/coreclr/vm/dllimportcallback.h +++ b/src/coreclr/vm/dllimportcallback.h @@ -407,7 +407,6 @@ class UMEntryThunkCache //------------------------------------------------------------------------- Stub *GenerateUMThunkPrestub(); -EXCEPTION_HANDLER_DECL(FastNExportExceptHandler); EXCEPTION_HANDLER_DECL(UMThunkPrestubHandler); #endif // TARGET_X86 && !FEATURE_STUBS_AS_IL diff --git a/src/coreclr/vm/i386/asmhelpers.asm b/src/coreclr/vm/i386/asmhelpers.asm index 81794312dca64..a894f5f9b6ffa 100644 --- a/src/coreclr/vm/i386/asmhelpers.asm +++ b/src/coreclr/vm/i386/asmhelpers.asm @@ -257,9 +257,6 @@ COMPlusFrameHandler proto c COMPlusNestedExceptionHandler proto c .safeseh COMPlusNestedExceptionHandler -FastNExportExceptHandler proto c -.safeseh FastNExportExceptHandler - UMThunkPrestubHandler proto c .safeseh UMThunkPrestubHandler diff --git a/src/coreclr/vm/i386/excepx86.cpp b/src/coreclr/vm/i386/excepx86.cpp index 32ea9f08b2766..9235776f552f7 100644 --- a/src/coreclr/vm/i386/excepx86.cpp +++ b/src/coreclr/vm/i386/excepx86.cpp @@ -124,15 +124,6 @@ BOOL NExportSEH(EXCEPTION_REGISTRATION_RECORD* pEHR) return FALSE; } -BOOL FastNExportSEH(EXCEPTION_REGISTRATION_RECORD* pEHR) -{ - LIMITED_METHOD_CONTRACT; - - if ((LPVOID)pEHR->Handler == (LPVOID)FastNExportExceptHandler) - return TRUE; - return FALSE; -} - BOOL ReverseCOMSEH(EXCEPTION_REGISTRATION_RECORD* pEHR) { LIMITED_METHOD_CONTRACT; @@ -155,10 +146,9 @@ BOOL IsUnmanagedToManagedSEHHandler(EXCEPTION_REGISTRATION_RECORD *pEstablisherF // // ComPlusFrameSEH() is for COMPlusFrameHandler & COMPlusNestedExceptionHandler. - // FastNExportSEH() is for FastNExportExceptHandler. // NExportSEH() is for UMThunkPrestubHandler. // - return (ComPlusFrameSEH(pEstablisherFrame) || FastNExportSEH(pEstablisherFrame) || NExportSEH(pEstablisherFrame) || ReverseCOMSEH(pEstablisherFrame)); + return (ComPlusFrameSEH(pEstablisherFrame) || NExportSEH(pEstablisherFrame) || ReverseCOMSEH(pEstablisherFrame)); } Frame *GetCurrFrame(EXCEPTION_REGISTRATION_RECORD *pEstablisherFrame) @@ -3362,26 +3352,6 @@ EXCEPTION_REGISTRATION_RECORD *FindNestedEstablisherFrame(EXCEPTION_REGISTRATION return pEstablisherFrame; } -EXCEPTION_HANDLER_IMPL(FastNExportExceptHandler) -{ - WRAPPER_NO_CONTRACT; - - // Most of our logic is in commin with COMPlusFrameHandler. - EXCEPTION_DISPOSITION retval = EXCEPTION_HANDLER_FWD(COMPlusFrameHandler); - -#ifdef _DEBUG - // If the exception is escaping the last CLR personality routine on the stack, - // then state a flag on the thread to indicate so. - if (retval == ExceptionContinueSearch) - { - SetReversePInvokeEscapingUnhandledExceptionStatus(IS_UNWINDING(pExceptionRecord->ExceptionFlags), pEstablisherFrame); - } -#endif // _DEBUG - - return retval; -} - - // Just like a regular NExport handler -- except it pops an extra frame on unwind. A handler // like this is needed by the COMMethodStubProlog code. It first pushes a frame -- and then // pushes a handler. When we unwind, we need to pop the extra frame to avoid corrupting the diff --git a/src/coreclr/vm/jithelpers.cpp b/src/coreclr/vm/jithelpers.cpp index 7daf342ea466c..629ebbba25232 100644 --- a/src/coreclr/vm/jithelpers.cpp +++ b/src/coreclr/vm/jithelpers.cpp @@ -5347,10 +5347,6 @@ EXTERN_C void JIT_PInvokeEnd(InlinedCallFrame* pFrame); // Forward declaration EXTERN_C void STDCALL ReversePInvokeBadTransition(); -#ifndef FEATURE_EH_FUNCLETS -EXCEPTION_HANDLER_DECL(FastNExportExceptHandler); -#endif - // This is a slower version of the reverse PInvoke enter function. NOINLINE static void JIT_ReversePInvokeEnterRare(ReversePInvokeFrame* frame) { @@ -5435,12 +5431,6 @@ void F_CALL_CONV HCCALL3(JIT_ReversePInvokeEnter, ReversePInvokeFrame* frame, CO { JIT_ReversePInvokeEnterRare(frame); } - -#ifndef FEATURE_EH_FUNCLETS - frame->record.m_pEntryFrame = thread->GetFrame(); - frame->record.m_ExReg.Handler = (PEXCEPTION_ROUTINE)FastNExportExceptHandler; - INSTALL_EXCEPTION_HANDLING_RECORD(&frame->record.m_ExReg); -#endif } void F_CALL_CONV HCCALL1(JIT_ReversePInvokeExit, ReversePInvokeFrame* frame) @@ -5453,10 +5443,6 @@ void F_CALL_CONV HCCALL1(JIT_ReversePInvokeExit, ReversePInvokeFrame* frame) // to make this exit faster. frame->currentThread->m_fPreemptiveGCDisabled.StoreWithoutBarrier(0); -#ifndef FEATURE_EH_FUNCLETS - UNINSTALL_EXCEPTION_HANDLING_RECORD(&frame->record.m_ExReg); -#endif - #ifdef PROFILING_SUPPORTED if (CORProfilerTrackTransitions()) {