summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Vorlicek <janvorli@microsoft.com>2015-10-01 00:10:41 +0200
committerJan Vorlicek <janvorli@microsoft.com>2015-10-01 00:10:41 +0200
commit5ccd752bfaa38ff67e53e4c2046dd77fbbde6ede (patch)
tree94decf6d3e8d6e208f9e784692a625cbb1f46712
parenta2491e37b0ed75de0aea643be5ec653fa3984262 (diff)
downloadcoreclr-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.cpp22
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;