)]}'
{
  "commit": "9d968c701eaa3fb219c3e99aed1e396c257c4e10",
  "tree": "ff840ed71672f55e8e2b412ffdcf446b9744bf3a",
  "parents": [
    "ef80538ba1b9b6d49380eb0f7fbf0612db2f7f3b"
  ],
  "author": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Wed Oct 02 14:47:02 2019 -0400"
  },
  "committer": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Tue Oct 08 17:11:11 2019 -0400"
  },
  "message": "arena: add __arena_create() and __arena_destroy()\n\nThese are lower level interfaces where the caller handles memory.  If\nyou want any half-way usable self-sourced arena, you\u0027re going to embed\nit in another struct, and container_of() to that struct in the arena\nalloc/free funcs.\n\nSigned-off-by: Barret Rhoden \u003cbrho@cs.berkeley.edu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0f49c74ee0b8f4d33910413ff20b25e147509c20",
      "old_mode": 33188,
      "old_path": "kern/include/arena.h",
      "new_id": "1c35c9f5db95aa7cb98f2e8ccb6af81b12c1513d",
      "new_mode": 33188,
      "new_path": "kern/include/arena.h"
    },
    {
      "type": "modify",
      "old_id": "c23ac41cb1d60a6b4420ee6424a7e9e534837a21",
      "old_mode": 33188,
      "old_path": "kern/src/arena.c",
      "new_id": "75d7cd68964b0943b3f205e3861ca5de49274423",
      "new_mode": 33188,
      "new_path": "kern/src/arena.c"
    }
  ]
}
