mirror of
https://github.com/FEX-Emu/FEX.git
synced 2024-11-23 06:30:01 +00:00
1cc9f2107d
We still need to hook glibc for thunks to work with `IsHostHeapAllocation`. So now we link in two jemalloc allocators in different namespaces. As usual we have multiple heap allocators that we need to be careful about. 1. jemalloc with `je_` namespace. - This is FEX's regular heap allocator and what gets used for all the fextl objects. - This allocator is the one that the FEX mmap/munmap hooks hook in to - This mmap hooking gives this allocator the full 48-bit VA even in 32-bit space. 2. jemalloc with `glibc_je_` namespace. - This is the allocator that overrides the glibc allocator routines - This is the allocator that thunks will use. - This is what `IsHostHeapAllocation` will check for. 3. Guest glibc allocator - We don't touch this one. But it is distinct from the host side allocators. - The guest side of thunks will use this heap allocator. 4. Host glibc allocator - #2 replaces this one unless explicitly disabled. - Always expected to override the allocator, so this configuration isn't expected. Already tested this with Dota Underlords to ensure this works with thunks.
59 lines
2.0 KiB
Plaintext
59 lines
2.0 KiB
Plaintext
[submodule "External/vixl"]
|
|
shallow = true
|
|
path = External/vixl
|
|
url = https://github.com/FEX-Emu/vixl.git
|
|
[submodule "External/cpp-optparse"]
|
|
path = Source/Common/cpp-optparse
|
|
url = https://github.com/Sonicadvance1/cpp-optparse
|
|
[submodule "External/imgui"]
|
|
path = External/imgui
|
|
url = https://github.com/Sonicadvance1/imgui.git
|
|
[submodule "External/json-maker"]
|
|
path = External/json-maker
|
|
url = https://github.com/Sonicadvance1/json-maker.git
|
|
[submodule "External/tiny-json"]
|
|
path = External/tiny-json
|
|
url = https://github.com/Sonicadvance1/tiny-json.git
|
|
[submodule "External/xbyak"]
|
|
shallow = true
|
|
path = External/xbyak
|
|
url = https://github.com/FEX-Emu/xbyak.git
|
|
[submodule "External/fex-posixtest-bins"]
|
|
shallow = true
|
|
path = External/fex-posixtest-bins
|
|
url = https://github.com/FEX-Emu/fex-posixtest-bins.git
|
|
[submodule "External/fex-gvisor-tests-bins"]
|
|
shallow = true
|
|
path = External/fex-gvisor-tests-bins
|
|
url = https://github.com/FEX-Emu/fex-gvisor-tests-bins.git
|
|
[submodule "External/fex-gcc-target-tests-bins"]
|
|
shallow = true
|
|
path = External/fex-gcc-target-tests-bins
|
|
url = https://github.com/FEX-Emu/fex-gcc-target-tests-bins.git
|
|
[submodule "External/jemalloc"]
|
|
path = External/jemalloc
|
|
url = https://github.com/FEX-Emu/jemalloc.git
|
|
[submodule "External/fmt"]
|
|
path = External/fmt
|
|
url = https://github.com/fmtlib/fmt.git
|
|
[submodule "External/drm-headers"]
|
|
path = External/drm-headers
|
|
url = https://github.com/FEX-Emu/drm-headers.git
|
|
[submodule "External/xxhash"]
|
|
path = External/xxhash
|
|
url = https://github.com/FEX-Emu/xxHash.git
|
|
[submodule "External/Catch2"]
|
|
path = External/Catch2
|
|
url = https://github.com/catchorg/Catch2.git
|
|
[submodule "External/robin-map"]
|
|
shallow = true
|
|
path = External/robin-map
|
|
url = https://github.com/FEX-Emu/robin-map.git
|
|
[submodule "External/Vulkan-Headers"]
|
|
shallow = true
|
|
path = External/Vulkan-Headers
|
|
url = https://github.com/KhronosGroup/Vulkan-Headers.git
|
|
[submodule "External/jemalloc_glibc"]
|
|
path = External/jemalloc_glibc
|
|
url = https://github.com/FEX-Emu/jemalloc.git
|