)]}'
{
  "commit": "a79efdb69350fa66e1beabed4499ef4d0e809785",
  "tree": "0a7491e10f646075b2d535cf69e13145224bb2ca",
  "parents": [
    "ccc5401bf082e4292a2cb75eeeb216a441189aef"
  ],
  "author": {
    "name": "Mathieu Chartier",
    "email": "mathieuc@google.com",
    "time": "Thu Jan 18 16:31:01 2018 -0800"
  },
  "committer": {
    "name": "Mathieu Chartier",
    "email": "mathieuc@google.com",
    "time": "Mon Jan 22 08:46:37 2018 -0800"
  },
  "message": "Fix quickening logic\n\nFix varius bugs in the quickening logic where related to shared code\nitems for different methods.\n\nFixed the case where two methods quicken differently on the same code\nitem by checking that the quicken info is the same for all methods\nthat quicken the same code item. This is accomplished by requickening\nand reverifying the contents of the quicken info.\n\nFixed the case where the dex to dex compiler would abort from a\nDCHECK that there was no already quickened instructions.\n\nFeature is tested by enabling deduping (aog/594315).\n\nTest: test-art-host\nBug: 63756964\n\nChange-Id: I52c2b89518f4e808594b450a5fcc373ab5a5863b\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e41371855ddfafdb37f314d77aebf3d3580cab40",
      "old_mode": 33188,
      "old_path": "compiler/compiled_method.cc",
      "new_id": "0f69dbab9409d0c49a472d9517ccf0e894c52dfb",
      "new_mode": 33188,
      "new_path": "compiler/compiled_method.cc"
    },
    {
      "type": "modify",
      "old_id": "acdce260e511f992d39b673d176d103be82c05c0",
      "old_mode": 33188,
      "old_path": "compiler/compiled_method.h",
      "new_id": "4e8f3efe5a11a892bc62de958b34d01282052bee",
      "new_mode": 33188,
      "new_path": "compiler/compiled_method.h"
    },
    {
      "type": "modify",
      "old_id": "308e75d9c155ea60c454aaac3648bd2aa348afeb",
      "old_mode": 33188,
      "old_path": "compiler/dex/dex_to_dex_compiler.cc",
      "new_id": "28c7fe2c3458be434866ad88868fa07fa97ba723",
      "new_mode": 33188,
      "new_path": "compiler/dex/dex_to_dex_compiler.cc"
    },
    {
      "type": "modify",
      "old_id": "80b94d2dc34dea6a0d4cde49b886cfbdc73988d0",
      "old_mode": 33188,
      "old_path": "compiler/dex/dex_to_dex_compiler.h",
      "new_id": "abd048167c5dc6dbe2437bd8f10a89a9a1451214",
      "new_mode": 33188,
      "new_path": "compiler/dex/dex_to_dex_compiler.h"
    },
    {
      "type": "modify",
      "old_id": "869865956c90572ecb0a7183126ce10fb7f11451",
      "old_mode": 33188,
      "old_path": "compiler/driver/compiler_driver.cc",
      "new_id": "6c5cc50269f9a0ce6c692a65a4082bb7e4ccb3c7",
      "new_mode": 33188,
      "new_path": "compiler/driver/compiler_driver.cc"
    },
    {
      "type": "modify",
      "old_id": "ef16212fb7b1b555dae69a977b37ada3c4d62e03",
      "old_mode": 33188,
      "old_path": "compiler/driver/compiler_driver.h",
      "new_id": "87a8a186c18c31bd99aa7f874eb48fdb253cffed",
      "new_mode": 33188,
      "new_path": "compiler/driver/compiler_driver.h"
    },
    {
      "type": "modify",
      "old_id": "7077298ca98f309a2d6a4147e23b1dac3c35e891",
      "old_mode": 33188,
      "old_path": "runtime/base/mutex.h",
      "new_id": "d541b79a987af74c86ceee131181a157da79f420",
      "new_mode": 33188,
      "new_path": "runtime/base/mutex.h"
    },
    {
      "type": "modify",
      "old_id": "118cffeda6dc7d785b0fbb7c298dd9f2c3fb22ea",
      "old_mode": 33188,
      "old_path": "runtime/vdex_file.cc",
      "new_id": "cab91dfe76c70e531b2b5511bd5475a88ffe8c3d",
      "new_mode": 33188,
      "new_path": "runtime/vdex_file.cc"
    }
  ]
}
