Commit graph

71 commits

Author SHA1 Message Date
gnzlbg de8bcc6932 bump version 2018-07-04 16:43:04 +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 3450b53222 Add a test for prefixed vs unprefixed symbols 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 69ae59c309 bump jemalloc-sys to 0.1.6 and jemallocator to 0.1.8 2018-05-22 17:29:13 +02:00
Alex Crichton 78bd8dfc33
Merge pull request #47 from gnzlbg/bg_thread
Add feature to enable the bg thread (enabled by default)
2018-05-22 10:11:07 -05:00
gnzlbg ed07a3e01f add feature to enable the bg thread (enabled by default) 2018-05-22 16:56:01 +02:00
gnzlbg ac13a3abdf update configure files 2018-05-16 20:42:22 +02:00
gnzlbg a7162f4c0a update jemalloc5.1RC1 to jemalloc5.1 2018-05-16 19:16:50 +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 1babc4eb87 re-add jemalloc submodule 2018-05-03 16:37:24 +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 7e4a113911 add appveyor ci script 2018-05-02 17:28:25 +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 22576ff7dc upgrade to jemalloc 5.1 RC1 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 00333ed768 allow(non_snake_case) for MALLOCX_ALIGN macro 2018-05-02 10:05:53 +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
Alex Crichton f295f6873b Bump jemalloc-sys to 0.1.5 2018-04-15 09:30:22 -07:00
gnzlbg c652a34f4e [jemalloc-sys] expose mallocx_align, equivalent to MALLOCX_ALIGN macro 2017-11-28 12:23:27 +01: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
gnzlbg bf4ce229aa revert version bump 2017-11-25 11:57:51 +01:00
gnzlbg 6d9d11665d Update jemalloc to 5.0.1 2017-11-23 19:08:53 +01:00
Greg V edffed8d9a Fix make command on *BSD 2017-11-06 14:34:30 +03:00
Simon Sapin e6ea8a94b4 Add bindings to all jemalloc public functions
That is, those documented in http://jemalloc.net/jemalloc.3.html

For example `malloc` and `free` can be useful when implementing
callbacks for a C library that doesn’t provide a size when deallocating:
https://www.freetype.org/freetype2/docs/reference/ft2-system_interface.html
2017-10-30 16:13:25 +01:00
Simon Sapin dd5861f6de Swap the order of arguments to calloc.
The documented order is (number of objects, size of each object),
though in practice they end up being multiplied together
and so are somewhat interchangeable.
2017-10-30 13:25:02 +01:00
Alex Crichton e0f809800e Update gcc dep 2017-09-30 00:47:14 -07:00
Nick Fitzgerald d93f0a803b Bump jemalloc to 0.1.2; jemalloc-sys to 0.1.3
This allows publishing the fixed `debug` feature.
2017-09-29 12:38:43 -07:00