1dd70d42b7
Trimming is required before the Typer phase to ensure that all nodes that might be reached via use links have been typed. Add this phase back on the (background thread) OptimizeGraph step instead of the (main-thread) CreateGraph phase since there is no need to do it on the main thread. BUG=chromium:1212244 Change-Id: I136aadb62d623c8f1898e4e9c0441266d5690be6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2912709 Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#74733}
31 lines
681 B
JavaScript
31 lines
681 B
JavaScript
// Copyright 2021 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 --no-turbo-loop-peeling
|
|
|
|
function foo(base) {
|
|
class klass extends base {
|
|
constructor() {
|
|
try {
|
|
undefined();
|
|
} catch (e) {}
|
|
super();
|
|
this.d = 4.2;
|
|
this.o = {};
|
|
}
|
|
}
|
|
var __v_58 = new klass();
|
|
var __v_59 = new klass();
|
|
}
|
|
|
|
%PrepareFunctionForOptimization(foo);
|
|
foo(Uint8Array);
|
|
foo(Uint8ClampedArray);
|
|
foo(Int16Array);
|
|
foo(Uint16Array);
|
|
foo(Int32Array);
|
|
foo(Uint32Array);
|
|
%OptimizeFunctionOnNextCall(foo);
|
|
assertThrows(foo);
|