Bug 1697803 - Use DOM getter optimization for GetProp on WindowProxy too. r=evilpie

This is similar to what we do for GetName already.

Differential Revision: https://phabricator.services.mozilla.com/D108429
This commit is contained in:
Jan de Mooij 2021-03-16 08:21:52 +00:00
parent 358b4e6358
commit 50d50fdf1c

View File

@ -1141,11 +1141,19 @@ AttachDecision GetPropIRGenerator::tryAttachWindowProxy(HandleObject obj,
maybeEmitIdGuard(id);
ObjOperandId windowObjId =
GuardAndLoadWindowProxyWindow(writer, objId, windowObj);
ValOperandId receiverId = writer.boxObject(windowObjId);
EmitCallGetterResult(cx_, writer, windowObj, holder, shape, windowObjId,
receiverId, mode_);
trackAttached("WindowProxyGetter");
if (CanAttachDOMGetterSetter(cx_, JSJitInfo::Getter, windowObj, shape,
mode_)) {
EmitCallDOMGetterResult(cx_, writer, windowObj, holder, shape,
windowObjId);
trackAttached("WindowProxyDOMGetter");
} else {
ValOperandId receiverId = writer.boxObject(windowObjId);
EmitCallGetterResult(cx_, writer, windowObj, holder, shape, windowObjId,
receiverId, mode_);
trackAttached("WindowProxyGetter");
}
return AttachDecision::Attach;
}