Commit graph

63 commits

Author SHA1 Message Date
gnzlbg 559d949860 Update links 2019-04-25 10:03:12 +02:00
gnzlbg db85601eac Allow jemalloc-sys to pick jemalloc from git
This PR allows automatically fetching the latest jemalloc from
its dev branch by defining the environment variable
`JEMALLOC_SYS_GIT_DEV_BRANCH`. This is useful when debugging
whether certain bugs are already fixed upstream, as well as
for detecting whether upstream changes break our tests.
This PR adds two build jobs that test the dev branch on the
tier-1 x86_64 linux and osx targets.
2019-04-03 20:03:09 +02:00
Joel Höner ea444b8758 Add disable_initial_exec_tls feature
This allows libraries that link against jemalloc to be dlopened. 

See

https://github.com/jemalloc/jemalloc/issues/937
https://github.com/jemalloc/jemalloc/blob/dev/INSTALL.md

for detailed explanation of the feature.
2019-03-20 10:49:39 +01:00
gnzlbg d2cf48f597 format jemalloc-sys build.rs 2018-11-18 12:29:02 +01:00
Erich Gubler 9dbe789c3b Fix the Appveyor build for gnu targets all the way up to upstream
tests.

For some reason, the tests are hitting linking errors for me locally,
but in Appveyor they run just fine.
2018-11-18 12:27:09 +01:00
Erich Gubler 00973f275d Remove an unnecessary clone call in jemalloc-sys/build.rs 2018-11-18 12:26:05 +01:00
gnzlbg b857155821 formatting 2018-11-07 00:26:16 +01:00
gnzlbg 81b15f1322 Re-enable configure file verification 2018-11-07 00:26:16 +01:00
gnzlbg 16c76c23a5 clean up build.rs a bit 2018-11-07 00:26:16 +01:00
gnzlbg fdb5251af2 Run jemalloc tests on CI while building jemalloc-sys
In the following platforms, jemalloc's tests currently fail:

* `{i686,x86_64}-apple-darwin`: due to https://github.com/alexcrichton/jemallocator/issues/85
2018-11-04 19:06:37 +01:00
gnzlbg f2f17b9557 disable background threads in musl targets 2018-11-03 09:39:37 +01:00
gnzlbg de2fd16d95 turn unprefixed request failure into a warning 2018-11-03 09:39:37 +01:00
gnzlbg 07764999bd Refactor background threads options
* rename bg_thread feature to background_threads_runtime_support
* add background_threads option to enable background threads at run-time
2018-11-03 09:39:37 +01:00
gnzlbg d9463c3f72 reformat 2018-10-30 22:41:07 +01:00
gnzlbg 915d2d14d7 Jemalloc --disable-thp option has been removed 2018-10-23 14:49:48 +02:00
gnzlbg cb0e906dda Expose more jemalloc configure options 2018-10-23 14:49:48 +02:00
gnzlbg 8dede09346 Raise iOS page-size to 16kB.
Newer iOS devices have 16kB page sizes and jemalloc's LG_PAGE size
cannot be smaller than the system's page size.

Closes #68 .
2018-10-23 14:48:04 +02:00
gnzlbg 1cb6a86a06 The LG_QUANTUM for sparc64 is always 4 in jemalloc by default.
https://github.com/jemalloc/jemalloc/blob/dev/include/jemalloc/internal/quantum.h#L19
2018-10-23 14:48:04 +02:00
gnzlbg aa420aed20 Document jemalloc-sys; re-enable ctest; add stats feature
* document jemalloc-sys APIs
* document readme for crates.io
* add missing jemalloc apis
* re-enable ctest
* add stats feature
2018-08-13 12:04:37 +02:00
Alex Crichton 51db5a4511
Merge pull request #55 from SimonSapin/prefix-private
Prefix private symbols unconditionally
2018-06-27 13:28:35 -05:00
Simon Sapin de305db300 Document in code why symbol prefixes are always enabled on some platforms. 2018-06-25 18:59:27 +02:00
Simon Sapin 980f69c5ba Rename no_prefix feature to unprefixed_malloc_on_supported_platforms 2018-06-25 18:59:27 +02:00
Simon Sapin eaf83edc15 Prefix private symbols unconditionally
The point of the `no_prefix` flag it to override libc symbols like `malloc`, it shouldn’t affect jemalloc’s internal APIs.
2018-06-24 22:14:48 +02:00
Steven Fackler 5d174417f1 Set a custom prefix for jemalloc internal symbols
They otherwise conflict with the same symbols pulled in via the jemalloc
rustc provides if a custom global allocator isn't set.

Closes #51
2018-06-24 21:38:13 +02:00
Steven Fackler 9a1a1a7353 Fix bg_thread feature
background threads were previously always disabled since cargo upper
cases feature names. jemallocator also enabled default features on
jemalloc-sys.
2018-06-24 21:28:19 +02:00
Steven Fackler 4f01b49922 Add a no_prefix feature
There are some targets that we still force a prefix since they have
issues when their libc malloc is replaced in this way.

Closes #39
2018-06-24 21:27:26 +02:00
gnzlbg ed07a3e01f add feature to enable the bg thread (enabled by default) 2018-05-22 16:56:01 +02:00
gnzlbg fa84575503 don't use cp or diff 2018-05-04 16:46:30 +02:00
gnzlbg b68e237c7e --disable-thp on sparc64 2018-05-03 19:19:01 +02:00
gnzlbg 0476f52967 pass cflags as ldflags 2018-05-03 18:15:57 +02:00
gnzlbg a25a7cb74a pass the CFLAGS as part of CC 2018-05-03 17:55:43 +02:00
gnzlbg 5f4a0d5e06 formatting 2018-05-03 17:00:07 +02:00
gnzlbg 8a67933306 fixup 2018-05-03 16:46:01 +02:00
gnzlbg 2276a582e0 use jemalloc submodule 2018-05-03 16:41:15 +02:00
gnzlbg 0390383c88 fixup 2018-05-03 16:07:07 +02:00
gnzlbg a9a848abe1 use wget to fetch jemalloc instead of git 2018-05-03 10:07:11 +02:00
gnzlbg 68f60d8803 build jemalloc in OUT_DIR 2018-05-03 00:23:40 +02:00
gnzlbg 7e6a682043 ship configuration files; add build.rs option to verify them 2018-05-02 17:18:59 +02:00
gnzlbg a66d454dff pass -melf_32 flag to i{586,686}-unknown-linux-gnu builds 2018-05-02 16:06:16 +02:00
gnzlbg 350e3960ad verbose output 2018-05-02 13:56:26 +02:00
gnzlbg 8ab02bb7a6 run autogen.sh in a prebuild step
* run autogen.sh in a pre-build step in CI
* build.rs runs autogen.sh + make distclean only if configure is
  not found
2018-05-02 12:53:10 +02:00
gnzlbg d2c2fe6d4c no need for git clean now with make distclean 2018-05-02 11:16:51 +02:00
gnzlbg 8429f769d5 disable -Wextra; do a make distclean before configure 2018-05-02 10:08:22 +02:00
gnzlbg fbf31da0e0 --disable-tls is not a jemalloc 5 option 2018-05-02 10:08:22 +02:00
gnzlbg 068d5ec7b7 [jemallocator] add minimum alignment for mips64, s390x, sparc64 2018-05-02 10:05:53 +02:00
gnzlbg 9e3c62848f [ci] use cross 2018-05-02 10:05:53 +02:00
gnzlbg 56559c7fee Adds benchmarks for nallocx, calloc, alloc, alloc_excess, ralloc, ralloc_excess (#26)
* [bench] nallocx cost

* [jemalloc-sys] detect jemalloc/configure

* [bench] calloc cost

* [bench] alloc/dealloc round-trip

* [bench] alloc_excess when the excess is used/unused

* [jemalloc-sys] detect unsupported targets

* [bench] add test::black_box(ptr) on all benches

* [bench] realloc

* [bench] realloc_excess

* [bench] run benchmarks only on x86_64-unknown-linux-gnu

* move all benchmarks into one file

* remove benchmark build from travis

* remove checks in jemalloc-sys/build.rs for missing configure file

* docs

* fix calloc bench
2017-11-27 10:07:57 -08:00
Alex Crichton 9044f68f88
Merge pull request #37 from gnzlbg/fix_platforms
fix mips, sparc64, and s390x builds
2017-11-27 10:03:11 -08:00
gnzlbg dfacaf7bfc fix mips, sparc64, and s390x builds 2017-11-27 14:53:07 +01:00
gnzlbg e2063b61a7 [bugfix] jemalloc build 2017-11-27 14:27:06 +01:00