Originally, the ScriptPreloader stopped recording and wrote its cache when the
browser-delayed-startup-finished notification fired for the first window, but there
are other scripts (both in the content and WebExtension processes) that might run
soon after that we also want to cache.
This patch still makes the parent process stop recording scripts after
browser-delayed-startup-finished, but only prepares and writes the cache
once browser-idle-startup-tasks-finished fires, when it is much more likely
that the content and WebExtension caches are ready to go.
MozReview-Commit-ID: KiBEVvuqQkA
--HG--
extra : rebase_source : 6f0fde65cdafdecf72242a06416fef10304637b8
The WebAssembly Specification, branch [1] (see also, more generally,
comments in [2]), contains a new test, limits.js, to check whether the
generally agreed embedding limits (numbers of functions, imports, etc) are
observed. This bug is to import the test and fix any resulting breakage
detected with it.
[1] https://github.com/WebAssembly/spec/tree/embedding_limits
[2] https://github.com/WebAssembly/spec/issues/607
* js/src/wasm/WasmBinaryConstants.h:
- Added MaxTableMaximumLength as a counterpart to MaxTableInitialLength.
- Split the constant group into two parts: spec-required, and those
pertaining only to our own implementation.
* js/src/wasm/WasmJS.cpp WasmTableObject::construct():
- Update GetLimits call with correct max size bound
* js/src/wasm/WasmValidate.cpp DecodeTableLimits():
- Implement missing check for a Table's maximum size.
* js/src/jit-test/tests/wasm/import-export.js:
js/src/jit-test/tests/wasm/spec/jsapi.js:
testing/web-platform/mozilla/tests/wasm/js/jsapi.js:
- Update Table maximum size tests. All tests trying to make a Table
with more than 10,000,000 entries now throw instead of succeeding.
* js/src/jit-test/tests/wasm/spec/harness/wasm-module-builder.js:
- Import minimal updates and bug fixes from [1], needed to make the
new tests work.
* js/src/jit-test/tests/wasm/spec/limits.js
- New file. Derived from [1], with comments added to each test to show
SM's compliance situation, and with two tests disabled.
--HG--
extra : rebase_source : 489c97dd2420508ad9768a2aa4714aa8dfbfe2c6
The WebAssembly Specification, branch [1] (see also, more generally,
comments in [2]), contains a new test, limits.js, to check whether the
generally agreed embedding limits (numbers of functions, imports, etc) are
observed. This bug is to import the test and fix any resulting breakage
detected with it.
[1] https://github.com/WebAssembly/spec/tree/embedding_limits
[2] https://github.com/WebAssembly/spec/issues/607
* js/src/wasm/WasmBinaryConstants.h:
- Added MaxTableMaximumLength as a counterpart to MaxTableInitialLength.
- Split the constant group into two parts: spec-required, and those
pertaining only to our own implementation.
* js/src/wasm/WasmJS.cpp WasmTableObject::construct():
- Update GetLimits call with correct max size bound
* js/src/wasm/WasmValidate.cpp DecodeTableLimits():
- Implement missing check for a Table's maximum size.
* js/src/jit-test/tests/wasm/import-export.js:
js/src/jit-test/tests/wasm/spec/jsapi.js:
- Update Table maximum size tests. All tests trying to make a Table
with more than 10,000,000 entries now throw instead of succeeding.
* js/src/jit-test/tests/wasm/spec/harness/wasm-module-builder.js:
- Import minimal updates and bug fixes from [1], needed to make the
new tests work.
* js/src/jit-test/tests/wasm/spec/limits.js
- New file. Derived from [1], with comments added to each test to show
SM's compliance situation, and with two tests disabled.
--HG--
extra : rebase_source : a1f1ec730ecae22f2aa0f510c15ebc934489a1b3
This allows us to lazily import global properties using
Cu.importGlobalProperties. Aside from making it easier to avoid lazily
importing these properties, it also defines them all in the shared JSM global
so that we don't risk re-creating them in Sandboxes or frameloader globals.
MozReview-Commit-ID: GV6shguUlIG
--HG--
extra : rebase_source : 6b9269f3b33fe085c5ed63ee16e5b4ce9e5343a4