about summary refs log tree commit diff
path: root/src/rt/rust_task.cpp
diff options
context:
space:
mode:
authorBjörn Steinbrink <bsteinbr@gmail.com>2013-06-15 16:46:03 +0200
committerBjörn Steinbrink <bsteinbr@gmail.com>2013-06-15 18:29:19 +0200
commita08d768cd8a44b3620ff3164b983400e3ee07fe5 (patch)
tree01dd79ca997d45648bd285bf67d1144932743d42 /src/rt/rust_task.cpp
parent83d44f87e5fe8935c1f8a5f26409a99286675650 (diff)
downloadrust-a08d768cd8a44b3620ff3164b983400e3ee07fe5.tar.gz
rust-a08d768cd8a44b3620ff3164b983400e3ee07fe5.zip
Fix inlining of glue code
Currently, when calling glue functions, we cast the function to match
the argument type. This interacts very badly with LLVM and breaks
inlining of the glue code.

It's more efficient to use a unified function type for the glue
functions and always cast the function argument instead of the function.

The resulting code for rustc is about 13% faster (measured up to and
including the "trans" pass) and the resulting librustc is about 5%
smaller.
Diffstat (limited to 'src/rt/rust_task.cpp')
0 files changed, 0 insertions, 0 deletions