Remove js::frontend::CompilationStencilSet
Categories
(Core :: JavaScript Engine, task, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox87 | --- | fixed |
People
(Reporter: tcampbell, Assigned: tcampbell)
References
(Blocks 1 open bug)
Details
Attachments
(5 files)
We should unify CompilationStencil
and CompilationStencilSet
to simplify things going forward. For now, the delazification set will only be used by XDR decoding, but in future we may want to do clever things around caching.
The extra fields in the CompilationStencilSet
type can be bundled up in heap-allocated struct that optionally hangs off of CompilationStencil
.
Assignee | ||
Comment 1•4 years ago
|
||
Assignee | ||
Comment 2•4 years ago
|
||
Depends on D104456
Assignee | ||
Comment 3•4 years ago
|
||
These annotations are only needed if we are obfuscating a GC pointer such as
with a uintptr_t. Normal pointer fields are already understood by the hazard
analysis.
Depends on D104457
Assignee | ||
Comment 4•4 years ago
|
||
This reduces size of CompilationStencil
from 648 bytes to 400 when the
stencil is not for a module.
Depends on D104458
Assignee | ||
Comment 5•4 years ago
|
||
Introduce a StencilDelazificationSet
type to hold the vector of
delazification stencils. This is held as an optional UniquePtr that hangs off
the CompilationStencil
.
Combine the different variants of prepareForInstantiation,
instantiateStencils, etc by making gcOutputForDelazifcation
optional. If
there are delazifications present, we assert there is output.
NOTE: This rewrites the prepareForInstantiation
logic because the existing
code seemed to mix up gcOutput and gcOutputForDelazifcation.
Depends on D104459
Comment 7•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/3dd88f679b9b
https://hg.mozilla.org/mozilla-central/rev/4c0da0d3a8eb
https://hg.mozilla.org/mozilla-central/rev/651c20e9d9b1
https://hg.mozilla.org/mozilla-central/rev/7fcc65041a7c
https://hg.mozilla.org/mozilla-central/rev/979e6734e31d
Description
•