Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(19)

Unified Diff: tests/compiler/dart2js/value_range2_test.dart

Issue 11366028: Update test of value_range change. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/compiler/dart2js/value_range2_test.dart
===================================================================
--- tests/compiler/dart2js/value_range2_test.dart (revision 14387)
+++ tests/compiler/dart2js/value_range2_test.dart (working copy)
@@ -4,22 +4,25 @@
import "../../../lib/compiler/implementation/ssa/ssa.dart";
import "../../../lib/compiler/implementation/dart2jslib.dart";
+import "../../../lib/compiler/implementation/js_backend/js_backend.dart";
-Value instructionValue = new InstructionValue(new HReturn(null));
-Value lengthValue = new LengthValue(new HReturn(null));
+ValueRangeInfo info = new ValueRangeInfo(const JavaScriptConstantSystem());
-Range createSingleRange(Value value) => new Range(value, value);
-Range createSingleIntRange(int value) => createSingleRange(new IntValue(value));
+Value instructionValue = info.newInstructionValue(new HReturn(null));
+Value lengthValue = info.newLengthValue(new HReturn(null));
+
+Range createSingleRange(Value value) => info.newRange(value, value);
+Range createSingleIntRange(int value) => createSingleRange(info.newIntValue(value));
Range createSingleInstructionRange() => createSingleRange(instructionValue);
Range createSingleLengthRange() => createSingleRange(lengthValue);
Range createIntRange(int lower, int upper) {
- return new Range(new IntValue(lower), new IntValue(upper));
+ return info.newRange(info.newIntValue(lower), info.newIntValue(upper));
}
Range createLengthRange(int lower) {
- return new Range(new IntValue(lower), lengthValue);
+ return info.newRange(info.newIntValue(lower), lengthValue);
}
Range createInstructionRange(int lower) {
- return new Range(new IntValue(lower), instructionValue);
+ return info.newRange(info.newIntValue(lower), instructionValue);
}
Range instruction = createSingleInstructionRange();
@@ -35,9 +38,9 @@
Range _0_instruction = createInstructionRange(0);
checkAndRange(Range one, Range two, lower, upper) {
- if (lower is num) lower = new IntValue(lower);
- if (upper is num) upper = new IntValue(upper);
- Range range = new Range(lower, upper);
+ if (lower is num) lower = info.newIntValue(lower);
+ if (upper is num) upper = info.newIntValue(upper);
+ Range range = info.newRange(lower, upper);
Expect.equals(range, one & two);
}
@@ -47,33 +50,33 @@
// Create a bound just like our current implementation in dart2js does.
if (two is IntValue) {
if (two.isNegative) {
- return new AddValue(one, -two);
+ return info.newAddValue(one, -two);
} else if (two.isZero) {
return one;
}
}
if (one is IntValue) {
if (one.isNegative) {
- return new SubtractValue(-two, -one);
+ return info.newSubtractValue(-two, -one);
} else if (one.isZero) {
return -two;
}
}
- return new SubtractValue(one, two);
+ return info.newSubtractValue(one, two);
}
if (lower == null) {
lower = buildBound(one.lower, two.upper);
} else if (lower is num) {
- lower = new IntValue(lower);
+ lower = info.newIntValue(lower);
}
if (upper == null) {
upper = buildBound(one.upper, two.lower);
} else if (upper is num) {
- upper = new IntValue(upper);
+ upper = info.newIntValue(upper);
}
- Expect.equals(new Range(lower, upper), one - two);
+ Expect.equals(info.newRange(lower, upper), one - two);
}
checkNegateRange(Range range, [arg1, arg2]) {
@@ -82,20 +85,20 @@
} else {
Value low, up;
if (arg1 is num) {
- low = new IntValue(arg1);
+ low = info.newIntValue(arg1);
} else if (arg1 == null) {
- low = new NegateValue(range.upper);
+ low = info.newNegateValue(range.upper);
} else {
low = arg1;
}
if (arg2 is num) {
- up = new IntValue(arg2);
+ up = info.newIntValue(arg2);
} else if (arg2 == null) {
- up = new NegateValue(range.lower);
+ up = info.newNegateValue(range.lower);
} else {
up = arg2;
}
- Expect.equals(new Range(low, up), -range);
+ Expect.equals(info.newRange(low, up), -range);
}
}
@@ -113,6 +116,8 @@
checkNegateRange(_0_instruction, -instructionValue, 0);
}
+bits32(value) => value & 0xFFFFFFFF;
+
testAnd() {
checkAndRange(
instruction, instruction, const MinIntValue(), const MaxIntValue());
@@ -162,7 +167,7 @@
checkAndRange(nFF, FF, 1, 1);
checkAndRange(nFF, FA, 0, 0);
- checkAndRange(nFF, nFF, -0xFF, -0xFF);
+ checkAndRange(nFF, nFF, bits32(-0xFF), bits32(-0xFF));
checkAndRange(nFF, length, 0, length.upper);
checkAndRange(nFF, _FA_FF, 0, 0xFF);
checkAndRange(nFF, _0_FF, 0, 0xFF);
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698