Closed Bug 1620495 Opened 5 years ago Closed 5 years 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.

Attachment

General

Created:
Updated:
Size: