On Jul 11, 2014, at 2:15 PM, Patrick Walton <pcwal...@mozilla.com> wrote:

> 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. :)

https://github.com/rust-lang/rust/issues/15665

There was a previous PR attempting to do this, and it showed some promise but 
worsened compile time / memory usage.

Cameron
_______________________________________________
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo

Reply via email to