Features (1)

Align Timers (including DOM timers) at 125 Hz

Category: JavaScript

Run all timers (with a few exceptions) with a non-zero delay on a regular 8ms aligned wake up (125 Hz), instead of as soon as their delay has passed. This affect DOM timers; On foreground pages, run DOM timers with a non-zero delay on a regular 8ms aligned wake up, instead of as soon as their delay has passed. On background pages, DOM timers already run on a regular 1s aligned wake up (1 Hz), or even less frequently after 5 minutes.

JSON data
{
  "category": "JavaScript",
  "flag_name": "align-wakeups",
  "id": 5680188671655936,
  "milestone": 107,
  "name": "Align Timers (including DOM timers) at 125 Hz",
  "summary": "Run all timers (with a few exceptions) with a non-zero delay on a regular 8ms aligned wake up (125 Hz), instead of as soon as their delay has passed.\r\n\r\nThis affect DOM timers; On foreground pages, run DOM timers with a non-zero delay on a regular 8ms aligned wake up, instead of as soon as their delay has passed.\r\nOn background pages, DOM timers already run on a regular 1s aligned wake up (1 Hz), or even less frequently after 5 minutes."
}

API Changes (27)

  • [inspector] Add use counter for async stack tagging API
  • [sandbox] Introduce ExternalPointerTable::Freelist
  • [csa][codegen] Optimize IsStrong/IsWeakOrCleared
  • [mips32] Delete mips32 from v8
  • [sandbox] Fold V8_SANDBOXED_EXTERNAL_POINTERS into V8_ENABLE_SANDBOX
  • [shared-struct] Rework shared value serializer API again
  • [regexp] Add v-Flag for Unicode Sets
  • [strings] Support shared external strings
  • [sandbox] Sandboxify ExternalString external pointers
  • [inspector] Introduce instrumentation pause distinction
  • [shared-struct] Rework ValueSerializer::Delegate::SupportsSharedValues
  • [sandbox] Sandboxify Foreign external pointers
  • [fastcall] fix options.data representation
  • [sandbox] Move ExternalPointerTable entry logic into new Entry class
  • [shared-struct] Use PersistentHandles to convey shared values
  • [sandbox] Unsandboxify CodeEntryPoint
  • [builtins][masm] Move hot flags to the beginning of IsolateData
  • [wasm][API] Remove deprecated API
  • [sandbox] Remove a number of native allocations from WasmInstanceObject
  • [shared-struct, api] Support shared isolates in API
  • Fix build with -Wextra-semi
  • [compiler] Add a use counter for Turbofan OSR compiles
  • [api, heap] Deprecate v8::EmbedderHeapTracer
  • [api] Add v8::CrashKeyId::kCodeRangeBaseAddress
  • [API] Deprecate second OnCriticalMemoryPressure
  • [sandbox] Sandboxify EmbedderDataSlots
  • [sandbox] Remove V8::InitializeSandbox
JSON data
[
  {
    "author": {
      "name": "Simon Zünd",
      "email": "szuend@chromium.org",
      "time": "Wed Sep 14 11:54:05 2022"
    },
    "commit": "35e58232e681a4a7c055088a8ab1cc35321bdddc",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Wed Sep 14 16:36:29 2022"
    },
    "subject": "[inspector] Add use counter for async stack tagging API",
    "milestone": 107
  },
  {
    "author": {
      "name": "Samuel Groß",
      "email": "saelo@chromium.org",
      "time": "Wed Sep 14 11:51:05 2022"
    },
    "commit": "7e4ee6862e122379703ce40c63e85e66a73b85c1",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Wed Sep 14 13:57:23 2022"
    },
    "subject": "[sandbox] Introduce ExternalPointerTable::Freelist",
    "milestone": 107
  },
  {
    "author": {
      "name": "Hao Xu",
      "email": "hao.a.xu@intel.com",
      "time": "Tue Sep 13 13:40:05 2022"
    },
    "commit": "e1dbe835d7b24ea4aa52a23e9376bb10d1a8a82b",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Tue Sep 13 09:25:25 2022"
    },
    "subject": "[csa][codegen] Optimize IsStrong/IsWeakOrCleared",
    "milestone": 107
  },
  {
    "author": {
      "name": "Liu Yu",
      "email": "liuyu@loongson.cn",
      "time": "Thu Sep 08 11:39:11 2022"
    },
    "commit": "a26ca5ed147dde47f02d70c5b38d8befc1c93cb3",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Tue Sep 13 07:54:54 2022"
    },
    "subject": "[mips32] Delete mips32 from v8",
    "milestone": 107
  },
  {
    "author": {
      "name": "Samuel Groß",
      "email": "saelo@chromium.org",
      "time": "Wed Sep 07 14:05:27 2022"
    },
    "commit": "49c59678301fafcd7f70221cdd7936253a229093",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Thu Sep 08 15:25:30 2022"
    },
    "subject": "[sandbox] Fold V8_SANDBOXED_EXTERNAL_POINTERS into V8_ENABLE_SANDBOX",
    "milestone": 107
  },
  {
    "author": {
      "name": "Shu-yu Guo",
      "email": "syg@chromium.org",
      "time": "Tue Sep 06 20:50:55 2022"
    },
    "commit": "87ce9fce749c8f1fa41dee2bd9499391dca76d49",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Wed Sep 07 23:41:26 2022"
    },
    "subject": "[shared-struct] Rework shared value serializer API again",
    "milestone": 107
  },
  {
    "author": {
      "name": "Patrick Thier",
      "email": "pthier@chromium.org",
      "time": "Tue Sep 06 16:35:25 2022"
    },
    "commit": "5d4567279e30e1e74588c022861b1d8dfc354a4e",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Tue Sep 06 17:51:56 2022"
    },
    "subject": "[regexp] Add v-Flag for Unicode Sets",
    "milestone": 107
  },
  {
    "author": {
      "name": "Patrick Thier",
      "email": "pthier@chromium.org",
      "time": "Mon Sep 05 07:36:57 2022"
    },
    "commit": "d00c040547f22858c1ab724e9db1933c00daccec",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Mon Sep 05 10:14:12 2022"
    },
    "subject": "[strings] Support shared external strings",
    "milestone": 107
  },
  {
    "author": {
      "name": "Samuel Groß",
      "email": "saelo@chromium.org",
      "time": "Fri Sep 02 09:23:12 2022"
    },
    "commit": "e7bf81100af1cdfd84994ec7d3071a29cbef5257",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Mon Sep 05 07:32:39 2022"
    },
    "subject": "[sandbox] Sandboxify ExternalString external pointers",
    "milestone": 107
  },
  {
    "author": {
      "name": "Jaroslav Sevcik",
      "email": "jarin@chromium.org",
      "time": "Wed Aug 31 14:48:56 2022"
    },
    "commit": "ba14e4d0626a1dfb2f9c239f3d70b10714f29cca",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Thu Sep 01 05:22:16 2022"
    },
    "subject": "[inspector] Introduce instrumentation pause distinction",
    "milestone": 107
  },
  {
    "author": {
      "name": "Shu-yu Guo",
      "email": "syg@chromium.org",
      "time": "Wed Aug 31 01:46:38 2022"
    },
    "commit": "d855d7f7b18905748772d10a4a569366e240e120",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Wed Aug 31 15:27:55 2022"
    },
    "subject": "[shared-struct] Rework ValueSerializer::Delegate::SupportsSharedValues",
    "milestone": 107
  },
  {
    "author": {
      "name": "Samuel Groß",
      "email": "saelo@chromium.org",
      "time": "Fri Aug 26 14:29:59 2022"
    },
    "commit": "a27a527b7573977439fd07dca1f07c874535d90f",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Wed Aug 31 12:42:38 2022"
    },
    "subject": "[sandbox] Sandboxify Foreign external pointers",
    "milestone": 107
  },
  {
    "author": {
      "name": "snek",
      "email": "snek@chromium.org",
      "time": "Mon Aug 22 05:53:25 2022"
    },
    "commit": "6229eee3657284cb6ad9b457d477925ad60bb743",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Tue Aug 30 19:35:14 2022"
    },
    "subject": "[fastcall] fix options.data representation",
    "milestone": 107
  },
  {
    "author": {
      "name": "Samuel Groß",
      "email": "saelo@chromium.org",
      "time": "Mon Aug 29 14:03:22 2022"
    },
    "commit": "d843cda7690404d574db25f6eb0ed390e090b598",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Tue Aug 30 14:24:54 2022"
    },
    "subject": "[sandbox] Move ExternalPointerTable entry logic into new Entry class",
    "milestone": 107
  },
  {
    "author": {
      "name": "Shu-yu Guo",
      "email": "syg@chromium.org",
      "time": "Mon Aug 29 18:13:50 2022"
    },
    "commit": "752408926404509f37a6ea8fa33f5ae2e8045d66",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Mon Aug 29 19:44:47 2022"
    },
    "subject": "[shared-struct] Use PersistentHandles to convey shared values",
    "milestone": 107
  },
  {
    "author": {
      "name": "Samuel Groß",
      "email": "saelo@chromium.org",
      "time": "Mon Aug 29 10:54:02 2022"
    },
    "commit": "a94048877ddd3732b1ceacf797319af366a80c30",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Mon Aug 29 13:12:36 2022"
    },
    "subject": "[sandbox] Unsandboxify CodeEntryPoint",
    "milestone": 107
  },
  {
    "author": {
      "name": "Igor Sheludko",
      "email": "ishell@chromium.org",
      "time": "Mon Aug 29 10:11:43 2022"
    },
    "commit": "8a56da4459bc65c1253c0fed45fe355d9db88bec",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Mon Aug 29 11:22:56 2022"
    },
    "subject": "[builtins][masm] Move hot flags to the beginning of IsolateData",
    "milestone": 107
  },
  {
    "author": {
      "name": "Clemens Backes",
      "email": "clemensb@chromium.org",
      "time": "Wed Aug 24 15:46:34 2022"
    },
    "commit": "51acc286e03705b85eaf373057ce0f87e8377dfb",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Mon Aug 29 10:43:55 2022"
    },
    "subject": "[wasm][API] Remove deprecated API",
    "milestone": 107
  },
  {
    "author": {
      "name": "Samuel Groß",
      "email": "saelo@chromium.org",
      "time": "Fri Aug 26 13:53:04 2022"
    },
    "commit": "5c152a0f7b53ad24c4e103daad3cbfa94d51c29d",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Mon Aug 29 09:53:35 2022"
    },
    "subject": "[sandbox] Remove a number of native allocations from WasmInstanceObject",
    "milestone": 107
  },
  {
    "author": {
      "name": "Shu-yu Guo",
      "email": "syg@chromium.org",
      "time": "Fri Aug 26 22:07:04 2022"
    },
    "commit": "31e17fe62d59968f6f89f5c33eaf8fa75d375b77",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Fri Aug 26 23:41:57 2022"
    },
    "subject": "[shared-struct, api] Support shared isolates in API",
    "milestone": 107
  },
  {
    "author": {
      "name": "Tom Anderson",
      "email": "thomasanderson@chromium.org",
      "time": "Tue Aug 23 22:36:30 2022"
    },
    "commit": "2dd434f4db0e22935dd5422ed47fade3113e84be",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Thu Aug 25 09:19:28 2022"
    },
    "subject": "Fix build with -Wextra-semi",
    "milestone": 107
  },
  {
    "author": {
      "name": "Jakob Linke",
      "email": "jgruber@chromium.org",
      "time": "Wed Aug 24 10:02:15 2022"
    },
    "commit": "4c8c8cacdfe11095b75f2496759cc9a89436e06d",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Wed Aug 24 10:51:30 2022"
    },
    "subject": "[compiler] Add a use counter for Turbofan OSR compiles",
    "milestone": 107
  },
  {
    "author": {
      "name": "Michael Lippautz",
      "email": "mlippautz@chromium.org",
      "time": "Tue Aug 23 13:57:03 2022"
    },
    "commit": "bf5e3a8a0edfb78c975da04c0f79eb92215255e3",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Wed Aug 24 09:03:00 2022"
    },
    "subject": "[api, heap] Deprecate v8::EmbedderHeapTracer",
    "milestone": 107
  },
  {
    "author": {
      "name": "ishell@chromium.org",
      "email": "ishell@chromium.org",
      "time": "Tue Aug 23 10:54:34 2022"
    },
    "commit": "4be9de90ac89585cbf79d452bba766f485a17941",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Tue Aug 23 15:26:09 2022"
    },
    "subject": "[api] Add v8::CrashKeyId::kCodeRangeBaseAddress",
    "milestone": 107
  },
  {
    "author": {
      "name": "Clemens Backes",
      "email": "clemensb@chromium.org",
      "time": "Fri Jul 22 07:19:41 2022"
    },
    "commit": "24cf9bd945d8cc08eaa7b3b2b3ccca800709449a",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Mon Aug 22 15:58:58 2022"
    },
    "subject": "[API] Deprecate second OnCriticalMemoryPressure",
    "milestone": 107
  },
  {
    "author": {
      "name": "Samuel Groß",
      "email": "saelo@chromium.org",
      "time": "Tue Aug 16 12:47:06 2022"
    },
    "commit": "e1f585ed94d799555793a4150281ce2baf22a666",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Mon Aug 22 13:08:38 2022"
    },
    "subject": "[sandbox] Sandboxify EmbedderDataSlots",
    "milestone": 107
  },
  {
    "author": {
      "name": "Samuel Groß",
      "email": "saelo@chromium.org",
      "time": "Mon Jul 18 08:31:20 2022"
    },
    "commit": "5e07ef10e06c69a72cf515abfa11ecb9556e114f",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Fri Aug 19 09:06:37 2022"
    },
    "subject": "[sandbox] Remove V8::InitializeSandbox",
    "milestone": 107
  }
]