summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Kulaychuk <i.kulaychuk@samsung.com>2018-04-05 19:02:48 (GMT)
committerGleb Balykov <g.balykov@samsung.com>2018-09-18 12:49:14 (GMT)
commitef843928dded8dc9353b980899ed697258618b06 (patch)
treec8747f4f0fe690f12b393e6cae5465f4c4e020d3
parent41312365f6fb3d9c71a4103c10f8aaf87e0df6a7 (diff)
downloadcoreclr-ef843928dded8dc9353b980899ed697258618b06.zip
coreclr-ef843928dded8dc9353b980899ed697258618b06.tar.gz
coreclr-ef843928dded8dc9353b980899ed697258618b06.tar.bz2
Fix x86/Linux ICorDebug frames API
-rw-r--r--src/debug/di/rspriv.h4
-rw-r--r--src/debug/di/rsthread.cpp30
2 files changed, 17 insertions, 17 deletions
diff --git a/src/debug/di/rspriv.h b/src/debug/di/rspriv.h
index 5077f31..5d5432f 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 fae679a..f2ad203 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) &&