| 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 |