diff options
| author | bors <bors@rust-lang.org> | 2014-01-27 12:06:47 -0800 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2014-01-27 12:06:47 -0800 |
| commit | feacb594669f505d2f7ba0805c7fd5c5d7d28bad (patch) | |
| tree | 345b03546629c7fc63d39da3f2ec433b6d168f61 /src/rustllvm/PassWrapper.cpp | |
| parent | d6d7812da841ddedf6c765eebb655be9866956ce (diff) | |
| parent | b4bb8c0f4ee1234e9d84aa7cb1a9ad691a509212 (diff) | |
| download | rust-feacb594669f505d2f7ba0805c7fd5c5d7d28bad.tar.gz rust-feacb594669f505d2f7ba0805c7fd5c5d7d28bad.zip | |
auto merge of #11841 : huonw/rust/noinline-fail, r=alexcrichton
In two ways:
- for a plain `fail!(a)` we make the generic part of `begin_unwind` as small as possible (makes `fn main() { fail!() }` compile 2-3x faster, due to less monomorphisation bloat)
- for `fail!("format {}", "string")`, we avoid touching the generics completely by doing the formatting in a specialised function, which (with optimisations) saves a function call at the call-site of `fail!`. (This one has significantly less benefit than the first.)
Diffstat (limited to 'src/rustllvm/PassWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
