Skip to content

Commit 9ec8711

Browse files
Refactor DbgTransportTarget usage to eliminate dynamic allocation. (#122011)
Remove unused interface and header.
1 parent 80af2ef commit 9ec8711

File tree

7 files changed

+8
-42
lines changed

7 files changed

+8
-42
lines changed

src/coreclr/debug/di/cordb.cpp

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -232,11 +232,7 @@ BOOL WINAPI DbgDllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
232232
#endif
233233

234234
#if defined(FEATURE_DBGIPC_TRANSPORT_DI)
235-
g_pDbgTransportTarget = new (nothrow) DbgTransportTarget();
236-
if (g_pDbgTransportTarget == NULL)
237-
return FALSE;
238-
239-
if (FAILED(g_pDbgTransportTarget->Init()))
235+
if (FAILED(g_DbgTransportTarget.Init()))
240236
return FALSE;
241237
#endif // FEATURE_DBGIPC_TRANSPORT_DI
242238
}
@@ -262,12 +258,7 @@ BOOL WINAPI DbgDllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
262258
case DLL_PROCESS_DETACH:
263259
{
264260
#if defined(FEATURE_DBGIPC_TRANSPORT_DI)
265-
if (g_pDbgTransportTarget != NULL)
266-
{
267-
g_pDbgTransportTarget->Shutdown();
268-
delete g_pDbgTransportTarget;
269-
g_pDbgTransportTarget = NULL;
270-
}
261+
g_DbgTransportTarget.Shutdown();
271262
#endif // FEATURE_DBGIPC_TRANSPORT_DI
272263
}
273264
break;

src/coreclr/debug/di/dbgtransportmanager.cpp

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,10 @@
44
#include "stdafx.h"
55
#include "dbgtransportsession.h"
66
#include "dbgtransportmanager.h"
7-
#include "coreclrremotedebugginginterfaces.h"
8-
9-
107

118
#ifdef FEATURE_DBGIPC_TRANSPORT_DI
129

13-
DbgTransportTarget *g_pDbgTransportTarget = NULL;
10+
DbgTransportTarget g_DbgTransportTarget{};
1411

1512
DbgTransportTarget::DbgTransportTarget()
1613
: m_pProcessList{}

src/coreclr/debug/di/dbgtransportmanager.h

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,6 @@
77

88
#ifdef FEATURE_DBGIPC_TRANSPORT_DI
99

10-
#include "coreclrremotedebugginginterfaces.h"
11-
12-
1310
// TODO: Ideally we'd like to remove this class and don't do any process related book keeping in DBI.
1411

1512
// This is a registry of all the processes a debugger knows about, different components call it in order to
@@ -82,7 +79,7 @@ class DbgTransportTarget
8279
ProcessEntry *LocateProcessByPID(DWORD dwPID);
8380
};
8481

85-
extern DbgTransportTarget *g_pDbgTransportTarget;
82+
extern DbgTransportTarget g_DbgTransportTarget;
8683

8784
#endif // FEATURE_DBGIPC_TRANSPORT_DI
8885

src/coreclr/debug/di/dbgtransportpipeline.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ HRESULT DbgTransportPipeline::CreateProcessUnderDebugger(
209209
// Connect to the debugger proxy on the remote machine and ask it to create a process for us.
210210
HRESULT hr = E_FAIL;
211211

212-
m_pProxy = g_pDbgTransportTarget;
212+
m_pProxy = &g_DbgTransportTarget;
213213
hr = m_pProxy->CreateProcess(lpApplicationName,
214214
lpCommandLine,
215215
lpProcessAttributes,
@@ -291,7 +291,7 @@ HRESULT DbgTransportPipeline::DebugActiveProcess(MachineInfo machineInfo, const
291291

292292
HRESULT hr = E_FAIL;
293293

294-
m_pProxy = g_pDbgTransportTarget;
294+
m_pProxy = &g_DbgTransportTarget;
295295

296296
// Establish a connection to the actual runtime to be debugged.
297297
hr = m_pProxy->GetTransportForProcess(&processDescriptor, &m_pTransport, &m_hProcess);

src/coreclr/debug/di/remoteeventchannel.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ HRESULT NewEventChannelForThisPlatform(CORDB_ADDRESS pLeftSideDCB,
101101
RemoteEventChannel * pEventChannel = NULL;
102102
DebuggerIPCControlBlock * pDCBBuffer = NULL;
103103

104-
DbgTransportTarget * pProxy = g_pDbgTransportTarget;
104+
DbgTransportTarget * pProxy = &g_DbgTransportTarget;
105105
DbgTransportSession * pTransport = NULL;
106106

107107
hr = pProxy->GetTransportForProcess(pProcessDescriptor, &pTransport, &hDummy);

src/coreclr/debug/di/shimremotedatatarget.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ HRESULT BuildPlatformSpecificDataTarget(MachineInfo machineInfo,
169169
HRESULT hr = E_FAIL;
170170

171171
ShimRemoteDataTarget * pRemoteDataTarget = NULL;
172-
DbgTransportTarget * pProxy = g_pDbgTransportTarget;
172+
DbgTransportTarget * pProxy = &g_DbgTransportTarget;
173173
DbgTransportSession * pTransport = NULL;
174174

175175
hr = pProxy->GetTransportForProcess(pProcessDescriptor, &pTransport, &hDummy);

src/coreclr/debug/inc/coreclrremotedebugginginterfaces.h

Lines changed: 0 additions & 19 deletions
This file was deleted.

0 commit comments

Comments
 (0)