On 7/11/14 12:54 PM, Cameron Zwarich wrote:
These giant numbers aren’t too surprising, since LLVM isn’t that
great at optimizing stack space. Is Rust inserting the lifetime.start
and lifetime.end markers?
http://llvm.org/docs/LangRef.html#llvm-lifetime-start-intrinsic
Use of lifetime markers is essential if you have a lot of distinct
allocas with distinct scopes, as then LLVM can reuse the stack space.
The inliner tries to insert them automatically for any allocas in the
function being inlined, but maybe Servo has large function bodies
that aren’t getting this benefit from the inliner.
No, Rust doesn't insert them. This sounds like something we should look
at doing. :)
Patrick
_______________________________________________
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo