Nicolas B. Pierron
a5888fac59
Bug 1753709 - Add test case to verify delazification strategy is used. r=arai
...
Differential Revision: https://phabricator.services.mozilla.com/D138541
2022-02-21 17:26:03 +00:00
Nicolas B. Pierron
e6b364b472
Bug 1753709 - JavaScript: Add a preference to switch between delazification strategies. r=arai
...
This patch changes the way we parse JavaScript coming from Necko while loading
web pages, by adding an about:config flag named
javascript.options.delazification.strategy which is used to select between:
0 - On Demand
1 - Concurrent Depth First
255 - Parse Everything Eagerly
Previously, we moved from On-demand delazification, to parsing everything
eagerly to improve responsiveness of the browser, but we knew that more room for
optimization exists.
This toogle is meant to explore the space of delazification strategies, such
that we can parse functions of JavaScript files on an helper thread, while the
JavaScript file is being executed on the main thread. The space of
delazification strategies goes from ordering the order in which functions are
processed, as well as filtering functions which are processed. Not all functions
have to be delazified, and if the main thread needs a function which is not
parsed yet, it will fallback to parsing it on-demand.
Differential Revision: https://phabricator.services.mozilla.com/D138034
2022-02-21 17:26:03 +00:00
Yulia Startsev
79409316d1
Bug 1742437 - re-scope all generic module/script loader files under js/loader; r=jonco
...
Differential Revision: https://phabricator.services.mozilla.com/D138133
2022-02-21 15:39:09 +00:00
Yulia Startsev
7ee758a2f5
Bug 1742437 - move DOM script context into own file and rename it; r=jonco
...
Differential Revision: https://phabricator.services.mozilla.com/D138132
2022-02-21 15:39:08 +00:00
Yulia Startsev
65b14f6546
Bug 1742437 - move DOM module loader into own file; r=jonco
...
Differential Revision: https://phabricator.services.mozilla.com/D137531
2022-02-21 15:39:08 +00:00
Yulia Startsev
720155230b
Bug 1742437 - Create DOM specific Module Loader; r=jonco
...
Differential Revision: https://phabricator.services.mozilla.com/D137298
2022-02-21 15:39:07 +00:00
Yulia Startsev
43fff76dda
Bug 1742437 - move FireScript.* methods from DOMScriptLoadContext to ScriptLoader;r=jonco,smaug
...
Differential Revision: https://phabricator.services.mozilla.com/D137441
2022-02-21 15:39:07 +00:00
Yulia Startsev
02bed72c31
Bug 1742437 - clean up DOMScriptLoadRequest creation; r=jonco,smaug
...
Differential Revision: https://phabricator.services.mozilla.com/D136746
2022-02-21 15:39:06 +00:00
Yulia Startsev
baceff6905
Bug 1742437 - move mLineNo from ScriptLoadRequest to DOMScriptLoadContext; r=jonco,smaug
...
Differential Revision: https://phabricator.services.mozilla.com/D136745
2022-02-21 15:39:06 +00:00
Yulia Startsev
3bf222c5c4
Bug 1742437 - move mWebExtGlobal from ScriptLoadRequest to DOMScriptLoadContext; r=jonco,smaug
...
Differential Revision: https://phabricator.services.mozilla.com/D136744
2022-02-21 15:39:06 +00:00
Yulia Startsev
03e65d88dc
Bug 1742437 - move mIsPreload from ScriptFetchOptions to DOMScriptLoadContext, and introduce GetRootModule; r=jonco,smaug
...
Differential Revision: https://phabricator.services.mozilla.com/D136743
2022-02-21 15:39:05 +00:00
Yulia Startsev
f1640d290a
Bug 1742437 - move mElement from ScriptFetchOptions to DOMScriptLoadContext; r=jonco,smaug
...
Differential Revision: https://phabricator.services.mozilla.com/D136742
2022-02-21 15:39:05 +00:00
Yulia Startsev
7ded97bc1a
Bug 1742437 - Split ScriptLoadRequest into ScriptLoadRequest and DOMScriptLoadContext; r=jonco,smaug
...
Differential Revision: https://phabricator.services.mozilla.com/D134041
2022-02-21 15:39:04 +00:00
Norisz Fay
4c85ac47c5
Backed out 12 changesets (bug 1742437) for causing Bp-hybrid bustages on ModuleLoader.obj
...
Backed out changeset 7d5683180ac3 (bug 1742437)
Backed out changeset a48aff5f2555 (bug 1742437)
Backed out changeset 7e54a223001d (bug 1742437)
Backed out changeset 3a34d557d474 (bug 1742437)
Backed out changeset f29451ea18dc (bug 1742437)
Backed out changeset c0bd1d29be62 (bug 1742437)
Backed out changeset 8b970fb6e4e6 (bug 1742437)
Backed out changeset 729c48e34d6b (bug 1742437)
Backed out changeset 9355004c7f6a (bug 1742437)
Backed out changeset 0a5f61274aed (bug 1742437)
Backed out changeset a50f60a612d3 (bug 1742437)
Backed out changeset 0ac6d9d26e2b (bug 1742437)
2022-02-18 00:00:41 +02:00
Yulia Startsev
499559431e
Bug 1742437 - re-scope all generic module/script loader files under js/loader; r=jonco
...
Differential Revision: https://phabricator.services.mozilla.com/D138133
2022-02-17 15:57:52 +00:00
Yulia Startsev
6b6405ccec
Bug 1742437 - move DOM script context into own file and rename it; r=jonco
...
Differential Revision: https://phabricator.services.mozilla.com/D138132
2022-02-17 15:57:51 +00:00
Yulia Startsev
7393cf9895
Bug 1742437 - move DOM module loader into own file; r=jonco
...
Differential Revision: https://phabricator.services.mozilla.com/D137531
2022-02-17 15:57:51 +00:00
Yulia Startsev
9d88a43372
Bug 1742437 - Create DOM specific Module Loader; r=jonco
...
Differential Revision: https://phabricator.services.mozilla.com/D137298
2022-02-17 15:57:50 +00:00
Yulia Startsev
268109ff63
Bug 1742437 - move FireScript.* methods from DOMScriptLoadContext to ScriptLoader;r=jonco,smaug
...
Differential Revision: https://phabricator.services.mozilla.com/D137441
2022-02-17 15:57:50 +00:00
Yulia Startsev
be5ee22d2a
Bug 1742437 - clean up DOMScriptLoadRequest creation; r=jonco,smaug
...
Differential Revision: https://phabricator.services.mozilla.com/D136746
2022-02-17 15:57:50 +00:00
Yulia Startsev
0ff9a66992
Bug 1742437 - move mLineNo from ScriptLoadRequest to DOMScriptLoadContext; r=jonco,smaug
...
Differential Revision: https://phabricator.services.mozilla.com/D136745
2022-02-17 15:57:49 +00:00
Yulia Startsev
7d30713e74
Bug 1742437 - move mWebExtGlobal from ScriptLoadRequest to DOMScriptLoadContext; r=jonco,smaug
...
Differential Revision: https://phabricator.services.mozilla.com/D136744
2022-02-17 15:57:49 +00:00
Yulia Startsev
c413fa305d
Bug 1742437 - move mIsPreload from ScriptFetchOptions to DOMScriptLoadContext, and introduce GetRootModule; r=jonco,smaug
...
Differential Revision: https://phabricator.services.mozilla.com/D136743
2022-02-17 15:57:48 +00:00
Yulia Startsev
09f0828968
Bug 1742437 - move mElement from ScriptFetchOptions to DOMScriptLoadContext; r=jonco,smaug
...
Differential Revision: https://phabricator.services.mozilla.com/D136742
2022-02-17 15:57:48 +00:00
Yulia Startsev
f212e8a1c1
Bug 1742437 - Split ScriptLoadRequest into ScriptLoadRequest and DOMScriptLoadContext; r=jonco,smaug
...
Differential Revision: https://phabricator.services.mozilla.com/D134041
2022-02-17 15:57:48 +00:00
Marian-Vasile Laza
28f5fc0dc0
Backed out 3 changesets (bug 1753709) for causing build bustages on ScriptLoader.cpp. CLOSED TREE
...
Backed out changeset 8d2f548f2b46 (bug 1753709)
Backed out changeset 9d41db9f2e17 (bug 1753709)
Backed out changeset 13dbf5b806ec (bug 1753709)
2022-02-16 18:51:37 +02:00
Nicolas B. Pierron
3671196620
Bug 1753709 - Add test case to verify delazification strategy is used. r=arai
...
Differential Revision: https://phabricator.services.mozilla.com/D138541
2022-02-16 11:01:33 +00:00
Nicolas B. Pierron
85b56fc607
Bug 1753709 - JavaScript: Add a preference to switch between delazification strategies. r=arai
...
This patch changes the way we parse JavaScript coming from Necko while loading
web pages, by adding an about:config flag named
javascript.options.delazification.strategy which is used to select between:
0 - On Demand
1 - Concurrent Depth First
255 - Parse Everything Eagerly
Previously, we moved from On-demand delazification, to parsing everything
eagerly to improve responsiveness of the browser, but we knew that more room for
optimization exists.
This toogle is meant to explore the space of delazification strategies, such
that we can parse functions of JavaScript files on an helper thread, while the
JavaScript file is being executed on the main thread. The space of
delazification strategies goes from ordering the order in which functions are
processed, as well as filtering functions which are processed. Not all functions
have to be delazified, and if the main thread needs a function which is not
parsed yet, it will fallback to parsing it on-demand.
Differential Revision: https://phabricator.services.mozilla.com/D138034
2022-02-16 11:01:33 +00:00
Kagami Sascha Rosylight
d5c873e8f4
Bug 1539884 - Part 17: Mark nsIScriptLoaderObserver::scriptEvaluated as can_run_script r=masayuki
...
Depends on D134107
Differential Revision: https://phabricator.services.mozilla.com/D134108
2021-12-17 13:27:52 +00:00
Yulia Startsev
8e87e45a45
Bug 1745626 - Dynamic import should always try to unblock onload event in DOM context; r=jonco
...
Differential Revision: https://phabricator.services.mozilla.com/D133629
2021-12-14 10:53:58 +00:00
Tooru Fujisawa
fbb9c44cf3
Bug 1734098 - Part 11: Add JS::DecodeStencilOffThread. r=tcampbell
...
Also make JS::CanDecodeOffThread to receive JS::DecodeOptions.
Differential Revision: https://phabricator.services.mozilla.com/D133052
2021-12-10 04:28:29 +00:00
Tooru Fujisawa
c98888fc04
Bug 1734098 - Part 7: Add JS::CompileModuleToStencilOffThread. r=tcampbell
...
Differential Revision: https://phabricator.services.mozilla.com/D133048
2021-12-10 04:28:28 +00:00
Tooru Fujisawa
86c24b48de
Bug 1734098 - Part 3: Use JS::CompileToStencilOffThread instead of JS::CompileOffThread in ScriptLoader. r=nbp
...
Differential Revision: https://phabricator.services.mozilla.com/D133044
2021-12-10 04:28:26 +00:00
Iulian Moraru
777ce42897
Backed out 17 changesets (bug 1744178, bug 1734098) for causing leaks. CLOSED TREE
...
Backed out changeset 08070838c7d2 (bug 1734098)
Backed out changeset cfdf7ed9a5a2 (bug 1734098)
Backed out changeset 02d7ca7fc45c (bug 1734098)
Backed out changeset 7b7c59fc644b (bug 1734098)
Backed out changeset 630055366dac (bug 1734098)
Backed out changeset da83b4571cf2 (bug 1734098)
Backed out changeset 323af9d3e0e1 (bug 1734098)
Backed out changeset cf458ad5345a (bug 1734098)
Backed out changeset a85846f79eb5 (bug 1734098)
Backed out changeset 0d07931e6bc8 (bug 1734098)
Backed out changeset ffd72fa3fc59 (bug 1734098)
Backed out changeset 3174f1ecfd03 (bug 1734098)
Backed out changeset cfb19671fd4e (bug 1734098)
Backed out changeset c3b9c8221059 (bug 1734098)
Backed out changeset 532328aedaaa (bug 1734098)
Backed out changeset 48aa5ca15135 (bug 1734098)
Backed out changeset 6ca5bceb693c (bug 1744178)
2021-12-09 23:36:34 +02:00
Tooru Fujisawa
7238b56ae6
Bug 1734098 - Part 11: Add JS::DecodeStencilOffThread. r=tcampbell
...
Also make JS::CanDecodeOffThread to receive JS::DecodeOptions.
Differential Revision: https://phabricator.services.mozilla.com/D133052
2021-12-09 18:21:13 +00:00
Tooru Fujisawa
3eadfe0416
Bug 1734098 - Part 7: Add JS::CompileModuleToStencilOffThread. r=tcampbell
...
Differential Revision: https://phabricator.services.mozilla.com/D133048
2021-12-09 18:21:12 +00:00
Tooru Fujisawa
2fdc0ae73e
Bug 1734098 - Part 3: Use JS::CompileToStencilOffThread instead of JS::CompileOffThread in ScriptLoader. r=nbp
...
Differential Revision: https://phabricator.services.mozilla.com/D133044
2021-12-09 18:21:10 +00:00
Yulia Startsev
598c3cb599
Bug 1311726 - Split ScriptLoader into ScriptLoader and ModuleLoader; r=jonco
...
Differential Revision: https://phabricator.services.mozilla.com/D132683
2021-12-09 13:26:21 +00:00
Yulia Startsev
05b2c1af0b
Bug 1311726 - Create ScriptLoaderInterface; r=jonco
...
Differential Revision: https://phabricator.services.mozilla.com/D132614
2021-12-09 13:26:20 +00:00
Yulia Startsev
8b86490809
Bug 1311726 - Move GetProfilerLabelForRequest to ScriptLoadRequest; r=jonco
...
Differential Revision: https://phabricator.services.mozilla.com/D132951
2021-12-09 13:26:20 +00:00
Yulia Startsev
a578ef834d
Bug 1311726 - Move getScriptSource to ScriptLoadRequest; r=jonco
...
Differential Revision: https://phabricator.services.mozilla.com/D132950
2021-12-09 13:26:19 +00:00
Yulia Startsev
2746eb0099
Bug 1311726 - Move Module Evaluation into ModuleLoader; r=jonco
...
Module evaluation is independent of it's context. We just need the globalObject to set up the
execution environment.
Differential Revision: https://phabricator.services.mozilla.com/D132678
2021-12-09 13:26:19 +00:00
Yulia Startsev
6074bbfaf3
Bug 1311726 - Move module hook instantiation to ModuleLoader constructor; r=jonco
...
Differential Revision: https://phabricator.services.mozilla.com/D132677
2021-12-09 13:26:19 +00:00
Yulia Startsev
5b69203cf1
Bug 1311726 - ModuleLoadRequest loader is a ModuleLoader; r=jonco
...
Differential Revision: https://phabricator.services.mozilla.com/D132825
2021-12-09 13:26:18 +00:00
Yulia Startsev
93e166bd7d
Bug 1311726 - Move Dynamic Import Methods to ModuleLoader; r=jonco
...
Differential Revision: https://phabricator.services.mozilla.com/D132613
2021-12-09 13:26:18 +00:00
Yulia Startsev
b7b6684dd0
Bug 1311726 - Move CheckModuleDependeciesLoaded to ModuleLoadRequest; r=jonco
...
Differential Revision: https://phabricator.services.mozilla.com/D132612
2021-12-09 13:26:17 +00:00
Yulia Startsev
453d007f20
Bug 1311726 - Move methods related to resolution and error handling to ModuleLoader;r=jonco
...
Differential Revision: https://phabricator.services.mozilla.com/D132611
2021-12-09 13:26:17 +00:00
Yulia Startsev
b015eed4e9
Bug 1311726 - Move methods related to instantiating the module tree to ModuleLoader;r=jonco
...
Differential Revision: https://phabricator.services.mozilla.com/D132610
2021-12-09 13:26:17 +00:00
Yulia Startsev
df9a671ebb
Bug 1311726 - Create ModuleLoader Class; r=jonco
...
Differential Revision: https://phabricator.services.mozilla.com/D132609
2021-12-09 13:26:16 +00:00
Yulia Startsev
dab56eff57
Bug 1311726 - Pass JSContext instead of JSAPI to FillCompileOptionsForRequest; r=jonco
...
Differential Revision: https://phabricator.services.mozilla.com/D132608
2021-12-09 13:26:16 +00:00