)]}'
{
  "commit": "bf3f1cf15a021ea1ff8ae860c55e8281da4619b3",
  "tree": "a3d5b50502673d96d270d97c6406d616a8d9b858",
  "parents": [
    "07f7affb338b529d34e4e18b7e8a631c16bd9765"
  ],
  "author": {
    "name": "Aart Bik",
    "email": "ajcbik@google.com",
    "time": "Mon Feb 22 16:22:33 2016 -0800"
  },
  "committer": {
    "name": "Aart Bik",
    "email": "ajcbik@google.com",
    "time": "Tue Feb 23 11:11:29 2016 -0800"
  },
  "message": "Improved instruction + offset hunting.\n\nRationale:\nThis is generally useful for anything using this method\nbut in particular for deopting something like\n\n bs[  off] \u003d (byte)(n \u003e\u003e\u003e 24);\n bs[++off] \u003d (byte)(n \u003e\u003e\u003e 16);\n bs[++off] \u003d (byte)(n \u003e\u003e\u003e  8);\n bs[++off] \u003d (byte)(n       );\n\nwhere the base + offset is hidden in the increments.\nOccurs quite often in real-life code.\n\nChange-Id: I3fa7d285a7368a179a26e590e8eee37f3b64c25d\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ba1b1683d7e9edf4800ba22456f3774035b6cfb3",
      "old_mode": 33188,
      "old_path": "compiler/optimizing/bounds_check_elimination.cc",
      "new_id": "a7a1c0f2c476da56f592fcc13138067c43728b04",
      "new_mode": 33188,
      "new_path": "compiler/optimizing/bounds_check_elimination.cc"
    },
    {
      "type": "modify",
      "old_id": "31bb94cb8c8237ce84644c119f392a0011d00077",
      "old_mode": 33188,
      "old_path": "test/449-checker-bce/src/Main.java",
      "new_id": "32bbc5b61d8d66d79809c446254b7ef9420f446e",
      "new_mode": 33188,
      "new_path": "test/449-checker-bce/src/Main.java"
    }
  ]
}
