Closed Bug 1620495 Opened 3 months ago Closed 2 months ago

Remove the js::LazyScript type

Categories

(Core :: JavaScript Engine, task, P2)

task

Tracking

()

RESOLVED FIXED
mozilla76
Tracking Status
firefox76 --- fixed

People

(Reporter: tcampbell, Assigned: tcampbell)

References

Details

Attachments

(7 files)

After Bug 1619803, we should remove all remaining uses of the js::LazyScript type. The remaining uses are primarily as a namespace for static methods, and as a type for method overload resolution.

The old limits were to due bit packing tricks of a very old form of the
LazyScript data structure. Replace this with a limit of UINT32_MAX. For
simplicity, just fail the parse if we hit this limit since the full parse
will also fail.

Replace with LazyScript::CreateRaw and move the custom initialization to
XDRLazySscript.

Depends on D66846

Cleanup up code in the Debugger and in PublicIterators that only used the
LazyScript for overload resolution. This changes are largely mechanical and
there is room to improve implementations in future

Depends on D66847

Remove miscelaneous uses of LazyScript type. Also move XDRScriptData from
LazyScript to BaseScript. Also remove JSFunction::lazyScript().

Depends on D66848

Move the methods to BaseScript and remove the LazyScript type entirely!

Depends on D66849

Patch stack removes the js::LazyScript type entirely. What remains is fixing up comments and filing follow-up bugs for optimizations and cleanups that are now possible.

Assignee: nobody → tcampbell
Status: NEW → ASSIGNED
Pushed by tcampbell@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/4478047b72de
Cleanup LazyScript overflow checks r=mgaudet
https://hg.mozilla.org/integration/autoland/rev/c1233643f6af
Remove LazyScript::CreateForXDR r=mgaudet
https://hg.mozilla.org/integration/autoland/rev/17f0784ab346
Remove type-overloads using LazyScript r=mgaudet
https://hg.mozilla.org/integration/autoland/rev/1bf4fb5973f8
Remove various uses of LazyScript r=mgaudet
https://hg.mozilla.org/integration/autoland/rev/40d56eb71cdd
Move LazyScript creation methods to BaseScript r=mgaudet
https://hg.mozilla.org/integration/autoland/rev/3119be3dcf97
Fix up header include references to LazyScript r=mgaudet
https://hg.mozilla.org/integration/autoland/rev/ac02488efbcc
Remove references to LazyScript in comments r=mgaudet
You need to log in before you can comment on or make changes to this bug.