Commit Graph

305 Commits

Author SHA1 Message Date
gnzlbg d2c2fe6d4c no need for git clean now with make distclean 2018-05-02 11:16:51 +02:00
gnzlbg a1a0366ee7 more build dbg 2018-05-02 11:11:56 +02:00
gnzlbg 4aec146adc disable travis-ci automatic submodule fetching; manually fetch jemalloc 5.1rc1 2018-05-02 11:07:16 +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 36089d528f allow arm and armv7 android to fail 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 8d1adbfd19 oom is no longer part of GlobalAlloc 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 1d463baa04 Fix invokation of `oom` in tests 2018-04-27 08:54:20 -07:00
Simon Sapin de7ab8adf3 Make jemallocator no_std 2018-04-27 13:06:13 +02:00
Simon Sapin 9a56412a58 Upgrade to rustc 1.27.0-nightly (7f3444e1b 2018-04-26) 2018-04-27 13:06:13 +02:00
Alex Crichton 442765d741 Bump dep to 0.1.5 2018-04-15 09:30:53 -07:00
Alex Crichton f295f6873b Bump jemalloc-sys to 0.1.5 2018-04-15 09:30:22 -07:00
Alex Crichton f4216c950d Bump to 0.1.6 2018-04-15 09:29:39 -07:00
Alex Crichton b87b78e734
Merge pull request #40 from SimonSapin/global-alloc
Implement the GlobalAlloc trait, upgrade to nightly-2018-04-15
2018-04-15 11:29:19 -05:00
Simon Sapin c66f9d4d51 Implement the GlobalAlloc trait, upgrade to nightly-2018-04-15
CC https://github.com/rust-lang/rust/pull/49669
2018-04-15 08:15:10 +02:00
Alex Crichton e9c272298b
Merge pull request #38 from gnzlbg/typo
Fix typo.
2018-02-01 10:05:32 -06:00
gnzlbg 419e2652f3
Fix typo. 2018-02-01 13:18:12 +01:00
Alex Crichton b95133aeb9
Merge pull request #27 from gnzlbg/utils
move mallocx_align to jemalloc-sys and expose it via the ffi module
2017-11-28 07:41:09 -08: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
Alex Crichton 1fe55c1f5b
Merge pull request #36 from gnzlbg/bugfix_jem
[bugfix] jemalloc i686-apple-darwin build
2017-11-27 10:00:25 -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
Alex Crichton cac5f881b2
Merge pull request #34 from gnzlbg/update_jemalloc
Update jemalloc to 5.0.1
2017-11-25 09:13:43 -06:00
Alex Crichton d422418b95
Merge pull request #35 from gnzlbg/fix_excess
[bugfix] update align to flags in excess methods
2017-11-25 09:12:38 -06:00
gnzlbg bf4ce229aa revert version bump 2017-11-25 11:57:51 +01:00
gnzlbg 1773d5f953 [bugfix] update align to flags in excess methods
- Also rename `align_to_flags(align, size)` to
  `layout_to_flags(layout)` because it was taking
  its parameters in a weird order (typically its
  size first and align second) and size + align
  is actually `Layout`.
2017-11-25 11:05:47 +01:00
Alex Crichton b87f8b806a
Merge pull request #28 from gnzlbg/excess
Add alloc_excess/realloc_excess
2017-11-24 09:50:13 -06:00
Alex Crichton 8500b5b5e4 Comment special case of alignment 2017-11-24 07:20:26 -08:00
Alex Crichton 6d557d3363
Merge pull request #25 from SimonSapin/min-align
Don’t assume MIN_ALIGN for small sizes
2017-11-24 09:19:16 -06:00
gnzlbg 6d9d11665d Update jemalloc to 5.0.1 2017-11-23 19:08:53 +01:00
gnzlbg 57b557f449 Add alloc_excess/realloc_excess 2017-11-23 14:34:25 +01:00
Simon Sapin fd99aeeb2d Don’t assume MIN_ALIGN for small sizes
Same as https://github.com/rust-lang/rust/pull/46117

See also discussion of jemalloc’s behavior at
https://github.com/jemalloc/jemalloc/issues/1072
2017-11-22 16:45:11 +01:00
Alex Crichton 5043bb23cd
Merge pull request #23 from myfreeweb/master
Fix make command on *BSD
2017-11-06 08:52:49 -06:00
Greg V edffed8d9a Fix make command on *BSD 2017-11-06 14:34:30 +03:00
Alex Crichton 262a9725d5 Fix copy/paste error 2017-10-30 14:11:08 -07:00
Alex Crichton 984a60ef3e Clarify wording of license information in README.
This text historically was copied verbatim from rust-lang/rust's own README [1]
with the intention of licensing projects the same as rustc's own license, namely
a dual MIT/Apache-2.0 license. The clause about "various BSD-like licenses"
isn't actually correct for almost all projects other than rust-lang/rust and
the wording around "both" was slightly ambiguous.

This commit updates the wording to match more precisely what's in the
standard library [2], namely clarifying that there aren't any BSD-like licenses
in this repository and that the source is licensable under either license, at
your own discretion.

[1]: f0fe716dbc (license)
[2]: f0fe716dbc/src/libstd/lib.rs (L5-L9)
2017-10-30 14:07:03 -07:00
Alex Crichton dc99b9f535 Tweak expors 2017-10-30 10:20:20 -07:00
Alex Crichton db270c42ec
Merge pull request #21 from SimonSapin/bind-all-the-functions
Add bindings to all jemalloc public functions
2017-10-30 12:19:13 -05:00
Simon Sapin 87e5eff7e3 Re-export the jemalloc_sys crate as jemallocator::ffi 2017-10-30 16:19:46 +01: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 4e2a285389 Remove unnecessary `: Sized` bound 2017-10-14 07:16:43 -07:00
Alex Crichton 672dd78cca Merge pull request #18 from SimonSapin/usable_size
Expose `malloc_usable_size` in the high-level crate.
2017-10-14 10:16:14 -04:00
Simon Sapin d24b998401 Expose `malloc_usable_size` in the high-level crate. 2017-10-13 21:37:45 +02:00