)]}'
{
  "log": [
    {
      "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"
    }
  ]
}
