diff options
| author | Björn Steinbrink <B.Steinbrink@gmx.de> | 2013-05-04 18:21:27 +0200 |
|---|---|---|
| committer | Björn Steinbrink <B.Steinbrink@gmx.de> | 2013-05-04 18:21:27 +0200 |
| commit | e5ca35d567e7d243c81d8c41fa0e7268ae8df58f (patch) | |
| tree | 5e803b63ca550aa9492399f8e64988eb5686f708 /src | |
| parent | 1f65e4a1d54417cebaed30816c75ae1cb0334566 (diff) | |
| download | rust-e5ca35d567e7d243c81d8c41fa0e7268ae8df58f.tar.gz rust-e5ca35d567e7d243c81d8c41fa0e7268ae8df58f.zip | |
Reduce code bloat from managed allocations
In commit d7f5e43 "core::rt: Add the local heap to newsched tasks",
local_malloc and local_free have become rather big and their forced
inlining causes quite a bit of code bloat. Compile times for crates
affected by the bloat (e.g. rustc) improve, while others (e.g. libstd)
seem to be unaffected, so I guess the inlining doesn't gain us much.
Sizes:
| librustc | libsytax
---------------|–-----------|------------
with inlining | 18,547,824 | 7,110,848
w/o inlining | 15,092,040 | 5,518,608
Diffstat (limited to 'src')
| -rw-r--r-- | src/libcore/unstable/lang.rs | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/src/libcore/unstable/lang.rs b/src/libcore/unstable/lang.rs index 7cd218639c0..460285bfcfd 100644 --- a/src/libcore/unstable/lang.rs +++ b/src/libcore/unstable/lang.rs @@ -98,7 +98,6 @@ pub unsafe fn local_malloc(td: *c_char, size: uintptr_t) -> *c_char { } #[lang="malloc"] -#[inline(always)] #[cfg(not(stage0))] pub unsafe fn local_malloc(td: *c_char, size: uintptr_t) -> *c_char { match context() { @@ -129,7 +128,6 @@ pub unsafe fn local_free(ptr: *c_char) { // inside a landing pad may corrupt the state of the exception handler. If a // problem occurs, call exit instead. #[lang="free"] -#[inline(always)] #[cfg(not(stage0))] pub unsafe fn local_free(ptr: *c_char) { match context() { |
