Closed Bug 1691505 Opened 4 years ago Closed 4 years ago

Remove js::frontend::CompilationStencilSet

Categories

(Core :: JavaScript Engine, task, P1)

task

Tracking

()

RESOLVED FIXED
87 Branch
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.

Depends on D104456

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

This reduces size of CompilationStencil from 648 bytes to 400 when the
stencil is not for a module.

Depends on D104458

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

Pushed by tcampbell@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/3dd88f679b9b Move ScriptStencilIterable/CompilationGCOutput lower in header file. r=arai https://hg.mozilla.org/integration/autoland/rev/4c0da0d3a8eb Cleanup CompilationStencil fields and comments. r=arai https://hg.mozilla.org/integration/autoland/rev/651c20e9d9b1 Remove extraneous JS_HAZ_GC_POINTER annotations from CompilationInfo.h. r=arai https://hg.mozilla.org/integration/autoland/rev/7fcc65041a7c Dynamically allocate the StencilModuleMetadata. r=arai https://hg.mozilla.org/integration/autoland/rev/979e6734e31d Unify CompilationStencil and CompilationStencilSet types. r=arai
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: