)]}'
{
  "log": [
    {
      "commit": "90443477f9a0061581c420775ce3b7eeae7468bc",
      "tree": "8c74b81dfae162e0fd0ccf8d5ac50827ba815174",
      "parents": [
        "6078aec213dfaf111c29969706e8e5967cfc9bea"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 16 20:32:27 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jul 22 15:13:56 2015 -0700"
      },
      "message": "Move to newer clang annotations\n\nAlso enable -Wthread-safety-negative.\n\nChanges:\nSwitch to capabilities and negative capabilities.\n\nFuture work:\nUse capabilities to implement uninterruptible annotations to work\nwith AssertNoThreadSuspension.\n\nBug: 20072211\n\nChange-Id: I42fcbe0300d98a831c89d1eff3ecd5a7e99ebf33\n"
    },
    {
      "commit": "2cebb24bfc3247d3e9be138a3350106737455918",
      "tree": "d04d27d21b3c7733d784e303f01f873bb99e7770",
      "parents": [
        "1f02f1a7b3073b8fef07770a67fbf94afad317f0"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 21 16:50:40 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 22 12:44:27 2015 -0700"
      },
      "message": "Replace NULL with nullptr\n\nAlso fixed some lines that were too long, and a few other minor\ndetails.\n\nChange-Id: I6efba5fb6e03eb5d0a300fddb2a75bf8e2f175cb\n"
    },
    {
      "commit": "e15ea086439b41a805d164d2beb07b4ba96aaa97",
      "tree": "465ee3780acd8b7cb35c8a7f42a1f3c5df3d26ec",
      "parents": [
        "0b25c71ac93fb10c484dbacb9e23db505a8e2353"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Feb 09 17:11:42 2015 -0800"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Mar 03 17:33:18 2015 -0800"
      },
      "message": "Reserve bits in the lock word for read barriers.\n\nThis prepares for the CC collector to use the standard object header\nmodel by storing the read barrier state in the lock word.\n\nBug: 19355854\nBug: 12687968\nChange-Id: Ia7585662dd2cebf0479a3e74f734afe5059fb70f\n"
    },
    {
      "commit": "6a3c1fcb4ba42ad4d5d142c17a3712a6ddd3866f",
      "tree": "9df58b57af13240a93a6da4eefcf03f70cce9ad9",
      "parents": [
        "c6e0955737e15f7c0c3575d4e13789b3411f4993"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Oct 31 00:33:20 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Nov 03 20:01:04 2014 -0800"
      },
      "message": "Remove -Wno-unused-parameter and -Wno-sign-promo from base cflags.\n\nFix associated errors about unused paramenters and implict sign conversions.\nFor sign conversion this was largely in the area of enums, so add ostream\noperators for the effected enums and fix tools/generate-operator-out.py.\nTidy arena allocation code and arena allocated data types, rather than fixing\nnew and delete operators.\nRemove dead code.\n\nChange-Id: I5b433e722d2f75baacfacae4d32aef4a828bfe1b\n"
    },
    {
      "commit": "13735955f39b3b304c37d2b2840663c131262c18",
      "tree": "0a731ac42b8230f9929172fa3e3d8051874e2b18",
      "parents": [
        "25b18bbdaa36ff936eb44f228f0518d4223e9d52"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Oct 08 12:43:28 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 09 16:05:58 2014 -0700"
      },
      "message": "stdint types all the way!\n\nChange-Id: I4e4ef3a2002fc59ebd9097087f150eaf3f2a7e08\n"
    },
    {
      "commit": "bad0267eaab9d6a522d05469ff90501deefdb88b",
      "tree": "1ce689b75184cb322b9edde34d7af938c658a6ae",
      "parents": [
        "0772a9d99c8774463c9076824340eaa4eb66f47f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Aug 25 13:08:22 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Aug 29 18:57:35 2014 -0700"
      },
      "message": "Add native memory accounting through custom allocator.\n\nAdded a custom allocator that lets you pass in a special tag which\nspecifices where the allocation came from. This is used when\ndumping. The performance overhead is low since each allocation only\ndoes a atomic add/sub for each allocation/free.\n\nThe measurements are dumped to traces.txt during SIGQUIT.\n\nExample output:\nI/art     (27274): AllocatorTagHeap active\u003d120 max\u003d120 total\u003d168\nI/art     (27274): AllocatorTagMonitorList active\u003d1572 max\u003d6240 total\u003d11724\nI/art     (27274): AllocatorTagClassTable active\u003d185208 max\u003d185208 total\u003d268608\nI/art     (27274): AllocatorTagInternTable active\u003d430368 max\u003d430368 total\u003d436080\nI/art     (27274): AllocatorTagMaps active\u003d5616 max\u003d6168 total\u003d34392\nI/art     (27274): AllocatorTagLOS active\u003d1024 max\u003d1536 total\u003d2044\nI/art     (27274): AllocatorTagSafeMap active\u003d0 max\u003d51936 total\u003d533688\nI/art     (27274): AllocatorTagLOSMaps active\u003d144 max\u003d1248 total\u003d5760\nI/art     (27274): AllocatorTagReferenceTable active\u003d10944 max\u003d11840 total\u003d19136\nI/art     (27274): AllocatorTagHeapBitmap active\u003d32 max\u003d40 total\u003d56\nI/art     (27274): AllocatorTagHeapBitmapLOS active\u003d8 max\u003d8 total\u003d8\nI/art     (27274): AllocatorTagVerifier active\u003d0 max\u003d18844 total\u003d1073156\nI/art     (27274): AllocatorTagModUnionCardSet active\u003d5300 max\u003d5920 total\u003d56020\nI/art     (27274): AllocatorTagModUnionReferenceArray active\u003d24864 max\u003d24864 total\u003d24864\nI/art     (27274): AllocatorTagJNILibrarires active\u003d320 max\u003d320 total\u003d320\nI/art     (27274): AllocatorTagOatFile active\u003d1400 max\u003d1400 total\u003d5852\n\nChange-Id: Ibb470ef2e9c9a24563bb46422d46a55799704d82\n\n(cherry picked from commit 5369c40f75fdcb1be7a7c06db212ce965c83a164)\n"
    },
    {
      "commit": "74240819ae09e29b2753ef38f4eb4be1c2762e2e",
      "tree": "61e2d3aa7268ce49fe77715593896f59feb92fe6",
      "parents": [
        "32710dd4a0232149002a5ae7bde1c640cdffd564"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 17 10:35:09 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jul 10 00:51:04 2014 -0700"
      },
      "message": "Use memory chunks for monitors on LP64\n\nMonitor IDs in lock words are only 30b. On a 32b system that works\nfine, as memory is usually aligned enough that shifting works out.\nOn 64b systems, the virtual memory space is too large for that.\nThis adds memory chunks into which we allocate the monitors so that\nwe have base_addr + offset and can use the offset as the monitor ID.\nTo allow for relatively compact but growable storage, we use a list\nof chunks.\n\nAdded a global lock for the monitor pool.\n\nChange-Id: I0e290c4914a2556e0b2eef9902422d7c4dcf536d\n"
    },
    {
      "commit": "b0fa5dc7769c1e054032f39de0a3f6d6dd06f8cf",
      "tree": "839d13ebfa7170967dd9b4abd434b7abda53da99",
      "parents": [
        "948740c1938860df055ddc801f20fd1707331e38"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Apr 28 16:47:08 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Apr 29 14:36:28 2014 -0700"
      },
      "message": "Force inlining on trivial accessors.\n\nMake volatility for GetFieldObject a template parameter.\nMove some trivial mirror::String routines to a -inl.h.\n\nBug: 14285442\n\nChange-Id: Ie23b11d4f18cb15a62c3bbb42837a8aaf6b68f92\n"
    },
    {
      "commit": "44d6ff197b340b5ac2a4094db148b39c366317dd",
      "tree": "818c34e10f126b20a22ee7abd5f054b7f34c3100",
      "parents": [
        "b35d722809e93cd2aeaf523255fdfac9eba75f76"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Mar 06 23:11:11 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Mar 06 23:11:11 2014 -0800"
      },
      "message": "Fix issues with clang and BUILD_HOST_64bit.\n\nChange-Id: Id954d0c1144de6eaf89a4d27d205e3bf6ccb655f\n"
    },
    {
      "commit": "ef7d42fca18c16fbaf103822ad16f23246e2905d",
      "tree": "c67eea52a349c2ea7f2c3bdda8e73933c05531a8",
      "parents": [
        "822115a225185d2896607eb08d70ce5c7099adef"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Jan 06 12:55:46 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Feb 06 23:20:27 2014 -0800"
      },
      "message": "Object model changes to support 64bit.\n\nModify mirror objects so that references between them use an ObjectReference\nvalue type rather than an Object* so that functionality to compress larger\nreferences can be captured in the ObjectRefererence implementation.\nObjectReferences are 32bit and all other aspects of object layout remain as\nthey are currently.\n\nExpand fields in objects holding pointers so they can hold 64bit pointers. Its\nexpected the size of these will come down by improving where we hold compiler\nmeta-data.\nStub out x86_64 architecture specific runtime implementation.\nModify OutputStream so that reads and writes are of unsigned quantities.\nMake the use of portable or quick code more explicit.\nTemplatize AtomicInteger to support more than just int32_t as a type.\nAdd missing, and fix issues relating to, missing annotalysis information on the\nmutator lock.\nRefactor and share implementations for array copy between System and uses\nelsewhere in the runtime.\nFix numerous 64bit build issues.\n\nChange-Id: I1a5694c251a42c9eff71084dfdd4b51fff716822\n"
    }
  ]
}
