nodejs/deps/v8/test/mjsunit/regress/regress-crbug-1448545.js
Michaël Zasso 17a74ddd3d
deps: update V8 to 11.8.172.13
PR-URL: https://github.com/nodejs/node/pull/49639
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2023-10-10 08:25:41 +02:00

154 lines
2.2 KiB
JavaScript

// Copyright 2023 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: --fuzzing
// --fuzzing is required to trigger the bug since it does a second compile
// --that'll check for identical bytecode.
// Make more lexical bindings that need hole checks due to uses in inner
// functions than a 64-bitmap can hold.
let v1 = 0;
let v2 = 0;
let v3 = 0;
let v4 = 0;
let v5 = 0;
let v6 = 0;
let v7 = 0;
let v8 = 0;
let v9 = 0;
let v10 = 0;
let v11 = 0;
let v12 = 0;
let v13 = 0;
let v14 = 0;
let v15 = 0;
let v16 = 0;
let v17 = 0;
let v18 = 0;
let v19 = 0;
let v20 = 0;
let v21 = 0;
let v22 = 0;
let v23 = 0;
let v24 = 0;
let v25 = 0;
let v26 = 0;
let v27 = 0;
let v28 = 0;
let v29 = 0;
let v30 = 0;
let v31 = 0;
let v32 = 0;
let v33 = 0;
let v34 = 0;
let v35 = 0;
let v36 = 0;
let v37 = 0;
let v38 = 0;
let v39 = 0;
let v40 = 0;
let v41 = 0;
let v42 = 0;
let v43 = 0;
let v44 = 0;
let v45 = 0;
let v46 = 0;
let v47 = 0;
let v48 = 0;
let v49 = 0;
let v50 = 0;
let v51 = 0;
let v52 = 0;
let v53 = 0;
let v54 = 0;
let v55 = 0;
let v56 = 0;
let v57 = 0;
let v58 = 0;
let v59 = 0;
let v60 = 0;
let v61 = 0;
let v62 = 0;
let v63 = 0;
let v64 = 0;
function someUses() {
v1 = 0;
v2 = 0;
v3 = 0;
v4 = 0;
v5 = 0;
v6 = 0;
v7 = 0;
v8 = 0;
v9 = 0;
v10 = 0;
v11 = 0;
v12 = 0;
v13 = 0;
v14 = 0;
v15 = 0;
v16 = 0;
v17 = 0;
v18 = 0;
v19 = 0;
v20 = 0;
v21 = 0;
v22 = 0;
v23 = 0;
v24 = 0;
v25 = 0;
v26 = 0;
v27 = 0;
v28 = 0;
v29 = 0;
v30 = 0;
v31 = 0;
v32 = 0;
v33 = 0;
v34 = 0;
v35 = 0;
v36 = 0;
v37 = 0;
v38 = 0;
v39 = 0;
v40 = 0;
v41 = 0;
v42 = 0;
v43 = 0;
v44 = 0;
v45 = 0;
v46 = 0;
v47 = 0;
v48 = 0;
v49 = 0;
v50 = 0;
v51 = 0;
v52 = 0;
v53 = 0;
v54 = 0;
v55 = 0;
v56 = 0;
v57 = 0;
v58 = 0;
v59 = 0;
v60 = 0;
v61 = 0;
v62 = 0;
v63 = 0;
v64 = 0;
}
// Make another lexical binding that needs hole checks in the same scope with
// some uses that can be elided. Both the first and second compiles should be
// able to elide the subsequent use.
try {
x = 42;
x = 42;
} catch (e) {
}
let x = 0;