Nicolas B. Pierron
8b894b8b6d
Bug 1756003 part 2 - Compare concurrent and on-demand delazification. r=arai
...
Adds a delazification mode, which spawn a concurrent depth-first delazification
of all function to fill the stencil cache, to later compare cached results with
stencils produced by on-demand delazification.
The delazification mode also works when being used from a main-thread top-level
compilation, in which case the delazification tasks are created and potentially
blocking the main thread, while the delazification is happening.
This way of doing help comparing on-demand delazification, based on instantiated
stencils with concurrent delazification, based on stencils. Which is a good
mode for fuzzing purposes.
Differential Revision: https://phabricator.services.mozilla.com/D145992
2022-05-17 10:53:04 +00:00
Iulian Moraru
6e8e12c880
Backed out 3 changesets (bug 1756003) for causing multiple thread sanitizer failures. CLOSED TREE
...
Backed out changeset cf1af3ce0798 (bug 1756003)
Backed out changeset 672e8694ef7d (bug 1756003)
Backed out changeset 3b6f96fb26fa (bug 1756003)
2022-05-14 04:00:29 +03:00
Nicolas B. Pierron
76afd6b691
Bug 1756003 part 2 - Compare concurrent and on-demand delazification. r=arai
...
Adds a delazification mode, which spawn a concurrent depth-first delazification
of all function to fill the stencil cache, to later compare cached results with
stencils produced by on-demand delazification.
The delazification mode also works when being used from a main-thread top-level
compilation, in which case the delazification tasks are created and potentially
blocking the main thread, while the delazification is happening.
This way of doing help comparing on-demand delazification, based on instantiated
stencils with concurrent delazification, based on stencils. Which is a good
mode for fuzzing purposes.
Differential Revision: https://phabricator.services.mozilla.com/D145992
2022-05-13 16:41:29 +00:00
Yoshi Cheng-Hao Huang
352888c2d3
Bug 1688879 - Part 8: Assert import maps won't be processed in ScriptLoader::EvaluateScriptElement. r=jonco,yulia
...
Differential Revision: https://phabricator.services.mozilla.com/D142076
2022-05-05 21:19:03 +00:00
Yoshi Cheng-Hao Huang
9c795af6be
Bug 1688879 - Part 7: External import maps aren't supported. r=jonco,yulia
...
External import maps aren't supported for now.
https://github.com/WICG/import-maps/issues/235
Differential Revision: https://phabricator.services.mozilla.com/D142075
2022-05-05 21:19:03 +00:00
Yoshi Cheng-Hao Huang
065c4b604c
Bug 1688879 - Part 6: Acquiring import maps. r=jonco,yulia
...
Implement https://wicg.github.io/import-maps/#document-acquiring-import-maps
Differential Revision: https://phabricator.services.mozilla.com/D142074
2022-05-05 21:19:02 +00:00
Yoshi Cheng-Hao Huang
d5ac332d96
Bug 1688879 - Part 3: Parse and register an import map. r=jonco,yulia
...
Implement
https://wicg.github.io/import-maps/#parse-an-import-map-string ,
and
https://wicg.github.io/import-maps/#register-an-import-map
Differential Revision: https://phabricator.services.mozilla.com/D142071
2022-05-05 21:19:01 +00:00
Yoshi Cheng-Hao Huang
31656e9e1f
Bug 1688879 - Part 2: Add support for import maps in ScriptElement/ScriptLoader/ScriptKind. r=jonco,yulia,smaug
...
Differential Revision: https://phabricator.services.mozilla.com/D142070
2022-05-05 21:19:01 +00:00
Butkovits Atila
b018b0e4da
Backed out 11 changesets (bug 1688879) for causing build bustages. CLOSED TREE
...
Backed out changeset 350ddd17c7f5 (bug 1688879)
Backed out changeset 27984b95ed20 (bug 1688879)
Backed out changeset 6a5bb063965f (bug 1688879)
Backed out changeset d8edcfdb504b (bug 1688879)
Backed out changeset 77ab231310ec (bug 1688879)
Backed out changeset c2bce95a1aca (bug 1688879)
Backed out changeset f5862572ced8 (bug 1688879)
Backed out changeset 05e0a1bf32fc (bug 1688879)
Backed out changeset adeab05b7419 (bug 1688879)
Backed out changeset 0e60834e17e5 (bug 1688879)
Backed out changeset 877bb4c2ce66 (bug 1688879)
2022-05-05 19:52:05 +03:00
Yoshi Cheng-Hao Huang
a277875e91
Bug 1688879 - Part 8: Assert import maps won't be processed in ScriptLoader::EvaluateScriptElement. r=jonco,yulia
...
Differential Revision: https://phabricator.services.mozilla.com/D142076
2022-05-05 16:03:18 +00:00
Yoshi Cheng-Hao Huang
0eba06d767
Bug 1688879 - Part 7: External import maps aren't supported. r=jonco,yulia
...
External import maps aren't supported for now.
https://github.com/WICG/import-maps/issues/235
Differential Revision: https://phabricator.services.mozilla.com/D142075
2022-05-05 16:03:18 +00:00
Yoshi Cheng-Hao Huang
bf610156cd
Bug 1688879 - Part 6: Acquiring import maps. r=jonco,yulia
...
Implement https://wicg.github.io/import-maps/#document-acquiring-import-maps
Differential Revision: https://phabricator.services.mozilla.com/D142074
2022-05-05 16:03:17 +00:00
Yoshi Cheng-Hao Huang
ea9b864f1c
Bug 1688879 - Part 3: Parse and register an import map. r=jonco,yulia
...
Implement
https://wicg.github.io/import-maps/#parse-an-import-map-string ,
and
https://wicg.github.io/import-maps/#register-an-import-map
Differential Revision: https://phabricator.services.mozilla.com/D142071
2022-05-05 16:03:16 +00:00
Yoshi Cheng-Hao Huang
9e51f47edc
Bug 1688879 - Part 2: Add support for import maps in ScriptElement/ScriptLoader/ScriptKind. r=jonco,yulia,smaug
...
Differential Revision: https://phabricator.services.mozilla.com/D142070
2022-05-05 16:03:16 +00:00
Narcis Beleuzu
8fd1fceb75
Backed out 9 changesets (bug 1688879) for bustages on ImportMap.cpp
...
Backed out changeset 44e9abe72a5e (bug 1688879)
Backed out changeset 0503d2d2ae01 (bug 1688879)
Backed out changeset 2cf08a51b184 (bug 1688879)
Backed out changeset 6f0276c3ab0e (bug 1688879)
Backed out changeset f16b14d8f677 (bug 1688879)
Backed out changeset 03b772e02d07 (bug 1688879)
Backed out changeset 39ed48a5ecc2 (bug 1688879)
Backed out changeset d7b42d8312bb (bug 1688879)
Backed out changeset 5e695bf5dd0d (bug 1688879)
2022-05-05 03:41:31 +03:00
Yoshi Cheng-Hao Huang
fcce265594
Bug 1688879 - Part 8: Assert import maps won't be processed in ScriptLoader::EvaluateScriptElement. r=jonco,yulia
...
Differential Revision: https://phabricator.services.mozilla.com/D142076
2022-05-04 21:02:52 +00:00
Yoshi Cheng-Hao Huang
f5298f94e8
Bug 1688879 - Part 7: External import maps aren't supported. r=jonco,yulia
...
External import maps aren't supported for now.
https://github.com/WICG/import-maps/issues/235
Differential Revision: https://phabricator.services.mozilla.com/D142075
2022-05-04 21:02:52 +00:00
Yoshi Cheng-Hao Huang
a83768b601
Bug 1688879 - Part 6: Acquiring import maps. r=jonco,yulia
...
Implement https://wicg.github.io/import-maps/#document-acquiring-import-maps
Differential Revision: https://phabricator.services.mozilla.com/D142074
2022-05-04 21:02:51 +00:00
Yoshi Cheng-Hao Huang
641d407325
Bug 1688879 - Part 3: Parse and register an import map. r=jonco,yulia
...
Implement
https://wicg.github.io/import-maps/#parse-an-import-map-string ,
and
https://wicg.github.io/import-maps/#register-an-import-map
Differential Revision: https://phabricator.services.mozilla.com/D142071
2022-05-04 21:02:50 +00:00
Yoshi Cheng-Hao Huang
9d0b0b7820
Bug 1688879 - Part 2: Add support for import maps in ScriptElement/ScriptLoader/ScriptKind. r=jonco,yulia,smaug
...
Differential Revision: https://phabricator.services.mozilla.com/D142070
2022-05-04 21:02:50 +00:00
Jon Coppeard
85d0a41c5c
Bug 1766274 - Part 4: Change references to module trees to module graphs r=yulia
...
Module imports can be cyclic so it's more correct to refer to them as graphs.
The spec also uses this term.
Depends on D144599
Differential Revision: https://phabricator.services.mozilla.com/D144600
2022-04-26 12:40:48 +00:00
Jon Coppeard
be040930d2
Bug 1766274 - Part 1: Rename ProcessFetchedModuleSource to OnFetchComplete and pass an error code r=yulia
...
This renames the method to correspond to StartFetch and adds a status argument
so clients can call this rather than
SetModuleFetchFinishedAndResumeWaitingRequests on error.
Depends on D144595
Differential Revision: https://phabricator.services.mozilla.com/D144596
2022-04-26 12:40:47 +00:00
Jon Coppeard
3037c5c55b
Bug 1766276 - Give MaybeOneOf a map method r=jandem
...
There are a few places where we call one of two overloads of a fuction based on
the contents of a MaybeOneOf. We can simplify this code by giving the class a
map method.
Differential Revision: https://phabricator.services.mozilla.com/D144595
2022-04-26 12:29:24 +00:00
Yulia Startsev
87fc25d125
Bug 1763372 - Rename GetLoadContext to GetScriptLoadContext; r=jonco
...
Depends on D143068
Differential Revision: https://phabricator.services.mozilla.com/D143037
2022-04-22 13:24:10 +00:00
Yulia Startsev
8cfef949b3
Bug 1763586 - Remove Element from LoadScript and child classes; r=jonco
...
Differential Revision: https://phabricator.services.mozilla.com/D143139
2022-04-21 09:53:34 +00:00
Yulia Startsev
70b812515a
Bug 1763586 - Adjust ScriptFetchOptions to be more accurate; r=jonco
...
Differential Revision: https://phabricator.services.mozilla.com/D143137
2022-04-21 09:53:33 +00:00
criss
2a954af256
Backed out 4 changesets (bug 1763586) for causing mochitest failures on test_Debugger.Source.prototype.elementAttribute.html. CLOSED TREE
...
Backed out changeset 8da9574159d3 (bug 1763586)
Backed out changeset 8f964a9e2f31 (bug 1763586)
Backed out changeset 420105516ec3 (bug 1763586)
Backed out changeset 68cd444d018e (bug 1763586)
2022-04-19 16:28:30 +03:00
Yulia Startsev
7d51003111
Bug 1763586 - Remove Element from LoadScript and child classes; r=jonco
...
Differential Revision: https://phabricator.services.mozilla.com/D143139
2022-04-19 12:28:49 +00:00
Yulia Startsev
0da57f61bb
Bug 1763586 - Adjust ScriptFetchOptions to be more accurate; r=jonco
...
Differential Revision: https://phabricator.services.mozilla.com/D143137
2022-04-19 12:28:48 +00:00
Iulian Moraru
227066f57e
Backed out 3 changesets (bug 1763586) for causing mochitest-chrome failures on test_Debugger.Source.prototype.element.html.
...
Backed out changeset f6b6ccfce3d1 (bug 1763586)
Backed out changeset ca0157c919a9 (bug 1763586)
Backed out changeset e0294a6f9f9f (bug 1763586)
2022-04-13 21:53:34 +03:00
Yulia Startsev
272e6bea25
Bug 1763586 - Remove Element from LoadScript and child classes; r=jonco
...
Differential Revision: https://phabricator.services.mozilla.com/D143139
2022-04-13 16:29:36 +00:00
Yulia Startsev
b8fdd1cb6a
Bug 1763586 - Adjust ScriptFetchOptions to be more accurate; r=jonco
...
Differential Revision: https://phabricator.services.mozilla.com/D143137
2022-04-13 16:29:36 +00:00
Marian-Vasile Laza
a3aadc47df
Backed out 3 changesets (bug 1763586) foar causing sm bustages. CLOSED TREE
...
Backed out changeset 02a961432a49 (bug 1763586)
Backed out changeset 3fc84237decb (bug 1763586)
Backed out changeset 365eff56ce0f (bug 1763586)
2022-04-12 09:49:21 -07:00
Yulia Startsev
b3bf5e2991
Bug 1763586 - Remove Element from LoadScript and child classes; r=jonco
...
Differential Revision: https://phabricator.services.mozilla.com/D143139
2022-04-12 16:16:32 +00:00
Yulia Startsev
5dd282eb7d
Bug 1763586 - Adjust ScriptFetchOptions to be more accurate; r=jonco
...
Differential Revision: https://phabricator.services.mozilla.com/D143137
2022-04-12 16:16:31 +00:00
Jon Coppeard
2a22044473
Bug 1761938 - Part 6: Remove global from script load context r=smaug,yulia
...
This removes the global object field from the script load context and gets the
global from the script loader / module loader where necessary.
Differential Revision: https://phabricator.services.mozilla.com/D142833
2022-04-11 15:35:30 +00:00
Jon Coppeard
42de261a2e
Bug 1761938 - Part 5: Use module loader's global where possible and remove GetGlobalForRequest from script loader interface r=yulia
...
Differential Revision: https://phabricator.services.mozilla.com/D142832
2022-04-11 15:35:30 +00:00
Jon Coppeard
95257109ee
Bug 1761938 - Part 4: Give module loaders a global object field r=smaug,yulia
...
This gives the module loader a field for the current global, since a module map
is only associated with a single global.
This adds a method to Document to tell the script loader when its global
changes. I'm not sure of when we do this exactly.
Differential Revision: https://phabricator.services.mozilla.com/D142831
2022-04-11 15:35:29 +00:00
Jon Coppeard
e78bb3903c
Bug 1761938 - Part 2: Give each web extension content script global its own module loader r=smaug,yulia
...
This gives the DOM module loader a kind and records content script module
loaders in an array on the script loader.
Differential Revision: https://phabricator.services.mozilla.com/D142829
2022-04-11 15:35:28 +00:00
Jon Coppeard
94bff9357d
Bug 1761938 - Part 1: Call into the module loader via the module load request object r=yulia
...
The script loader will need to deal with requests from more than one module
loader so this adds methods to the request which dispatch to the correct
loader.
Differential Revision: https://phabricator.services.mozilla.com/D142828
2022-04-11 15:35:28 +00:00
Jon Coppeard
ed61ae9b57
Bug 1759881 - Part 10: Move the generic parts of the StartLoad method to the module loader base r=yulia
...
StartModuleLoadImpl moves to the base class and uses to new virtual methods
CanStartLoad and StartFetch which are implemented by the derived class.
Differential Revision: https://phabricator.services.mozilla.com/D141736
2022-03-28 15:56:10 +00:00
Jon Coppeard
1bb3a3fa3a
Bug 1761432 - Part 4: Rename state accessor methods after the enum values r=smaug
...
Differential Revision: https://phabricator.services.mozilla.com/D142044
2022-03-25 10:54:17 +00:00
Jon Coppeard
df9edbebe8
Bug 1761432 - Part 2: Split out script load request state for when we require loading from source r=smaug
...
This is used when we explicitly don't want to load cached bytecode. It is
better served by a separate flag in the request than a state.
Differential Revision: https://phabricator.services.mozilla.com/D142042
2022-03-25 10:54:16 +00:00
Jon Coppeard
0ba898655d
Bug 1761432 - Part 1: Rename ScriptLoadRequest progress enum to 'State' r=smaug
...
This also renames 'loading' enum values to 'fetching' since this is more
specific. Loading covers the whole process of loading, which includes the other
states.
Enum values have the leading 'e' removed in line with the coding style for enum
classes.
Differential Revision: https://phabricator.services.mozilla.com/D142041
2022-03-25 10:54:16 +00:00
Tooru Fujisawa
a05cf371c9
Bug 1759206 - Part 2: Use ModuleObject instead of script for encoding module bytecode cache. r=nbp
...
Depends on D141743
Differential Revision: https://phabricator.services.mozilla.com/D141744
2022-03-23 12:51:39 +00:00
Jon Coppeard
1b4dec7136
Bug 1759881 - Part 5: Remove microtask checkpoints from the module loader in couple of places r=smaug
...
This removes the microtask checkpoint when instantiating modules and moves the
one when creating a module script to the the script loader.
Differential Revision: https://phabricator.services.mozilla.com/D141252
2022-03-17 15:22:18 +00:00
Jon Coppeard
1db05a03a1
Bug 1759881 - Part 3: Don't pass a global to FillCompileOptionsForRequest r=yulia
...
This can work it out if it needs it by calling GetGlobalForRequest.
Depends on D141249
Differential Revision: https://phabricator.services.mozilla.com/D141250
2022-03-17 15:22:17 +00:00
Jon Coppeard
4baf2c7e5a
Bug 1759881 - Part 1: Make list of dynamic import requests private r=yulia
...
This restricts access to mDynamicImportRequests and adds the appropriate accessors.
Differential Revision: https://phabricator.services.mozilla.com/D141248
2022-03-17 15:22:16 +00:00
Tooru Fujisawa
1d53179c23
Bug 1436400 - Part 10: Support bytecode cache for module script. r=nbp
...
Differential Revision: https://phabricator.services.mozilla.com/D140297
2022-03-15 19:05:57 +00:00
Tooru Fujisawa
269bab5cb4
Bug 1436400 - Part 9: Support restarting module load request. r=jonco
...
After enabling bytecode cache for module script, we need to handle
the SRI mismatch on bytecode cache, that requires reloading the script source
again.
Differential Revision: https://phabricator.services.mozilla.com/D140551
2022-03-15 19:05:57 +00:00