Features (1)

8MB Limit for WebAssembly.Module() on the Main Thread

Category: WebAssembly

Chrome has extended the size limit on synchronous WebAssembly compilation on the main thread from 4KB to 8MB. This extension is possible thanks to improvements in the WebAssembly runtime V8. The 8MB limit has been determined through performance measurements on a Google Pixel 1 phone, which is currently considered a representative low-end phone. Future developments in V8 or in hardware may allow to extend the limit further. WebAssembly modules that are bigger than 8MB can be compiled asynchronously with WebAssembly.compile(), or sychronously on a Worker.

JSON data
{
  "category": "WebAssembly",
  "flag_name": "",
  "id": 5099433642950656,
  "milestone": 115,
  "name": "8MB Limit for WebAssembly.Module() on the Main Thread",
  "summary": "Chrome has extended the size limit on synchronous WebAssembly compilation on the main thread from 4KB to 8MB. This extension is possible thanks to improvements in the WebAssembly runtime V8. The 8MB limit has been determined through performance measurements on a Google Pixel 1 phone, which is currently considered a representative low-end phone. Future developments in V8 or in hardware may allow to extend the limit further. WebAssembly modules that are bigger than 8MB can be compiled asynchronously with WebAssembly.compile(), or sychronously on a Worker."
}

API Changes (12)

  • Make V8_ASSUME "use" the input values
  • Make heap snapshots more precise
  • [fastcall] Support 64-bit integer return values, add BigInt as possible representation for 64-bit integers
  • [API] Add ThreadIsolatedAllocator to Platform
  • Add deep serialization with options
  • [api] Remove String::CanMakeExternal()
  • [runtime] Expand the protector of @@replace to @@matchAll and @@split
  • [builtins] Remake Api callback thunk wrappers calling convention
  • [sandbox] Refactor the ExternalPointerTable
  • Add `weakLocalObjectId` to WebDriver serialization
  • [api] Fix v8::Object::SetAccessorProperty
  • heap: Add EmbedderRootHandler::TryResetRoot
JSON data
[
  {
    "author": {
      "name": "Clemens Backes",
      "email": "clemensb@chromium.org",
      "time": "Wed May 17 11:04:26 2023"
    },
    "commit": "434e9ec835dff9048a148dec4427579c9f13793b",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Wed May 17 12:51:33 2023"
    },
    "subject": "Make V8_ASSUME \"use\" the input values",
    "milestone": 115
  },
  {
    "author": {
      "name": "Seth Brenith",
      "email": "seth.brenith@microsoft.com",
      "time": "Mon May 08 16:13:50 2023"
    },
    "commit": "6e68cc754a9b2a00f50c28e2849571a3909b81d1",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Tue May 16 14:43:34 2023"
    },
    "subject": "Make heap snapshots more precise",
    "milestone": 115
  },
  {
    "author": {
      "name": "Aapo Alasuutari",
      "email": "aapo.alasuutari@gmail.com",
      "time": "Thu May 11 14:14:20 2023"
    },
    "commit": "6584b6661b00e4b62ce82912b722a6dc201b7f8b",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Tue May 16 08:39:43 2023"
    },
    "subject": "[fastcall] Support 64-bit integer return values, add BigInt as possible representation for 64-bit integers",
    "milestone": 115
  },
  {
    "author": {
      "name": "Stephen Roettger",
      "email": "sroettger@google.com",
      "time": "Wed May 10 10:22:42 2023"
    },
    "commit": "02e64e0d09bea3240135bf0b2d4ef423f66b3a82",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Wed May 10 11:29:13 2023"
    },
    "subject": "[API] Add ThreadIsolatedAllocator to Platform",
    "milestone": 115
  },
  {
    "author": {
      "name": "Maksim Sadym",
      "email": "sadym@chromium.org",
      "time": "Fri May 05 08:10:08 2023"
    },
    "commit": "26c1fc95c3fb8d4c7589eafc46df73b7446401f3",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Fri May 05 08:59:11 2023"
    },
    "subject": "Add deep serialization with options",
    "milestone": 115
  },
  {
    "author": {
      "name": "pthier",
      "email": "pthier@chromium.org",
      "time": "Wed May 03 12:28:00 2023"
    },
    "commit": "ca548e3863f178b1377c0d013dc6c673114488e4",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Thu May 04 08:05:14 2023"
    },
    "subject": "[api] Remove String::CanMakeExternal()",
    "milestone": 115
  },
  {
    "author": {
      "name": "Pan, Tao",
      "email": "tao.pan@intel.com",
      "time": "Thu May 04 01:06:22 2023"
    },
    "commit": "4becb939339f1de4744f95b9fcb10bda57cf7e99",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Thu May 04 02:12:20 2023"
    },
    "subject": "[runtime] Expand the protector of @@replace to @@matchAll and @@split",
    "milestone": 115
  },
  {
    "author": {
      "name": "Igor Sheludko",
      "email": "ishell@chromium.org",
      "time": "Tue May 02 15:33:21 2023"
    },
    "commit": "c56004231528c09baff88993aa9be093648bca1e",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Wed May 03 07:59:42 2023"
    },
    "subject": "[builtins] Remake Api callback thunk wrappers calling convention",
    "milestone": 115
  },
  {
    "author": {
      "name": "Samuel Groß",
      "email": "saelo@chromium.org",
      "time": "Tue May 02 11:07:35 2023"
    },
    "commit": "18a6a6c680b0cf122cab8d51e1e9ffc10f11bd69",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Tue May 02 11:53:32 2023"
    },
    "subject": "[sandbox] Refactor the ExternalPointerTable",
    "milestone": 115
  },
  {
    "author": {
      "name": "Maksim Sadym",
      "email": "sadym@chromium.org",
      "time": "Fri Apr 28 08:28:02 2023"
    },
    "commit": "948737431627f283980aa074ffd887de770c78ff",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Fri Apr 28 10:39:26 2023"
    },
    "subject": "Add `weakLocalObjectId` to WebDriver serialization",
    "milestone": 115
  },
  {
    "author": {
      "name": "Igor Sheludko",
      "email": "ishell@chromium.org",
      "time": "Thu Apr 27 09:11:32 2023"
    },
    "commit": "b8020e1973d7d3a50b17c076cd948f079e59f9e5",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Thu Apr 27 09:52:43 2023"
    },
    "subject": "[api] Fix v8::Object::SetAccessorProperty",
    "milestone": 115
  },
  {
    "author": {
      "name": "Anton Bikineev",
      "email": "bikineev@chromium.org",
      "time": "Tue Apr 25 10:16:42 2023"
    },
    "commit": "f1dffadd65c4667a93f4edd7d8dfb74e9b6c8086",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Tue Apr 25 11:17:15 2023"
    },
    "subject": "heap: Add EmbedderRootHandler::TryResetRoot",
    "milestone": 115
  }
]