)]}'
{
  "commit": "fe8235a9799c0e6b0d49d1d46431e232ab26324d",
  "tree": "cbd23ee7dea41377ddb890adcc5da34ed182e8a5",
  "parents": [
    "a40c72dc588b60f85ca8ec4007a690cb2d6f17f1"
  ],
  "author": {
    "name": "Shawn O. Pearce",
    "email": "sop@google.com",
    "time": "Fri Jun 17 09:40:04 2011 -0700"
  },
  "committer": {
    "name": "Shawn O. Pearce",
    "email": "sop@google.com",
    "time": "Fri Jun 17 09:49:29 2011 -0700"
  },
  "message": "Implement aggressive caching in PrologClassLoader\n\nRather than doing everything dynamically, implement the very\ncommonly used entry point logic by looking up predicates in\nan internal hash map, reusing cached constructors when the\npredicate has already been validated as being a proper type\nthe Prolog intepreter can access.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d2b03301eec96a326a6e08792a5bb926a10308f3",
      "old_mode": 33188,
      "old_path": "src/lang/PrologClassLoader.java",
      "new_id": "a6625e93ccdf304a041738df517c675c8d786e32",
      "new_mode": 33188,
      "new_path": "src/lang/PrologClassLoader.java"
    }
  ]
}
