DescriptionExtend Range analysis to 64-bit range and mint operations
- 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
Committed: https://code.google.com/p/dart/source/detail?r=37521
Patch Set 1 #Patch Set 2 : #Patch Set 3 : #
Total comments: 23
Patch Set 4 : #
Total comments: 8
Patch Set 5 : #Patch Set 6 : #Patch Set 7 : #Patch Set 8 : #Patch Set 9 : #Patch Set 10 : #Patch Set 11 : #
Total comments: 12
Patch Set 12 : #
Total comments: 4
Patch Set 13 : #
Total comments: 22
Patch Set 14 : #Patch Set 15 : #Patch Set 16 : #
Messages
Total messages: 21 (0 generated)
|