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