Upload Kmake

This commit is contained in:
Gorochu
2026-05-26 23:36:42 -07:00
parent ba051b2f74
commit 555ec72358
41615 changed files with 13344630 additions and 1 deletions

View File

@ -0,0 +1,35 @@
// 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
function main() {
// This seems to just be some register setup for the benefit of the optimising
// compiler.
for(var i=0; i<2; i++) {
if(i==1) { }
with ({}) {
try {
var07().foo = 1;
} catch { }
}
}
// This is where the bug was.
try {
// The `var10() = ...` is rewritten to `var10[throw ReferenceError] = ...`,
// making the value of the assign dead. However, there is a loop inside the
// spread that used to accidentally resurrect that block.
//
// This broke checks in the optimizing compiler since the iterator setup was
// dead but the iterator use inside the spread's loop was live.
var10() = var08(1, ...foo, 2);
} catch { }
}
%PrepareFunctionForOptimization(main);
main();
%OptimizeFunctionOnNextCall(main);
main();