Replace js::LazyScriptData with js::PrivateScriptData
Categories
(Core :: JavaScript Engine, task, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox73 | --- | fixed |
People
(Reporter: tcampbell, Assigned: tcampbell)
References
Details
Attachments
(3 files)
The data elements of LazyScriptData are accessed in sequential order and items are all GCPtrs. This makes PrivateScriptData::gcthings a reasonable replacement and we can eliminate the LazyScriptData type altogether. This can be followed by moving the pointer to the BaseScript class.
Assignee | ||
Comment 1•5 years ago
|
||
It it straight-foward for users of LazyScriptData to support a single array
for closedOverBindings and innerFunctions. As a result, we can use
PrivateScriptData as the implementation and eliminate the LazyScriptData type
altogether.
Assignee | ||
Comment 2•5 years ago
|
||
Reorder the classes in JSScript.h so that we can use PrivateScriptData from
within BaseScript.
Depends on D55360
Assignee | ||
Comment 3•5 years ago
|
||
Now that both LazyScript and JSScript have the same pointer field, we can
move to the BaseScript class. The inner-function pointers in the gcthings
array will have the same meaning for both LazyScript and JSScript, but the
other members of gcthings may have different interpretations.
This adds poisoning of the PrivateScriptData in the LazyScript case for
consistency.
Depends on D55361
Assignee | ||
Comment 4•5 years ago
|
||
We currently only relazify leaf functions, which means the closed-over-bindings and inner-functions lists are empty. If we also disallow relazification of class-constructors, then any function that can be relazified will have nullptr for script data. This makes things much simpler when the LazyScript and JSScript are combined as we will not have a lazy script-data to worry about.
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Comment 6•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/07471e96b2d8
https://hg.mozilla.org/mozilla-central/rev/47f84263339e
https://hg.mozilla.org/mozilla-central/rev/617ce539db70
Updated•5 years ago
|
Comment 7•5 years ago
|
||
Backed out 7 changesets (bug 1600439, bug 1566466, bug 1591598) for raptor crashes
Backout: https://hg.mozilla.org/integration/autoland/rev/4cb3934b76b14f04d8f8cd781f14a56693312f40
Failure push: https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=14f33b78f0eb5e32fd3e9c116f21a23ab7221f26
Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=279099999&repo=autoland&lineNumber=829
Assignee | ||
Updated•5 years ago
|
Comment 10•5 years ago
|
||
Comment 11•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/7c27b4f099e8
https://hg.mozilla.org/mozilla-central/rev/400d86749109
https://hg.mozilla.org/mozilla-central/rev/6e206063bc18
Description
•