[meta] Stencil Phase 2 Use-Cases
Categories
(Core :: JavaScript Engine, task, P2)
Tracking
()
People
(Reporter: tcampbell, Unassigned)
References
(Depends on 3 open bugs, Blocks 1 open bug)
Details
(Keywords: meta)
For the phase 2 of Stencil we want to want to revisit different use cases of parsing in the browser and reevaluate previous design choices and look for opportunities to use stencil for more interesting things.
Reporter | ||
Comment 1•4 years ago
|
||
Part of the complexity of talking about "use-cases" is that there are several different loaders that target different caches. Generally the script loaders will inform the type of changes we want to make with Stencil.
{mozJSSubScriptLoader, mozJSComponentLoader, nsXULPrototypeScript, nsMessageManagerScriptExecutor} -> {StartupCache, ScriptPreloader}
{ScriptLoader} -> {JSBC}
Reporter | ||
Comment 2•4 years ago
|
||
Here is a list of parts of Gecko that evaluate JavaScript:
- ChromeScriptLoader/AsyncScriptCompiler/PrecompiledScript [CLONE]
- mozJSSubScriptLoader [CLONE, XDR]
- nsMessageManagerScriptExecutor [CLONE, XDR]
- nsXULPrototypeScript/PrototypeDocumentContentSink [CLONE, XDR]
- mozJSComponentLoader [CLONE, XDR]
- dom::ScriptLoader [XDR]
- ECMAScript eval/Function/import [CLONE]
- EventListenerManager
- nsJSProtocolHandler
- nsNPAPIPlugin
- Worklet
- xpc::Sandbox
- ProxyAutoConfig
- Worker/importScripts
- {Window,Worker}ScriptTimeoutHandler
Items labelled XDR
are existing uses of bytecode caching (based on JSScript-XDR). Items labelled CLONE
indirectly may trigger script cloning.
Description
•