OLD | NEW |
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 megamorphic calls. | 4 // Test megamorphic calls. |
5 | 5 |
6 class A { | 6 class A { |
7 A() {} | 7 A() {} |
8 f1() { return 1; } | 8 f1() { return 1; } |
9 f2() { return 2; } | 9 f2() { return 2; } |
10 f3() { return 3; } | 10 f3() { return 3; } |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 } | 46 } |
47 | 47 |
48 | 48 |
49 class B extends A { | 49 class B extends A { |
50 B() : super() {} | 50 B() : super() {} |
51 } | 51 } |
52 | 52 |
53 | 53 |
54 class ManyCallsTest { | 54 class ManyCallsTest { |
55 static testMain() { | 55 static testMain() { |
56 var list = new List(10); | 56 var list = new List.fixedLength(10); |
57 for (int i = 0; i < (list.length ~/ 2) ; i++) { | 57 for (int i = 0; i < (list.length ~/ 2) ; i++) { |
58 list[i] = new A(); | 58 list[i] = new A(); |
59 } | 59 } |
60 for (int i = (list.length ~/ 2); i < list.length; i++) { | 60 for (int i = (list.length ~/ 2); i < list.length; i++) { |
61 list[i] = new B(); | 61 list[i] = new B(); |
62 } | 62 } |
63 for (int loop = 0; loop < 7; loop++) { | 63 for (int loop = 0; loop < 7; loop++) { |
64 for (int i = 0; i < list.length; i++) { | 64 for (int i = 0; i < list.length; i++) { |
65 Expect.equals(1, list[i].f1()); | 65 Expect.equals(1, list[i].f1()); |
66 Expect.equals(2, list[i].f2()); | 66 Expect.equals(2, list[i].f2()); |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
101 Expect.equals(38, list[i].f38()); | 101 Expect.equals(38, list[i].f38()); |
102 Expect.equals(39, list[i].f39()); | 102 Expect.equals(39, list[i].f39()); |
103 } | 103 } |
104 } | 104 } |
105 } | 105 } |
106 } | 106 } |
107 | 107 |
108 main() { | 108 main() { |
109 ManyCallsTest.testMain(); | 109 ManyCallsTest.testMain(); |
110 } | 110 } |
OLD | NEW |