]> git.lizzy.rs Git - rust.git/commitdiff
Auto merge of #83152 - guswynn:jemallocator_part2, r=Mark-Simulacrum
authorbors <bors@rust-lang.org>
Mon, 5 Apr 2021 21:14:27 +0000 (21:14 +0000)
committerbors <bors@rust-lang.org>
Mon, 5 Apr 2021 21:14:27 +0000 (21:14 +0000)
Use tikv-jemallocator in rustc/rustdoc in addition to jemalloc-sys when enabled.

In https://github.com/rust-lang/rust/pull/81782 it was mentioned that one reason rustc may benefit from minimalloc is it doesn't use the `sdallocx` api from jemalloc.

Currently, on unix, rust uses jemalloc by importing its symbols to use them with the default, System (libc) global allocator.
This PR switches its global alloc to `tikv-jemallocator`, which correctly uses sized deallocation (https://docs.rs/tikv-jemallocator/0.4.1/src/tikv_jemallocator/lib.rs.html#121-126). `tikv-jemallocator`, as far as I can tell, is a more up-to-date set of bindings to jemalloc than `jemallocator`

The perf results of this pr are in large part due to the version upgrade of jemalloc, but sized deallocation has a non-trivial improvement, particularly to rustdoc.

This pr also includes changes to bootstrap to correctly pass the jemalloc feature through to the rustdoc build

1  2 
src/bootstrap/tool.rs

Simple merge