Unify FunctionCreationData and BCEScriptStencil into a single structure
Categories
(Core :: JavaScript Engine, enhancement, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox78 | --- | fixed |
People
(Reporter: mgaudet, Assigned: tcampbell)
References
Details
Attachments
(4 files)
By the end of Stencil, we need to distinguish much less the difference between a JSFunction and JSSCript, because from the perspective they're two pieces of the same thing (where the Script is an optional addition to a function)
We should unify them to make this clear, probably in a similar way to how we made FunctionCreationData own the LazyScriptCreationData.
Updated•4 years ago
|
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Comment 1•4 years ago
|
||
Add a plain base class to hold the ScriptStencil data members. This
non-virtual type will later be used to replace FunctionCreationData. In the
long run we will remove the virtual methods entirely.
Assignee | ||
Comment 2•4 years ago
|
||
Add a FunctionBox::emitLazy flag to identify boxes which should allocate a
lazy script. This also is used to avoid allocating JSFunctions for funboxes
that are the result of a failed syntax parse.
Depends on D74155
Assignee | ||
Comment 3•4 years ago
|
||
Depends on D74156
Assignee | ||
Comment 4•4 years ago
|
||
We only use the gcThings array, but this is a stepping stone to Stencil.
Depends on D74157
Pushed by tcampbell@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/0531f5d899fd Add non-virtual ScriptStencilBase. r=mgaudet https://hg.mozilla.org/integration/autoland/rev/eae61ee67546 Remove the Maybe in FunctionCreationData. r=mgaudet https://hg.mozilla.org/integration/autoland/rev/bef58cfccdd8 Move FunctionCreationData::createLazyScript. r=mgaudet https://hg.mozilla.org/integration/autoland/rev/3a21ee384f6d Replace FunctionCreationData with ScriptStencilBase. r=mgaudet
Comment 6•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/0531f5d899fd
https://hg.mozilla.org/mozilla-central/rev/eae61ee67546
https://hg.mozilla.org/mozilla-central/rev/bef58cfccdd8
https://hg.mozilla.org/mozilla-central/rev/3a21ee384f6d
Description
•