diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2018-12-19 08:27:23 -0800 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2018-12-19 08:27:23 -0800 |
| commit | ba0ed5b13f23dd6e4ff0047a653ee615b84a67f2 (patch) | |
| tree | 0124e69aa132788dd09e8853692ffd1f8de3eab1 /src/rustc | |
| parent | 6f839fbb0d407956777529b029fbb0d6cc6e4318 (diff) | |
| download | rust-ba0ed5b13f23dd6e4ff0047a653ee615b84a67f2.tar.gz rust-ba0ed5b13f23dd6e4ff0047a653ee615b84a67f2.zip | |
rustc: Move jemalloc from rustc_driver to rustc
This commit moves jemalloc to just the rustc binary rather than the rustc_driver shared library, enusring that it's only used for binaries that opt-in to it like rustc rather than other binaries using librustc_driver like rustdoc/rls/etc. This will hopefully address #56980
Diffstat (limited to 'src/rustc')
| -rw-r--r-- | src/rustc/Cargo.toml | 7 | ||||
| -rw-r--r-- | src/rustc/rustc.rs | 8 |
2 files changed, 14 insertions, 1 deletions
diff --git a/src/rustc/Cargo.toml b/src/rustc/Cargo.toml index 32969d09e85..164a3c6ad0d 100644 --- a/src/rustc/Cargo.toml +++ b/src/rustc/Cargo.toml @@ -15,5 +15,10 @@ rustc_driver = { path = "../librustc_driver" } # crate is intended to be used by codegen backends, which may not be in-tree. rustc_codegen_ssa = { path = "../librustc_codegen_ssa" } +[dependencies.jemalloc-sys] +version = '0.1.8' +optional = true +features = ['unprefixed_malloc_on_supported_platforms'] + [features] -jemalloc = ['rustc_driver/jemalloc-sys'] +jemalloc = ['jemalloc-sys'] diff --git a/src/rustc/rustc.rs b/src/rustc/rustc.rs index ab5a7c3f747..1c1c7b4bb8e 100644 --- a/src/rustc/rustc.rs +++ b/src/rustc/rustc.rs @@ -23,6 +23,14 @@ extern {} extern crate rustc_driver; +// Note that the linkage here should be all that we need, on Linux we're not +// prefixing the symbols here so this should naturally override our default +// allocator. On OSX it should override via the zone allocator. We shouldn't +// enable this by default on other platforms, so other platforms aren't handled +// here yet. +#[cfg(feature = "jemalloc-sys")] +extern crate jemalloc_sys; + fn main() { rustc_driver::set_sigpipe_handler(); rustc_driver::main() |
