diff options
author | Jan Vorlicek <janvorli@microsoft.com> | 2016-07-12 09:44:15 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-12 09:44:15 +0200 |
commit | 3a89fdacae800110064aaf7aa0c72456b97dcd42 (patch) | |
tree | 53c275db4d683c440fb14558147171dfe6e60892 /src/vm/exceptmacros.h | |
parent | 0804d53c08804928e3b92e3c50b284453dab4944 (diff) | |
download | coreclr-3a89fdacae800110064aaf7aa0c72456b97dcd42.tar.gz coreclr-3a89fdacae800110064aaf7aa0c72456b97dcd42.tar.bz2 coreclr-3a89fdacae800110064aaf7aa0c72456b97dcd42.zip |
Fix exceptions in GC wave 2 (#6220)
I've removed blocks with PAL_TRY that were under CATCH_GC. I also had to
fix contract problem in GCToEEInterface::GcStartWork that was marked as
THROWS due to StubHelpers::ProcessByrefValidationList being marked as
THROWS, but the StubHelpers::ProcessByrefValidationList in fact doesn't
throw since it has body wrapped in EX_TRY / EX_CATCH.
This also fixes a problem that started to appear after my previous exceptions
fix change.
Diffstat (limited to 'src/vm/exceptmacros.h')
-rw-r--r-- | src/vm/exceptmacros.h | 22 |
1 files changed, 0 insertions, 22 deletions
diff --git a/src/vm/exceptmacros.h b/src/vm/exceptmacros.h index 1c98253639..e705311053 100644 --- a/src/vm/exceptmacros.h +++ b/src/vm/exceptmacros.h @@ -250,28 +250,6 @@ LONG WINAPI CLRVectoredExceptionHandler(PEXCEPTION_POINTERS pExceptionInfo); // Actual UEF worker prototype for use by GCUnhandledExceptionFilter. extern LONG InternalUnhandledExceptionFilter_Worker(PEXCEPTION_POINTERS pExceptionInfo); -// This function is the filter function for the "__except" setup in "gc1()" -// in gc.cpp to handle exceptions that happen during GC. -inline LONG CheckException(EXCEPTION_POINTERS* pExceptionPointers, PVOID pv) -{ - WRAPPER_NO_CONTRACT; - - LONG result = CLRVectoredExceptionHandler(pExceptionPointers); - if (result != EXCEPTION_EXECUTE_HANDLER) - return result; - -#ifdef _DEBUG_IMPL - _ASSERTE(!"Unexpected Exception"); -#else - FreeBuildDebugBreak(); -#endif - - // Set the debugger to break on AV and return a value of EXCEPTION_CONTINUE_EXECUTION (-1) - // here and you will bounce back to the point of the AV. - return EXCEPTION_EXECUTE_HANDLER; - -} - //========================================================================== // Installs a handler to unwind exception frames, but not catch the exception //========================================================================== |