| OLD | NEW |
| 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 import 'package:expect/expect.dart'; | 5 import 'package:expect/expect.dart'; |
| 6 import "compiler_helper.dart"; | 6 import "compiler_helper.dart"; |
| 7 | 7 |
| 8 const String TEST = """ | 8 const String TEST = """ |
| 9 foo() { | 9 foo() { |
| 10 var a = {}; | 10 var a = {}; |
| 11 var index = foo(); // Make sure we want to optimize this method. | 11 var index = foo(); // Make sure we want to optimize this method. |
| 12 while (true) a[index] = 1; | 12 while (true) a[index] = 1; |
| 13 } | 13 } |
| 14 """; | 14 """; |
| 15 | 15 |
| 16 main() { | 16 main() { |
| 17 String generated = compile(TEST, entry: 'foo'); | 17 String generated = compile(TEST, entry: 'foo'); |
| 18 // Make sure we have all the type information we need. | 18 // Make sure we have all the type information we need. |
| 19 Expect.isFalse(generated.contains('bailout')); | 19 Expect.isFalse(generated.contains('bailout')); |
| 20 Expect.isFalse(generated.contains('interceptor')); | 20 Expect.isFalse(generated.contains('interceptor')); |
| 21 // Make sure we don't go through an interceptor. | 21 // Make sure we don't go through an interceptor. |
| 22 Expect.isTrue( | 22 Expect.isTrue(generated.contains('a.\$indexSet')); |
| 23 generated.contains(r'a.$indexSet(a') || | |
| 24 generated.contains(r'.$indexSet(0')); | |
| 25 } | 23 } |
| OLD | NEW |