From c01e6012ea98f8558bfdd11b2aa03888fd1396aa Mon Sep 17 00:00:00 2001 From: Thomas Lively Date: Tue, 16 Jul 2024 10:28:17 -0700 Subject: [PATCH 1/2] Raise Web implementation limits for imports and exports At the CG meeting today (July 16, 2024), we had unanimous consensus to raise the limits on the number of imports and exports on the Web to 1,000,000. See https://github.com/WebAssembly/design/issues/1520 for context. --- document/js-api/index.bs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/document/js-api/index.bs b/document/js-api/index.bs index de3419cff6..ec9f6e0a94 100644 --- a/document/js-api/index.bs +++ b/document/js-api/index.bs @@ -1273,8 +1273,8 @@ In practice, an implementation may run out of resources for valid modules below
  • The maximum size of a module is 1,073,741,824 bytes (1 GiB).
  • The maximum number of types defined in the types section is 1,000,000.
  • The maximum number of functions defined in a module is 1,000,000.
  • -
  • The maximum number of imports declared in a module is 100,000.
  • -
  • The maximum number of exports declared in a module is 100,000.
  • +
  • The maximum number of imports declared in a module is 1,000,000.
  • +
  • The maximum number of exports declared in a module is 1,000,000.
  • The maximum number of globals defined in a module is 1,000,000.
  • The maximum number of data segments defined in a module is 100,000.
  • From b03056869a88c6feb1496b4dc5966ef77813f801 Mon Sep 17 00:00:00 2001 From: Thomas Lively Date: Wed, 11 Dec 2024 09:57:34 -0800 Subject: [PATCH 2/2] update limits tests --- test/js-api/limits.any.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/js-api/limits.any.js b/test/js-api/limits.any.js index d913c6c7a4..72b721bfc8 100644 --- a/test/js-api/limits.any.js +++ b/test/js-api/limits.any.js @@ -5,8 +5,8 @@ // Static limits const kJSEmbeddingMaxTypes = 1000000; const kJSEmbeddingMaxFunctions = 1000000; -const kJSEmbeddingMaxImports = 100000; -const kJSEmbeddingMaxExports = 100000; +const kJSEmbeddingMaxImports = 1000000; +const kJSEmbeddingMaxExports = 1000000; const kJSEmbeddingMaxGlobals = 1000000; const kJSEmbeddingMaxDataSegments = 100000;