| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | |
| 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. | |
| 4 // Test program for correct optimizations related to types fo allocated lists. | |
| 5 | |
| 6 main() { | |
| 7 // Trigger optimization of 'test' method. | |
| 8 for (int i = 0; i < 1000; i++) { | |
| 9 test(2); | |
| 10 } | |
| 11 } | |
| 12 | |
| 13 | |
| 14 test(n) { | |
| 15 var a = new List(); // Growable list. | |
| 16 var b = new List(10); // Fixed size list. | |
| 17 var c = const [1, 2, 3, 4]; // Constant aray. | |
| 18 // In optimized mode the class checks will be eliminated since the | |
| 19 // constructors above provide information about exact types. | |
| 20 a.add(4); | |
| 21 b[0] = 5; | |
| 22 Expect.equals(4, a[0]); | |
| 23 Expect.equals(5, b[0]); | |
| 24 // Test bound check elimination. | |
| 25 Expect.equals(2, c[1]); | |
| 26 // Test elimination of array length computation. | |
| 27 var v = c[n]; | |
| 28 Expet equals(v, c[n]); | |
| 29 } | |
| OLD | NEW |