)]}'
{
  "commit": "da1aebcaa3343a252aab929a2cf8060486271244",
  "tree": "a9ab863d8a917d62f7f369ec3c93ed636f0c0b90",
  "parents": [
    "0a1bed407317d827eb12812a6e289e822ca16524"
  ],
  "author": {
    "name": "jcd",
    "email": "jcd@golang.org",
    "time": "Tue Mar 08 14:39:35 2016 +1100"
  },
  "committer": {
    "name": "jcd .",
    "email": "jcd@golang.org",
    "time": "Thu Mar 17 00:54:50 2016 +0000"
  },
  "message": "x/debug: speed up various DWARF information queries.\n\nBuilds auxiliary tables from the DWARF data to speed up requests for:\n- Entries with a given name or matching a regexp (using a map from\n  symbol name to a linked list of *Entry)\n- Mapping a PC to a function (using a slice of function bounds, sorted\n  by PC).\n- Mapping a PC to a source line (using a slice of structs containing\n  (PC, file, line), sorted by PC).\n- Mapping a source line to breakpoint addresses (using a slice\n  containing, for each file, a slice of (line, PC) pairs sorted by line.)\n\nRenames some functions to better reflect their return values\n(lookupFunction-\u003efunctionStartAddress, lookupRE-\u003eLookupMatchingSymbols,\nlookupPC/entryForPC-\u003ePCToFunction, LineToPCs-\u003eLineToBreakpointPCs).\n\nUses more specific lookups for entries that must be variables\n(LookupEntry-\u003eLookupVariable).\n\nChange-Id: Ia57514887495a7cfca242fa4af5517acf5eecf45\nReviewed-on: https://go-review.googlesource.com/20314\nReviewed-by: Dave Day \u003cdjd@golang.org\u003e\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cf795e707576ff5f7b93438d4d7402aeabcc209a",
      "new_mode": 33188,
      "new_path": "dwarf/cache.go"
    },
    {
      "type": "modify",
      "old_id": "f035ef9b4a65b5f19406342dcbfda26f452985eb",
      "old_mode": 33188,
      "old_path": "dwarf/line.go",
      "new_id": "2f47739d599c3386d6830c999908aafd03061a53",
      "new_mode": 33188,
      "new_path": "dwarf/line.go"
    },
    {
      "type": "modify",
      "old_id": "488bbf0b22699712002f792cce983731fc241509",
      "old_mode": 33188,
      "old_path": "dwarf/open.go",
      "new_id": "a13c6edf5438d975e0c75f003906014e48e5dbfb",
      "new_mode": 33188,
      "new_path": "dwarf/open.go"
    },
    {
      "type": "modify",
      "old_id": "6ddc836266b00ab5c30821a75ed52ee50bf64690",
      "old_mode": 33188,
      "old_path": "dwarf/symbol.go",
      "new_id": "52d682902b868db67c65c8bc1870221180ec2faa",
      "new_mode": 33188,
      "new_path": "dwarf/symbol.go"
    },
    {
      "type": "modify",
      "old_id": "50f22203738fca527c4b4b42d03f8434d0c2bfad",
      "old_mode": 33188,
      "old_path": "server/dwarf.go",
      "new_id": "3c4e2a273d69b2112ed647819b1fa0b7872f797d",
      "new_mode": 33188,
      "new_path": "server/dwarf.go"
    },
    {
      "type": "modify",
      "old_id": "b7a1b68d61c7c83e55f00ad304f7e859443d05c9",
      "old_mode": 33188,
      "old_path": "server/eval.go",
      "new_id": "d964a325ee59982379ca2ad312c6b30799602d47",
      "new_mode": 33188,
      "new_path": "server/eval.go"
    },
    {
      "type": "modify",
      "old_id": "0e0def310c05a5522ea061fb27ef0dace1ab9e3c",
      "old_mode": 33188,
      "old_path": "server/eval.m4",
      "new_id": "7b7594a0d590a06044107379588f1df3ee2b362f",
      "new_mode": 33188,
      "new_path": "server/eval.m4"
    },
    {
      "type": "modify",
      "old_id": "640895e7107cad4dd265dcbc864e7bc5f5368859",
      "old_mode": 33188,
      "old_path": "server/server.go",
      "new_id": "76219dbf1ce5a9ce10e684080a957b1b0c98b7b5",
      "new_mode": 33188,
      "new_path": "server/server.go"
    }
  ]
}
