diff options
author | Jan Vorlicek <janvorli@microsoft.com> | 2015-10-01 00:10:41 +0200 |
---|---|---|
committer | Jan Vorlicek <janvorli@microsoft.com> | 2015-10-01 00:10:41 +0200 |
commit | 5ccd752bfaa38ff67e53e4c2046dd77fbbde6ede (patch) | |
tree | 94decf6d3e8d6e208f9e784692a625cbb1f46712 | |
parent | a2491e37b0ed75de0aea643be5ec653fa3984262 (diff) | |
download | coreclr-5ccd752bfaa38ff67e53e4c2046dd77fbbde6ede.tar.gz coreclr-5ccd752bfaa38ff67e53e4c2046dd77fbbde6ede.tar.bz2 coreclr-5ccd752bfaa38ff67e53e4c2046dd77fbbde6ede.zip |
Fix assert in IsIPInEpilog
The assert was incorrect for managed functions without body. Since there
is no easy way to find out that function has no body at that place,
the fix is to remove the assert.
-rw-r--r-- | src/vm/excep.cpp | 22 |
1 files changed, 0 insertions, 22 deletions
diff --git a/src/vm/excep.cpp b/src/vm/excep.cpp index a5aed2da89..45ac184f9f 100644 --- a/src/vm/excep.cpp +++ b/src/vm/excep.cpp @@ -8242,28 +8242,6 @@ bool IsIPInEpilog(PTR_CONTEXT pContextToCheck, EECodeInfo *pCodeInfo, BOOL *pSaf imageBase = pCodeInfo->GetModuleBase(); pUnwindInfo = (PUNWIND_INFO)(imageBase+ funcEntry->UnwindData); -#if defined(_DEBUG) - // In debug builds, assert our invariant that jitted code always have the managed personality routine - // specified in the unwindInfo. For this, get an IP that is inside the method body. For this case, - // we calculate the first address comprising the method body. - PCODE ipInMethodBody = pCodeInfo->GetStartAddress()+pUnwindInfo->SizeOfProlog; - - ZeroMemory(&tempContext, sizeof(CONTEXT)); - CopyOSContext(&tempContext, pContextToCheck); - - // TODO: Explain the context mismatch issue here and why the unwind is still okay. - personalityRoutine = RtlVirtualUnwind(UNW_FLAG_EHANDLER, // HandlerType - imageBase, - ipInMethodBody, - funcEntry, - &tempContext, - &HandlerData, - &establisherFrame, - NULL); - - _ASSERTE(personalityRoutine != NULL); -#endif // _DEBUG - ZeroMemory(&tempContext, sizeof(CONTEXT)); CopyOSContext(&tempContext, pContextToCheck); KNONVOLATILE_CONTEXT_POINTERS ctxPtrs; |