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

Side by Side Diff: tests/language/optimization_test.dart

Issue 12328104: Change new List(n) to return fixed length list. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Merge to head. Created 7 years, 9 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, 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 // Test various optimizations and deoptimizations of optimizing compiler.. 4 // Test various optimizations and deoptimizations of optimizing compiler..
5 5
6 addThem(a, b) { 6 addThem(a, b) {
7 return a + b; 7 return a + b;
8 } 8 }
9 9
10 isItInt(a) { 10 isItInt(a) {
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 for (int i = -500; i < 500; i++) { 56 for (int i = -500; i < 500; i++) {
57 var r = doNeg(i); 57 var r = doNeg(i);
58 var p = doNeg(r); 58 var p = doNeg(r);
59 Expect.equals(i, p); 59 Expect.equals(i, p);
60 } 60 }
61 var maxSmi = (1 << 30) - 1; 61 var maxSmi = (1 << 30) - 1;
62 Expect.equals(maxSmi, doNeg(doNeg(maxSmi))); 62 Expect.equals(maxSmi, doNeg(doNeg(maxSmi)));
63 // Deoptimize because of overflow. 63 // Deoptimize because of overflow.
64 var minInt = -(1 << 30); 64 var minInt = -(1 << 30);
65 Expect.equals(minInt, doNeg(doNeg(minInt))); 65 Expect.equals(minInt, doNeg(doNeg(minInt)));
66 66
67 for (int i = 0; i < 1000; i++) { 67 for (int i = 0; i < 1000; i++) {
68 Expect.equals(false, doNot(true)); 68 Expect.equals(false, doNot(true));
69 Expect.equals(true, doNot(doNot(true))); 69 Expect.equals(true, doNot(doNot(true)));
70 } 70 }
71 for (int i = 0; i < 1000; i++) { 71 for (int i = 0; i < 1000; i++) {
72 Expect.equals(-57, doBitNot(56)); 72 Expect.equals(-57, doBitNot(56));
73 Expect.equals(55, doBitNot(-56)); 73 Expect.equals(55, doBitNot(-56));
74 } 74 }
75 75
76 for (int i = 0; i < 2000; i++) { 76 for (int i = 0; i < 2000; i++) {
77 Expect.equals(-2.2, doNeg2(2.2)); 77 Expect.equals(-2.2, doNeg2(2.2));
78 } 78 }
79 // Deoptimize. 79 // Deoptimize.
80 Expect.equals(-5, doNeg2(5)); 80 Expect.equals(-5, doNeg2(5));
81 81
82 var fixed = new List.fixedLength(10); 82 var fixed = new List(10);
83 var growable = [1, 2, 3, 4, 5]; 83 var growable = [1, 2, 3, 4, 5];
84 84
85 for (int i = 0; i < 2000; i++) { 85 for (int i = 0; i < 2000; i++) {
86 doStore1(fixed, 7); 86 doStore1(fixed, 7);
87 Expect.equals(7, fixed[1]); 87 Expect.equals(7, fixed[1]);
88 doStore2(growable, 12); 88 doStore2(growable, 12);
89 Expect.equals(12, growable[2]); 89 Expect.equals(12, growable[2]);
90 } 90 }
91 91
92 // Deoptimize. 92 // Deoptimize.
93 doStore1(growable, 8); 93 doStore1(growable, 8);
94 Expect.equals(8, growable[1]); 94 Expect.equals(8, growable[1]);
95 doStore2(fixed, 101); 95 doStore2(fixed, 101);
96 Expect.equals(101, fixed[2]); 96 Expect.equals(101, fixed[2]);
97 } 97 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698