Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 0 additions & 7 deletions src/coreclr/debug/daccess/dacdbiimplstackwalk.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -567,9 +567,6 @@ HRESULT STDMETHODCALLTYPE DacDbiInterfaceImpl::EnumerateInternalFrames(VMPTR_Thr
Frame * pFrame = pThread->GetFrame();
AppDomain * pAppDomain = AppDomain::GetCurrentDomain();

// This used to be only true for Enter-Managed chains.
// Since we don't have chains anymore, this can always be false.
frameData.quicklyUnwound = false;
frameData.eType = DebuggerIPCE_STRData::cStubFrame;

while (pFrame != FRAME_TOP)
Expand Down Expand Up @@ -791,10 +788,6 @@ void DacDbiInterfaceImpl::InitFrameData(StackFrameIterator * pIter,

pFrameData->fp = GetFramePointerWorker(pIter);

// This used to be only true for Enter-Managed chains.
// Since we don't have chains anymore, this can always be false.
pFrameData->quicklyUnwound = false;

pFrameData->vmCurrentAppDomainToken.SetHostPtr(AppDomain::GetCurrentDomain());

if (ft == kNativeRuntimeUnwindableStackFrame)
Expand Down
4 changes: 0 additions & 4 deletions src/coreclr/debug/di/rspriv.h
Original file line number Diff line number Diff line change
Expand Up @@ -6829,7 +6829,6 @@ class CordbNativeFrame : public CordbFrame, public ICorDebugNativeFrame, public
SIZE_T ip,
DebuggerREGDISPLAY * pDRD,
TADDR addrAmbientESP,
bool fQuicklyUnwound,
CordbAppDomain * pCurrentAppDomain,
CordbMiscFrame * pMisc = NULL,
DT_CONTEXT * pContext = NULL);
Expand Down Expand Up @@ -7009,9 +7008,6 @@ class CordbNativeFrame : public CordbFrame, public ICorDebugNativeFrame, public
// the register set
DebuggerREGDISPLAY m_rd;

// This field is only true for Enter-Managed chain. It means that the register set is invalid.
bool m_quicklyUnwound;

// each CordbNativeFrame corresponds to exactly one CordbJITILFrame and one CordbNativeCode
RSSmartPtr<CordbJITILFrame> m_JITILFrame;
RSSmartPtr<CordbNativeCode> m_nativeCode;
Expand Down
1 change: 0 additions & 1 deletion src/coreclr/debug/di/rsstackwalk.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -683,7 +683,6 @@ HRESULT CordbStackWalk::GetFrameWorker(ICorDebugFrame ** ppFrame)
pJITFuncData->nativeOffset,
&(frameData.rd),
frameData.v.taAmbientESP,
!!frameData.quicklyUnwound,
pCurrentAppDomain,
&miscFrame,
&(frameData.ctx));
Expand Down
4 changes: 1 addition & 3 deletions src/coreclr/debug/di/rsthread.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5483,13 +5483,11 @@ CordbNativeFrame::CordbNativeFrame(CordbThread * pThread,
SIZE_T ip,
DebuggerREGDISPLAY * pDRD,
TADDR taAmbientESP,
bool fQuicklyUnwound,
CordbAppDomain * pCurrentAppDomain,
CordbMiscFrame * pMisc /*= NULL*/,
DT_CONTEXT * pContext /*= NULL*/)
: CordbFrame(pThread, fp, ip, pCurrentAppDomain),
m_rd(*pDRD),
m_quicklyUnwound(fQuicklyUnwound),
m_JITILFrame(NULL),
m_nativeCode(pNativeCode), // implicit InternalAddRef
m_taAmbientESP(taAmbientESP)
Expand Down Expand Up @@ -5854,7 +5852,7 @@ HRESULT CordbNativeFrame::GetRegisterSet(ICorDebugRegisterSet **ppRegisters)
RSInitHolder<CordbRegisterSet> pRegisterSet(new CordbRegisterSet(&m_rd,
m_pThread,
IsLeafFrame(),
m_quicklyUnwound));
false));
Comment thread
rcj1 marked this conversation as resolved.

pRegisterSet.TransferOwnershipExternal(ppRegisters);
}
Expand Down
5 changes: 0 additions & 5 deletions src/coreclr/debug/ee/frameinfo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,6 @@ struct DebuggerFrameData
this->fHitExitFrame = false;

this->info.eStubFrameType = STUBFRAME_NONE;
this->info.quickUnwind = false;

this->info.frame = NULL;
this->needParentInfo = false;
Expand Down Expand Up @@ -653,7 +652,6 @@ void FrameInfo::InitForUMChain(FramePointer fpRoot, REGDISPLAY * pRDSrc)
CopyREGDISPLAY(&(this->registers), pRDSrc);
this->fp = fpRoot;

this->quickUnwind = false;
this->internal = false;
this->managed = false;

Expand Down Expand Up @@ -750,7 +748,6 @@ void FrameInfo::InitFromStubHelper(
this->fp = GetSP(pRDSrc);
}

this->quickUnwind = false;
this->internal = false;
this->managed = true;
this->relOffset = 0;
Expand Down Expand Up @@ -846,7 +843,6 @@ void FrameInfo::InitForThreadStart(Thread * pThread, REGDISPLAY * pRDSrc)
this->md = NULL;
CopyREGDISPLAY(&(this->registers), pRDSrc);
this->fp = FramePointer::MakeFramePointer(pThread->GetCachedStackBase());
this->quickUnwind = false;
this->internal = false;
this->managed = false;
this->relOffset = 0;
Expand Down Expand Up @@ -889,7 +885,6 @@ void FrameInfo::InitForEnterManagedChain(FramePointer fpRoot)
memset((void *)&this->registers, 0, sizeof(this->registers));
this->fp = fpRoot;

this->quickUnwind = true;
this->internal = false;
this->managed = true;
this->relOffset = 0;
Expand Down
6 changes: 0 additions & 6 deletions src/coreclr/debug/ee/frameinfo.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,12 +54,6 @@ struct FrameInfo
REGDISPLAY registers;
FramePointer fp;

// This field is propagated to the right side to become CordbRegisterSet::m_quicklyUnwind.
// If it is true, then the registers reported in the REGDISPLAY are invalid. It is only set to
// true in InitForEnterManagedChain(). In that case, we are passing a NULL REGDISPLAY anyway.
// This is such a misnomer.
bool quickUnwind;

// Set to true if we are dealing with an internal explicit frame. Currently this is only true
// for prestub frames, security frames, funceval frames, and certain debugger-specific frames
// (e.g. DebuggerClassInitMarkFrame).
Expand Down
10 changes: 0 additions & 10 deletions src/coreclr/debug/inc/dbgipcevents.h
Original file line number Diff line number Diff line change
Expand Up @@ -1365,28 +1365,18 @@ struct MSLAYOUT DebuggerIPCE_STRData
// @dbgtodo stackwalker/shim- Ideally we should be able to get rid of the DebuggerREGDISPLAY and just use the CONTEXT.
DT_CONTEXT ctx;
DebuggerREGDISPLAY rd;
bool quicklyUnwound;

VMPTR_AppDomain vmCurrentAppDomainToken;


enum EType
{
cMethodFrame = 0,
cChain,
cStubFrame,
cRuntimeNativeFrame
} eType;

union MSLAYOUT
{
// Data for a chain
struct MSLAYOUT
{
CorDebugChainReason chainReason;
bool managed;
} u;

// Data for a Method
struct MSLAYOUT
{
Expand Down
Loading