[mono][interp] Fix memory leaks for interpreted dynamic methods. (#88892)
authorZoltan Varga <vargaz@gmail.com>
Wed, 19 Jul 2023 05:41:38 +0000 (01:41 -0400)
committerGitHub <noreply@github.com>
Wed, 19 Jul 2023 05:41:38 +0000 (01:41 -0400)
commitfce5227e7ee2ddef9d963742787fdf24c21d5dfa
treeb0de5aeb819c6ee2ae8ab324be74620227ffefcf
parent00b62a561324b612060e74b03ffecedd9418dbc8
[mono][interp] Fix memory leaks for interpreted dynamic methods. (#88892)

* [mono] Set the 'dynamic' flag on method builders on creation so a MonoDynamicMethod is allocated instead of a MonoMethodWrapper.

* [mono][interp] Fix memory leaks for interpreted dynamic methods.

* Add a mempool to MonoDynamicMethod.
* Modify the intepreter code to allocate from this mempool when
  interpreting dynamic methods.
src/mono/mono/metadata/class-internals.h
src/mono/mono/metadata/marshal-lightweight.c
src/mono/mono/metadata/marshal.c
src/mono/mono/metadata/marshal.h
src/mono/mono/metadata/method-builder-ilgen.c
src/mono/mono/metadata/method-builder.c
src/mono/mono/metadata/method-builder.h
src/mono/mono/mini/interp/interp.c
src/mono/mono/mini/interp/transform.c
src/mono/mono/mini/llvmonly-runtime.c