)]}'
{
  "commit": "ad2afaee629a165ee965e61158933fa3aa2a3e64",
  "tree": "d419b0c71e60b1555c60a5b36e9fcdc31ae333a8",
  "parents": [
    "55cc56fba28ac4e02466ab937b2a19fc6bf8a221"
  ],
  "author": {
    "name": "Jiakai Zhang",
    "email": "jiakaiz@google.com",
    "time": "Mon Nov 04 15:44:50 2024 +0000"
  },
  "committer": {
    "name": "Treehugger Robot",
    "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
    "time": "Tue Nov 05 09:54:02 2024 +0000"
  },
  "message": "Fix buggy code in ProfileSaver.\n\nThe code has two bugs:\n1. `ResolveTrackedLocations` generates N empty locations and passes them\n   to `AddTrackedLocationsToMap`.\n2. There is a check in `AddTrackedLocationsToMap` that was intended to\n   filter out locations ending with \u0027/\u0027 but unintentionally filters out\n   empty locations (because std::string::npos has a value of -1 and\n   therefore equals to `path.size() - 1` when `path` is empty).\n\nInterestingly, with both bugs present together, they result in correct\nbehavior. However, we shouldn\u0027t rely on bugs that happen to work\ntogether.\n\nTest: art/test.py -b --host -r -t 595-profile-saving\nChange-Id: Ic6cddd529b8295df68bef61f0ceb26a26ad93304\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "90020881bb758d08e5d20c6b579450c58f719fc7",
      "old_mode": 33188,
      "old_path": "runtime/jit/profile_saver.cc",
      "new_id": "6d766f7d6d301f14903dee55a61d86382e151871",
      "new_mode": 33188,
      "new_path": "runtime/jit/profile_saver.cc"
    }
  ]
}
