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

Reply via email to