text: // Copyright 2018 the V8 project authors. All rights reserved.
  // Use of this source code is governed by a BSD-style license that can be
  // found in the LICENSE file.
  
  // Flags: --allow-natives-syntax
  
  class C extends Object {
    constructor() {
      try { super(); } catch (e) { };
      return 1;
    }
  }
  
  class A extends C {
    constructor() {
      super();
      throw new Error();
      return { get: () => this };
    }
  }
  
  %PrepareFunctionForOptimization(A);
  
  var D = new Proxy(A, { get() { %DeoptimizeFunction(A); } });
  
  try { Reflect.construct(A, [], D); } catch(e) {}
  %OptimizeFunctionOnNextCall(A);
  try { Reflect.construct(A, [], D); } catch(e) {}
  