On Jul 11, 2014, at 12:04 PM, Brian Anderson <bander...@mozilla.com> wrote:

> Rust does have 2MB stacks by default. These giant numbers are surprising.

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.

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

Reply via email to