auto merge of #6237 : dotdash/rust/reduce_bloat, r=brson
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
This commit is contained in:
commit
b872900a5b
1 changed files with 0 additions and 2 deletions
|
@ -98,7 +98,6 @@ pub unsafe fn local_malloc(td: *c_char, size: uintptr_t) -> *c_char {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[lang="malloc"]
|
#[lang="malloc"]
|
||||||
#[inline(always)]
|
|
||||||
#[cfg(not(stage0))]
|
#[cfg(not(stage0))]
|
||||||
pub unsafe fn local_malloc(td: *c_char, size: uintptr_t) -> *c_char {
|
pub unsafe fn local_malloc(td: *c_char, size: uintptr_t) -> *c_char {
|
||||||
match context() {
|
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
|
// inside a landing pad may corrupt the state of the exception handler. If a
|
||||||
// problem occurs, call exit instead.
|
// problem occurs, call exit instead.
|
||||||
#[lang="free"]
|
#[lang="free"]
|
||||||
#[inline(always)]
|
|
||||||
#[cfg(not(stage0))]
|
#[cfg(not(stage0))]
|
||||||
pub unsafe fn local_free(ptr: *c_char) {
|
pub unsafe fn local_free(ptr: *c_char) {
|
||||||
match context() {
|
match context() {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue