PR-URL: https://github.com/nodejs/node/pull/47251 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Richard Lau <rlau@redhat.com>
45 lines
938 B
JavaScript
45 lines
938 B
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: --allow-natives-syntax
|
|
|
|
function __isPropertyOfType() {
|
|
return typeof type === 'undefined' || typeof desc.value === type;
|
|
}
|
|
|
|
function __getProperties(obj) {
|
|
let properties = [];
|
|
for (let name of Object.getOwnPropertyNames(obj)) {
|
|
if (__isPropertyOfType()) properties.name;
|
|
}
|
|
}
|
|
|
|
function __getRandomProperty(obj) {
|
|
let properties = __getProperties(obj);
|
|
}
|
|
|
|
var obj = {};
|
|
Object.defineProperty(obj, "length", {});
|
|
|
|
function foo(x) {
|
|
try {
|
|
for (let i = 0; i < x; ++i) {
|
|
delete obj[__getRandomProperty(obj)]();
|
|
}
|
|
} catch (e) {}
|
|
}
|
|
|
|
function test() {
|
|
let result = 0.9999;
|
|
for (let i = 0; i < 50; ++i) {
|
|
result += foo(i);
|
|
}
|
|
}
|
|
|
|
%PrepareFunctionForOptimization(test);
|
|
test();
|
|
test();
|
|
%OptimizeFunctionOnNextCall(test);
|
|
test();
|