)]}'
{
  "log": [
    {
      "commit": "700a402244a1a423da4f3ba8032459f4b65fa18f",
      "tree": "4c22fcda04d271bd55a37aff30650214af17a90c",
      "parents": [
        "047c11adcbcbc0bcf210defdfcbada763961ffee"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon May 19 16:49:03 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon May 19 22:27:39 2014 -0700"
      },
      "message": "Now we have a proper C++ library, use std::unique_ptr.\n\nAlso remove the Android.libcxx.mk and other bits of stlport compatibility\nmechanics.\n\nChange-Id: Icdf7188ba3c79cdf5617672c1cfd0a68ae596a61\n"
    },
    {
      "commit": "83cc7ae96d4176533dd0391a1591d321b0a87f4f",
      "tree": "6b3c607119c1dc2850810f8463dfd968c486fba4",
      "parents": [
        "8785d615122d4abbd22db702139584e8c472f502"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 12 18:02:05 2014 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Mar 06 15:37:40 2014 +0000"
      },
      "message": "Create a scoped arena allocator and use that for LVN.\n\nThis saves more than 0.5s of boot.oat compilation time\non Nexus 5.\n\nTODO: Move other stuff to the scoped allocator. This CL\nalone increases the peak memory allocation. By reusing\nthe memory for other parts of the compilation we should\nreduce this overhead.\n\nChange-Id: Ifbc00aab4f3afd0000da818dfe68b96713824a08\n"
    },
    {
      "commit": "7934ac288acfb2552bb0b06ec1f61e5820d924a4",
      "tree": "43f3acd8af7fd34d4ae7b64f6e06bb8429d74bb8",
      "parents": [
        "fb331d7ca004f39608fcfdae49d38df90c702ea9"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 26 10:54:15 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 26 11:55:10 2013 -0700"
      },
      "message": "Fix cpplint whitespace/comments issues\n\nChange-Id: Iae286862c85fb8fd8901eae1204cd6d271d69496\n"
    },
    {
      "commit": "0a9dc05e704bfd033bac2aa38a4fc6f6b8e6cf93",
      "tree": "ceee6b2676b4fbcee37d98bbb3b6e063bcbdd9b2",
      "parents": [
        "d792cc1569c3505d68352c11a72447419ee6eaaf"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 25 11:01:28 2013 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 25 15:30:43 2013 -0700"
      },
      "message": "GC data structures allocation tracking\n\nAdds a new stl compatible allocator that is used in most GC data\nstructures. When the data structures allocate and free memory, it\nlets the heap know of how much memory was allocated or freed. Using\nthis info, we dump the approximated stl data structures memory usage\nwhen a sigquit occurs.\n\nThe allocation tracking can be disabled with a compile time boolean\nflag to remove performance impact.\n\nChange-Id: Idddb6713169e07be913bceeb50f305c8573e4392\n"
    },
    {
      "commit": "fc0e3219edc9a5bf81b166e82fd5db2796eb6a0d",
      "tree": "5fc7f5b941724a62f8e3411df09fae431ff5e3cf",
      "parents": [
        "56d947fbc9bc2992e2f93112fafb73e50d2aaa7a"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 17 14:40:12 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 17 16:49:05 2013 -0700"
      },
      "message": "Fix multiple inclusion guards to match new pathnames\n\nChange-Id: Id7735be1d75bc315733b1773fba45c1deb8ace43\n"
    },
    {
      "commit": "7940e44f4517de5e2634a7e07d58d0fb26160513",
      "tree": "ac90242d96229a6942f6e24ab137bc1f8f2e0025",
      "parents": [
        "5cd9e3b122f276f610980cbaf0d2ad6ed4cd9088"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 12 13:46:57 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 12 17:49:01 2013 -0700"
      },
      "message": "Create separate Android.mk for main build targets\n\nThe runtime, compiler, dex2oat, and oatdump now are in seperate trees\nto prevent dependency creep.  They can now be individually built\nwithout rebuilding the rest of the art projects. dalvikvm and jdwpspy\nwere already this way. Builds in the art directory should behave as\nbefore, building everything including tests.\n\nChange-Id: Ic6b1151e5ed0f823c3dd301afd2b13eb2d8feb81\n"
    },
    {
      "commit": "07ed66b5ae659c452cbe1ab20c3dbf1d6f546461",
      "tree": "2350745da33df6fcb9fb0c9059e55ea5d5ea8f67",
      "parents": [
        "76b6167407c2b6f5d40ad895b2793a6b037f54b2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 12 18:34:25 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 12 18:35:05 2012 -0800"
      },
      "message": "Move logging.h into base/logging.h.\n\nChange-Id: Id68f85f7c3a71b156cb40dec63f94d4fb827f279\n"
    },
    {
      "commit": "d1643e41ef242ae656f667bf3c8b0324635cefd3",
      "tree": "6a14d7abb876c850129117304ea33afd619a0eb3",
      "parents": [
        "22f454c7d349c439c774c5d79b32514b190fd531"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Sep 05 14:06:51 2012 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Sep 09 13:57:33 2012 -0700"
      },
      "message": "Basic block combine pass\n\nCombine basic blocks terminated by instruction that we have since\nproven not to throw.  This change is intended to relieve some of the\ncomputational load for llvm by reducing the number of basic blocks\nit has to contend with.\n\nAlso:\n  Add stats to show how successful check elimination is.\n  Restore mechanism to disable some expensive optimization passes when\n  compiling large methods.\n\nChange-Id: I7fae22160988cbefb90ea9fb1cc26d7364e8d229\n"
    },
    {
      "commit": "08f753d5859936f8d3524e9e4faa6cee353873ea",
      "tree": "5679a9ad8be6827e2a10de282cd28e3d000917de",
      "parents": [
        "b0b2be7688109cff548d2ddc8f02eecbad49ecd2"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Aug 24 14:35:25 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Aug 28 11:34:56 2012 -0700"
      },
      "message": "Avoid compile time rewriting of dex code by verifier.\n\nCompile time rewriting of dex code leads to dead code that is causing\nissues with the LLVM compiler. Make instantiation and incompatible class\nchange errors be detected in slow path field and invoke logic so its\nsafe for the compile time verification just to softly fail the effected\nclasses.\n\nThis change places incompatible class change logic into the class\nlinkers ResolveMethod and consequently changes a number of APIs.\n\nChange-Id: Ifb25f09accea348d15180f6ff041e38dfe0d536e\n"
    },
    {
      "commit": "748474146da0c6484fa3dca0a700f612d47550c3",
      "tree": "58837d0fa82d4099eb4b82b2fd3d2bbf4294e4aa",
      "parents": [
        "92e3134cd84c134f167175288671a1e6838c908f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 20 18:10:21 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 21 09:14:27 2012 -0700"
      },
      "message": "Fix a bunch of lint.\n\nThere are still about 1800 lint warnings, so don\u0027t get too excited...\n\nChange-Id: I2394bd6e750b94060231378b3a7a88b87f70c757\n"
    },
    {
      "commit": "b2eb5c18d628dc84bdc424b5e5a491382d867e36",
      "tree": "42e7e0700c5a45224c2b72e3c80f84404a906345",
      "parents": [
        "a964d414bafe15287a68f5360ef8de737b165ee9"
      ],
      "author": {
        "name": "TDYa127",
        "email": "tdy@google.com",
        "time": "Thu May 24 15:52:10 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu May 24 21:24:42 2012 -0700"
      },
      "message": "Reduce memory usage.\n\nAlso, fix InferredRegCategoryMap constructor. (The regs_size is uint16_t.)\n\nChange-Id: If85df1ad78c3acc6d3c19e605ee7d90f43df1159\n"
    },
    {
      "commit": "a0e180632411f7fe0edf454e571c42209ee7b540",
      "tree": "97dc85e76c5449ec1a901226c44e0f68fec89870",
      "parents": [
        "e5eb1914de86129d78e965fb9f2e1bfb2aa68640"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Apr 13 15:59:59 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Apr 14 11:44:21 2012 -0700"
      },
      "message": "Add a SafeMap equivalent to std::map but without the error-prone operator[].\n\nChange-Id: Iae5ba2091c55a34dbd1005cf3d25fce2a8d5c1f9\n"
    }
  ]
}
