| Index: tests/language/src/DeoptimizedFunctionOnStackTest.dart
|
| diff --git a/tests/language/src/DeoptimizedFunctionOnStackTest.dart b/tests/language/src/DeoptimizedFunctionOnStackTest.dart
|
| deleted file mode 100644
|
| index 9071f1c6a88a0c261671de33ee8d4083590560f6..0000000000000000000000000000000000000000
|
| --- a/tests/language/src/DeoptimizedFunctionOnStackTest.dart
|
| +++ /dev/null
|
| @@ -1,56 +0,0 @@
|
| -// Copyright (c) 2011, 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.
|
| -
|
| -// This is a test for deoptimization infrastructure and to reproduce the
|
| -// failure from bug 5442338.
|
| -
|
| -main() {
|
| - warmup();
|
| - runTest();
|
| -}
|
| -
|
| -// Create a situation where method 'call' is optimized for using class A
|
| -// when calling foo.
|
| -warmup() {
|
| - List a = [ new A(), new A(), new A(), new A()];
|
| - var res = 0;
|
| - for (int i = 0; i < 2000; i++) {
|
| - res = call(a, 0);
|
| - }
|
| - Expect.equals(10, res);
|
| -}
|
| -
|
| -
|
| -// Create a situation where several optimized frames of 'call' are on stack
|
| -// when deoptimization occurs because B.foo is called. After the first
|
| -// deoptimization, several optimized frames of 'call' are still on stack and
|
| -// some of them will be deoptimized.
|
| -runTest() {
|
| - List a = [ new A(), new A(), new B(), new A(), new B(), new B()];
|
| - var res = call(a, 0);
|
| - Expect.equals(35, res);
|
| -}
|
| -
|
| -// This method will be optimized for using class A when calling 'foo' and
|
| -// later will be deoptimized because B.foo is required.
|
| -call(List a, int n) {
|
| - if (n < a.length) {
|
| - var sum = call(a, n + 1);
|
| - for (int i = n; i < a.length; i++) {
|
| - sum += a[i].foo();
|
| - }
|
| - return sum;
|
| - }
|
| - return 0;
|
| -}
|
| -
|
| -
|
| -class A {
|
| - foo() { return 1; }
|
| -}
|
| -
|
| -
|
| -class B {
|
| - foo() { return 2; }
|
| -}
|
|
|