nodejs/deps/v8/test/mjsunit/regress/regress-1449550.js

27 lines
686 B
JavaScript
Raw Permalink Normal View History

// 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 x() {
let obj = { foo: "bar" };
obj.toJSON = 42;
obj.__proto__ = new Proxy([], {});
assertTrue(%HasFastProperties(obj));
return obj;
}
assertEquals("[object Object]", toString.call(x()));
function y() {
let obj = { foo: "bar" };
Object.defineProperty(obj, "foo", {
get: function () {}
});
obj.toJSON = 42;
obj.__proto__ = new Proxy([], {});
assertFalse(%HasFastProperties(obj));
return obj;
}
assertEquals("[object Object]", toString.call(y()));