)]}'
{
  "log": [
    {
      "commit": "2d6ba5158d7fd459db2870df47300b517dc4d08c",
      "tree": "51e306969d4d707aee7a6bc36481390721e0f81f",
      "parents": [
        "1e2ee7de9dff66f7ca2bdf83a7262e21d75b37d1"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri May 17 11:31:37 2013 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Jun 24 15:29:06 2013 +0200"
      },
      "message": "Quickening support.\n\nThis CL adds quickening support for methods which are interpreted at runtime.\n\nThis CL introduces a DEX-to-DEX compiler. A method is now compiled in one of\nthe two following modes:\n- Native compilation: the method is compiled by the Quick or Portable backends.\nAt runtime, the generated native target-dependent code is executed.\n- DEX-to-DEX compilation: the method is executed by the interpreter at runtime.\nIts DEX code is compiled so some instructions can be replaced by special\ninstructions only valid at runtime. No native code is generated.\n\nThe quickening adds special instructions to improve runtime performance. They\nare \"-quick\" versions of the following instructions:\n- iget/iput\n- iget-wide/iput-wide\n- iget-object/iput-object\n- invoke-virtual/range.\n\nThese special instructions cannot be treated by the verifier since they lose\nthe field/method index referencing the field/method being accessed/invoked.\nTo prevent this, the DEX-to-DEX compiler is run only on methods of preverified\nclasses (without verification error at compilation time).\n\nThe DEX-to-DEX compiler implements quickening support using the CompilerDriver\ninterface like the native compiler does (Quick or Portable backends).\nTo replace instructions, the DEX-to-DEX compiler must be able to modify the\nmmapped DEX file. Since it can be read-only protected, the DEX-to-DEX compiler\nmust be able to temporarily change its protection to read-write mmapped file.\nTo achieve this, this CL adds support for changing DEX file protection with\nDexFile::EnableWrite and DexFile::DisableWrite methods. Besides, it also adds\na dedicated lock (DexFile::modification_lock) to ensure thread-safety and avoid\nconcurrent DEX file protection change (from a parallel DEX-to-DEX compiler on\nthe same DEX file).\n\nChange-Id: Iaafd103b9766810d7fc94a2c424a8fafba66e26a\n"
    },
    {
      "commit": "f8adc60455b90c95a6a3c8f87830e4e88b2644e1",
      "tree": "da454c5488560a4abca669598ed2f29a22930e57",
      "parents": [
        "dbbc99d2a197592aee8fdaf01253e426c9dff1d8"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Apr 18 17:06:19 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Apr 18 17:27:31 2013 -0700"
      },
      "message": "Mem map bug fix and documentation.\n\nAddresses issue where valgrind treats a non-null \u0027addr\u0027 as meaning MAP_FIXED.\n\nChange-Id: Ibfd2360cd5bd226f9699022e07b918db612c2f7c\n"
    },
    {
      "commit": "a40307e8562c20d9b9ce46e773864d07d95512a1",
      "tree": "ed4e85f5a7cd52458326a8dcb6ad4f89efa9131b",
      "parents": [
        "5fe2c162a422426687ba3570df1dc68864386764"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Feb 22 11:32:44 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Feb 22 23:26:22 2013 -0800"
      },
      "message": "Ensure VM\u0027s heap is accounted correctly.\n\nThe meminfo dumping assumes that dalvik heap is created using ashmem and has a\nprefix of \"dalvik-\". Ensure ART\u0027s anonymous mmaps fit this pattern. Tidy up\nanonymous mmaps so naming is more consistent.\n\nChange-Id: I9c62a9d1da21da6a048effb0399a1f85865cb12d\n"
    },
    {
      "commit": "700c8d31733534a3d978b75a03f6f7e177dc7e81",
      "tree": "6b9d8d93a70e31dba3b0a880f886ce408776314c",
      "parents": [
        "9adbff5b85fcae2b3e2443344415f6c17ea3ba0a"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Nov 05 10:42:02 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jan 25 14:28:43 2013 -0800"
      },
      "message": "Move .oat files to ELF format\n\nGenerates .oat in ELF file format using MCLinker\n- Uses MCLinker IRBuilder to create a synthetic .o from OatWriter output.\n- Uses new ElfFile for prelinking to support art image optimizations.\n\nAdapted OatFile to load using dlopen, ElfFile, or memory, removing raw MemMap mechanism.\n\nChanged image code to not assume oat data will be immediately after\nimage to allow space for ELF headers.\n\nPasses test-art and works with installd.\n\nChange-Id: Idc026eddb5de93f4b97490c405f3ed7b39589749\n"
    },
    {
      "commit": "10c5b78436bf9e603d817b40d1b98961919362b1",
      "tree": "bd683a021c799046d6a470298df6f3d79a39822b",
      "parents": [
        "9e0c175a0cea5c8c88a6927e6375554118f74a82"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jan 10 10:40:53 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jan 10 12:02:02 2013 -0800"
      },
      "message": "Fixes for gtests on gPrecise.\n\nAlso make a similar reservation in heap.cc use PROT_NONE rather than\nPROT_READ which should be more efficient.\n\nChange-Id: I648ef5b1bf2906094e92253b30d0a5a7554d1af6\n"
    },
    {
      "commit": "e222ee0b794f941af4fb1b32fb8224e32942ea7b",
      "tree": "0b9f5fe6398663c9d871881cf7de28eca8bdfc6f",
      "parents": [
        "1aa246dec5abe212f699de1413a0c4a191ca364a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 13 14:41:43 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 13 15:24:45 2012 -0800"
      },
      "message": "Move stringpiece.h and stringprintf.h to base/.\n\nChange-Id: I7f71b4a12f99c5f81771146c66629ae5a947b229\n"
    },
    {
      "commit": "8161c0336b97e11e02c000af357f8f40de2e23e4",
      "tree": "cc5dafd36fefd9ec71ced5b2af36955053b450f3",
      "parents": [
        "72891f319f83eca0680a9aeb1445dddd40dec99b"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Wed Oct 31 15:50:00 2012 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Wed Oct 31 16:24:36 2012 -0700"
      },
      "message": "More MIPS fixes. The vm-tests and oat tests all work on the emulator.\n\n- Changed the base address of the art image for MIPS to allow enough\n  space for CTS to run on the target.\n- Fixed exception delivery to jump without linking, and to preserve the\n  value of $gp.\n- Added dumping of /proc/self/maps whenever mmap fails, and cleaned up\n  other debugging output (not MIPS related).\n\nChange-Id: I4e92e992ee6a6167e901db8ad90a6062bbc5168a\n"
    },
    {
      "commit": "1c23e1edb7361bbaec6e57fca86d8d3797960ad2",
      "tree": "af8aa791777271fc5105f19a70aa972768493856",
      "parents": [
        "ed6d5ed3494648780b9e91422c90d6bc22c16b79"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 12 14:14:11 2012 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 12 17:34:08 2012 -0700"
      },
      "message": "More space refactoring.\n\nAdd common interface, AllocSpace.\n\nRenamed the old AllocSpace to DLMallocSpace.\n\nAdded an new option enforce_target_size_, which when enabled, doesn\u0027t let\nthe heap grow past ideal heap size calculated during last Gc.\n\nRemoved redundant AllocationSize calls.\n\nMoved large object space to its own file instead of being in space.h/cc.\n\nChange-Id: I15e60531114bf213800599737cbd66ef44b46b15\n"
    },
    {
      "commit": "cc236d74772dda5a4161d9bc5f497fd3d956eb87",
      "tree": "2cd44e980357edc5b1a477fb261adb590d34c7c7",
      "parents": [
        "f1ea6b072b8b473eabf91d1d582fb5966ffea4ba"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jul 20 10:29:05 2012 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jul 27 14:30:51 2012 -0700"
      },
      "message": "Zygote space / partial collection support.\n\nThe zygote space is now created right before zygote fork. This space has new allocations into it disabled, this reduces memory usage since we have more shared pages.\n\nPartial collection works by marking all the zygote space -\u003e alloc space references by using a mod-union table and then recursively marking only over the alloc space.\n\nApproximate improvements;\n\nDeltablue time goes down ~0.5 seconds.\n\nCaffeinemark score goes up ~300.\n\nSystem memory usage goes down ~7MB.\n\nChange-Id: I198389371d23deacd9b4534f39727eb641786b34\n"
    },
    {
      "commit": "1c849e5badc85b6753dee0c0487729b2c0529f51",
      "tree": "5f5c602d60404f66d363fe1b4f619d89087fef33",
      "parents": [
        "78a5e15629e6591090582cd83b1ec1380a50a840"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jun 28 14:00:33 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jun 28 14:00:33 2012 -0700"
      },
      "message": "Clean up kAccWritable in the verifier.\n\nkAccVerifier was deprecated, instead memory permissions were used in its\nstead.\n\nMove dead code scanning in the verifier to be enabled when the results\nwill be logged.\n\nChange-Id: Id20e62eefe958bd577b86bd7396a439d7a01c1b3\n"
    },
    {
      "commit": "a168c83a1d247094e9efb1244b0f73a5f1e1ed97",
      "tree": "d0fb5a91a00227eda6b430fd64f2a1bff5271723",
      "parents": [
        "289be85116aaf7c48413858b5d0448868b4e61f3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 12 15:34:20 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 12 15:34:20 2012 -0700"
      },
      "message": "Convince tsan that the card table isn\u0027t a problem.\n\nAlso move the #include \u003csys/mman.h\u003e into \"mem_map.h\", since it\u0027s\ncurrently not possible to make any use of the latter without the\nformer. If we care about the pollution, we should offer our own\nconstants as part of our API.\n\nChange-Id: I01ec451d23c1d8afb8cb8a6660af8d9723faf5f5\n"
    },
    {
      "commit": "7bda15835732b2ce874a093c136ca406d4f20e00",
      "tree": "a29f7656d44ed72b2304147801219a6fcaaef563",
      "parents": [
        "ecd3a6fc6e29d7dc4cb825c5282a8054ac52b8cf"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 07 11:00:54 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 07 11:00:54 2012 -0700"
      },
      "message": "Fix the Mac build.\n\nChange-Id: Id46f542ddf6198dc5268bc1109b253308fab5244\n"
    },
    {
      "commit": "ecd3a6fc6e29d7dc4cb825c5282a8054ac52b8cf",
      "tree": "f684b381860df24cfea1414d01bff9a37c054023",
      "parents": [
        "a060ed959efb8d57419edc3c5c1fa48372cc6588"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 06 18:16:37 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 07 10:07:12 2012 -0700"
      },
      "message": "Use libcorkscrew to detect map collisions.\n\nI taught libcorkscrew about Mac OS map info, so we don\u0027t need another\ncopy of the multi-platform map-parsing code.\n\nChange-Id: Iebb4559804d9d8210d00311987171079a7ee0919\n"
    },
    {
      "commit": "a060ed959efb8d57419edc3c5c1fa48372cc6588",
      "tree": "5d40e49f8f9f7cbcf2a1a5be1d800b8ab03d8f21",
      "parents": [
        "b65c9244ff8999fd62aecd86494886c61a50a60c"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Jun 07 09:25:28 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Jun 07 09:32:37 2012 -0700"
      },
      "message": "Fix error meessages in DexFile::ChangePermissions() and mem_map.cc.\n\nChange-Id: I9be999b61b0fca1ab9cad7521346681d2370f1c4\n"
    },
    {
      "commit": "d88fa26892ad5ddebb7ab3407cdc574c54ed8258",
      "tree": "0c99e8b69ed93347908505d4c56b6bf48e4b3e28",
      "parents": [
        "07a062cc9770d0fa8c73f116db4cb15bfba8b7b3"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Wed Jun 06 15:23:32 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Jun 06 21:01:17 2012 -0700"
      },
      "message": "Add mprotect helper function to MemMap class.\n\nChange-Id: I3967b76301d339de987fb8e094adbde4ef18573d\n"
    },
    {
      "commit": "5ea8d4b0912a5bc139be21fc901f982a6b023675",
      "tree": "4f13619e78557bc77e941630ef8a67430e489e03",
      "parents": [
        "b5c4922f3c0f56eec5064536c4bb780c4f58f3fb"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 30 15:21:36 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 30 15:21:36 2012 -0700"
      },
      "message": "Better diagnostics when an anonymous mmap fails.\n\nChange-Id: I0657950077c58c28b4f63990e42df6396215c07c\n"
    },
    {
      "commit": "8d524a1bd3cbbe701572b232cf2e690835c95346",
      "tree": "9c3a9c53b9ebb56485a9a7c4d648020dc56dd719",
      "parents": [
        "cf7d3a3b813b8bf08e127abeab67a425c9752f63"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 30 17:20:10 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 30 17:20:10 2012 -0700"
      },
      "message": "Keep trying to guess the 10.5 vmmap(1) syntax...\n\nChange-Id: I960e33e0b97e9f7f52b815af3fbed4e2557a5225\n"
    },
    {
      "commit": "273cf36d199cf73de3cf61a559ad27c9d23f9825",
      "tree": "351cced4f439a1151a2d07dcc197960abcd9fb23",
      "parents": [
        "ba7a3ecc0c7342a19951f076474c41d43168f68e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 30 14:31:04 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 30 14:31:04 2012 -0700"
      },
      "message": "Keep fighting Mac OS 10.5 because the build servers are obsolete.\n\nChange-Id: I01b51a7dba147327e839c801109ffcc636ae8a4f\n"
    },
    {
      "commit": "ba7a3ecc0c7342a19951f076474c41d43168f68e",
      "tree": "e62902f63d5dee9224d354f69491c060c2100cde",
      "parents": [
        "0a6d59a83a84dbd78b55a7a1a754b2873a1e7a6e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 30 12:23:49 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 30 12:23:49 2012 -0700"
      },
      "message": "Try to support obsolete Mac OS 10.5.\n\nvmmap(1)\u0027s -v option was new in 10.6.\n\nChange-Id: I92465e5f0b9d74f9435cc5600881b4f4bce19989\n"
    },
    {
      "commit": "448e93c728b352729afde3c8e95e902c08b1d929",
      "tree": "62f1748c09bf8b3e97cf941a3c2cc9afeeceb71b",
      "parents": [
        "f1498437b0d6beb9f4f91980b98cbeb0b5c773ce"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 28 22:30:06 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 28 22:30:06 2012 -0700"
      },
      "message": "Fix dex2oat on the Mac.\n\nWhat did we do before valgrind? _NSGetExecutablePath was responsible for the\nheap corruption. The vmmap(1) parsing was slightly off too.\n\nChange-Id: Id458d99c0f75e70a5c59cfbd785ea2efebfbdfce\n"
    },
    {
      "commit": "1bac54ffa933fbe9b92b62437577f2f4583eff1a",
      "tree": "a27134343ed3cd45a286c3a68b9a4469e70f13e7",
      "parents": [
        "96970cdab3e28511322ce37fa578f6eff8931d72"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 16 12:48:31 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 16 12:48:31 2012 -0700"
      },
      "message": "Fix all our unused parameter warnings so we let GCC report them.\n\nThere were a couple of genuine bugs here (fixed), plus there\u0027s a missing\nfeature in trace.cc that I\u0027ve just added a TODO for.\n\nAlso note that I haven\u0027t touched the compilers; this warning is still\nexplicitly disabled for that code. I\u0027ll do that when there\u0027s less going\non in those directories.\n\nChange-Id: Ic3570bf82411a07c7530bfaf1995ac995b9fc00f\n"
    },
    {
      "commit": "96970cdab3e28511322ce37fa578f6eff8931d72",
      "tree": "ed684d4eef1274ec3ce89a43896ddec9a0380c80",
      "parents": [
        "0512f02dd6623c0870c11fbf3274d7462f732136"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 13 15:46:31 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 16 12:12:02 2012 -0700"
      },
      "message": "Implement CheckMapRequest for Mac OS.\n\n(cherry picked from commit d594adbd5126249950d42d3986ca86d066c3d912)\n\nChange-Id: I1e99aa15d8fd9bde47042469fc31a3032b69bdf0\n"
    },
    {
      "commit": "30fab40ee5a07af6b8c3b6b0e9438071695a57f4",
      "tree": "86514e3535c8b23cf52249a202076b59ac532021",
      "parents": [
        "f3778f66879fa038a7c9ebe46d5bc4167ddef7d8"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Jan 23 15:43:46 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jan 26 17:32:10 2012 -0800"
      },
      "message": "Upgrade to latest dlmalloc. Refactor Heap and related APIs to use STL like naming.\n\nWe fail assertions in the existing heap code, as does Dalvik. This refactoring\nis to clean the heap and space APIs and to reduce duplication of data\nand thereby solve a failing assertion in the card table.\n\nThis change also wires up clearing of soft references including before\nout-of-memory errors are reported.\n\nIn doing this change it was made clear that mspaces are buggy (and\nviolating invariants with the garbage collector). This\nchange upgrades to an un-Android molested version of dlmalloc-2.8.5 and\nimplements a version of the mspace morecore routine under ART control.\n\nrun-test 061-out-of-memory is updated for current heap sizes.\n\nChange-Id: I377e83ab2a8c78afb9b1881f03356929e2c9dc64\n"
    },
    {
      "commit": "ad6c9c3dbf7541340f22ccbb333f08556ad7e000",
      "tree": "dc11a1165c0f145cf3e6b5edc16bea8b57ba62fe",
      "parents": [
        "d1029981c8ec2341f76376c8d8e15d72dda4c45f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 19 17:39:12 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 20 14:04:02 2012 -0800"
      },
      "message": "Mac build fixes.\n\nThis gets us pretty close. There are a few problems with libraries we depend\non (system/core/liblog and external/icu4c) that I have workarounds for, and\na problem with gtest that I haven\u0027t yet worked around that prevents us from\nlinking any of the tests. But this at least gives us a Mac dex2oat binary.\n\nChange-Id: Iac39a6c2963c3d37ab2165d7d1a70e303ba22c45\n"
    },
    {
      "commit": "89521898b56f2ebc3fb68acfb6bc6dde9b6f5c38",
      "tree": "6811878efd4490f78ae099ec7e14c1a1ffe4d868",
      "parents": [
        "c74a6971fb9a65dbee337d51e7981a37be208a00"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Dec 07 22:05:07 2011 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jan 04 00:23:07 2012 -0800"
      },
      "message": "Merge art-cache dex files into oat files\n\nChange-Id: I5a327a4e0b678bd9dabb12de4e21ef05e3fefd0b\n"
    },
    {
      "commit": "955724179c6c739524f610023287f56b24dc31de",
      "tree": "64f751693e72173ae0d044d8c54989b01f1195af",
      "parents": [
        "b87f73ea7524f6eb9da6da1af931a3d3fbb833ff"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Dec 13 18:14:20 2011 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Dec 13 18:14:20 2011 -0800"
      },
      "message": "Don\u0027t default-construct std::strings and then assign them.\n\nChange-Id: I8c994d1e6a8d2ebe52eaa4f0132e0deb2ecfa5f3\n"
    },
    {
      "commit": "6c9c06dbb0b16714079afaedbebd3d548aa832b2",
      "tree": "9b0ae57d2eb1e977a07f2837ac81397e8b227571",
      "parents": [
        "fb85604748667491610e309c868f80de2b7865c1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Nov 07 16:43:47 2011 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Nov 07 17:02:46 2011 -0800"
      },
      "message": "Use ashmem to name our various anonymous regions.\n\nChange-Id: If64576b831a2fdcb83ffce40e6ec8ece8d902672\n"
    },
    {
      "commit": "cc607471d301e468ac0d84deacd1f60667331f67",
      "tree": "f2a8818b996e2cfca2f27863da797ad57ae98bd8",
      "parents": [
        "29405cfc691196c21325e80d9a9f3795026eff4e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 17 15:34:11 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 17 15:34:11 2011 -0700"
      },
      "message": "Use CHECK_OP instead of CHECK where possible.\n\nChange-Id: I2f12650e42bab057d0fd3b2978250306a6b264ab\n"
    },
    {
      "commit": "e24fa61603a60ade3797e4a0c8b3fccb346cb048",
      "tree": "9ec5ed942eb9ece6d4d261ffd21956c94f9968fe",
      "parents": [
        "06cbeb990e94f9c4576601e27145fe132e34a686"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Sep 29 00:53:55 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Oct 03 10:28:05 2011 -0700"
      },
      "message": "Separate oat from image\n\nChange-Id: If2abdb99826ead14e3465d90ba2acffd89709389\n"
    },
    {
      "commit": "27ec961a1da540ba7f16c07a682585ab167317ad",
      "tree": "0aa6cb8345e394fe0ebe608bc26aa2acbdac1393",
      "parents": [
        "03fa263ba90e9f6b11231576c6b9cc434e67141d"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Sep 19 20:20:38 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Sep 21 10:36:24 2011 -0700"
      },
      "message": "Adding oat_process\n\n- Added oat_process, a version of app_process use to launch frameworks apps\n- Added liboat_runtime, a version of libandroid_runtime that uses art instead of dvm\n  This is just a special makefile, frameworks/base/core/jni code is used for source\n- Added support for build a boot.oat with the full BOOTCLASSPATH\n  The older smaller boat.oat is now core.oat\n- Added mem_map code for making sure a requested memory region is available\n  Moved mem_map code to cc file to make easier to debug with smaller rebuild\n- Moved oat base address to 0x6000000 as a work around to host addres conflict\n- Added -Xms and -Xmx options to dex2oat to allow build specific memory options\n- Fixed miranda method initialization problem found compiling full bootclasspath\n- Made compiler.cc tolerant of verification errors found compiling full bootclasspath\n- Bumped arena block alloc warning to avoid noise when compiling full bootclasspath\n- Marked implicit GC unimplemented to fail fast\n- Added --output argument to oatdump\n- Made many object asserts tolerate access in IsErroneous state\n  now that verifier is failing validation of some classes during compilation\n- Made runtime tolerate unknown access as short term solution for oat_process\n- Workaround SSA issue to restore full bootclasspath compilation\n- Added test-art-target-processs to excercise oat_process with \"am\"\n  \"am\" found bug where class_linker was using Method::GetClass and not ::GetDeclaringClass\n\nChange-Id: I1a645a142b163e06bab9e72eb094ae1f1dbfbd97\n"
    }
  ]
}
