)]}'
{
  "commit": "53ea3c7bddc992524f79049fb374dc1e31ceb1eb",
  "tree": "71df88cf4260658a84d27e056e36ca96f29a3f1e",
  "parents": [
    "22b3d449ec11762e3e96fed22e35c8f257e5c656"
  ],
  "author": {
    "name": "Aske Simon Christensen",
    "email": "askesc@google.com",
    "time": "Mon Jan 30 11:12:04 2023 +0000"
  },
  "committer": {
    "name": "dart-internal-monorepo",
    "email": "dart-internal-monorepo@dart-ci-internal.iam.gserviceaccount.com",
    "time": "Mon Jan 30 03:14:59 2023 -0800"
  },
  "message": "[dart2wasm] Implement weak APIs via delegation to JS\n\nImplement `Expando`, `Finalizer` and `WeakReference` via delegation to\nthe JS `WeakMap`, `FinalizationRegistry` and `WeakRef`, respectively.\n\nThe tests don\u0027t check that the finalizer callback is actually called,\nsince this is nondeterministic. I\u0027ve manually verified that the\ncallback can be triggered by allocating a lot.\n\nChange-Id: If6c440a0d52aaf7afca34238f843fd10b202c143\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/279718\nCommit-Queue: Aske Simon Christensen \u003caskesc@google.com\u003e\nReviewed-by: Joshua Litt \u003cjoshualitt@google.com\u003e\n\nhttps://dart.googlesource.com/sdk/+/531b2afcb5c1ad800f76e6967bf90047a02adf12\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c26c794d7c68b77a283c7a049c294f25c9d03d35",
      "old_mode": 33188,
      "old_path": "DEPS",
      "new_id": "739244b5a5d98bea0bb17288deb0eb3592c64f53",
      "new_mode": 33188,
      "new_path": "DEPS"
    },
    {
      "type": "modify",
      "old_id": "130c5e8ab7955439b933214844293fe115a53d44",
      "old_mode": 33188,
      "old_path": "commits.json",
      "new_id": "4afdf6b9d1317484a3f6deb90830e49300bc25ed",
      "new_mode": 33188,
      "new_path": "commits.json"
    }
  ]
}
