25 lines
451 B
JavaScript
25 lines
451 B
JavaScript
//@ runDefault("--slowPathAllocsBetweenGCs=13")
|
|
function foo(object) {
|
|
'hello' in object;
|
|
}
|
|
|
|
let handler = {
|
|
has(_, keyArg) {
|
|
keyArg in targetObject;
|
|
}
|
|
};
|
|
let targetObject = {};
|
|
let proxy = new Proxy(targetObject, handler);
|
|
for (let i = 0; i < 10000; ++i) {
|
|
foo(proxy);
|
|
}
|
|
targetObject.hello = undefined;
|
|
gc();
|
|
for (let i = 0; i < 10000; ++i) {
|
|
foo(proxy);
|
|
}
|
|
delete targetObject?.hello;
|
|
for (let i = 0; i < 100000; ++i) {
|
|
foo(proxy);
|
|
}
|