diff options
author | Igor Kulaychuk <i.kulaychuk@samsung.com> | 2018-04-05 22:02:48 +0300 |
---|---|---|
committer | Gleb Balykov <g.balykov@samsung.com> | 2018-09-18 15:49:14 +0300 |
commit | ef843928dded8dc9353b980899ed697258618b06 (patch) | |
tree | c8747f4f0fe690f12b393e6cae5465f4c4e020d3 /src | |
parent | 41312365f6fb3d9c71a4103c10f8aaf87e0df6a7 (diff) | |
download | coreclr-ef843928dded8dc9353b980899ed697258618b06.tar.gz coreclr-ef843928dded8dc9353b980899ed697258618b06.tar.bz2 coreclr-ef843928dded8dc9353b980899ed697258618b06.zip |
Fix x86/Linux ICorDebug frames API
Diffstat (limited to 'src')
-rw-r--r-- | src/debug/di/rspriv.h | 4 | ||||
-rw-r--r-- | src/debug/di/rsthread.cpp | 30 |
2 files changed, 17 insertions, 17 deletions
diff --git a/src/debug/di/rspriv.h b/src/debug/di/rspriv.h index 5077f31144..5d5432f558 100644 --- a/src/debug/di/rspriv.h +++ b/src/debug/di/rspriv.h @@ -7127,10 +7127,10 @@ public: bool IsFunclet(); bool IsFilterFunclet(); -#if defined(DBG_TARGET_WIN64) || defined(DBG_TARGET_ARM) +#ifdef WIN64EXCEPTIONS // return the offset of the parent method frame at which an exception occurs SIZE_T GetParentIP(); -#endif // DBG_TARGET_WIN64 || DBG_TARGET_ARM +#endif // WIN64EXCEPTIONS TADDR GetAmbientESP() { return m_taAmbientESP; } TADDR GetReturnRegisterValue(); diff --git a/src/debug/di/rsthread.cpp b/src/debug/di/rsthread.cpp index fae679a55f..f2ad2033cd 100644 --- a/src/debug/di/rsthread.cpp +++ b/src/debug/di/rsthread.cpp @@ -5662,11 +5662,11 @@ const DT_CONTEXT * CordbRuntimeUnwindableFrame::GetContext() const // default constructor to make the compiler happy CordbMiscFrame::CordbMiscFrame() { -#if defined(DBG_TARGET_WIN64) || defined(DBG_TARGET_ARM) +#ifdef WIN64EXCEPTIONS this->parentIP = 0; this->fpParentOrSelf = LEAF_MOST_FRAME; this->fIsFilterFunclet = false; -#endif // _WIN64 +#endif // WIN64EXCEPTIONS } // the real constructor which stores the funclet-related information in the CordbMiscFrame @@ -6136,7 +6136,7 @@ HRESULT CordbNativeFrame::IsMatchingParentFrame(ICorDebugNativeFrame2 * pPotenti ThrowHR(CORDBG_E_NOT_CHILD_FRAME); } -#if defined(DBG_TARGET_WIN64) || defined(DBG_TARGET_ARM) +#ifdef WIN64EXCEPTIONS CordbNativeFrame * pFrameToCheck = static_cast<CordbNativeFrame *>(pPotentialParentFrame); if (pFrameToCheck->IsFunclet()) { @@ -6150,7 +6150,7 @@ HRESULT CordbNativeFrame::IsMatchingParentFrame(ICorDebugNativeFrame2 * pPotenti IDacDbiInterface * pDAC = GetProcess()->GetDAC(); *pIsParent = pDAC->IsMatchingParentFrame(fpToCheck, fpParent); } -#endif // DBG_TARGET_WIN64 || DBG_TARGET_ARM +#endif // WIN64EXCEPTIONS } EX_CATCH_HRESULT(hr); @@ -7239,14 +7239,14 @@ bool CordbNativeFrame::IsLeafFrame() const SIZE_T CordbNativeFrame::GetInspectionIP() { -#if defined(DBG_TARGET_WIN64) || defined(DBG_TARGET_ARM) +#ifdef WIN64EXCEPTIONS // On 64-bit, if this is a funclet, then return the offset of the parent method frame at which // the exception occurs. Otherwise just return the normal offset. return (IsFunclet() ? GetParentIP() : m_ip); #else // Always return the normal offset on all other platforms. return m_ip; -#endif // DBG_TARGET_WIN64 || DBG_TARGET_ARM +#endif // WIN64EXCEPTIONS } //--------------------------------------------------------------------------------------- @@ -7259,11 +7259,11 @@ SIZE_T CordbNativeFrame::GetInspectionIP() bool CordbNativeFrame::IsFunclet() { -#if defined(DBG_TARGET_WIN64) || defined(DBG_TARGET_ARM) +#ifdef WIN64EXCEPTIONS return (m_misc.parentIP != NULL); -#else // !DBG_TARGET_WIN64 && !DBG_TARGET_ARM +#else return false; -#endif // DBG_TARGET_WIN64 || DBG_TARGET_ARM +#endif // WIN64EXCEPTIONS } //--------------------------------------------------------------------------------------- @@ -7276,15 +7276,15 @@ bool CordbNativeFrame::IsFunclet() bool CordbNativeFrame::IsFilterFunclet() { -#if defined(DBG_TARGET_WIN64) || defined(DBG_TARGET_ARM) +#ifdef WIN64EXCEPTIONS return (IsFunclet() && m_misc.fIsFilterFunclet); -#else // !DBG_TARGET_WIN64 && !DBG_TARGET_ARM +#else return false; -#endif // DBG_TARGET_WIN64 +#endif // WIN64EXCEPTIONS } -#if defined(DBG_TARGET_WIN64) || defined(DBG_TARGET_ARM) +#ifdef WIN64EXCEPTIONS //--------------------------------------------------------------------------------------- // // Return the offset of the parent method frame at which the exception occurs. @@ -7297,7 +7297,7 @@ SIZE_T CordbNativeFrame::GetParentIP() { return m_misc.parentIP; } -#endif // DBG_TARGET_WIN64 || DBG_TARGET_ARM +#endif // WIN64EXCEPTIONS // Accessor for the shim private hook code:CordbThread::ConvertFrameForILMethodWithoutMetadata. // Refer to that function for comments on the return value, the argument, etc. @@ -8325,7 +8325,7 @@ HRESULT CordbJITILFrame::GetNativeVariable(CordbType *type, HRESULT hr = S_OK; -#if defined(DBG_TARGET_WIN64) || defined(DBG_TARGET_ARM) +#ifdef WIN64EXCEPTIONS if (m_nativeFrame->IsFunclet()) { if ( (pNativeVarInfo->loc.vlType != ICorDebugInfo::VLT_STK) && |