Closed
Bug 1779378
Opened 3 years ago
Closed 3 years ago
Avoid unnecessary tenuring via PropertyIteratorObject
Categories
(Core :: JavaScript Engine, task, P2)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
104 Branch
| Tracking | Status | |
|---|---|---|
| firefox104 | --- | fixed |
People
(Reporter: jandem, Assigned: jandem)
References
(Blocks 1 open bug)
Details
Attachments
(2 files)
PropertyIteratorObject is always tenured. Because we don't null out NativeIterator::objectBeingIterated_ for inactive iterators, we can end up tenuring objects that should be dead.
This happens a fair amount on the matrix-react benchmark.
| Assignee | ||
Comment 1•3 years ago
|
||
In isEmptyIteratorSingleton() we currently check whether objectBeingIterated == nullptr,
but once we clear this object for inactive iterators this would be a bit confusing and
error-prone.
| Assignee | ||
Comment 2•3 years ago
|
||
Property iterator objects are always tenured, so this avoids "leaking" the object
via the post-barrier.
Depends on D151705
Pushed by jdemooij@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/c8f77075a0e5
part 1 - Add IsEmptyIteratorSingleton flag. r=jonco
https://hg.mozilla.org/integration/autoland/rev/76d4db257788
part 2 - Clear NativeIterator::objectBeingIterated_ when closing the iterator. r=jonco
Comment 4•3 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/c8f77075a0e5
https://hg.mozilla.org/mozilla-central/rev/76d4db257788
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
status-firefox104:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → 104 Branch
You need to log in
before you can comment on or make changes to this bug.
Description
•