Fix memory leak in SuperPMI (#34523)
authorBruce Forstall <brucefo@microsoft.com>
Sun, 5 Apr 2020 17:10:46 +0000 (10:10 -0700)
committerGitHub <noreply@github.com>
Sun, 5 Apr 2020 17:10:46 +0000 (10:10 -0700)
commit6996928a6958f50a4cd811dfde9ea894473fc765
tree29f0840c5ab6d1cd26e740508433d9dc7536c206
parent6509062d462849230b99f20365023278eea4317d
Fix memory leak in SuperPMI (#34523)

Introduced by change to Heap APIs. Also fixes a long-existing
memory leak on Linux.

Introduce a small, simple class to keep track of memory allocations
associated with the CompileResult that we need to free. In the replay
case, SuperPMI allocates these (such as for the JIT calling allocMem).
In the case of collection, the VM allocates memory for allocMem (and related),
so that memory doesn't need to be tracked.
src/coreclr/src/ToolBox/superpmi/superpmi-shared/compileresult.cpp
src/coreclr/src/ToolBox/superpmi/superpmi-shared/compileresult.h
src/coreclr/src/ToolBox/superpmi/superpmi/icorjitinfo.cpp
src/coreclr/src/ToolBox/superpmi/superpmi/jitinstance.cpp