Make LazyScriptCreationData owned by FunctionCreationData
Categories
(Core :: JavaScript Engine, enhancement, P5)
Tracking
()
Tracking | Status | |
---|---|---|
firefox73 | --- | fixed |
People
(Reporter: mgaudet, Assigned: mgaudet)
References
Details
Attachments
(4 files)
As an enhancement and clarification, it would be nice to move the ownership of LazyScriptCreationData
out of FunctionBox
, and instead keep it on FunctionCreationData
(if you have a LazyScriptCreationData
then the Function you are compiling should also be deferred, and so it can live there).
The challenge right now is that LazyScriptCreationData
is a move type due to it holding onto the closed over bindings and the FunctionBoxVector
, wheras the FunctionCreationData
was originally designed explicitly as a copy type.
This means that there is some challenge in trying to make this ownership happen; in particular, handling the rooting and ownership of FunctionCreationData
when faced with trySyntaxParseInnerFunction
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Comment 1•4 years ago
|
||
Assignee | ||
Comment 2•4 years ago
|
||
Because you will always have a FunctionCreationData if you've got a
LazyScriptCreationData, we can make the latter owned by the former.
Depends on D57158
Assignee | ||
Comment 3•4 years ago
|
||
Depends on D57159
Assignee | ||
Comment 4•4 years ago
|
||
This was a leftover cleanup item after Bug 1592433
Depends on D57160
Pushed by mgaudet@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/eff50a52cd36 Replace GenerateFunctionCreationData with constructor r=caroline https://hg.mozilla.org/integration/autoland/rev/0527a933a353 Make LazyScriptCreationData owned by FunctionCreationData r=caroline https://hg.mozilla.org/integration/autoland/rev/c5de9f2a0585 Rename publish functions to reflect current state r=caroline https://hg.mozilla.org/integration/autoland/rev/3167f62a4a8a Cleanup deferred mode comment r=caroline
Comment 6•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/eff50a52cd36
https://hg.mozilla.org/mozilla-central/rev/0527a933a353
https://hg.mozilla.org/mozilla-central/rev/c5de9f2a0585
https://hg.mozilla.org/mozilla-central/rev/3167f62a4a8a
Description
•