Closed Bug 1588861 Opened 3 years ago Closed 3 years ago

XDR encoding modules


(Core :: JavaScript Engine, task, P3)




Tracking Status
firefox73 --- fixed


(Reporter: caroline, Assigned: caroline)




(5 files, 2 obsolete files)

Currently modules are not being XDRed, and thus do not yet exist in XDR byte cache. Having modules XDRed will allow us to save on module parse time and will eventually allow us to cache standard modules instead of JSM.

Priority: -- → P3
Blocks: 1459770
No longer depends on: 1459770
Assignee: nobody → ccullen
Attachment #9109853 - Attachment is obsolete: true
Attachment #9109854 - Attachment is obsolete: true

Depends on D55596

Pushed by
Part 1: Store index into gcThings instead of RootedFunction for FunctionDeclarations inside modules. r=iain
Part 2: Pull CreateArray out of ModuleBuilder and into js namespace. r=iain
Part 3: Add support for xdr encoding modules into xdr cache. r=iain,tcampbell
Part 4: Add test harness for xdr modules. r=iain
Part 5: Tests for xdr modules. r=iain

Assuming this sticks, what else needs to happen for ES modules loaded by the browser in content windows at startup time (eg about:home) to start being cached? Anything?

Flags: needinfo?(ccullen)

This is the foundation for that, but needs to be hooked into the ScriptLoader.

Flags: needinfo?(ccullen) → needinfo?(tcampbell)

Moved blocking bugs to Bug 1602931.

No longer blocks: 1459770, 1522042
Flags: needinfo?(tcampbell)

Thanks for doing this work, Caroline!

Duplicate of this bug: 1308252
You need to log in before you can comment on or make changes to this bug.