Remove GC tracing from CompilationStencil
Categories
(Core :: JavaScript Engine, task, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox87 | --- | fixed |
People
(Reporter: tcampbell, Assigned: tcampbell)
References
(Blocks 1 open bug)
Details
Attachments
(7 files, 1 obsolete file)
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details |
The CompilationStencil::input
still has GC pointers in some cases which is problematic for adding a new API for stencil. This bug tries to untangle that.
Assignee | ||
Comment 1•4 years ago
|
||
Use the UniquePtr overloads everywhere to reduce code duplication.
Assignee | ||
Comment 2•4 years ago
|
||
Depends on D104885
Assignee | ||
Comment 3•4 years ago
|
||
Move the CompilationInput out of CompilationStencil and trace that instead.
For now, the CompilationStencil continues to have a reference to the input so
care must be taken. Note that the compile options were already a reference so
this footgun already existed. Later patches will simplify this.
Depends on D104886
Assignee | ||
Comment 4•4 years ago
|
||
Move these methods to the stencil since we will more ScriptSource in
subsequent patches.
Depends on D104887
Assignee | ||
Comment 5•4 years ago
|
||
The ScriptSource no longer requires GC-tracing so we want it out of the
CompilationInput and on the CompilationStencil.
Depends on D104888
Assignee | ||
Comment 6•4 years ago
|
||
The Parser / BCE should use CompilationState instead of trying to access the
information through the CompilationStencil.
Depends on D104889
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Assignee | ||
Comment 7•4 years ago
|
||
This requires feeding in the CompileOptions for both encoding (which checks
options), and decoding (which needs flags like 'mutedErrors' for the
ScriptSource).
Depends on D104890
Assignee | ||
Comment 8•4 years ago
|
||
This requires explicitly passing the 'input' data into the instantiation code
in order to access atom-cache and enclosing-scope-chain.
The CompilationStencil is now entirely decoupled from the GC and no tracing
or references to traced objects are required anymore.
Depends on D104938
Updated•4 years ago
|
Updated•4 years ago
|
Comment 10•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/7a16727c6518
https://hg.mozilla.org/mozilla-central/rev/de199d2deec2
https://hg.mozilla.org/mozilla-central/rev/d83581a3c1a2
https://hg.mozilla.org/mozilla-central/rev/26455ae13f52
https://hg.mozilla.org/mozilla-central/rev/898f133e93a3
https://hg.mozilla.org/mozilla-central/rev/ae1d9fd6425e
https://hg.mozilla.org/mozilla-central/rev/78014b3ee746
Description
•