)]}'
{
  "commit": "1c9873c188465564acb6d93d10eb5aa033905ed8",
  "tree": "3c0636c57e01fda90f96ebed451337651fd1ee2d",
  "parents": [
    "37e4746364c7fd00df985526ddc488903ac1bc42"
  ],
  "author": {
    "name": "Shawn Pearce",
    "email": "sop@google.com",
    "time": "Thu Mar 12 19:29:31 2015 -0700"
  },
  "committer": {
    "name": "Shawn Pearce",
    "email": "sop@google.com",
    "time": "Thu Mar 12 19:30:24 2015 -0700"
  },
  "message": "Use Java based table-switch for type switches\n\nPredicates that use different clauses for different types of terms use\na type switch on the first argument/register.  Rewrite this as a\nproper table switch in Java so the JVM can emit an efficient switch\nstatement.  Use a virtual method and lightweight ints enumerated from\n0 to N in the order the switch was previously written in to get an\nefficient implementation for the JIT.\n\nChange-Id: If7274ec8776479afe70bbec0882768d7a28b4c64\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "001f509e25e19faaef9767e69d00744474ca9259",
      "old_mode": 33188,
      "old_path": "src/lang/ClosureTerm.java",
      "new_id": "053035cdb238bd98ef51cb3da20331473c5963c7",
      "new_mode": 33188,
      "new_path": "src/lang/ClosureTerm.java"
    },
    {
      "type": "modify",
      "old_id": "588d815a8621f21d521dabe1608162c9a8aaaec2",
      "old_mode": 33188,
      "old_path": "src/lang/DoubleTerm.java",
      "new_id": "dbb80f7da6f9190117a6f31133bd904df124b7e7",
      "new_mode": 33188,
      "new_path": "src/lang/DoubleTerm.java"
    },
    {
      "type": "modify",
      "old_id": "e64c9b0db8fabdf464011c6c161a9c29978ca0c3",
      "old_mode": 33188,
      "old_path": "src/lang/IntegerTerm.java",
      "new_id": "d9e1596a5088b500ef5696beb1f2eeb70a09a936",
      "new_mode": 33188,
      "new_path": "src/lang/IntegerTerm.java"
    },
    {
      "type": "modify",
      "old_id": "3076f808479aa52be46deb632ceb0e9f52eb4469",
      "old_mode": 33188,
      "old_path": "src/lang/JavaObjectTerm.java",
      "new_id": "89c946fcc1a15c55ba3eaa1674e72ae2812dc434",
      "new_mode": 33188,
      "new_path": "src/lang/JavaObjectTerm.java"
    },
    {
      "type": "modify",
      "old_id": "5d733dba37bb24dd827221a302f8f7a198b886f7",
      "old_mode": 33188,
      "old_path": "src/lang/ListTerm.java",
      "new_id": "e1ead7187d8bb1be94811385252aec4b9e98dd75",
      "new_mode": 33188,
      "new_path": "src/lang/ListTerm.java"
    },
    {
      "type": "modify",
      "old_id": "e3c059b91fa4fc287c324afbf3b8361c25837307",
      "old_mode": 33188,
      "old_path": "src/lang/Prolog.java",
      "new_id": "be73553b09f8ec4f4f4d4e7dc304ac12275fc3d4",
      "new_mode": 33188,
      "new_path": "src/lang/Prolog.java"
    },
    {
      "type": "modify",
      "old_id": "cfd9c120d8de3f11192cf1b680492939583356a8",
      "old_mode": 33188,
      "old_path": "src/lang/StructureTerm.java",
      "new_id": "17e8864bed9de0d9869c9aeb4eb0902d1b4725b3",
      "new_mode": 33188,
      "new_path": "src/lang/StructureTerm.java"
    },
    {
      "type": "modify",
      "old_id": "347a103a420a21e0cb7036559c2b999a09771b29",
      "old_mode": 33188,
      "old_path": "src/lang/SymbolTerm.java",
      "new_id": "9c6e4cf059e5ee70ad4a774ea1fcf1ef71e89029",
      "new_mode": 33188,
      "new_path": "src/lang/SymbolTerm.java"
    },
    {
      "type": "modify",
      "old_id": "960e156f9fd1e342a8c5707aa122c8f91dfad941",
      "old_mode": 33188,
      "old_path": "src/lang/Term.java",
      "new_id": "c3e86c13f64d871f971bca70f5f5969b08fdb84c",
      "new_mode": 33188,
      "new_path": "src/lang/Term.java"
    },
    {
      "type": "modify",
      "old_id": "3cfd339d407e50d855c3c8aad284c81ee3723260",
      "old_mode": 33188,
      "old_path": "src/lang/VariableTerm.java",
      "new_id": "5bb4085dac0adaeceda1c1ab4e077ef65a7f0180",
      "new_mode": 33188,
      "new_path": "src/lang/VariableTerm.java"
    }
  ]
}
