blob: c45a85f77dc24da9d4f82bdbab87e2e63e1de2a1 [file] [log] [blame]
// 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) {}