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