)]}'
{
  "commit": "c19720245cd9d8fbb78112eb9e85cc1e8f3e0908",
  "tree": "af40047515d3f9b6c162802b2b9c984a8f7674d0",
  "parents": [
    "9ba4957a316ad125e4e72f6e49772f0d1263aff2"
  ],
  "author": {
    "name": "Aske Simon Christensen",
    "email": "askesc@google.com",
    "time": "Thu Mar 09 22:08:19 2023 +0000"
  },
  "committer": {
    "name": "Commit Queue",
    "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu Mar 09 22:08:19 2023 +0000"
  },
  "message": "[dart2wasm] Categorize and masquerade runtime types by lookup table\n\nThis avoids virtual calls for `runtimeType` (unless the user overrides\nit) and `_runtimeType` (since the internal categorization is now done\nusing the table instead), which saves a huge amount of space in the\nglobal dispatch table.\n\nIt also fixes record runtime types, which now use the masqueraded\ntypes for its fields, rather than the (possibly user-overridden)\n`runtimeType`.\n\nA masquerade case was missing for `Type`, which has been added.\n\nFixes https://github.com/dart-lang/sdk/issues/51134\n\nTested: ci + new test for overridden runtimeType\nChange-Id: I1909c665ae78eb07b9c0eb22b6e8836e27495d70\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/285684\nReviewed-by: Ömer Ağacan \u003comersa@google.com\u003e\nReviewed-by: Alexander Markov \u003calexmarkov@google.com\u003e\nCommit-Queue: Aske Simon Christensen \u003caskesc@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f39e8709f7fad6b54dcf2ff04b48be206453bb06",
      "old_mode": 33188,
      "old_path": "pkg/dart2wasm/lib/class_info.dart",
      "new_id": "f99a6faced00bf9cb6c579e1611a8c100421056b",
      "new_mode": 33188,
      "new_path": "pkg/dart2wasm/lib/class_info.dart"
    },
    {
      "type": "modify",
      "old_id": "29afd8cc02922333052e353d1a69c00cb2cd0ee7",
      "old_mode": 33188,
      "old_path": "pkg/dart2wasm/lib/code_generator.dart",
      "new_id": "7449dfb0fb9ae21cbce679ac772c91dcb16b4367",
      "new_mode": 33188,
      "new_path": "pkg/dart2wasm/lib/code_generator.dart"
    },
    {
      "type": "modify",
      "old_id": "929bab8ef85480586083ba3c41e20266883bb0b7",
      "old_mode": 33188,
      "old_path": "pkg/dart2wasm/lib/intrinsics.dart",
      "new_id": "044d29cb2de2722804fb7465dd3935efa0eeadc6",
      "new_mode": 33188,
      "new_path": "pkg/dart2wasm/lib/intrinsics.dart"
    },
    {
      "type": "modify",
      "old_id": "59caf8e8b0e4fcc7c2beb9381b09e02e32919916",
      "old_mode": 33188,
      "old_path": "pkg/dart2wasm/lib/kernel_nodes.dart",
      "new_id": "dfa1484c35a7e75f87e71a0dba5f7027abe82817",
      "new_mode": 33188,
      "new_path": "pkg/dart2wasm/lib/kernel_nodes.dart"
    },
    {
      "type": "modify",
      "old_id": "0d7ecbb06b156347a564262167e6053ce32f6191",
      "old_mode": 33188,
      "old_path": "pkg/dart2wasm/lib/record_class_generator.dart",
      "new_id": "6749c492741d8e24e0d597cde6cb58ea77fd6c1e",
      "new_mode": 33188,
      "new_path": "pkg/dart2wasm/lib/record_class_generator.dart"
    },
    {
      "type": "modify",
      "old_id": "a7423de7ba47d082d3e65fca0b10452e8027fb40",
      "old_mode": 33188,
      "old_path": "pkg/dart2wasm/lib/translator.dart",
      "new_id": "f6adff1c11bb441fd2aacdf0a24db7c6a2f7f9db",
      "new_mode": 33188,
      "new_path": "pkg/dart2wasm/lib/translator.dart"
    },
    {
      "type": "modify",
      "old_id": "3d49413badc628dfbb9c9e089e3376d384189d8a",
      "old_mode": 33188,
      "old_path": "pkg/dart2wasm/lib/types.dart",
      "new_id": "a4402547365a4e8a1c1c429cb65a6d8429d0da68",
      "new_mode": 33188,
      "new_path": "pkg/dart2wasm/lib/types.dart"
    },
    {
      "type": "modify",
      "old_id": "aa2c78bd3e3b0f9bcd6d39a3025b13b051016545",
      "old_mode": 33188,
      "old_path": "sdk/lib/_internal/wasm/lib/bool.dart",
      "new_id": "1c32642969f3ad13ac04bfdc849d7ea9400f3868",
      "new_mode": 33188,
      "new_path": "sdk/lib/_internal/wasm/lib/bool.dart"
    },
    {
      "type": "modify",
      "old_id": "03705070c453edb4524dc767199d95c4625c7a7a",
      "old_mode": 33188,
      "old_path": "sdk/lib/_internal/wasm/lib/double.dart",
      "new_id": "c0d0255f4f3862b4f281e1e75d40d8355f070fc9",
      "new_mode": 33188,
      "new_path": "sdk/lib/_internal/wasm/lib/double.dart"
    },
    {
      "type": "modify",
      "old_id": "ba30d82f0ff4bb718080d15d94d8be7829bfa891",
      "old_mode": 33188,
      "old_path": "sdk/lib/_internal/wasm/lib/errors_patch.dart",
      "new_id": "af07caa106b1564b806a8245ed2befd9ee2961dc",
      "new_mode": 33188,
      "new_path": "sdk/lib/_internal/wasm/lib/errors_patch.dart"
    },
    {
      "type": "modify",
      "old_id": "359361af3edb516a0cec40a67a262e2062aa46be",
      "old_mode": 33188,
      "old_path": "sdk/lib/_internal/wasm/lib/int.dart",
      "new_id": "c5543fb2a54e9f2042c3f0744a67d653c59c03fb",
      "new_mode": 33188,
      "new_path": "sdk/lib/_internal/wasm/lib/int.dart"
    },
    {
      "type": "modify",
      "old_id": "706467d92238ec232f2f7cd34e4aefc2f7b30fc0",
      "old_mode": 33188,
      "old_path": "sdk/lib/_internal/wasm/lib/object_patch.dart",
      "new_id": "e971efb5132ae0ffe1eca0233e94159ec1651d9e",
      "new_mode": 33188,
      "new_path": "sdk/lib/_internal/wasm/lib/object_patch.dart"
    },
    {
      "type": "modify",
      "old_id": "7b784746be04b9119cd184e005679571166d1047",
      "old_mode": 33188,
      "old_path": "sdk/lib/_internal/wasm/lib/record_patch.dart",
      "new_id": "c33283133e298283767584e1826b2138853293b9",
      "new_mode": 33188,
      "new_path": "sdk/lib/_internal/wasm/lib/record_patch.dart"
    },
    {
      "type": "modify",
      "old_id": "bba4c3700eb5bdd0e89a8edbf616acc681769ec2",
      "old_mode": 33188,
      "old_path": "sdk/lib/_internal/wasm/lib/simd_patch.dart",
      "new_id": "ca7515f055c782a06dd7bd16f3dfcae60d8ca51c",
      "new_mode": 33188,
      "new_path": "sdk/lib/_internal/wasm/lib/simd_patch.dart"
    },
    {
      "type": "modify",
      "old_id": "810f177f8fbbed5c8e6d2cd73df8833bd9f53331",
      "old_mode": 33188,
      "old_path": "sdk/lib/_internal/wasm/lib/string_patch.dart",
      "new_id": "4fc78b0c42b99f2609fdd03608d9cd34a932a551",
      "new_mode": 33188,
      "new_path": "sdk/lib/_internal/wasm/lib/string_patch.dart"
    },
    {
      "type": "modify",
      "old_id": "2dd1c5f16b0c30f26924ecbbe29f8a15a812e470",
      "old_mode": 33188,
      "old_path": "sdk/lib/_internal/wasm/lib/type.dart",
      "new_id": "75aeae564ec32294ce57c4a07ee5d9d078acb48b",
      "new_mode": 33188,
      "new_path": "sdk/lib/_internal/wasm/lib/type.dart"
    },
    {
      "type": "modify",
      "old_id": "900091623de90e1ce087b0330856487f0df728b0",
      "old_mode": 33188,
      "old_path": "sdk/lib/_internal/wasm/lib/typed_data_patch.dart",
      "new_id": "9794aa4d809bca273584bb9d5af9fe9db3e919ed",
      "new_mode": 33188,
      "new_path": "sdk/lib/_internal/wasm/lib/typed_data_patch.dart"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "108f636d53ad0d477cfb059c37e76823ce6928a8",
      "new_mode": 33188,
      "new_path": "tests/language/records/simple/overridden_runtimetype_test.dart"
    }
  ]
}
