diff options
author | Jan Kotas <jkotas@microsoft.com> | 2017-09-21 07:41:50 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-21 07:41:50 +0300 |
commit | c201f588d1a4b87eaedfa0ce779e0fb4e2ee6135 (patch) | |
tree | c09707b1badbb89f002a2d1c5951cfd3cfe8e13e /src/Native | |
parent | 47d755d3fc09e19d562826a83da0b35069e61122 (diff) |
Cleanup portable PInvokeTransitionFrame - fixes ARM build break (#4584)
Diffstat (limited to 'src/Native')
-rw-r--r-- | src/Native/Bootstrap/CppCodeGen.h | 2 | ||||
-rw-r--r-- | src/Native/Runtime/StackFrameIterator.cpp | 3 | ||||
-rw-r--r-- | src/Native/Runtime/inc/rhbinder.h | 2 |
3 files changed, 3 insertions, 4 deletions
diff --git a/src/Native/Bootstrap/CppCodeGen.h b/src/Native/Bootstrap/CppCodeGen.h index c1ef78eb3..77eb56963 100644 --- a/src/Native/Bootstrap/CppCodeGen.h +++ b/src/Native/Bootstrap/CppCodeGen.h @@ -50,10 +50,8 @@ struct ReversePInvokeFrame struct PInvokeTransitionFrame { void* m_RIP; - void* m_FramePointer; void* m_pThread; // unused by stack crawler, this is so GetThread is only called once per method // can be an invalid pointer in universal transition cases (which never need to call GetThread) uint32_t m_dwFlags; // PInvokeTransitionFrameFlags - uint64_t m_PreservedRegs[]; }; #endif diff --git a/src/Native/Runtime/StackFrameIterator.cpp b/src/Native/Runtime/StackFrameIterator.cpp index cf1a4230c..7341b3233 100644 --- a/src/Native/Runtime/StackFrameIterator.cpp +++ b/src/Native/Runtime/StackFrameIterator.cpp @@ -167,6 +167,7 @@ void StackFrameIterator::InternalInit(Thread * pThreadToWalk, PTR_PInvokeTransit // properly walk it in parallel. ResetNextExInfoForSP((UIntNative)dac_cast<TADDR>(pFrame)); +#if !defined(USE_PORTABLE_HELPERS) // @TODO: CORERT: no portable version of regdisplay memset(&m_RegDisplay, 0, sizeof(m_RegDisplay)); m_RegDisplay.SetIP((PCODE)pFrame->m_RIP); m_RegDisplay.SetAddrOfIP((PTR_PCODE)PTR_HOST_MEMBER(PInvokeTransitionFrame, pFrame, m_RIP)); @@ -250,6 +251,8 @@ void StackFrameIterator::InternalInit(Thread * pThreadToWalk, PTR_PInvokeTransit #endif // _TARGET_ARM_ +#endif // defined(USE_PORTABLE_HELPERS) + // @TODO: currently, we always save all registers -- how do we handle the onese we don't save once we // start only saving those that weren't already saved? diff --git a/src/Native/Runtime/inc/rhbinder.h b/src/Native/Runtime/inc/rhbinder.h index 19ebe10ce..d612fd8fb 100644 --- a/src/Native/Runtime/inc/rhbinder.h +++ b/src/Native/Runtime/inc/rhbinder.h @@ -638,11 +638,9 @@ class Thread; struct PInvokeTransitionFrame { void* m_RIP; - void* m_FramePointer; Thread* m_pThread; // unused by stack crawler, this is so GetThread is only called once per method // can be an invalid pointer in universal transition cases (which never need to call GetThread) uint32_t m_dwFlags; // PInvokeTransitionFrameFlags - uint64_t m_PreservedRegs[]; }; #else // USE_PORTABLE_HELPERS && CORERT struct PInvokeTransitionFrame |