)]}'
{
  "commit": "4ce86180925ac64e1faa3cb550bac76c8a742998",
  "tree": "fc2e5f635631ae87cb5fae9fa073a233fd713908",
  "parents": [
    "198b3cf3eb717bbc0cbcb2027964ee864df8f5d7"
  ],
  "author": {
    "name": "Donald Chai",
    "email": "dchai@google.com",
    "time": "Sat Jul 30 19:40:53 2022 -0700"
  },
  "committer": {
    "name": "Donald Chai",
    "email": "dchai@google.com",
    "time": "Mon Aug 01 17:39:15 2022 +0000"
  },
  "message": "Dedup Signature objects to reduce memory pressure.\n\nDue to inlining, the same method (class+name+descriptor) will appear\nmultiple times in the same ProGuard map.  I manually tested at commit\n3149a64a603e774dd2544c9e05081ca2ea45cc51 (to avoid laziness from\nb/226892337 changes) with benchmark file youtube.android_17.19 and found\nthat the hit rate for methods was about 75% (750k hits, 250k misses).\n\nDespite the name \"cache\", these are unbounded hash maps because Guava\ncaches are quite slow (I tried using a basic Guava LoadingCache,\nwhich adds \u003e16% to overall parse time).\n\nAlso fixed identifierCache while I was here to use 1 lookup instead of 2.\n\nBug: b/240037206\nChange-Id: Ief6d315161259e851d171f99c480d2f9672fb1af\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2ffd710174c6cf133515c57bcb00cbc3d76175d0",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/naming/ProguardMapReader.java",
      "new_id": "10a5fee783597513baeafc5256c20c9b0df8da75",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/naming/ProguardMapReader.java"
    }
  ]
}
