Add LazyScriptData type instead of void* field
Categories
(Core :: JavaScript Engine, enhancement, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox68 | --- | fixed |
People
(Reporter: tcampbell, Assigned: tcampbell)
References
Details
Attachments
(7 files)
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review |
Currently LazyScript has a |void* table_| field to store optional variable-length data. We should migrate to a better encapsulated structure to simplify initialization/XDR/cloning/GC issues, similar to what was done with PrivateScriptData.
The numClosedOverBindings/numInnerFunctions/fieldInitializers fields should all be moved over to this data structure.
Moving the numClosedOverBindings length to LazyScriptData would be a slight memory regression, but it is also desirable to standardize the flags of LazyScript to match JSScript. Moving the fieldInitializers stuff to LazyScriptData will make it optional and revert some of the memory regression that that change causes.
Assignee | ||
Comment 1•6 years ago
|
||
Assignee | ||
Comment 2•6 years ago
|
||
Simplify placeholders and add toStringEnd argument.
Depends on D23398
Assignee | ||
Comment 3•6 years ago
|
||
Depends on D23399
Assignee | ||
Comment 4•6 years ago
|
||
Depends on D23400
Assignee | ||
Comment 5•6 years ago
|
||
Depends on D23402
Assignee | ||
Comment 6•6 years ago
|
||
Depends on D23403
Updated•6 years ago
|
Assignee | ||
Comment 7•6 years ago
|
||
![]() |
||
Comment 9•6 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/896a538f502b
https://hg.mozilla.org/mozilla-central/rev/0b61c4bdd578
https://hg.mozilla.org/mozilla-central/rev/618b7bbaebbe
https://hg.mozilla.org/mozilla-central/rev/539d7eec3444
https://hg.mozilla.org/mozilla-central/rev/a93ef3e7f2b9
https://hg.mozilla.org/mozilla-central/rev/5bd984729daf
https://hg.mozilla.org/mozilla-central/rev/348419a9d041
Description
•