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

Side by Side Diff: tests/language_strong/branch_canonicalization_test.dart

Issue 2771453003: Format all tests. (Closed)
Patch Set: Format files Created 3 years, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 // Test that branch fusion correctly sets branch environment for comparisons 5 // Test that branch fusion correctly sets branch environment for comparisons
6 // that require unboxing and does not fuse branches that can deoptimize. 6 // that require unboxing and does not fuse branches that can deoptimize.
7 // VMOptions=--optimization-counter-threshold=10 --no-use-osr 7 // VMOptions=--optimization-counter-threshold=10 --no-use-osr
8 8
9 import "package:expect/expect.dart"; 9 import "package:expect/expect.dart";
10 10
11 var sideEffect = true; 11 var sideEffect = true;
12 12
13 barDouble(a, b) { 13 barDouble(a, b) {
14 sideEffect = false; 14 sideEffect = false;
15 final result = (a == b); 15 final result = (a == b);
16 sideEffect = !sideEffect; 16 sideEffect = !sideEffect;
17 return result; 17 return result;
18 } 18 }
19
19 fooDouble(a, b) => barDouble(a, b) ? 1 : 0; 20 fooDouble(a, b) => barDouble(a, b) ? 1 : 0;
20 21
21 barMint(a, b) { 22 barMint(a, b) {
22 sideEffect = false; 23 sideEffect = false;
23 final result = (a == b); 24 final result = (a == b);
24 sideEffect = !sideEffect; 25 sideEffect = !sideEffect;
25 return result; 26 return result;
26 } 27 }
28
27 fooMint(a, b) => barMint(a, b) ? 1 : 0; 29 fooMint(a, b) => barMint(a, b) ? 1 : 0;
28 30
29 class A { 31 class A {
30 operator == (other) => identical(this, other); 32 operator ==(other) => identical(this, other);
31 } 33 }
32 34
33 class B extends A { 35 class B extends A {}
34 }
35 36
36 class C extends A { 37 class C extends A {}
37 }
38 38
39 barPoly(a, b) { 39 barPoly(a, b) {
40 sideEffect = false; 40 sideEffect = false;
41 final result = a == b; 41 final result = a == b;
42 sideEffect = !sideEffect; 42 sideEffect = !sideEffect;
43 return result; 43 return result;
44 } 44 }
45 45
46 fooPoly(a, b) => barPoly(a, b) ? 1 : 0; 46 fooPoly(a, b) => barPoly(a, b) ? 1 : 0;
47 47
48 main () { 48 main() {
49 final a = 1.0; 49 final a = 1.0;
50 final b = 1 << 62; 50 final b = 1 << 62;
51 final x = new A(), y = new B(), z = new C(); 51 final x = new A(), y = new B(), z = new C();
52 for (var i = 0; i < 20; i++) { 52 for (var i = 0; i < 20; i++) {
53 Expect.equals(1, fooDouble(a, a)); 53 Expect.equals(1, fooDouble(a, a));
54 Expect.isTrue(sideEffect); 54 Expect.isTrue(sideEffect);
55 Expect.equals(0, fooMint(b, 0)); 55 Expect.equals(0, fooMint(b, 0));
56 Expect.isTrue(sideEffect); 56 Expect.isTrue(sideEffect);
57 Expect.equals(1, fooPoly(x, x)); 57 Expect.equals(1, fooPoly(x, x));
58 Expect.equals(0, fooPoly(y, x)); 58 Expect.equals(0, fooPoly(y, x));
59 } 59 }
60 Expect.equals(1, fooDouble(z, z)); 60 Expect.equals(1, fooDouble(z, z));
61 Expect.isTrue(sideEffect); 61 Expect.isTrue(sideEffect);
62 Expect.equals(1, fooMint(z, z)); 62 Expect.equals(1, fooMint(z, z));
63 Expect.isTrue(sideEffect); 63 Expect.isTrue(sideEffect);
64 Expect.equals(1, fooPoly(z, z)); 64 Expect.equals(1, fooPoly(z, z));
65 Expect.isTrue(sideEffect); 65 Expect.isTrue(sideEffect);
66 } 66 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698