Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Kyte <alexmkyte@gmail.com>2017-12-22 23:39:13 +0300
committerLudovic Henry <luhenry@microsoft.com>2017-12-22 23:39:13 +0300
commitc996dac676e47265e0b65b0e56d3f857c5990471 (patch)
tree592964b39c2b45362bcdf85efeb2ab06cec6826a /scripts
parent6b58f1317732b9cbf6ec61921e76d7d48e362104 (diff)
[runtime] Bring jemalloc to mono (#6166)
* [runtime] Bring jemalloc to mono Jemalloc is known to have much better performance than system memory allocators, and is safe in concurrent/re-entrant situations. To use, provide the following options to configure: --with-jemalloc to enable optionally. To use at runtime, export MONO_USE_JEMALLOC to the environment. --with-jemalloc-always to enable and make the default --with-jemalloc-assert to enable with assertions to catch memory unsafety. It adds overhead, but an overhead that's much less than valgrind or asan. If you export MONO_JEMALLOC_CONF="stats_print:true" You will see detailed memory statistics for mono at exit. Now note that jemalloc is used through an explicit registration, so C libraries called through pinvoke calls will not use jemalloc unless they configure themselves to do so separately. To understand the build work, I'm statically linking jemalloc.a into the compilation unit for mono/utils/mono-jemalloc.c, which is responsible for registering it with mono at startup. No further copying out of the submodule is necessary at installation time. * [runtime] Fix OSX 32-bit build definition
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/ci/run-jenkins.sh4
1 files changed, 2 insertions, 2 deletions
diff --git a/scripts/ci/run-jenkins.sh b/scripts/ci/run-jenkins.sh
index 67e8755b336..c7498e5e50a 100755
--- a/scripts/ci/run-jenkins.sh
+++ b/scripts/ci/run-jenkins.sh
@@ -35,8 +35,8 @@ if [[ $CI_TAGS == *'retry-flaky-tests'* ]]; then
export MONO_FLAKY_TEST_RETRIES=5
fi
-if [[ ${label} == 'osx-i386' ]]; then EXTRA_CONF_FLAGS="${EXTRA_CONF_FLAGS} --with-libgdiplus=/Library/Frameworks/Mono.framework/Versions/Current/lib/libgdiplus.dylib --build=i386-apple-darwin11.2.0"; fi
-if [[ ${label} == 'osx-amd64' ]]; then EXTRA_CONF_FLAGS="${EXTRA_CONF_FLAGS} --with-libgdiplus=/Library/Frameworks/Mono.framework/Versions/Current/lib/libgdiplus.dylib "; fi
+if [[ ${label} == 'osx-i386' ]]; then CFLAGS="$CFLAGS -m32 -arch=i386"; LDFLAGS="-m32 -arch=i386"; EXTRA_CONF_FLAGS="${EXTRA_CONF_FLAGS} --with-libgdiplus=/Library/Frameworks/Mono.framework/Versions/Current/lib/libgdiplus.dylib --host=i386-apple-darwin11.2.0 --build=i386-apple-darwin11.2.0"; fi
+if [[ ${label} == 'osx-amd64' ]]; then CFLAGS="$CFLAGS -m64 -arch x86_64"; EXTRA_CONF_FLAGS="${EXTRA_CONF_FLAGS} --with-libgdiplus=/Library/Frameworks/Mono.framework/Versions/Current/lib/libgdiplus.dylib"; fi
if [[ ${label} == 'w32' ]]; then PLATFORM=Win32; EXTRA_CONF_FLAGS="${EXTRA_CONF_FLAGS} --host=i686-w64-mingw32"; export MONO_EXECUTABLE="${MONO_REPO_ROOT}/msvc/build/sgen/Win32/bin/Release/mono-sgen.exe"; fi
if [[ ${label} == 'w64' ]]; then PLATFORM=x64; EXTRA_CONF_FLAGS="${EXTRA_CONF_FLAGS} --host=x86_64-w64-mingw32 --disable-boehm"; export MONO_EXECUTABLE="${MONO_REPO_ROOT}/msvc/build/sgen/x64/bin/Release/mono-sgen.exe"; fi