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 // This unit test of dart2js checks that a SSA bailout target | 5 // This unit test of dart2js checks that a SSA bailout target |
6 // instruction gets removed from the graph when it's not used. | 6 // instruction gets removed from the graph when it's not used. |
7 | 7 |
| 8 import "package:expect/expect.dart"; |
8 import 'compiler_helper.dart'; | 9 import 'compiler_helper.dart'; |
9 | 10 |
10 String TEST = r''' | 11 String TEST = r''' |
11 main() { | 12 main() { |
12 foo(1); | 13 foo(1); |
13 foo([]); | 14 foo([]); |
14 } | 15 } |
15 | 16 |
16 foo(a) { | 17 foo(a) { |
17 // Make the method recursive to always enable bailouts | 18 // Make the method recursive to always enable bailouts |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
54 | 55 |
55 // Check that the bailout method has a case 2 for the state, which | 56 // Check that the bailout method has a case 2 for the state, which |
56 // is the second bailout in foo. | 57 // is the second bailout in foo. |
57 RegExp state = new RegExp('case 2:[ \n]+state0 = 0;'); | 58 RegExp state = new RegExp('case 2:[ \n]+state0 = 0;'); |
58 checkNumberOfMatches(state.allMatches(generated).iterator, 1); | 59 checkNumberOfMatches(state.allMatches(generated).iterator, 1); |
59 | 60 |
60 // Finally, make sure that the reason foo does not contain | 61 // Finally, make sure that the reason foo does not contain |
61 // 'getInterceptor' is not because the compiler renamed it. | 62 // 'getInterceptor' is not because the compiler renamed it. |
62 Expect.isTrue(generated.contains('getInterceptor')); | 63 Expect.isTrue(generated.contains('getInterceptor')); |
63 } | 64 } |
OLD | NEW |