// Tests for |this| value passed to getters defined on the global.
function test(useWindowProxy) { var g = newGlobal({useWindowProxy});
g.useWindowProxy = useWindowProxy;
g.evaluate(` var x = 123;
Object.defineProperty(this, "getX", {get: function() { returnthis.x; }});
Object.defineProperty(Object.prototype, "protoGetX", {get: function() { returnthis.x * 2; }});
Object.defineProperty(this, "thisIsProxy", {get: function() { return isProxy(this); }});
function f() { for (var i = 0; i < 100; i++) { // GetGName
assertEq(getX, 123);
assertEq(protoGetX, 246);
assertEq(thisIsProxy, useWindowProxy); // GetProp
assertEq(globalThis.getX, 123);
assertEq(globalThis.protoGetX, 246);
assertEq(globalThis.thisIsProxy, useWindowProxy);
}
}
f();
`);
}
for (let useWindowProxy of [true, false]) {
test(useWindowProxy);
}
setJitCompilerOption("ic.force-megamorphic", 1);
for (let useWindowProxy of [true, false]) {
test(useWindowProxy);
}
Messung V0.5 in Prozent
¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.52Angebot
(Wie Sie bei der Firma Beratungs- und Dienstleistungen beauftragen können 2026-04-25)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.