From 9f0c655aba7a0aaed1739b94146fd8054d177568 Mon Sep 17 00:00:00 2001 From: Andrew Au <“andrewau@microsoft.com> Date: Fri, 29 Jun 2018 15:54:12 -0700 Subject: [PATCH] Eliminate dataBreakpointMask from ICorDebug Commit migrated from https://github.com/dotnet/coreclr/commit/8fc1cb2b537845ce9f59e7cd422ba01bc2d3011c --- src/coreclr/src/debug/di/process.cpp | 2 +- src/coreclr/src/debug/di/rsmain.cpp | 4 +-- src/coreclr/src/debug/di/shimcallback.cpp | 10 +++---- src/coreclr/src/debug/di/shimpriv.h | 2 +- src/coreclr/src/debug/ee/debugger.cpp | 1 - src/coreclr/src/debug/inc/dbgipcevents.h | 5 ---- src/coreclr/src/inc/cordebug.idl | 2 +- src/coreclr/src/pal/prebuilt/inc/cordebug.h | 44 ++++------------------------- 8 files changed, 14 insertions(+), 56 deletions(-) diff --git a/src/coreclr/src/debug/di/process.cpp b/src/coreclr/src/debug/di/process.cpp index bcbaecb..8fcd994 100644 --- a/src/coreclr/src/debug/di/process.cpp +++ b/src/coreclr/src/debug/di/process.cpp @@ -4937,7 +4937,7 @@ void CordbProcess::RawDispatchEvent( { PUBLIC_CALLBACK_IN_THIS_SCOPE(this, pLockHolder, pEvent); - pCallback4->DataBreakpoint(static_cast(this), pThread, pEvent->DataBreakpointData.dataBreakpointMask); + pCallback4->DataBreakpoint(static_cast(this), pThread); } break; } diff --git a/src/coreclr/src/debug/di/rsmain.cpp b/src/coreclr/src/debug/di/rsmain.cpp index feed733..8f26de0 100644 --- a/src/coreclr/src/debug/di/rsmain.cpp +++ b/src/coreclr/src/debug/di/rsmain.cpp @@ -870,7 +870,7 @@ namespace virtual ULONG STDMETHODCALLTYPE Release(); COM_METHOD BeforeGarbageCollection(ICorDebugProcess* pProcess); COM_METHOD AfterGarbageCollection(ICorDebugProcess* pProcess); - COM_METHOD DataBreakpoint(ICorDebugProcess* pProcess, ICorDebugThread* pThread, ULONG64 dataBreakpointMask); + COM_METHOD DataBreakpoint(ICorDebugProcess* pProcess, ICorDebugThread* pThread); private: // not implemented DefaultManagedCallback4(const DefaultManagedCallback4&); @@ -944,7 +944,7 @@ namespace } HRESULT - DefaultManagedCallback4::DataBreakpoint(ICorDebugProcess* pProcess, ICorDebugThread* pThread, ULONG64 dataBreakpointMask) + DefaultManagedCallback4::DataBreakpoint(ICorDebugProcess* pProcess, ICorDebugThread* pThread) { // // Just ignore and continue the process. diff --git a/src/coreclr/src/debug/di/shimcallback.cpp b/src/coreclr/src/debug/di/shimcallback.cpp index ad02df0..1af6e04 100644 --- a/src/coreclr/src/debug/di/shimcallback.cpp +++ b/src/coreclr/src/debug/di/shimcallback.cpp @@ -1384,7 +1384,7 @@ HRESULT ShimProxyCallback::AfterGarbageCollection(ICorDebugProcess* pProcess) // input: // pProcess - process in which the notification occurred // Return value: S_OK -HRESULT ShimProxyCallback::DataBreakpoint(ICorDebugProcess* pProcess, ICorDebugThread* pThread, ULONG64 dataBreakpointMask) +HRESULT ShimProxyCallback::DataBreakpoint(ICorDebugProcess* pProcess, ICorDebugThread* pThread) { m_pShim->PreDispatchEvent(); class DataBreakpointEvent : public ManagedEvent @@ -1392,25 +1392,23 @@ HRESULT ShimProxyCallback::DataBreakpoint(ICorDebugProcess* pProcess, ICorDebugT // callbacks parameters. These are strong references RSExtSmartPtr m_pProcess; RSExtSmartPtr m_pThread; - ULONG64 m_dataBreakpointMask; public: // Ctor - DataBreakpointEvent(ICorDebugProcess* pProcess, ICorDebugThread* pThread, ULONG64 dataBreakpointMask) : + DataBreakpointEvent(ICorDebugProcess* pProcess, ICorDebugThread* pThread) : ManagedEvent() { this->m_pProcess.Assign(pProcess); this->m_pThread.Assign(pThread); - this->m_dataBreakpointMask = dataBreakpointMask; } HRESULT Dispatch(DispatchArgs args) { - return args.GetCallback4()->DataBreakpoint(m_pProcess, m_pThread, m_dataBreakpointMask); + return args.GetCallback4()->DataBreakpoint(m_pProcess, m_pThread); } }; // end class AfterGarbageCollectionEvent - m_pShim->GetManagedEventQueue()->QueueEvent(new DataBreakpointEvent(pProcess, pThread, dataBreakpointMask)); + m_pShim->GetManagedEventQueue()->QueueEvent(new DataBreakpointEvent(pProcess, pThread)); return S_OK; } diff --git a/src/coreclr/src/debug/di/shimpriv.h b/src/coreclr/src/debug/di/shimpriv.h index ecef362..97cbeb7 100644 --- a/src/coreclr/src/debug/di/shimpriv.h +++ b/src/coreclr/src/debug/di/shimpriv.h @@ -222,7 +222,7 @@ public: COM_METHOD ShimProxyCallback::AfterGarbageCollection(ICorDebugProcess* pProcess); // Implementation of ICorDebugManagedCallback4::DataBreakpoint - COM_METHOD ShimProxyCallback::DataBreakpoint(ICorDebugProcess* pProcess, ICorDebugThread* pThread, ULONG64 dataBreakpointMask); + COM_METHOD ShimProxyCallback::DataBreakpoint(ICorDebugProcess* pProcess, ICorDebugThread* pThread); }; diff --git a/src/coreclr/src/debug/ee/debugger.cpp b/src/coreclr/src/debug/ee/debugger.cpp index e657070..aba88a9 100644 --- a/src/coreclr/src/debug/ee/debugger.cpp +++ b/src/coreclr/src/debug/ee/debugger.cpp @@ -6112,7 +6112,6 @@ void Debugger::SendDataBreakpoint(Thread *thread, CONTEXT *context, DB_IPCE_DATA_BREAKPOINT, thread, thread->GetDomain()); - ipce->DataBreakpointData.dataBreakpointMask = context->Dr6; //_ASSERTE(breakpoint->m_pAppDomain == ipce->vmAppDomain.GetRawPtr()); m_pRCThread->SendIPCEvent(); diff --git a/src/coreclr/src/debug/inc/dbgipcevents.h b/src/coreclr/src/debug/inc/dbgipcevents.h index 54c441c..4518527 100644 --- a/src/coreclr/src/debug/inc/dbgipcevents.h +++ b/src/coreclr/src/debug/inc/dbgipcevents.h @@ -2012,11 +2012,6 @@ struct MSLAYOUT DebuggerIPCEvent struct MSLAYOUT { - DWORD64 dataBreakpointMask; - } DataBreakpointData; - - struct MSLAYOUT - { LSPTR_STEPPER stepperToken; VMPTR_Thread vmThreadToken; FramePointer frameToken; diff --git a/src/coreclr/src/inc/cordebug.idl b/src/coreclr/src/inc/cordebug.idl index b275b69..d7c2853 100644 --- a/src/coreclr/src/inc/cordebug.idl +++ b/src/coreclr/src/inc/cordebug.idl @@ -1363,7 +1363,7 @@ interface ICorDebugManagedCallback4 : IUnknown // TODO, databp, measure performance to see if these events need to be switched. HRESULT BeforeGarbageCollection([in] ICorDebugProcess* pProcess); HRESULT AfterGarbageCollection([in] ICorDebugProcess* pProcess); - HRESULT DataBreakpoint([in] ICorDebugProcess* pProcess, [in] ICorDebugThread* pThread, [in] ULONG64 dataBreakpointMask); + HRESULT DataBreakpoint([in] ICorDebugProcess* pProcess, [in] ICorDebugThread* pThread); } diff --git a/src/coreclr/src/pal/prebuilt/inc/cordebug.h b/src/coreclr/src/pal/prebuilt/inc/cordebug.h index b3d1612..81dc4e0 100644 --- a/src/coreclr/src/pal/prebuilt/inc/cordebug.h +++ b/src/coreclr/src/pal/prebuilt/inc/cordebug.h @@ -6,7 +6,7 @@ /* File created by MIDL compiler version 8.01.0622 */ /* at Mon Jan 18 19:14:07 2038 */ -/* Compiler settings for D:/dotnet/coreclr/src/inc/cordebug.idl: +/* Compiler settings for C:/Dev/CoreCLR/src/inc/cordebug.idl: Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.01.0622 protocol : dce , ms_ext, c_ext, robust error checks: allocation ref bounds_check enum stub_data @@ -3788,8 +3788,7 @@ EXTERN_C const IID IID_ICorDebugManagedCallback4; virtual HRESULT STDMETHODCALLTYPE DataBreakpoint( /* [in] */ ICorDebugProcess *pProcess, - /* [in] */ ICorDebugThread *pThread, - /* [in] */ ULONG64 dataBreakpointMask) = 0; + /* [in] */ ICorDebugThread *pThread) = 0; }; @@ -3823,8 +3822,7 @@ EXTERN_C const IID IID_ICorDebugManagedCallback4; HRESULT ( STDMETHODCALLTYPE *DataBreakpoint )( ICorDebugManagedCallback4 * This, /* [in] */ ICorDebugProcess *pProcess, - /* [in] */ ICorDebugThread *pThread, - /* [in] */ ULONG64 dataBreakpointMask); + /* [in] */ ICorDebugThread *pThread); END_INTERFACE } ICorDebugManagedCallback4Vtbl; @@ -3855,8 +3853,8 @@ EXTERN_C const IID IID_ICorDebugManagedCallback4; #define ICorDebugManagedCallback4_AfterGarbageCollection(This,pProcess) \ ( (This)->lpVtbl -> AfterGarbageCollection(This,pProcess) ) -#define ICorDebugManagedCallback4_DataBreakpoint(This,pProcess,pThread,dataBreakpointMask) \ - ( (This)->lpVtbl -> DataBreakpoint(This,pProcess,pThread,dataBreakpointMask) ) +#define ICorDebugManagedCallback4_DataBreakpoint(This,pProcess,pThread) \ + ( (This)->lpVtbl -> DataBreakpoint(This,pProcess,pThread) ) #endif /* COBJMACROS */ @@ -8843,38 +8841,6 @@ enum CorDebugRegister REGISTER_ARM_R11 = ( REGISTER_ARM_R10 + 1 ) , REGISTER_ARM_R12 = ( REGISTER_ARM_R11 + 1 ) , REGISTER_ARM_LR = ( REGISTER_ARM_R12 + 1 ) , - REGISTER_ARM_D0 = ( REGISTER_ARM_LR + 1 ) , - REGISTER_ARM_D1 = ( REGISTER_ARM_D0 + 1 ) , - REGISTER_ARM_D2 = ( REGISTER_ARM_D1 + 1 ) , - REGISTER_ARM_D3 = ( REGISTER_ARM_D2 + 1 ) , - REGISTER_ARM_D4 = ( REGISTER_ARM_D3 + 1 ) , - REGISTER_ARM_D5 = ( REGISTER_ARM_D4 + 1 ) , - REGISTER_ARM_D6 = ( REGISTER_ARM_D5 + 1 ) , - REGISTER_ARM_D7 = ( REGISTER_ARM_D6 + 1 ) , - REGISTER_ARM_D8 = ( REGISTER_ARM_D7 + 1 ) , - REGISTER_ARM_D9 = ( REGISTER_ARM_D8 + 1 ) , - REGISTER_ARM_D10 = ( REGISTER_ARM_D9 + 1 ) , - REGISTER_ARM_D11 = ( REGISTER_ARM_D10 + 1 ) , - REGISTER_ARM_D12 = ( REGISTER_ARM_D11 + 1 ) , - REGISTER_ARM_D13 = ( REGISTER_ARM_D12 + 1 ) , - REGISTER_ARM_D14 = ( REGISTER_ARM_D13 + 1 ) , - REGISTER_ARM_D15 = ( REGISTER_ARM_D14 + 1 ) , - REGISTER_ARM_D16 = ( REGISTER_ARM_D15 + 1 ) , - REGISTER_ARM_D17 = ( REGISTER_ARM_D16 + 1 ) , - REGISTER_ARM_D18 = ( REGISTER_ARM_D17 + 1 ) , - REGISTER_ARM_D19 = ( REGISTER_ARM_D18 + 1 ) , - REGISTER_ARM_D20 = ( REGISTER_ARM_D19 + 1 ) , - REGISTER_ARM_D21 = ( REGISTER_ARM_D20 + 1 ) , - REGISTER_ARM_D22 = ( REGISTER_ARM_D21 + 1 ) , - REGISTER_ARM_D23 = ( REGISTER_ARM_D22 + 1 ) , - REGISTER_ARM_D24 = ( REGISTER_ARM_D23 + 1 ) , - REGISTER_ARM_D25 = ( REGISTER_ARM_D24 + 1 ) , - REGISTER_ARM_D26 = ( REGISTER_ARM_D25 + 1 ) , - REGISTER_ARM_D27 = ( REGISTER_ARM_D26 + 1 ) , - REGISTER_ARM_D28 = ( REGISTER_ARM_D27 + 1 ) , - REGISTER_ARM_D29 = ( REGISTER_ARM_D28 + 1 ) , - REGISTER_ARM_D30 = ( REGISTER_ARM_D29 + 1 ) , - REGISTER_ARM_D31 = ( REGISTER_ARM_D30 + 1 ) , REGISTER_ARM64_PC = 0, REGISTER_ARM64_SP = ( REGISTER_ARM64_PC + 1 ) , REGISTER_ARM64_FP = ( REGISTER_ARM64_SP + 1 ) , -- 2.7.4