Closed
Bug 1205132
Opened 9 years ago
Closed 4 years ago
Remove AutoKeepAtoms and use proper rooting instead of suppression
Categories
(Core :: JavaScript: GC, defect)
Core
JavaScript: GC
Tracking
()
RESOLVED
FIXED
82 Branch
People
(Reporter: terrence, Assigned: jonco)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
(deleted),
text/x-phabricator-request
|
Details |
It is a hack to avoid having to root the strings in the parse nodes in the frontend. We cannot just switch them to Rooted because the nodes are arena allocated. This is an identical problem to the arena allocated IonBuilder nodes. We should generalize whatever the jit is using and use it in the frontend too.
Comment 1•9 years ago
|
||
For what it's worth, in asmjs/AsmJSValidate.cpp, ModuleValidator has a rooting note that it's fine that it contain raw pointers to PropertyNames because there's a live AutoKeepAtoms on the stack (ModuleCompiler makes the same assumption).
Reporter | ||
Comment 2•9 years ago
|
||
We should be able to make these into PersistentRooted<PropertyName*> at very low cost.
Assignee | ||
Comment 3•8 years ago
|
||
From a discussion with shu a while ago: It would be too expensive to trace the parse tree so instead the parser should maintain a set of atoms that it has used and trace that. When an atom is put into the set it should be returned cast to a different type to signify that it is rooted so that we can ensure that the parser doesn't use atoms without first putting them into the set.
Assignee | ||
Comment 4•8 years ago
|
||
This is looking less important now that bug 1213977 has landed.
Comment 5•4 years ago
|
||
This can be solved once frontend uses ParserAtoms in most places.
there will still be some usage of JSAtom, but they can be explicitly rooted.
Updated•4 years ago
|
Blocks: stencil-mvp
Comment 6•4 years ago
|
||
(Moving this off the MVP since we will use a pref to begin with. Bug 1611437 will track the things we delete once stencil is always-on)
Assignee | ||
Comment 7•4 years ago
|
||
AutoKeepAtoms is now unused so I guess we can remove it.
Assignee: nobody → jcoppeard
Assignee | ||
Comment 8•4 years ago
|
||
With the latest parser changes this class is now unnecessary. Remove the count of live AutoKeepAtoms instances on the zone and anything that used it.
Pushed by jcoppeard@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/43840312ff00
Remove unused AutoKeepAtoms r=tcampbell
Comment 10•4 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 4 years ago
status-firefox82:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → 82 Branch
Updated•4 years ago
|
You need to log in
before you can comment on or make changes to this bug.
Description
•