On Tue, Oct 29, 2013 at 04:24:49PM -0400, Daniel Micay wrote: > If we want to unwind on task failure, we'll need to disable the `prune-eh` > pass that bubbles up `nounwind` since every function will be able to > unwind. I think it will cause a very significant increase in code size.
That's too bad, but safety and sensible error recovery comes first. As pcwalton said, if you have an image decoder that has a bug which leads to infinite recursion, it's just not acceptable for that to crash your *entire process*. That said, I imagine we could recover some code size improvements by having an LLVM pass that (1) identified when function X calls function Y unconditionally; (2) combined the overflow check for X and Y; and then (3) removes exception handling around calls to Y. Obviously this would be more complex. Niko _______________________________________________ Rust-dev mailing list Rust-dev@mozilla.org https://mail.mozilla.org/listinfo/rust-dev