diff --git a/llvm/tools/llvm-jitlink/llvm-jitlink.cpp b/llvm/tools/llvm-jitlink/llvm-jitlink.cpp --- a/llvm/tools/llvm-jitlink/llvm-jitlink.cpp +++ b/llvm/tools/llvm-jitlink/llvm-jitlink.cpp @@ -801,23 +801,24 @@ } static std::unique_ptr createInProcessMemoryManager() { - if (!SlabAllocateSizeString.empty()) { - auto SlabSize = ExitOnErr(getSlabAllocSize(SlabAllocateSizeString)); +#ifdef _WIN32 + size_t SlabSize = 1024 * 1024; +#else + size_t SlabSize = 1024 * 1024 * 1024; +#endif + + if (!SlabAllocateSizeString.empty()) + SlabSize = ExitOnErr(getSlabAllocSize(SlabAllocateSizeString)); + + if (NoExec && (SlabAddress || SlabPageSize)) return ExitOnErr( MapperJITLinkMemoryManager::CreateWithMapper( SlabSize)); - } -#ifdef _WIN32 return ExitOnErr( MapperJITLinkMemoryManager::CreateWithMapper( - 1024 * 1024)); -#else - return ExitOnErr( - MapperJITLinkMemoryManager::CreateWithMapper( - 1024 * 1024 * 1024)); -#endif + SlabSize)); } Expected>