)]}'
{
  "log": [
    {
      "commit": "afd9acc30bdd11cdd12d8209eb994cb371c65e33",
      "tree": "10ebfa28d992a96422fcf81eb28c98393719e9a6",
      "parents": [
        "ba778fae99ec3b38d4f98262e6b7072bab0e9de4"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Jun 17 08:21:54 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Jun 24 16:47:31 2014 -0700"
      },
      "message": "Multilib ART host.\n\nBuild ART for the host as a multilib project with dalvikvm32 and dalvikvm64\nrunning as 32 or 64-bit repsectfully. Note, currently multilib host builds\nare not the default, you make the so by setting BUILD_HOST_64bit\u003d1.\nExtend tests to execute in both 32 and 64-bit modes. By default both 32 and\n64-bit tests are run, add 32 or 64 to the end of a test name to run it in\npurely that flavor.\nGiven the extra spam, modify oat tests to only generate console output when\nthe test fails.\nChange the test harness so that common commands are run when a test should be\nskipped, when it passes or when it fails. Use these commands to generate a\nsummary of passing, skipped and failing tests. Tests will be skipped if they\nare known to be broken or if a test has already failed. Setting the variable\nTEST_ART_KEEP_GOING\u003dtrue will force working tests not to be skipped.\nIn this change all tests running on the optimizing compiler are marked broken\ndue to breakages running them in a multilib environment.\nBreak apart Android.common.mk into its constituent parts, along with other\npieces of reorganization.\n\nStylistic nit, we refer to make rule targets as targets thereby overloading\nthe term target. While consistent with make\u0027s terminology, its confusing with\nthe Android notion of target. I\u0027ve switched to just calling targets rules to\navoid confusion in host tests.\n\nChange-Id: I5190fc3de46800a949fbb06b3f4c258ca89ccde9\n"
    },
    {
      "commit": "5ca4eaace8ba513f97309bbdc2e156de4b1d648a",
      "tree": "3a392eb39fda9b6f6e46e05e529c85e18296bc49",
      "parents": [
        "fa5fda3ca52678b6fa739aad46e5c6ea08ae301e"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu May 29 02:09:33 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 04 08:00:30 2014 -0700"
      },
      "message": "ART: Make LOCAL_CLANG architecture dependent for the target\n\nBe selective for which target we compile with Clang. Currently we\nonly want to compile with Clang for ARM64, which means we need to\nbe careful about ARM, which is the second architecture for that.\n\nBug: 15014252\n\n(cherry picked from commit 9689e3768621130b2536564f4e00fcb6b3d25df4)\n\nChange-Id: I312e1caea08f2f3a20304b27f979d3c7b72b0a04\n"
    },
    {
      "commit": "2a0e954ecf7c60e6ec62d64b9382cc4ee447e224",
      "tree": "37d22f5d9e221ecd8a68c41d430e7b21fa3f54d1",
      "parents": [
        "299d2a2b200a94daa49c4727fd679f4461c083c7"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed May 21 14:55:02 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed May 21 19:47:17 2014 -0700"
      },
      "message": "Move art host to libc++\n\nChange-Id: Ia51a4fdfdbae7377130a43c401c2d8d241671d1e\n"
    },
    {
      "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": "ba0c51fd282c4f47b95230c5444e76f342900cfa",
      "tree": "19fc240937854b35e4dd93cb1e6d4c7a2168e87c",
      "parents": [
        "84e524207b23d58a1b1e5f4443000ccac97c4184"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri May 16 12:26:00 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon May 19 11:26:10 2014 -0700"
      },
      "message": "Switch ART to libc++.\n\nTODO: remove all vestiges of stlport.\n\nChange-Id: I95a3cb0b53d0898f0a5d388b606e79522f4d85e0\n"
    },
    {
      "commit": "bd5ea6a2f7c61c4cd7b66fead1bedd96e938369d",
      "tree": "1c1dde0d817303e669c413a919c192e2f3463bb0",
      "parents": [
        "5e17616b7386159cef8f2fb6ffe3cbc4fb1373e4"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Apr 16 16:34:44 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Apr 16 16:35:44 2014 -0700"
      },
      "message": "Preparation for transition to libc++.\n\nMove the dependency on libc++ to its own makefile so that we can switch in a\nsingle place between libc++ and stlport.\n\nChange-Id: Ie61e7d054dcd049e36d5e7298c27d8a4abe6edf7\n"
    },
    {
      "commit": "d74754320e4706796ebb1d4b413dc1fede6e4854",
      "tree": "d4ab7f6af93b8dbc1889e0e1793e91b95df28629",
      "parents": [
        "0807e7bbbafc4b4e8e7fb1d2d54fbcb011c05c82"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Mar 20 12:55:13 2014 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Apr 02 19:44:09 2014 +0000"
      },
      "message": "force dex2oat target executables to be compiled for 32-bit\n\n64-bit dex2oat doesn\u0027t support 32-bit targets yet, force dex2oat\ntarget executables to compile 32-bit for now by passing in a\nvalue for LOCAL_MULTILIB to build-art-executable.\n\nBug: 13764385\nChange-Id: I41adba1e64f373e4b61a3c13af2592ed4f7d0b57"
    },
    {
      "commit": "afbaa1aab02cfe519d00336870b1bcd24b61378d",
      "tree": "ec33583d52a42ee49082f4bce404e8c434cfd8f5",
      "parents": [
        "8ce67ac16abcd25b376be622cbd20a34aec4a59d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Mar 25 18:09:32 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Apr 01 13:58:32 2014 -0700"
      },
      "message": "Build changes to build multilib tests\n\nTest files will be emitted into directories for both first and second\ntarget architectures. Going with the naming scheme for binaries,\nsingle-architecture and 32b cases have the standard name, and\n64b goes into a directory with \"64\" suffix.\n\nIn multi-architecture setups, the default concrete test targets are\nextended with a \"32\" and \"64\" suffix, e.g., test-art-target-oat-JniTest64.\nThe suffix-less form is linked to the primary architecture target (usually 64).\nThat means running combined targets, e.g., test-art-target-oat, will only\ntest the primary architecture right now.\n\nFixed target run tests calling the right dalvikvm. Fixed library search\npath for tests derived from CommonRuntimeTest.\n\nMissing in this work-in-progress is correct handling of dex2oat for the\nsecondary architecture. To make it work on 64b, comment out line 101\nin build/Android.executable.mk\n\nChange-Id: I3d260994e6efe8b73b56c71994053cc9392943a9\n"
    },
    {
      "commit": "cae10f73bdad63774a3a8bc67d568b131f9bd591",
      "tree": "ef22215b492817ad0ed8eae0ac180b5cd418c67d",
      "parents": [
        "81ed34e686532cebc1e17a273110decf0dd24e81"
      ],
      "author": {
        "name": "Andrew Hsieh",
        "email": "andrewhsieh@google.com",
        "time": "Tue Apr 01 11:52:01 2014 +0800"
      },
      "committer": {
        "name": "Andrew Hsieh",
        "email": "andrewhsieh@google.com",
        "time": "Tue Apr 01 12:53:18 2014 +0800"
      },
      "message": "Add -lpthread -ldl to link executable/tests\n\nThe new binutils-2.23 based linker in\nprebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6\nno longer implicity adds dependencies on *so an executable needs.\neg.\n\n  ld -o barrier_test barrier_test.o common_runtime_test.o ... -lartd\n\nproduces error messages read\n\n  art/runtime/thread-inl.h:43: error: undefined reference to \u0027pthread_getspecific\u0027\n  art/runtime/common_runtime_test.h:219: error: undefined reference to \u0027dlsym\u0027\n  external/gtest/src/../include/gtest/internal/gtest-port.h:1482: error: undefined reference to \u0027pthread_getspecific\u0027\n\nbecause libartd.so DT_NEEDED libdl.so and libpthread.so, and new linker no longer\nimplicitly add both to dependencies.  Explicitly add -lpthread -ldl to fix the issue\n\nChange-Id: Ic29c68480b2ed55d282be949640b9158411f213d\n"
    },
    {
      "commit": "2269d2a647dbd4ad60a32be0238eda4db844d95b",
      "tree": "30931ac7b96100f56a7fb7b9324a3c0549b797af",
      "parents": [
        "378144e8afc96aa9f15e3a0d9ad28bf8364fa4aa"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Mar 20 12:55:13 2014 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Mar 20 12:55:13 2014 -0700"
      },
      "message": "HACK: force target art executables to be compiled for 32-bit\n\n64-bit dex2oat doesn\u0027t support 32-bit targets yet, force all\nart executables to compile 32-bit for now.\n\nChange-Id: If69f0a45e55104a5e915a9c58afa9009aa68b71c\n"
    },
    {
      "commit": "dc781a13ddb4dabf646bb45d0c53b65cab948e5b",
      "tree": "b74e4a579747ce12297b5a66f04669f42dfffa6a",
      "parents": [
        "89925e948c49616689eb4959aaf0e4ff1de18161"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Feb 04 16:22:03 2014 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Feb 18 17:22:15 2014 -0800"
      },
      "message": "art: convert makefiles to support multilib build\n\nConvert makefiles to allow for building two architectures at the\nsame time.  More changes may be necessary to get the tests to\nbuild.\n\nChange-Id: I02ba11706b7e5b5592d76e43c167bcbf0e665b93\n"
    },
    {
      "commit": "fa50baa45bf7c82e489bd66bbba70544f7981997",
      "tree": "bc05fc5bcea90af367499076a0cbc46a06d6dfc0",
      "parents": [
        "e5426c9995d28bcb19391d8dbf0ad70606cf1770"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Aug 02 01:00:27 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Aug 02 01:13:46 2013 -0700"
      },
      "message": "Restore build-art minimal build\n\nChange-Id: I0f4f2e8c6d2505a339cb9a1175d30ed9b229c45d\n"
    },
    {
      "commit": "025218c7e4330a4942b14f9a8f1f68bd3390261c",
      "tree": "8bfc33d0dcc9d5687845cea2c8d24a5020b1aa3a",
      "parents": [
        "2724776ad521eebb1c7f0e4be56d6e6ab4764f86"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 30 17:13:06 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 30 17:13:06 2013 -0700"
      },
      "message": "Clean up stlport usage.\n\nChange-Id: I133cd88f1da37f6f801a9e07a78ae23b671cf4f1\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": "51c2467e8771b56e25ae4f17f66522f979f57a7e",
      "tree": "16a66abbb45ea3fcc8c513c8511f34a46cd454c4",
      "parents": [
        "27c590edf6c24107b6473e84e526c432bd081f6e"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jul 11 16:00:56 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jul 11 21:16:04 2013 -0700"
      },
      "message": "libart-compiler cleanup\n\n- Move compile-time code to src/compiler and libart-compiler\n  OatWriter, ImageWriter, ElfWriter, ElfFixup, ElfStripper, stub generation\n- Move ClassReference and MethodReference to remove MethodVerifier dependency on CompilerDriver\n- Move runtime_support_llvm.cc out of src/compiler and next to runtime_support.cc\n- Change dex2oat and gtests to directly depend on libart-compiler\n- Move non-common definitions from Android.common.mk to more specific makefiles\n- Add LOCAL_ADDITIONAL_DEPENDENCIES on appropriate makefiles\n\nChange-Id: I897027e69945914128f21f317a92caf9255bc600\n"
    },
    {
      "commit": "fa42b4410d49134a8e63dc2196be4013d286f2d6",
      "tree": "71e325089092167f202fbdf763daaf700cfd4a4b",
      "parents": [
        "7675e16bcae06c0fe258aad89b3d511037dec399"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jun 17 12:53:45 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jun 17 19:01:40 2013 -0700"
      },
      "message": "Move to new art dalvikvm\n\nChange-Id: Ib04bc9853b7084965fa0c9899c3e5f5ac42d4ce7\n"
    },
    {
      "commit": "cd5d0422ac07b03220970a3606f8b402a3636528",
      "tree": "6879c685081ce4e4f53eb33bb2a8ad60d55cdc9b",
      "parents": [
        "e606010a5e5ea803736576b47740a2551e5d0dfc"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri May 17 15:54:01 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri May 17 15:54:01 2013 -0700"
      },
      "message": "Clang build support, -Wthread-safety with GCC 4.6.\n\nChange-Id: Idccb4daa012c66a6ece3f7a037c9c2c029beba64\n"
    },
    {
      "commit": "52e55cbc6d18694556176b58ef79b5ae52c8039c",
      "tree": "c4e2784e0420ff89f6304a5a649a948783a62ef9",
      "parents": [
        "52003fe9e2020e9d68cee1300fdb4a3f55be85a5"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Mar 22 09:56:53 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Mar 22 09:56:53 2013 -0700"
      },
      "message": "Remove gcc-based tsan support\n\nChange-Id: I145331e295f69e99408e03cb59df26fb337510f5\n"
    },
    {
      "commit": "265091e581c9f643b37e7966890911f09e223269",
      "tree": "ae493ce6c3537aebc3a85f59a73500fa819a7baf",
      "parents": [
        "4c1c283a7410784e9cab309f868248690b788a9c"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jan 30 14:08:26 2013 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Mar 06 14:08:46 2013 -0800"
      },
      "message": "Remove ExtractCodeAndPrelink and switch Portable to MCLinker\n\nChange-Id: Ia2459c7da6b79e0a1c0f1148c6e28ad9cbbe27a2\n"
    },
    {
      "commit": "c928de90ad22ecdf83c18a07008409595f13d3b1",
      "tree": "065a08f379960f7ba946318aaa742d7ddd0c94bd",
      "parents": [
        "0f827169742aad6209d830db773a101849c32a83"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Feb 27 14:30:44 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Feb 27 14:30:44 2013 -0800"
      },
      "message": "Remove Iceland.\n\nART_USE_LLVM_COMPILER is removed and when necessary ART_USE_PORTABLE_COMPILER\nis used in #ifdefs.\n\nChange-Id: Iffa9ce5b0246c7c427ccc4e67ecc134624632e55\n"
    },
    {
      "commit": "c531cefbfb5394413122e9f57d211ba436cff012",
      "tree": "f1a7183c0aa17414df90409e99dc24e84aaa2562",
      "parents": [
        "9281f004db3f194930ef34d31e5d80c98341f38f"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Oct 18 07:09:20 2012 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Oct 26 10:13:33 2012 -0700"
      },
      "message": "Eliminate #ifdef ART_USE_QUICK_COMPILER\n\nOne of several steps towards having a single compiler build.\nIn this CL, we introduce a compiler_backend command-line option\nto select between Quick, Quick w/ GBC, Portable and Iceland\nback ends.  The Iceland option is temporary, and will go away once\nwe combine with Portable.  The Quick variants are with\nand without GBC conversion.  In time, those will converge to a\nsingle option.\n\nAll uses of \"#if defined(ART_USE_QUICK_COMPILER)\" are eliminated.  All\nprevious uses in the Quick compiler have been converted to runtime\ntests.  On the llvm side, ART_USE_QUICK_COMPILER was previously\nused to differentiate between Portable and Iceland builds.  Those\nusages have been replaced with ART_USE_PORTABLE_COMPILER, and in\na following CL will also be converted to run-time tests.\n\nAs of this CL, we\u0027re still generating separate libraries for\nQuick and Portable/Iceland.  Next up is elminating the target-specific\nlibraries for Quick-arm, Quick-x86 and Quick-mips.  Once that is\ncomplete, we will consoldate Quick and Portable into a single build.\n\nTo build either Iceland or Portable, touch USE_PORTABLE_COMPILER or\nUSE_LLVM_COMPILER as usual.  Otherwise, the build will default\nto Quick (non-GBC).\n\nChange-Id: Ic86c56f51710c9b06d4430b71a429ae12903cc47\n"
    },
    {
      "commit": "21d28f510eb590f52810c83f1f3f37fe5f4adf46",
      "tree": "f937b4d39aab322541b9b83cc5dd59d8e3f2fddd",
      "parents": [
        "0967a25d1482d8f7b4a26c5926263e7ffa63189f"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Tue Jun 12 05:55:00 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sat Sep 15 04:15:17 2012 -0700"
      },
      "message": "GBC Expander. Removed lir.\n\nChange-Id: If8d13e36f1e6d82c2a7f7bfec62b8fb41fd8cdaa\n"
    },
    {
      "commit": "2cfc639fc803bf67e3d2a961f2b637220c86d5f7",
      "tree": "dfb184dc35b3a534fcd54a420378f29f30011f3a",
      "parents": [
        "a9719eb4167b544438268d46692389761652fc5d"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon May 07 14:51:40 2012 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Jun 07 16:29:03 2012 -0700"
      },
      "message": "Foundation for Quick LLVM compiler\n\nReady for review - probably better get this cleaned up and\nchecked in even though much work remains.\n\nBasic conversion from MIR to GreenlandIR and from GreenlandIR\nback to LIR.  Support sufficient to run Fibonacci test.\n\nNote some structural changes in MIR to support this work:\n    o  retaining incoming label for phi nodes\n    o  constant propagation\n    o  include object reference detection in type inference pass\n\nChange-Id: I8ba63c73e76d071aa40cae0f744e598b96f68699\n"
    },
    {
      "commit": "e94d9b23c52ec0f36c8a132914eac33bc707faff",
      "tree": "53a3b1262f9f01f12507ec2aa1f1fd6fa774fc72",
      "parents": [
        "024cf66d3359c015fabca8f5f3964592973e3f6e"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Tue May 22 09:01:24 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon May 28 21:04:37 2012 -0700"
      },
      "message": "Add dex_lang as common frontend to lir and LLVM. dex_lang + bc2lir \u003d\nGreenland\n\nFirst commit of Greenland compiler: It\u0027s working in the sense of oat\ntests. E.g., mm test-art-host-oat-Fibonacci. It shows the correct\nbitcode before lir.\n\nChange-Id: I91cbb02188325eb1fa605ed71ec7108fd2b0dbb9\n"
    },
    {
      "commit": "c4c9881e5d22432f3f1a30eeec5aa109dfc08a7d",
      "tree": "98f1125db961451699880019c8663d76e7b94d02",
      "parents": [
        "1580379bb02ee7866ca94d54851a4d08de12a5a4"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sat Mar 10 21:55:51 2012 -0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Tue Mar 13 10:26:51 2012 -0700"
      },
      "message": "Fix the LLVM build. Separate out libart-compiler-llvm.so.\n\nAfter this refactoring:\nIf (!USE_LLVM_COMPILER), I pass the test-art and boot the phone alright.\nThe behavior is the same for non-LLVM builds as before. Multi-target\nart-compiler shared libraries are generated as before.\nIf (USE_LLVM_COMPILER), I generate libart-compiler-llvm.so successfully.\n\nNote that the ideal refactoring for the next step will be to always build\nart-compiler and LLVM-[arm|mips|x86] shared libraries. Currently, we\nhaven\u0027t removed all the ifdefs for libart.so yet, so this is not ideal yet.\nReason for not-done-yet is that the next step requires discussions.\nI can remove all the ifdefs today, but then the (!USE_LLVM_COMPILER)\nbuild will incur extra fields and overhead.\n\nThis refactoring allows us to restore the LLVM build situation to be before\nthe breakage yesterday, so we can continue making forward progress again.\n\nOne difficulty in the refactoring is that LLVM is not a method compiler\nin default, unlike (!USE_LLVM_COMPILER). LLVM actually compiles an LLVM module\nat a time normally. So we need to do more call backs and tell\nlibart-compiler-llvm.so in each invocation where we are in terms of\nOatCompilationUnit.\n\nAnother difficulty is that currently our LLVM compiler is not\nmultithreaded and requires locking, unlike (!USE_LLVM_COMPILER). So more\ncallbacks are needed. This will be fixed when we fix the multithreading\nissue.\n\nChange-Id: I93bce21b6d673254188f2a60b1a7f91b508e497f\n"
    },
    {
      "commit": "06e3ad4a651c2c58dba5e865cd06d2f98462bf1d",
      "tree": "8110ea5a4880e0a6b2c39ce26dab934af29a91c0",
      "parents": [
        "bd411021057416e56a1544b98831b92faf66a1a1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 07 14:51:57 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 07 15:09:59 2012 -0800"
      },
      "message": "Turn on some basic tsan annotations.\n\nThe most useful bit here is that tsan now knows the names of our threads.\n\nChange-Id: I8eef8f31e954ffc373555b392d6d9678d76ead34\n"
    },
    {
      "commit": "a6cc893c4b142cd410fc956963b6f5a014e983ad",
      "tree": "72d9542065e45660c7b2f002a7c03dd9ad5a8a78",
      "parents": [
        "89521898b56f2ebc3fb68acfb6bc6dde9b6f5c38"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jan 04 14:44:07 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jan 05 14:43:21 2012 -0800"
      },
      "message": "Add installd support to dex2oat\n\nChange-Id: Id1a64403ccea7dc2c1e8b8340d33d383d4045a33\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": "3b6baaa203fa63f1522b2172a1645f90412afdae",
      "tree": "7de428a7d53f2b2b9c2274d49181befd5786b8fa",
      "parents": [
        "7abe9c933402f01d638086b2715b09b64b8595e0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 14 19:13:56 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 16 11:01:28 2011 -0700"
      },
      "message": "Bring our native stack usage down.\n\nI\u0027d have preferred to have a 512-byte limit, but there are some monsters\nin the verifier; 2000-line functions and the like. I\u0027m also not policing\ntests (except for one silly one). They can use all the stack they like.\n\nThis fixes the IntMath test (the stack overflow test was failing because\nwe were using more than 4KiB to throw!).\n\nChange-Id: I7e53e2fde2b39fde1910f8ee5b1712e8a66069c7\n"
    },
    {
      "commit": "b7bbba49d88eae58223d9878da4069bf6d7140bf",
      "tree": "00d1a0758d762903e648bb550434320822228c46",
      "parents": [
        "30646836b4a1c6e5e80ddaea246cf9669eaa0628"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Oct 13 14:58:47 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Oct 14 00:24:28 2011 -0700"
      },
      "message": "Add oatopt drop in replacement for dexopt\n\nChange-Id: I094375230af2d9a88e30245b390cac71be7b50f4\n"
    },
    {
      "commit": "0796af03edc06d92bb8d631f1c0c23befdae2315",
      "tree": "c8681daeed4fb155b43d8a824e09a2fb973ff7fc",
      "parents": [
        "1761ffc98298999f929e17cc3707aede5b890e0a"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Oct 12 14:31:45 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Oct 12 14:37:20 2011 -0700"
      },
      "message": "Fix Object::IsSoftReference\n\nAlso changed -Xzygote to default boot.art and log arguments\n\nFinally Makefile work:\n- separate out test dependencies\n- changed zygote with art to work by replacing libdvm with libart[d]\n- changed Makefile defines to name and error check their arguments\n  This was to fix bug in generating ART_TARGET_EXECUTABLES\n  where we used $(1) when we meant $(3)\n\nChange-Id: I7ef6008eff1fe99b59d151b6793e8fd8ea5304d4\n"
    },
    {
      "commit": "bc512351f95163157712cbf1a35e38f00355bde2",
      "tree": "521e9c09d1528ff2b4fda774aaf5d098db86d9cf",
      "parents": [
        "08125a079f921df703daaccb715291d1a88d4167"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Sep 16 15:57:22 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Sep 16 15:57:22 2011 -0700"
      },
      "message": "Remove redundant libgtest_host linkage\n\nChange-Id: I2932347166fa993c7125c32ecf6a3497462f3115\n"
    },
    {
      "commit": "78128a63b2615744760b7f8ab83df9764a5d4a95",
      "tree": "544b24f88e1f8d3df2ab28ec2973476ad1b85a97",
      "parents": [
        "d03935aea5192b32e3ca60a94db90b78c6702046"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Sep 15 17:21:19 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Sep 16 10:07:10 2011 -0700"
      },
      "message": "oatdump\n\nFROM MAKE:\nmm dump-boot-oat\n\nON HOST:\noatdump --dex-file\u003d$ANDROID_PRODUCT_OUT/system/framework/core.jar --image\u003d$ANDROID_PRODUCT_OUT/system/framework/boot.oat --strip-prefix\u003d$ANDROID_PRODUCT_OUT\noatdump --boot-dex-file\u003d$ANDROID_PRODUCT_OUT/system/framework/core.jar --boot\u003d$ANDROID_PRODUCT_OUT/system/framework/boot.oat --dex-file\u003d$ANDROID_PRODUCT_OUT/system/framework/art-test-dex-HelloWorld.jar --image\u003d$ANDROID_PRODUCT_OUT//system/framework/art-test-dex-HelloWorld.oat --strip-prefix\u003d$ANDROID_PRODUCT_OUT\n\nON TARGET:\nadb shell oatdump --dex-file\u003d/system/framework/core.jar --image\u003d/system/framework/boot.oat\nadb shell oatdumpd --boot-dex-file\u003d/system/framework/core.jar --boot\u003d/system/framework/boot.oat --dex-file\u003d/system/framework/art-test-dex-HelloWorld.jar --image\u003d/system/framework/art-test-dex-HelloWorld.oat\n\nChange-Id: Iad2ae40a9cf2dc28799ff5dc5222d50f1bc6b39f\n"
    },
    {
      "commit": "8692721dd8a3679ca874c3d1be0cecb62ff148f6",
      "tree": "abd3801c4b25dfd1ddade53285609808be4b2ae3",
      "parents": [
        "161928613d3f097108319de60494fab1aab8d48a"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Sep 15 11:31:11 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Sep 15 11:39:41 2011 -0700"
      },
      "message": "Fix ClassLinker::LinkInterfaceMethods bug\n\nAlso:\n- Expanded class_linker_test with additional vtable and iftable coverage\n- Added -fkeep-inline-functions where it works on host for debugging\n- Added disabled test for running command line Fibonacci with oatexec\n\nChange-Id: Ie295551e42493c7cca05684e71e56bf55bd362a4\n"
    },
    {
      "commit": "1d3f114124b140629a7d22fa5cfa20ab8fc96934",
      "tree": "a4e8eb3d22aa2991a73dea85da1d31fda6114c91",
      "parents": [
        "93e74e8d879270071c3aa163f8495ada8d21f42f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 13 12:00:00 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 13 13:27:51 2011 -0700"
      },
      "message": "Support 32-bit volatiles.\n\nChange-Id: If40ead8e13986d589ac1d1637034e25fc4108189\n"
    },
    {
      "commit": "4b620ffb1b4d0c96a94bb3afe314f35d53990ec6",
      "tree": "47cc36e7921d3dabbcd44d9f5a763199c67bf2c3",
      "parents": [
        "c396efc1baec875160afe34a3e65c46cce2bd72f"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Sep 11 01:11:01 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Sep 11 12:04:34 2011 -0700"
      },
      "message": "Finish moving state to managed heap\n\nChange-Id: I8a3b0e353b30268a05d6ed8ea0a6a4bead100660\n"
    },
    {
      "commit": "69b15fb098162f19a4c20e6dccdcead04d9c77f0",
      "tree": "84fdfc26f560fb618b652a0aff98347f875a2653",
      "parents": [
        "109bd6a38d0cd7c4b7797a9f2db8324c797d1368"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sat Sep 03 12:25:21 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Sep 06 15:28:47 2011 -0700"
      },
      "message": "Working dex2oat and oatexec\n\nadb shell dex2oatd --dex-file\u003d/system/framework/core.jar     --image\u003d/system/framework/boot.oat --base\u003d0x50000000 \"\u0027--method\u003dLjava/lang/System;logI(Ljava/lang/String;)V\u0027\" \"\u0027--method\u003dLjava/lang/System;log(CLjava/lang/String;Ljava/lang/Throwable;)V\u0027\"\nadb shell dex2oatd --boot-dex-file\u003d/system/framework/core.jar --boot\u003d/system/framework/boot.oat --dex-file\u003d/system/framework/art-test-dex-HelloWorld.jar --image\u003d/system/framework/art-test-dex-HelloWorld.oat\nadb shell oatexecd -Xbootclasspath:/system/framework/core.jar -Xbootimage:/system/framework/boot.oat -classpath /system/framework/art-test-dex-HelloWorld.jar -Ximage:/system/framework/art-test-dex-HelloWorld.oat HelloWorld\n\n09-05 17:58:18.912  2385  2385 I System  : Hello, world!\n\nChange-Id: I53e534068584f0c3a837313e4d517a0e4a7154fc\n"
    }
  ]
}
