From d086b14c8eca21a7928e782b444622f6d719bde1 Mon Sep 17 00:00:00 2001 From: Chris Sienkiewicz Date: Thu, 24 May 2018 18:10:44 -0700 Subject: Ensure thumb bit is set when calling FindOrCreateInitAndAddJitInfo. Add an assert to FindOrCreateInitAndAddJitInfo when on arm to ensure the thumb bit is set --- src/debug/ee/debugger.cpp | 2 +- src/debug/ee/functioninfo.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/debug/ee/debugger.cpp b/src/debug/ee/debugger.cpp index d6b6912990..25c047d656 100644 --- a/src/debug/ee/debugger.cpp +++ b/src/debug/ee/debugger.cpp @@ -11115,7 +11115,7 @@ bool Debugger::HandleIPCEvent(DebuggerIPCEvent * pEvent) // In the EnC case, if we look for an older version, we need to find the DJI by starting // address, rather than just by MethodDesc. In the case of generics, we may need to create a DJI, so we pDJI = pDMI->FindOrCreateInitAndAddJitInfo(pEvent->SetIP.vmMethodDesc.GetRawPtr(), - (TADDR)pEvent->SetIP.startAddress); + PINSTRToPCODE((TADDR)pEvent->SetIP.startAddress)); } if ((pDJI != NULL) && (pThread != NULL) && (pModule != NULL)) diff --git a/src/debug/ee/functioninfo.cpp b/src/debug/ee/functioninfo.cpp index 637924c4cd..30afb0d783 100644 --- a/src/debug/ee/functioninfo.cpp +++ b/src/debug/ee/functioninfo.cpp @@ -1559,13 +1559,13 @@ DebuggerJitInfo *DebuggerMethodInfo::FindOrCreateInitAndAddJitInfo(MethodDesc* f CONTRACTL_END; _ASSERTE(fd != NULL); + ARM_ONLY(_ASSERTE((startAddr & THUMB_CODE) == 1)) // The debugger doesn't track Lightweight-codegen methods b/c they have no metadata. if (fd->IsDynamicMethod()) { return NULL; } - if (startAddr == NULL) { // This will grab the start address for the current code version. -- cgit v1.2.3