Chromium Code Reviews| Index: tests/language/vm/lazy_deopt_vm_test.dart |
| diff --git a/tests/language/vm/lazy_deopt_vm_test.dart b/tests/language/vm/lazy_deopt_vm_test.dart |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..3f4b39234593416780823678cc7d076be1a197c2 |
| --- /dev/null |
| +++ b/tests/language/vm/lazy_deopt_vm_test.dart |
| @@ -0,0 +1,39 @@ |
| +// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
| +// for details. All rights reserved. Use of this source code is governed by a |
| +// BSD-style license that can be found in the LICENSE file. |
| +// Test deoptimization on an optimistically hoisted smi check. |
|
Florian Schneider
2016/12/20 00:01:08
Comment not matching here.
|
| +// VMOptions=--deoptimize_every=10 --optimization-counter-threshold=10 --no-background-compilation --enable-inlining-annotations |
|
Florian Schneider
2016/12/20 00:01:08
Left-over flag? I don't see inlining annotations h
|
| + |
| +// Test that lazy deoptimization on stack checks does not damage unoptimized |
| +// frame. |
| + |
| +import 'package:expect/expect.dart'; |
| + |
| + |
| +foo() { |
| + var a = 0; |
| + var b = 1; |
| + var c = 2; |
| + var d = 3; |
| + var e = 4; |
| + for (var i = 0; i < 10; i++) { |
| + a++; |
| + b++; |
| + c++; |
| + d++; |
| + e++; |
| + } |
| + Expect.equals(10, a); |
| + Expect.equals(11, b); |
| + Expect.equals(12, c); |
| + Expect.equals(13, d); |
| + Expect.equals(14, e); |
| +} |
| + |
| +main() { |
| + for (var i = 0; i < 10; ++i) { |
| + foo(); |
| + } |
| +} |
| + |
| + |