Features (1)

Increased max nesting level for setTimeout(0)

Category: JavaScript

Increase the nesting threshold before which setTimeout(..., <4ms) start being clamped, from 5 to 15. setTimeout(..., 0) is commonly used to break down long Javascript tasks and let other internal tasks run, which prevents the browser from hanging. setTimeouts and setIntervals with an interval < 4ms are not clamped as aggressively as they were before. This improves short horizon performance, but websites abusing the API will still eventually have their set setTimeouts clamped

JSON data
{
  "category": "JavaScript",
  "flag_name": "unthrottled-nested-timeout",
  "id": 5710690097561600,
  "milestone": 108,
  "name": "Increased max nesting level for setTimeout(0)",
  "summary": "Increase the nesting threshold before which setTimeout(..., <4ms) start being clamped, from 5 to 15.\r\n\r\nsetTimeout(..., 0) is commonly used to break down long Javascript tasks and let other internal tasks run, which prevents the browser from hanging. setTimeouts and setIntervals with an interval < 4ms are not clamped as aggressively as they were before. This improves short horizon performance, but websites abusing the API will still eventually have their set setTimeouts clamped\r\n\r\n\r\n"
}

API Changes (10)

  • [M108-LTS][api] Fix v8::Object::SetAccessorProperty
  • [sandbox] Introduce BoundedSize
  • [inspector] Remove Type Profiler
  • [api] Expose parsed module source map urls
  • [intl] Implement DurationFormat
  • [api] Implement v8::Context::HasTemplateLiteralObject
  • [loong64] Supplement a LoongArch support in include/v8config.h
  • [API] Remove second OnCriticalMemoryPressure
  • [sandbox] Increase ExternalPointerTable maximum capacity to 512MB
  • Add option to report discarded allocations in sampling heap profiler
JSON data
[
  {
    "author": {
      "name": "Igor Sheludko",
      "email": "ishell@chromium.org",
      "time": "Thu Apr 27 09:11:32 2023"
    },
    "commit": "f4c70bc5e89b70ca4b040a3b89326733daffb3a5",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Thu Jun 01 12:52:24 2023"
    },
    "subject": "[M108-LTS][api] Fix v8::Object::SetAccessorProperty",
    "milestone": 108
  },
  {
    "author": {
      "name": "Samuel Groß",
      "email": "saelo@chromium.org",
      "time": "Tue Oct 11 10:53:04 2022"
    },
    "commit": "e9775165b6fe77c4a94cf7802865ed40996197aa",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Tue Oct 11 13:43:43 2022"
    },
    "subject": "[sandbox] Introduce BoundedSize",
    "milestone": 108
  },
  {
    "author": {
      "name": "Marja Hölttä",
      "email": "marja@chromium.org",
      "time": "Fri Oct 07 12:40:05 2022"
    },
    "commit": "283791d250fe8cce64e1d973116faf92ddd304e4",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Mon Oct 10 11:50:16 2022"
    },
    "subject": "[inspector] Remove Type Profiler",
    "milestone": 108
  },
  {
    "author": {
      "name": "legendecas",
      "email": "legendecas@gmail.com",
      "time": "Wed Oct 05 03:00:18 2022"
    },
    "commit": "c3dffe6e2bdab79bb5bfb94be9fcc6a16adf6cf5",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Wed Oct 05 08:13:48 2022"
    },
    "subject": "[api] Expose parsed module source map urls",
    "milestone": 108
  },
  {
    "author": {
      "name": "Frank Tang",
      "email": "ftang@chromium.org",
      "time": "Fri Sep 30 00:13:45 2022"
    },
    "commit": "39f0b4ad8a45d921bafa2bd331cce579152cdd1c",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Tue Oct 04 03:18:37 2022"
    },
    "subject": "[intl] Implement DurationFormat",
    "milestone": 108
  },
  {
    "author": {
      "name": "Camillo",
      "email": "cbruni@chromium.org",
      "time": "Thu Sep 22 08:39:10 2022"
    },
    "commit": "4e23f53cdf2014db83155ed06d0de1195733010c",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Thu Sep 22 09:47:56 2022"
    },
    "subject": "[api] Implement v8::Context::HasTemplateLiteralObject",
    "milestone": 108
  },
  {
    "author": {
      "name": "Liu Yu",
      "email": "liuyu@loongson.cn",
      "time": "Wed Sep 14 03:34:16 2022"
    },
    "commit": "56816d76c121c8dd5b406dc6019350eee05f4abd",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Thu Sep 22 02:08:22 2022"
    },
    "subject": "[loong64] Supplement a LoongArch support in include/v8config.h",
    "milestone": 108
  },
  {
    "author": {
      "name": "Clemens Backes",
      "email": "clemensb@chromium.org",
      "time": "Thu Sep 15 14:57:53 2022"
    },
    "commit": "8b870395361633a134a257c604470378d06335ed",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Fri Sep 16 10:34:13 2022"
    },
    "subject": "[API] Remove second OnCriticalMemoryPressure",
    "milestone": 108
  },
  {
    "author": {
      "name": "Samuel Groß",
      "email": "saelo@chromium.org",
      "time": "Wed Sep 14 14:15:08 2022"
    },
    "commit": "d7fcbba80e35e845a85e900cf4e3c479e3b69790",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Wed Sep 14 19:35:38 2022"
    },
    "subject": "[sandbox] Increase ExternalPointerTable maximum capacity to 512MB",
    "milestone": 108
  },
  {
    "author": {
      "name": "Seth Brenith",
      "email": "seth.brenith@microsoft.com",
      "time": "Thu Sep 08 16:27:54 2022"
    },
    "commit": "3d59a3c2c16405eea59263300c5591c3283a2a0e",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Wed Sep 14 17:39:12 2022"
    },
    "subject": "Add option to report discarded allocations in sampling heap profiler",
    "milestone": 108
  }
]