)]}'
{
  "commit": "b09e4a67d4941c5bfdf4996f1fe89c0c7011a793",
  "tree": "6f93fd785553945226cc65f3893e4681337ef204",
  "parents": [
    "8d41cfe969b646283e1ec0e8367e270444f514f4"
  ],
  "author": {
    "name": "Stephen Adams",
    "email": "sra@google.com",
    "time": "Mon Dec 19 23:51:09 2022 +0000"
  },
  "committer": {
    "name": "dart-internal-monorepo",
    "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
    "time": "Mon Dec 19 15:53:28 2022 -0800"
  },
  "message": "[dart2js] Fix slow analysis of word widths #50759\n\nThe `bitWidth` computation sometimes visits a large dependency DAG a\ntree. This change fixes the performance problem.\n\n- Cache results from previous visits. This fixes the occasional\n  exponential time.\n\n- Move computation earlier \u0027instruction selection\u0027. This allows the\n  result to be used for detecting when assignment-ops can be used. I\n  didn\u0027t see any changes due to this.\n\n- Strengthen bitWidth computation to fall back on type inference results.\n\nBug: 50759\nChange-Id: I482cc7d3b8a1e9af5798d22252cd9bc111be711d\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/276301\nCommit-Queue: Stephen Adams \u003csra@google.com\u003e\nReviewed-by: Sigmund Cherem \u003csigmund@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/9e115addbf22312437e448fadc3990b36ac09503\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "eea59b57705140442001500a1377ff7d4745823c",
      "old_mode": 33188,
      "old_path": "DEPS",
      "new_id": "a0ddb4411a4834616e5c6a54214c0fcff75b7095",
      "new_mode": 33188,
      "new_path": "DEPS"
    },
    {
      "type": "modify",
      "old_id": "bfef82145f8e68f93211f64bdc25e67273c6301c",
      "old_mode": 33188,
      "old_path": "commits.json",
      "new_id": "797258ddcff4907e46e896c449718c071486efd7",
      "new_mode": 33188,
      "new_path": "commits.json"
    }
  ]
}
