)]}'
{
  "commit": "c6362da2413084b05372d588744394e02548eac2",
  "tree": "9fc2ad900f8cf260a46548a3483fa608339dbb05",
  "parents": [
    "c5b509035101ef3dada4d7351dcf94a6854003f1"
  ],
  "author": {
    "name": "Ömer Sinan Ağacan",
    "email": "omersa@google.com",
    "time": "Thu Nov 21 12:59:47 2024 +0000"
  },
  "committer": {
    "name": "Commit Queue",
    "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu Nov 21 12:59:47 2024 +0000"
  },
  "message": "[dart2wasm] Convert UTF-8 chunks to U8List before decoding\n\nCurrently `convertSingle` converts the input to `U8List`, but\n`convertChunked` works on `Uint8List`. This makes functions common in\nboth (`decode8`, `decode16`) polymorphic in input.\n\nUpdate `convertChunked` to also convert the input to `U8List`. With this\n`decode8` and `decode16` becomes monomorphic in the input type. Also\nupdate array accesses in these methods to avoid bounds checks.\n\nCheck for a few fast cases in `List\u003cint\u003e` to `U8List` copying. If the\nlist is a `WasmI8ArrayBase` (used in typed data) or `WasmListBase` (used\nin lists), we avoid polymorphism, indirections, and bounds checks during\ncopying.\n\nGolem reports up to 600% improvement in some chunked parsing micro-\nbenchmarks.\n\nChange-Id: Iddf6dae1a5d77cf574be77313dff779b4715e283\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/395980\nCommit-Queue: Ömer Ağacan \u003comersa@google.com\u003e\nReviewed-by: Slava Egorov \u003cvegorov@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "dff3eae115dabeda84b0aaf026771060e5f70ea7",
      "old_mode": 33188,
      "old_path": "sdk/lib/_internal/wasm/lib/convert_patch.dart",
      "new_id": "a94e682a4bf4bdc68ba6c97494ab1057abc49d6c",
      "new_mode": 33188,
      "new_path": "sdk/lib/_internal/wasm/lib/convert_patch.dart"
    },
    {
      "type": "modify",
      "old_id": "ced38d4f60748c497d02ec25f3b928df03490d2c",
      "old_mode": 33188,
      "old_path": "sdk/lib/_internal/wasm/lib/typed_data.dart",
      "new_id": "deef3104020eee66305929f53c4af8ecaa233130",
      "new_mode": 33188,
      "new_path": "sdk/lib/_internal/wasm/lib/typed_data.dart"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bfa3dff9a2e98cb35a1816319f68aa8b2a74d35f",
      "new_mode": 33188,
      "new_path": "tests/lib/convert/negative_utf8_codeunit_test.dart"
    }
  ]
}
