Features (2)

String.prototype.isWellFormed and toWellFormed

Category: JavaScript Flag name: --harmony-string-is-well-formed

Add two String.prototype methods for working with well-formed UTF-16 strings. A JavaScript string value is well-formed UTF-16 if it has no unpaired surrogate code points. By default, JavaScript strings may be ill-formed. - String.prototype.isWellFormed returns whether the receiver string is well-formed UTF-16. - String.prototype.toWellFormed returns a string that is identical to the receiver string, except all unpaired surrogate code points are replaced with U+FFFD (REPLACEMENT CHARACTER).

JSON data
{
  "category": "JavaScript",
  "flag_name": "--harmony-string-is-well-formed",
  "id": 5200195346759680,
  "milestone": 111,
  "name": "String.prototype.isWellFormed and toWellFormed",
  "summary": "Add two String.prototype methods for working with well-formed UTF-16 strings.\r\n\r\nA JavaScript string value is well-formed UTF-16 if it has no unpaired surrogate code points. By default, JavaScript strings may be ill-formed.\r\n\r\n- String.prototype.isWellFormed returns whether the receiver string is well-formed UTF-16.\r\n\r\n- String.prototype.toWellFormed returns a string that is identical to the receiver string, except all unpaired surrogate code points are replaced with U+FFFD (REPLACEMENT CHARACTER)."
}
Resizable ArrayBuffer and growable SharedArrayBuffer

Category: JavaScript Flag name: --harmony-rab-gsab

Extend the ArrayBuffer constructors to take an additional maximum length that allows in-place growth and shrinking of buffers. Similarly, SharedArrayBuffer is extended to take an additional maximum length that allows in-place growth.

JSON data
{
  "category": "JavaScript",
  "flag_name": "--harmony-rab-gsab",
  "id": 4668361878274048,
  "milestone": 111,
  "name": "Resizable ArrayBuffer and growable SharedArrayBuffer",
  "summary": "Extend the ArrayBuffer constructors to take an additional maximum length that allows in-place growth and shrinking of buffers. Similarly, SharedArrayBuffer is extended to take an additional maximum length that allows in-place growth."
}

API Changes (14)

  • [compile hints] Collect compile hints data in v8
  • [runtime] add protector for String/Number prototype @@replace lookup
  • [profiler] Support WasmGC objects in heap snapshots
  • [sandbox] Reduce max size of ExternalPointerTable on Android
  • [wasm-gc] Add callback for Wasm GC origin trial
  • [sandbox] Increase max size of ExternalPointerTable
  • [api] Deprecate memory savings mode
  • [x64] Make {Assembler::GrowBuffer} preserve most registers
  • [inspector] Provide more details about destroyed context
  • [api, heap, handles] Remove deprecated EmbedderHeapTracer
  • Runtime.callFunctionOn supports uniqueContextId
  • [static-roots] Use operator== in HeapObject::Is##Type
  • unified-young-gen: Filter custom weak callbacks
  • [wasm] Deprecate CPU timings in metrics
JSON data
[
  {
    "author": {
      "name": "Marja Hölttä",
      "email": "marja@chromium.org",
      "time": "Tue Jan 24 13:16:41 2023"
    },
    "commit": "0ea9064e39a55d50a6c41e0d80dbaa80c0dad58e",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Tue Jan 24 16:14:23 2023"
    },
    "subject": "[compile hints] Collect compile hints data in v8",
    "milestone": 111
  },
  {
    "author": {
      "name": "Tobias Tebbi",
      "email": "tebbi@chromium.org",
      "time": "Mon Jan 23 15:09:00 2023"
    },
    "commit": "b691cca3dec6fc37183fb1dc8c355e24dbd943a2",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Mon Jan 23 15:55:52 2023"
    },
    "subject": "[runtime] add protector for String/Number prototype @@replace lookup",
    "milestone": 111
  },
  {
    "author": {
      "name": "Jakob Kummerow",
      "email": "jkummerow@chromium.org",
      "time": "Thu Jan 19 15:01:06 2023"
    },
    "commit": "4724f988aede98a5f9f2c1f60f8956acb71c388a",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Mon Jan 23 14:21:36 2023"
    },
    "subject": "[profiler] Support WasmGC objects in heap snapshots",
    "milestone": 111
  },
  {
    "author": {
      "name": "Paolo Severini",
      "email": "paolosev@microsoft.com",
      "time": "Tue Jan 17 16:09:49 2023"
    },
    "commit": "11a63fa8d297aa46ee8ba144a9630b29b7d88fd9",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Tue Jan 17 16:58:54 2023"
    },
    "subject": "[sandbox] Reduce max size of ExternalPointerTable on Android",
    "milestone": 111
  },
  {
    "author": {
      "name": "Matthias Liedtke",
      "email": "mliedtke@chromium.org",
      "time": "Mon Jan 16 08:53:41 2023"
    },
    "commit": "debcabf7b5e639c7dc6df375b0b9550f3b5ad6f2",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Mon Jan 16 09:49:46 2023"
    },
    "subject": "[wasm-gc] Add callback for Wasm GC origin trial",
    "milestone": 111
  },
  {
    "author": {
      "name": "Paolo Severini",
      "email": "paolosev@microsoft.com",
      "time": "Thu Jan 12 10:50:00 2023"
    },
    "commit": "1ef43e7ba9cc876f8a3080b4816d46cad9e30dd2",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Thu Jan 12 12:31:10 2023"
    },
    "subject": "[sandbox] Increase max size of ExternalPointerTable",
    "milestone": 111
  },
  {
    "author": {
      "name": "Dominik Inführ",
      "email": "dinfuehr@chromium.org",
      "time": "Thu Jan 12 08:25:48 2023"
    },
    "commit": "7777e0321df5745ba5d4741d148ad6ec87d105ff",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Thu Jan 12 09:14:01 2023"
    },
    "subject": "[api] Deprecate memory savings mode",
    "milestone": 111
  },
  {
    "author": {
      "name": "Clemens Backes",
      "email": "clemensb@chromium.org",
      "time": "Mon Jan 09 13:55:59 2023"
    },
    "commit": "8fe57bf6415748d35567db47a338458374be7bb6",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Mon Jan 09 14:33:52 2023"
    },
    "subject": "[x64] Make {Assembler::GrowBuffer} preserve most registers",
    "milestone": 111
  },
  {
    "author": {
      "name": "Vladimir Nechaev",
      "email": "nechaev@chromium.org",
      "time": "Wed Jan 04 18:14:42 2023"
    },
    "commit": "ca3a939da83b87453d8c59d8acced5ac6452ef50",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Thu Jan 05 09:27:47 2023"
    },
    "subject": "[inspector] Provide more details about destroyed context",
    "milestone": 111
  },
  {
    "author": {
      "name": "Michael Lippautz",
      "email": "mlippautz@chromium.org",
      "time": "Mon Jan 02 14:12:15 2023"
    },
    "commit": "a8a1805e126d45ea635f332df26f786c67787419",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Mon Jan 02 15:17:40 2023"
    },
    "subject": "[api, heap, handles] Remove deprecated EmbedderHeapTracer",
    "milestone": 111
  },
  {
    "author": {
      "name": "Vladimir Nechaev",
      "email": "nechaev@chromium.org",
      "time": "Wed Dec 28 10:03:56 2022"
    },
    "commit": "28cb67cdec1777bebf44e4b921d81a3ff31cd78c",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Wed Dec 28 10:45:28 2022"
    },
    "subject": "Runtime.callFunctionOn supports uniqueContextId",
    "milestone": 111
  },
  {
    "author": {
      "name": "Olivier Flückiger",
      "email": "olivf@chromium.org",
      "time": "Wed Dec 14 16:09:10 2022"
    },
    "commit": "f6d85958e08c0f4fd4083b740ce4059e8cf48064",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Wed Dec 21 12:33:34 2022"
    },
    "subject": "[static-roots] Use operator== in HeapObject::Is##Type",
    "milestone": 111
  },
  {
    "author": {
      "name": "Anton Bikineev",
      "email": "bikineev@chromium.org",
      "time": "Fri Dec 16 09:30:03 2022"
    },
    "commit": "e29e64e7293238020d165efd420034709dcb0c67",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Fri Dec 16 10:15:12 2022"
    },
    "subject": "unified-young-gen: Filter custom weak callbacks",
    "milestone": 111
  },
  {
    "author": {
      "name": "Clemens Backes",
      "email": "clemensb@chromium.org",
      "time": "Tue Dec 06 13:52:18 2022"
    },
    "commit": "4b451843fd29b9f7a434e081c88ca30f6690599a",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Thu Dec 15 14:25:48 2022"
    },
    "subject": "[wasm] Deprecate CPU timings in metrics",
    "milestone": 111
  }
]