mirror of
https://github.com/nodejs/node.git
synced 2025-05-16 07:33:15 +00:00

PR-URL: https://github.com/nodejs/node/pull/54077 Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
28 lines
750 B
JavaScript
28 lines
750 B
JavaScript
// Copyright 2024 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: --harmony-struct --expose-gc
|
|
|
|
const Probe = function() {
|
|
const ProxyConstructor = Proxy;
|
|
const getPrototypeOf = Object.getPrototypeOf;
|
|
const setPrototypeOf = Object.setPrototypeOf;
|
|
function probe(value) {
|
|
originalPrototype = getPrototypeOf(value);
|
|
newPrototype = new ProxyConstructor(originalPrototype, function(){});
|
|
setPrototypeOf(value, newPrototype);
|
|
}
|
|
return {
|
|
probe: probe,
|
|
};
|
|
}();
|
|
|
|
gc();
|
|
|
|
for (let v2 = 0; v2 < 5; v2++) {
|
|
// Creates a derived map with non-JSObject prototype.
|
|
Probe.probe(Atomics);
|
|
Atomics.h = Atomics.Mutex();
|
|
}
|