)]}'
{
  "commit": "987ccff48fe2c0645756e1089608e4b6b7e9f7bf",
  "tree": "3bbad0d24eb69e28454fc403c7e8be1a70af1230",
  "parents": [
    "df6df99847fc8e4914755f9b2b7d18897254240b"
  ],
  "author": {
    "name": "Mathieu Chartier",
    "email": "mathieuc@google.com",
    "time": "Mon Jul 08 11:05:21 2013 -0700"
  },
  "committer": {
    "name": "Mathieu Chartier",
    "email": "mathieuc@google.com",
    "time": "Fri Jul 12 13:33:04 2013 -0700"
  },
  "message": "Native allocation accounting\n\nAdded two new functions: registerNativeAllocation and registerNativeFree.\nThese functions should be used to let the GC know about native allocations\nwhich are held live by Java objects and released in finalizers. GC are performed\nor requested from within registerNativeAllocation when the total number of native\nbytes accounted for exceeds a certain threshold. After a GC occurs in\nregisterNativeAllocation, finalizers are run so that the native memory is freed.\nAdded a test which shows how to use these functions.\n\nChange-Id: I40f3c79e1c02d5008dec7d58d61c5bb97ec2fc1b\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6ee8492000fb3decbbe55a67470f4529cadde456",
      "old_mode": 33188,
      "old_path": "build/Android.oattest.mk",
      "new_id": "726298fbc63aa1b4d6942c4155d94f571385bdbd",
      "new_mode": 33188,
      "new_path": "build/Android.oattest.mk"
    },
    {
      "type": "modify",
      "old_id": "a68cc024358f84d7a4dc98f93f386297a0e254e7",
      "old_mode": 33188,
      "old_path": "src/gc/heap.cc",
      "new_id": "eae152083e1df994e7643d4cb823aec8e6351a3b",
      "new_mode": 33188,
      "new_path": "src/gc/heap.cc"
    },
    {
      "type": "modify",
      "old_id": "790ab0216d78afda45610a24a95e00af9aab3332",
      "old_mode": 33188,
      "old_path": "src/gc/heap.h",
      "new_id": "980f3bc298cbc08ed244078b3d0cda6648e80826",
      "new_mode": 33188,
      "new_path": "src/gc/heap.h"
    },
    {
      "type": "modify",
      "old_id": "ce3cc932a05a50a0473000a8a03caa982be4e060",
      "old_mode": 33188,
      "old_path": "src/native/dalvik_system_VMRuntime.cc",
      "new_id": "baae8a39882238b4ab02275c0a050f8569b40315",
      "new_mode": 33188,
      "new_path": "src/native/dalvik_system_VMRuntime.cc"
    },
    {
      "type": "modify",
      "old_id": "4d34c7350eeb4f4c004cb527f82a86d17c8dd599",
      "old_mode": 33188,
      "old_path": "src/well_known_classes.cc",
      "new_id": "434fcf00f5ceb4f396055e694dd05ddc0a082b48",
      "new_mode": 33188,
      "new_path": "src/well_known_classes.cc"
    },
    {
      "type": "modify",
      "old_id": "8170520d45e4f55e15910ba20af7f12c91512207",
      "old_mode": 33188,
      "old_path": "src/well_known_classes.h",
      "new_id": "6e19f86c780b17a2212ec44dad9fe96850c036ec",
      "new_mode": 33188,
      "new_path": "src/well_known_classes.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9423b91c1626332a4579599894c106ab50ff9a6a",
      "new_mode": 33188,
      "new_path": "test/NativeAllocations/NativeAllocations.java"
    }
  ]
}
