Support getters on the global in more cases
Categories
(Core :: JavaScript Engine: JIT, task, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox110 | --- | fixed |
People
(Reporter: jandem, Assigned: jandem)
References
(Blocks 2 open bugs)
Details
Attachments
(3 files)
We currently only support native getters that can take the Window
instead of the WindowProxy
as this
. It's now pretty straight-forward to support passing the WindowProxy
as receiver in CacheIR. This lets us support scripted getters, which should improve the demo in bug 1805045.
Assignee | ||
Comment 1•2 years ago
|
||
This way we don't have to recompute the kind
by calling IsCacheableGetPropCall
a second time. We still assert the values match in debug builds.
Assignee | ||
Comment 2•2 years ago
|
||
Before this patch, we supported only native getters that can take the global object
as this
argument (DOM getters) for GetProp
on WindowProxy
and GetGName
.
This patch extends this to also support getters (native and scripted) that need
the WindowProxy
if we have one.
Depends on D164540
Assignee | ||
Comment 3•2 years ago
|
||
Similar to the previous patch, but for setters.
The WindowProxy
optimization for SetProp
currently only supports data properties,
so there's only the set-name case we have to change.
Depends on D164541
Updated•2 years ago
|
Comment 5•2 years ago
|
||
Backed out for causing multiple failures on GlobalObject.h
- Backout link
- Push with failures
- Failure Log
- Failure line: Assertion failure: !data().windowProxy, at /builds/worker/checkouts/gecko/js/src/vm/GlobalObject.h:1003
Comment 6•2 years ago
|
||
Also xpcshell failures: https://treeherder.mozilla.org/logviewer?job_id=399613944&repo=autoland
Assignee | ||
Comment 7•2 years ago
|
||
(In reply to Cristian Tuns from comment #5)
Backed out for causing multiple failures on GlobalObject.h
The problem here was that the browser can sometimes call SetWindowProxy
when the global already has a WindowProxy
, failing the assertion I added. However in this case it's exactly the same window proxy JSObject*
so we can just ignore it.
(In reply to Cristian Tuns from comment #6)
Also xpcshell failures: https://treeherder.mozilla.org/logviewer?job_id=399613944&repo=autoland
Hm this one doesn't seem obviously related to this bug, but I verified it's green on Try.
Comment 8•2 years ago
|
||
Comment 10•2 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/c2b32c470a1e
https://hg.mozilla.org/mozilla-central/rev/10ffcc14a7da
https://hg.mozilla.org/mozilla-central/rev/f0aaba028dcd
Updated•9 months ago
|
Description
•