Transition JIT memory management from domains to memory managers (#48483)
authorZoltan Varga <vargaz@gmail.com>
Mon, 22 Feb 2021 19:02:32 +0000 (14:02 -0500)
committerGitHub <noreply@github.com>
Mon, 22 Feb 2021 19:02:32 +0000 (14:02 -0500)
commitfe33bed50573fa548e9daf00b90e016c401b6440
tree3d566280915594cd470b3e2413fbc30b411bc960
parent05a78b91cbac6c35c8b3122786c00f202e3879ad
Transition JIT memory management from domains to memory managers (#48483)

* [jit] Add a MonoJitMemoryManager structure, which is the same as the MonoJitDomainInfo structure, but owned by a MonoMemoryManager instead of a domain.

* Move static_rgctx_trampoline_hash to MonoJitMemoryManager.

* Move jump_target_hash to MonoJitMemoryManager.

* Move jump_trampoline_hash to MonoJitMemoryManager.

* Move jit_trampoline_hash to MonoJitMemoryManager.

* Move delegate_trampoline_hash to MonoJitMemoryManager.

* Move method_code_hash to MonoJitMemoryManager.

* Move more fields to MonoJitMemoryManager.

* Move llvm data to MonoJitMemoryManager.

* Move arch_seq_points field to MonoJitMemoryManager.

* Remove unused fields from MonoJitDomainInfo.

* Use the default alc memory manager only for now.

* Remove MonoJitDomainInfo which is now unused.
28 files changed:
src/mono/mono/metadata/domain-internals.h
src/mono/mono/metadata/domain.c
src/mono/mono/metadata/loader-internals.h
src/mono/mono/metadata/memory-manager.c
src/mono/mono/metadata/object-internals.h
src/mono/mono/mini/aot-runtime.c
src/mono/mono/mini/debugger-agent-stubs.c
src/mono/mono/mini/debugger-agent.c
src/mono/mono/mini/debugger-agent.h
src/mono/mono/mini/debugger-engine.c
src/mono/mono/mini/driver.c
src/mono/mono/mini/interp/interp.c
src/mono/mono/mini/interp/transform.c
src/mono/mono/mini/llvm-jit.cpp
src/mono/mono/mini/method-to-ir.c
src/mono/mono/mini/mini-amd64.c
src/mono/mono/mini/mini-arm.c
src/mono/mono/mini/mini-arm64.c
src/mono/mono/mini/mini-generic-sharing.c
src/mono/mono/mini/mini-llvm.c
src/mono/mono/mini/mini-llvm.h
src/mono/mono/mini/mini-runtime.c
src/mono/mono/mini/mini-runtime.h
src/mono/mono/mini/mini-s390x.c
src/mono/mono/mini/mini-trampolines.c
src/mono/mono/mini/mini.c
src/mono/mono/mini/mini.h
src/mono/mono/mini/seq-points.c