)]}'
{
  "commit": "984223fd04e0ae95488e207a518bd6e6de8618b6",
  "tree": "1cf78529bb4f3d5dcbd218e94c8f9129012a06ac",
  "parents": [
    "c0e42d5dfc265345037b980b981824bc83b9e8b0"
  ],
  "author": {
    "name": "Colin Cross",
    "email": "ccross@android.com",
    "time": "Thu Feb 01 17:10:23 2024 -0800"
  },
  "committer": {
    "name": "Colin Cross",
    "email": "ccross@android.com",
    "time": "Fri Feb 02 15:56:32 2024 -0800"
  },
  "message": "Optimize mutator contexts\n\nMutator contexts are created for every module, and in the case of\ntransition mutator contexts for every dependency of every module.\nUnlike the Blueprint mutator contexts that they wrap, the Soong\nmutator contexts can be relatively large.  Add global pools for all\nof them that can avoid the repeated allocations.\n\nTest: SOONG_PROFILE_MEM\u003d/tmp/mem.pprof m nothing\nChange-Id: I64a5f3c91292cff6352300f99c11ac50c713f96d\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c39db0200e4ef8c2a12d27aaf7d963dce49b2f14",
      "old_mode": 33188,
      "old_path": "android/arch.go",
      "new_id": "b09a3022f7fe9bf1f854ac8793908e520d120830",
      "new_mode": 33188,
      "new_path": "android/arch.go"
    },
    {
      "type": "modify",
      "old_id": "22e91603ccf9acb2230334b2d212567e5db7e0f5",
      "old_mode": 33188,
      "old_path": "android/mutator.go",
      "new_id": "0ff4f48eab421767444537b84f9256e054ddb305",
      "new_mode": 33188,
      "new_path": "android/mutator.go"
    }
  ]
}
