)]}'
{
  "commit": "8cc5162f19d64eb6414e7e421cea4413debe671e",
  "tree": "b2b984bc01718a83f1a9fa9f0c8e0752b364ecd7",
  "parents": [
    "df6df99847fc8e4914755f9b2b7d18897254240b"
  ],
  "author": {
    "name": "Dragos Sbirlea",
    "email": "dragoss@google.com",
    "time": "Fri Jun 21 09:20:34 2013 -0700"
  },
  "committer": {
    "name": "Dragos Sbirlea",
    "email": "dragoss@google.com",
    "time": "Fri Jul 12 15:52:11 2013 -0700"
  },
  "message": "Semi-pruned SSA support for sea-ir.\n\nAdded the following:\n\nPer file:\nsea_ir/sea.*: IDominator pass, dominance frontiers, global variables for ssa\n              transformation, phi-function insertion pass, SSA renaming pass.\nsea_ir/instruction_tools.*: These tools provide info needed by dataflow analysis\n                            that is dependent on dex format.\ncompiler/utils/scoped_hashtable.h: Scoped hashtable implementation that\n                                   allows fast SSA renaming.\nsrc/compiler/utils/scoped_hashtable_test.cc: Test for scoped_hashtable.h.\ndex_instruction.cc: Changed semantics of the VRegA,B,C function\n                    to return NO_REGISTER instead\n                    of aborting if the instruction does not\n                    have register operands.\nAndroid.common.mk: Added support for scoped_hashtable test.\n\nChange-Id: I990fe4c213d241a033e43a04a67c6083fca4b347\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8b65efd1fb381052a848f067486b955804bee8b2",
      "old_mode": 33188,
      "old_path": "build/Android.gtest.mk",
      "new_id": "46311e7332408f13a4c3491d3bd07fae63a4bd3f",
      "new_mode": 33188,
      "new_path": "build/Android.gtest.mk"
    },
    {
      "type": "modify",
      "old_id": "c876252d4513362b1d699906b712d701a2367d23",
      "old_mode": 33188,
      "old_path": "src/compiler/driver/compiler_driver.cc",
      "new_id": "8759958bc2ccad35eb4d18912c2e102ac8e56622",
      "new_mode": 33188,
      "new_path": "src/compiler/driver/compiler_driver.cc"
    },
    {
      "type": "modify",
      "old_id": "4a9bc727ba84f944b2b64e5a392c6dc0e05bd6b1",
      "old_mode": 33188,
      "old_path": "src/compiler/sea_ir/sea.cc",
      "new_id": "9c4353868899e890ea18498769299eee27692f49",
      "new_mode": 33188,
      "new_path": "src/compiler/sea_ir/sea.cc"
    },
    {
      "type": "modify",
      "old_id": "041e29958f777aa9e2e85052b7efbaf5ab2216bc",
      "old_mode": 33188,
      "old_path": "src/compiler/sea_ir/sea.h",
      "new_id": "efa9ce1fd6465589ee1268682f09c34ae89d3122",
      "new_mode": 33188,
      "new_path": "src/compiler/sea_ir/sea.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5e6c64b1ee73db4034f2e285b55e8297ab0cb56d",
      "new_mode": 33188,
      "new_path": "src/compiler/utils/scoped_hashtable.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "072da8c5bdc859b4893f5fda707e756883efbb1f",
      "new_mode": 33188,
      "new_path": "src/compiler/utils/scoped_hashtable_test.cc"
    },
    {
      "type": "modify",
      "old_id": "6527f103ebc658f6560fc42a31d3955571c95dbd",
      "old_mode": 33188,
      "old_path": "src/dex_instruction.cc",
      "new_id": "427baf2d51da9624b4db4924fb7df42da55145e1",
      "new_mode": 33188,
      "new_path": "src/dex_instruction.cc"
    },
    {
      "type": "modify",
      "old_id": "0407c579350c9c0ca410d2d6f30a9e764ca7ae25",
      "old_mode": 33188,
      "old_path": "src/dex_instruction.h",
      "new_id": "7d078f90f24f81ee8feedf23e8e46fadd646f0f0",
      "new_mode": 33188,
      "new_path": "src/dex_instruction.h"
    }
  ]
}
