)]}'
{
  "commit": "2bb7a337e39b273e37669cec7450a03a3533f256",
  "tree": "d9a7c8a56eb16a08051b2912b3efcba985b7f29b",
  "parents": [
    "6438784c01bf81395200ae924b75d8bdc751f1dc"
  ],
  "author": {
    "name": "Keith Randall",
    "email": "khr@google.com",
    "time": "Sun Mar 11 18:18:40 2018 -0700"
  },
  "committer": {
    "name": "Keith Randall",
    "email": "khr@golang.org",
    "time": "Mon Mar 19 20:54:07 2018 +0000"
  },
  "message": "debug/gocore: handle 1.11 sparse heaps\n\nGo 1.11 changed (will change?) the Go heap.  Instead of a single\narena, there will be potentially multiple arenas.\n\nChange the way we do address-\u003eobject lookups to handle multiple,\nnot necessarily near each other, arenas.  The major change is to\nUse a page table instead of an array to keep HeapInfo structures.\n\nAlso move ptr/nonptr bits into HeapInfo, as they are recorded\ndifferently in 1.11.  It\u0027s a bit tricky because a heapInfo needs\ndifferent numbers of ptr/nonptr bits for 32 and 64 bit inferiors.\n\nI\u0027ll add a 1.11 test when 1.11 ships. A tip-compiled test passes\nwith this CL, but I don\u0027t want to check that in.\n\nChange-Id: I5b32fc4aaa88db137a23df2b4592eaba8a3f1fcc\nReviewed-on: https://go-review.googlesource.com/100059\nReviewed-by: Austin Clements \u003caustin@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "375fd86a588156fe2bb81ec74d4d170f32c2f7e5",
      "old_mode": 33188,
      "old_path": "gocore/dominator.go",
      "new_id": "59fac42f7a4dc7a3552e3007d8373d7f182934d4",
      "new_mode": 33188,
      "new_path": "gocore/dominator.go"
    },
    {
      "type": "modify",
      "old_id": "2f709022462c269c3b2a1badad1edece2339286f",
      "old_mode": 33188,
      "old_path": "gocore/dominator_test.go",
      "new_id": "f3360b0692455936c403ad51521476d3fb569010",
      "new_mode": 33188,
      "new_path": "gocore/dominator_test.go"
    },
    {
      "type": "modify",
      "old_id": "d59e598535f1017db49ee0410923ab2ec4c72c09",
      "old_mode": 33188,
      "old_path": "gocore/gocore_test.go",
      "new_id": "8d4206d799ee4404acf6c1fb706260187179de12",
      "new_mode": 33188,
      "new_path": "gocore/gocore_test.go"
    },
    {
      "type": "modify",
      "old_id": "61d66de053c549b3e309974c12fe926bac684680",
      "old_mode": 33188,
      "old_path": "gocore/object.go",
      "new_id": "debf0cabea90e85b88230397b454f14a4f711b7c",
      "new_mode": 33188,
      "new_path": "gocore/object.go"
    },
    {
      "type": "modify",
      "old_id": "de034c838adbf283b3754c142dfb4c3a232c80e5",
      "old_mode": 33188,
      "old_path": "gocore/process.go",
      "new_id": "d61856607fc309297ad54367504945f819092b82",
      "new_mode": 33188,
      "new_path": "gocore/process.go"
    },
    {
      "type": "modify",
      "old_id": "b0fdc795de6fbdfe8ae687ebcfb40d7d409b4b90",
      "old_mode": 33188,
      "old_path": "gocore/region.go",
      "new_id": "cc78518c676121784a078242a742521ff32ebb8b",
      "new_mode": 33188,
      "new_path": "gocore/region.go"
    },
    {
      "type": "modify",
      "old_id": "11d97616f4246725c5b2b9810884ac771f6e1516",
      "old_mode": 33188,
      "old_path": "gocore/testdata/README",
      "new_id": "2cf240c482b7b4a7092460de195d3d01531ba830",
      "new_mode": 33188,
      "new_path": "gocore/testdata/README"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "903c176b475c9f62c2ecd6a03d9efee71a7bf821",
      "new_mode": 33188,
      "new_path": "gocore/testdata/core1.10"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6839de6aff264c31adddf3f8d5664014b1c1256c",
      "new_mode": 33261,
      "new_path": "gocore/testdata/tmp/test1.10"
    }
  ]
}
