OLD | NEW |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 that safepoints associated with slowpaths don't mark non-existing values | 4 // Test that safepoints associated with slowpaths don't mark non-existing values |
5 // alive. | 5 // alive. |
6 // VMOptions=--optimization-counter-threshold=5 --no-inline_alloc --gc_at_instan
ce_allocation=_Double --no-background-compilation | 6 // VMOptions=--optimization-counter-threshold=5 --no-inline_alloc --gc_at_instan
ce_allocation=_Double --no-background-compilation |
7 | 7 |
8 class C { | 8 class C { |
9 final next; | 9 final next; |
10 C(this.next); | 10 C(this.next); |
11 } | 11 } |
12 | 12 |
13 | |
14 noop(a1, a2, a3, a4, a5, a6, a7, a8, a9) => 0; | 13 noop(a1, a2, a3, a4, a5, a6, a7, a8, a9) => 0; |
15 | 14 |
16 crash(f, i) { | 15 crash(f, i) { |
17 final obj1 = new C(null); | 16 final obj1 = new C(null); |
18 final obj2 = new C(obj1); | 17 final obj2 = new C(obj1); |
19 final obj3 = new C(obj2); | 18 final obj3 = new C(obj2); |
20 final obj4 = new C(obj3); | 19 final obj4 = new C(obj3); |
21 final obj5 = new C(obj4); | 20 final obj5 = new C(obj4); |
22 final obj6 = new C(obj5); | 21 final obj6 = new C(obj5); |
23 final obj7 = new C(obj6); | 22 final obj7 = new C(obj6); |
(...skipping 16 matching lines...) Expand all Loading... |
40 f(d1, d2, d3, d4, d5, d6, d7, d8, d9); | 39 f(d1, d2, d3, d4, d5, d6, d7, d8, d9); |
41 f(d1, d2, d3, d4, d5, d6, d7, d8, d9); | 40 f(d1, d2, d3, d4, d5, d6, d7, d8, d9); |
42 } | 41 } |
43 | 42 |
44 main() { | 43 main() { |
45 for (var i = 0; i < 10; i++) { | 44 for (var i = 0; i < 10; i++) { |
46 print(i); | 45 print(i); |
47 crash(noop, 10); | 46 crash(noop, 10); |
48 } | 47 } |
49 } | 48 } |
OLD | NEW |