| OLD | NEW |
| 1 // Copyright 2016 the V8 project authors. All rights reserved. | 1 // Copyright 2016 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Flags: --allow-natives-syntax --ignition-staging --turbo | 5 // Flags: --allow-natives-syntax --ignition-staging --turbo |
| 6 | 6 |
| 7 class Base {} | 7 function f(do_osr) { |
| 8 class Subclass extends Base { | 8 for (var i = 0; i < 3; ++i) { |
| 9 constructor() { | 9 if (i == 1 && do_osr) %OptimizeOsr(); |
| 10 %DeoptimizeNow(); | |
| 11 super(); | |
| 12 } | 10 } |
| 13 } | 11 } |
| 14 new Subclass(); | 12 |
| 15 new Subclass(); | 13 f(false); |
| 16 %OptimizeFunctionOnNextCall(Subclass); | 14 f(false); |
| 17 new Subclass(); | 15 %BaselineFunctionOnNextCall(f); |
| 16 f(false); |
| 17 f(true); |
| OLD | NEW |