3eb3bc3fa9
- Convert many private static functions into public static methods on Range or RangeBoundary classes. - Simplify ConstraintInstr::InferRange to just use RangeBoundary::Min and RangeBoundary::Max calls. - Extend RangeBoundary to 64-bits. - Include mints in RangeAnalysis. - Introduce generic Range::BinaryOp. - Require ranges passed to Range::BinaryOp are finite. - Clamp ranges attached to BinarySmiOpInstr and BinaryMintOpInstr. - InferRange for BinaryMintOp and UnboxInteger instructions. - Correctly set mint constant ranges. - Add many tests. R=fschneider@google.com, vegorov@google.com Review URL: https://codereview.chromium.org//328503003 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37521 260f80e4-7a28-3924-810f-c04153c831b5