)]}'
{
  "log": [
    {
      "commit": "08883debd927d18c9ecf66683a2a11aa98165656",
      "tree": "a73e1025905c5d5a4a64f1f20fcc4fc5295c5f5e",
      "parents": [
        "8bab69aafb3039f1dfe4aad4faf2a99986018abb"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 08 13:20:52 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 08 13:20:52 2016 -0800"
      },
      "message": "ART: Refactor jfieldID handling\n\nArtField objects have been native since Marshmallow.\nRemove the dependency on being runnable. Refactor the\ncode into the jni_internal header.\n\nTest: m test-art-host\nChange-Id: I46708c70f9b4b566d7e26e4c5ffc3f0cbadc43fa\n"
    },
    {
      "commit": "46aba36a1c982567d7e80a62b0cff9c0935e7455",
      "tree": "597b436db28186864524d5208628082e52a5ff52",
      "parents": [
        "bda454e9a09018cde1ea2ee10f0fdd5bf2ad756b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Oct 28 14:33:28 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 01 08:23:27 2016 -0700"
      },
      "message": "ART: Move pathList well-known-field to actual class\n\nUse the actual declaring class, BaseDexClassLoader.\n\nTest: m test-art-host\nChange-Id: Ie051e7d45dd73f6adc3c90bc8acc523f204dfab5\n"
    },
    {
      "commit": "d01f60cbed4ba360b84f1310d2e0d422d6a16534",
      "tree": "d9511ce632d9ae32a0447a9bfd50c1cb8821fcbf",
      "parents": [
        "b9b8cab87a275fad382fefbddd18daf495a58772"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 28 14:45:48 2016 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat Oct 29 22:09:28 2016 +0100"
      },
      "message": "Add a VerifierDeps::Dump method.\n\nAlso, fix the Encode/Decode logic around dex file order:\niterating over a std::map doesn\u0027t guarantee insertion order.\n\ntest: verifier_deps_test\nbug: 30937355\n\nChange-Id: Id3efd703b3c8ca21ab49c2600c612c132fb021cd\n"
    },
    {
      "commit": "f57589fd40e5b69dad5aff060ccef756507f381a",
      "tree": "62d38e73660d9818b18c4741c6b3cce3306d63d5",
      "parents": [
        "c25dfeab1a66c942ae658fc7cd367f7c1ac502a1"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Mon Oct 17 10:09:33 2016 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Mon Oct 17 13:50:35 2016 -0700"
      },
      "message": "Remove logging dependency on runtime\n\nMoved the abort backtracing function to runtime, forcing callers to\nsupply the aborter at InitLogging.  This makes runtime properly layer\non top of logging by removing the cyclic dependency.\n\nBug: 22322814\nTest: test-art-host\nChange-Id: I8b2e72174e937bb88fe1bddd6d04b564cfb011a9\n"
    },
    {
      "commit": "1a5337fff2cc6cb9d563c8b32aca75f485d23373",
      "tree": "03616e90a91c5c4c1bd7ff03c3d193c3b24bf0db",
      "parents": [
        "c8b722b3cebff245d614e95d1849de45ef7bdf06"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 13 13:48:23 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 13 17:37:56 2016 -0700"
      },
      "message": "Move mirror::ObjectArray to ObjPtr\n\nAlso reduce calls to ObjPtr::Ptr.\n\nBug: 31113334\n\nTest: test-art-host -j32\n\nChange-Id: I73e1b356972bb079b66332f00f7f07451601044e\n"
    },
    {
      "commit": "1cc62e4ea24828fdb3f3da0b8603f0b107d09a04",
      "tree": "718e322f3d05ac095770d4dc2a68b824bf3974a7",
      "parents": [
        "82d4838d6bb3480cd25327cedc5179fb2d86881c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 03 18:01:28 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 04 10:46:16 2016 -0700"
      },
      "message": "Rename ObjPtr::Decode to ObjPtr::Ptr\n\nDone to prevent ambiguity with ScopedObjectAccess::Decode.\n\nBug: 31113334\n\nTest: test-art-host\nChange-Id: I07a2497cc9cf66386311798933547471987fc316\n"
    },
    {
      "commit": "3398c7874e002beaa6c2b2fadf183e7d1ddad23a",
      "tree": "7db754b5b0c3a6c68bc1f91d7cb2477f534d2ad3",
      "parents": [
        "462e21cc8d28a4d48342cf0f634bd1ecc63647d7"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Sep 30 10:27:43 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 03 14:06:27 2016 -0700"
      },
      "message": "Move ArtField to ObjPtr\n\nAdded EXPECT_OBJ_PTR_EQ and variants to gtests.\n\nFixed moving GC bugs in:\nClassLinker::CreatePathClassLoader\nClassLinkerTest: StaticFields\n\nObjPtr Decode call sites: 186 -\u003e 181.\n\nSome tests fail due to ResolvedFieldAccessTest, will fix in follow\nup CL.\n\nBug: 31113334\n\nTest: test-art-host CC baker\n\nChange-Id: I8b266ad00f3c20c8cbe7cfdf280d175083df0b88\n"
    },
    {
      "commit": "0795f23920ee9aabf28e45c63cd592dcccf00216",
      "tree": "ff3f880c5e84f3316532b47d0e9a7729ade848ac",
      "parents": [
        "d1224dce59eb0019507e41da5e10f12dda66bee4"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 27 18:43:30 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Sep 29 17:31:09 2016 -0700"
      },
      "message": "Clean up ScopedThreadStateChange to use ObjPtr\n\nAlso fixed inclusion of -inl.h files in .h files by adding\nscoped_object_access-inl.h and scoped_fast_natvie_object_access-inl.h\n\nChanged AddLocalReference / Decode to use ObjPtr.\n\nChanged libartbenchmark to be debug to avoid linkage errors.\n\nBug: 31113334\n\nTest: test-art-host\n\nChange-Id: I4d2e160483a29d21e1e0e440585ed328b9811483\n"
    },
    {
      "commit": "3fec9ac0d5af1358d216eb2fdc2000ec0205f3f0",
      "tree": "f38d8d8aae51f53e7ee6b474f47597b784fc2316",
      "parents": [
        "0cfe19af3b7395658210ea6044a65c9811962a7a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 13 10:47:28 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Sep 26 10:59:22 2016 -0700"
      },
      "message": "ART: Use libbase logging\n\nMove most of our logging infrastructure over to system/core/base.\nRetain VLOG.\n\nUsing unified Android infrastructure has two main advantages. First,\nit reduces the complexity/maintenance burden in ART. Second, it\nallows to detach logging for the cases where we do not want or need\na runtime, e.g., dexdump, the disassembler, etc. As a part of the\nlatter, libbase is also supported for all hosts (including Windows).\n\nFrom a developer viewpoint, there are minor behavior changes for the\nLOG statements (see above), but otherwise usage is the same. Explicit\nseverity enum items are in the android::base namespace now.\n\nBug: 31338270\nTest: m test-art-host\nChange-Id: I5abcb2f45f5b03d49951874c48544f72a283a91b\n"
    },
    {
      "commit": "866d874c4fca90385251a1df28eed0eb6e1b88e2",
      "tree": "ae853738fe345523af56be0a021f46bc90e0d2ed",
      "parents": [
        "be0f728348139a9185b08d4d5c5adfa806bee00b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Sep 21 15:24:18 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Sep 21 18:43:45 2016 -0700"
      },
      "message": "Make image test multi image\n\nRequired for testing multi image layout in future CLs.\n\nBug: 28640955\n\nTest: clean-oat-host, test-art-host, device booting\n\n(cherry picked from commit 25adcfb7dc81131add3a0a681ae18bced6f7a0e0)\n\nChange-Id: I14809f56e711b4a87e01056c327eddbbd087f4ee\n"
    },
    {
      "commit": "583f31966825d439d7b4e1053368c74aad5e4b1f",
      "tree": "a4e02b1b187693bdac03b20b1f9fd4e2109a6d6f",
      "parents": [
        "8cb366a7ba8f02094c7c3bd21e217fff52f6ad17"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Sep 19 16:12:22 2016 +0000"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Sep 19 16:45:32 2016 +0000"
      },
      "message": "Revert \"Revert \"test: Remove icu cleanup hack\"\"\n\nThis reverts commit 3c73829dbd9993b821171cdfe604d69a8330a20b.\n\nChange-Id: Ib911f65456f522d0d8ac732aa3fa646217f126ca\n"
    },
    {
      "commit": "3c73829dbd9993b821171cdfe604d69a8330a20b",
      "tree": "6b9ae1b248abc5088e554d7694ea0a009497d799",
      "parents": [
        "6a4abc633fa8580b06056ec6f80ced8ce7511277"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sat Sep 17 17:27:24 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sat Sep 17 18:03:51 2016 -0700"
      },
      "message": "Revert \"test: Remove icu cleanup hack\"\n\nThis reverts commit d4b294c14bd4e1654b276b931ee035b895b8e6cd.\nWithout this hack, the gCommonICUDataArray seems to\nnon-deterministically accumulate entries, and sometimes overflows,\ncausing test failures.\n\nBug: 31469648\nTest: gdb /data/nativetest64/art/arm64/art_runtime_compiler_tests/reflection_test\nChange-Id: Ie5a5b7b957de79758a227bfd2919b4cd0155cde8\n"
    },
    {
      "commit": "0764877e21f1230e718923d5b84b048cd4346afa",
      "tree": "418789bcea2716d4b4a0cc75a126a8f44d936872",
      "parents": [
        "2c92bf2340206eb952db0fb6d41f9b39f80ed8ea",
        "d4b294c14bd4e1654b276b931ee035b895b8e6cd"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 16 08:04:15 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 16 08:04:16 2016 +0000"
      },
      "message": "Merge \"test: Remove icu cleanup hack\""
    },
    {
      "commit": "b76bc78ed20629966f4358b2031e75897d616d53",
      "tree": "7d78d94551dfb83f2d5c0aaca5f451392892c7a4",
      "parents": [
        "e305eaf2c08a203e3e046c3a8608b90b9dc5a080"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Sep 14 12:33:34 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Sep 15 10:55:08 2016 +0100"
      },
      "message": "Revert \"Revert \"Re-apply \"Cleanup run-test and Makefile around boot image and PIC.\"\"\"\n\nThis reverts commit 8522758c5ef6050e355613630ff81c2b49373b44.\n\nChange-Id: Ie18417bd3d528673e3da39d92f43f20b853facda\n"
    },
    {
      "commit": "d4b294c14bd4e1654b276b931ee035b895b8e6cd",
      "tree": "7e1b949f6c0786bf9b29df860d7a194c84371198",
      "parents": [
        "0bc4335469d2dcba515a153804098b12ec2360fe"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Sep 13 16:03:05 2016 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Sep 13 16:03:53 2016 -0700"
      },
      "message": "test: Remove icu cleanup hack\n\nlibjavacore now cleans up ICU itself properly in JNI_OnUnload,\nremoving the need for this hack in a test.\n\nBug: 31469648\nChange-Id: Ic415edb20c3a64472f4dc4e892af01ad94cf2fce\n"
    },
    {
      "commit": "8522758c5ef6050e355613630ff81c2b49373b44",
      "tree": "a172ffb897d996006381a40b8e01d4251eacd22c",
      "parents": [
        "9b5515ebb4502119c44e898b05c69312a45c5f49"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Sep 13 19:37:22 2016 +0000"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Sep 13 19:37:22 2016 +0000"
      },
      "message": "Revert \"Re-apply \"Cleanup run-test and Makefile around boot image and PIC.\"\"\n\nThis reverts commit 9b5515ebb4502119c44e898b05c69312a45c5f49.\n\nBreaks some gtests.\n\nChange-Id: Ic9c9061b05219f19d5c7713ce0239e60c9d6e287\n"
    },
    {
      "commit": "9b5515ebb4502119c44e898b05c69312a45c5f49",
      "tree": "555f994681a4f27c6e3dd83b97b1bdff9119adec",
      "parents": [
        "f029fb6dbcff10384e32c1bcd5c9e70691c22f34"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 12 16:08:02 2016 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Sep 13 14:30:47 2016 +0100"
      },
      "message": "Re-apply \"Cleanup run-test and Makefile around boot image and PIC.\"\n\nThis reverts commit 1ba223b2e6dab206b02613bc8b523553477fc4a0.\n\nChange-Id: I0048afcefc5b654b62ddaf3c0d45ab201e4d3027\n"
    },
    {
      "commit": "1ba223b2e6dab206b02613bc8b523553477fc4a0",
      "tree": "1816c620ba73357ecdbad8175a3de6b9f751232f",
      "parents": [
        "87068b4782c184d1d2e5b99a640a0328ca1198f2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 12 14:24:36 2016 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 12 14:24:36 2016 +0100"
      },
      "message": "Squashed commit of the following:\n\ncommit 487bc26b726a839b2e46424ee3779ac3bb2033f6\nAuthor: Nicolas Geoffray \u003cngeoffray@google.com\u003e\nDate:   Mon Sep 12 14:24:12 2016 +0100\n\n    Revert \"Cleanup run-test and Makefile around boot image and PIC.\"\n\n    This reverts commit 8c9ccac080e98fc5f33ba940a1216e9c2cc079db.\n\ncommit cefadb4b835390b508ae1d2b899f39f3769a593a\nAuthor: Nicolas Geoffray \u003cngeoffray@google.com\u003e\nDate:   Mon Sep 12 14:23:47 2016 +0100\n\n    Revert \"Update test and dependencies after boot image changes.\"\n\n    This reverts commit 2a1a8d7fa450a8196a63afb3bf647b2bec723497.\n\nChange-Id: I58731d845c1166406039a9b74c833d72a82c88fb\n"
    },
    {
      "commit": "2a1a8d7fa450a8196a63afb3bf647b2bec723497",
      "tree": "0104cefbf38dbd97bad659cbcba28fe13aa58f93",
      "parents": [
        "cfe0703329c2bf9f88cc53683d13d14a7cd176ca"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 12 09:53:53 2016 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 12 09:53:53 2016 +0100"
      },
      "message": "Update test and dependencies after boot image changes.\n\nChange-Id: Ia7862e0f8b551c9a98bef8fbc350761c6d931f0c\n"
    },
    {
      "commit": "367f3dd32454858b8b25d87feb8f6599d3b4c9dd",
      "tree": "9fe45c9f6785c31918f70ed2d12683f9c8d702af",
      "parents": [
        "fa7b5c97db681e3d64d145807927cfafae78729b"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Sep 01 17:00:24 2016 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Sep 09 10:48:56 2016 -0700"
      },
      "message": "jni: Add @CriticalNative optimization to speed up JNI transitions\n\nChange-Id: I963059ac3a72dd8e6a867596c356d7062deb6da7\n"
    },
    {
      "commit": "e1459ae21f1eb6ed779bf9d049e4f41f1edf89e7",
      "tree": "1d324f4b3cb885ff657a84158221c74618f67bcd",
      "parents": [
        "04a23d7e10fa42c5047b6f08048dbaacd1e74fcd"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 29 09:36:30 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 29 16:58:53 2016 -0700"
      },
      "message": "ART: Add dex2oat swap-usage parameters\n\nMake the dex2oat swap usage decision dependent on parameters that\ncan be changed on the command line. Both the dex file size and dex\nfile count can be modified through the following to new parameters:\n\n  --swap-dex-size-threshold\n  --swap-dex-count-threshold\n\nThe defaults remain the same (20MB and 2).\n\nFactor out some dex2oat setup code from oat_file_assistant_test\nand use it in a new dex2oat test.\n\nBug: 29557002\nChange-Id: I8863224f0304c98afe251572ffda8c5b3ead735b\nTest: m test-art-host-gtest-dex2oat_test\nTest: m test-art-host-gtest-oat_file_assistant_test\nTest: m test-art-host\n"
    },
    {
      "commit": "37d6a3bbf5826abb73f872ed0bc4c6ae9553e274",
      "tree": "0fbe5fda78e251597f909f654014f2c25efa62e5",
      "parents": [
        "739dc72773c5dee583a1d322f91b5abd61f9889d"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Jun 21 18:30:10 2016 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Jun 22 15:39:07 2016 -0700"
      },
      "message": "Support the -i flag in the new dexdump.\n\nRationale:\nThe old dexdump supported the -i feature (ignore checksum failures).\nThis CL adds the same functionality to the new dexdump. Note that\nthis feature is, for example, useful to inspect DEX files that are\nextracted from images (with quickened instructions), since the\nchecksum is not always valid in those cases.\n\nBUG\u003d29548017\n\nChange-Id: I6017b2f3d789f450560b568297f43c62bf9453b1\n"
    },
    {
      "commit": "bc5669ee83f45d74e46a6377ad9b2b57f64c2bec",
      "tree": "340664c098b4894ad58dc8aa5399fd007ebb8549",
      "parents": [
        "7dbf20abe99eb6c1d9c137e592c2025af725fa06"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jun 13 17:22:13 2016 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jun 13 17:22:13 2016 +0000"
      },
      "message": "Revert \"Revert \"Revert \"Revert \"Revert \"Revert some flaky unloading\"\"\"\"\"\n\nWith go/aog/238641 this should pass on the buildbots again.\n\nBug: 28406866\n\nThis reverts commit 7dbf20abe99eb6c1d9c137e592c2025af725fa06.\n\nChange-Id: I1038fe454491488fd561f5fce2e51a27487dce20\n"
    },
    {
      "commit": "7dbf20abe99eb6c1d9c137e592c2025af725fa06",
      "tree": "84d7b664e0a01948227ec9697510e3f9339f7a65",
      "parents": [
        "340f486aa0126facb67494449b5c2ee46a1a75e6"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jun 08 23:12:45 2016 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jun 08 23:12:45 2016 +0000"
      },
      "message": "Revert \"Revert \"Revert \"Revert \"Revert some flaky unloading\"\"\"\"\n\nFugu is still unhappy\n\nBug: 28406866\n\nThis reverts commit 340f486aa0126facb67494449b5c2ee46a1a75e6.\n\nChange-Id: I45fc77f924d991669d27b99c1458b2def8692664\n"
    },
    {
      "commit": "340f486aa0126facb67494449b5c2ee46a1a75e6",
      "tree": "340664c098b4894ad58dc8aa5399fd007ebb8549",
      "parents": [
        "83968f1a0949972e728d2302a26f9ae98dff34b2"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jun 07 10:34:46 2016 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jun 08 11:00:22 2016 -0700"
      },
      "message": "Revert \"Revert \"Revert \"Revert some flaky unloading\"\"\"\n\nEnsure that all threads are in the JNI code before destroying the\nruntime.\n\nBug: 28406866\n\nThis reverts commit b2716bbf321293ddbd0b96f0ea999794b0e9b09b.\n\nChange-Id: I7f6189a9d0d8a1bf7af5535026804bc2183466c9\n"
    },
    {
      "commit": "b2716bbf321293ddbd0b96f0ea999794b0e9b09b",
      "tree": "61d43314c583985c119c87e69ee8dd59076854f2",
      "parents": [
        "9e726e874580f1e8b2e0bfa63d2e9a3ac911cd1c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jun 07 07:26:55 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jun 07 07:26:55 2016 +0000"
      },
      "message": "Revert \"Revert \"Revert some flaky unloading\"\"\n\nStill some issues with 136-daemon-jni-shutdown\n\nbug:28406866\n\nThis reverts commit 9e726e874580f1e8b2e0bfa63d2e9a3ac911cd1c.\n\nChange-Id: I76e7ba47e30cf97ecd074d5c2aff41cda8edac59\n"
    },
    {
      "commit": "9e726e874580f1e8b2e0bfa63d2e9a3ac911cd1c",
      "tree": "96a8bfe6aaafb8af2c63c1741ec2c541d518558d",
      "parents": [
        "681c58c6eab2bc8dab561cb6ac5bcabe89676730"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jun 06 10:45:28 2016 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jun 06 10:48:05 2016 -0700"
      },
      "message": "Revert \"Revert some flaky unloading\"\n\nThis reverts commit 73ad16e0193866d36dbd4088ac77fa5d4ceec334.\n\nWith this code it is possible that during testing we will race the\nfinal shutdown of some threads (i.e. returning to thread_start after\nsignaling thread has been finished) with the unloading of libart.so by\nlibnativehelper. This could cause crashes. By ensuring that libart.so\ncode is not unloaded in libnativehelper we fix the issue with this\npatch.\n\nBug: 28406866\n\nChange-Id: Ic67118c2a4e743941402b17b6bbfe4cce441f68f\n"
    },
    {
      "commit": "73ad16e0193866d36dbd4088ac77fa5d4ceec334",
      "tree": "f8562c875e02a0fc97828e2ab426adf6f40bd67e",
      "parents": [
        "b88a2caa9af584ed6bd49e75f79527480393a5d1"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue May 10 17:31:48 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue May 10 17:36:33 2016 -0700"
      },
      "message": "Revert some flaky unloading\n\nRevert \"Revert \"Revert \"Remove double unloading hack\"\"\"\n\nThis reverts commit c0f2e678e45ff191f90651117f4e238caa521b80.\n\nRevert \"Revert \"Revert \"Revert \"Revert \"(dl)Close native libraries on unload\"\"\"\"\"\n\nThis reverts commit 33bae7d52debe898879fc034a5524b1b165dbd88.\n\nStill flaky.\n\nBug: 28406866\n\nChange-Id: I31a9ace17c676ac615ed04a9f4ac51582fca55d9\n"
    },
    {
      "commit": "c0f2e678e45ff191f90651117f4e238caa521b80",
      "tree": "4b6f2cff33902ca1573b772884f803c931e747dc",
      "parents": [
        "36a94ab70d4ae1ce239022a5841abf3ffe1196e3"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue May 10 10:11:48 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue May 10 10:11:48 2016 -0700"
      },
      "message": "Revert \"Revert \"Remove double unloading hack\"\"\n\nThis reverts commit e9cae49599856fe737cee87783438d2c5dabccfe.\n"
    },
    {
      "commit": "e9cae49599856fe737cee87783438d2c5dabccfe",
      "tree": "acceae3657d83adf4cb7c76cd1433d63a95884f0",
      "parents": [
        "b408e583385dbf256514885e1671db1b2f633f58"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 09 08:48:08 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 09 08:48:08 2016 +0000"
      },
      "message": "Revert \"Remove double unloading hack\"\n\nNeeded after dlclose revert.\n\nThis reverts commit b408e583385dbf256514885e1671db1b2f633f58.\n\nChange-Id: I0a83af2462f5a51b12d6ee97d70f62b44e487dd5\n"
    },
    {
      "commit": "b408e583385dbf256514885e1671db1b2f633f58",
      "tree": "d7d8a715998dbf8ec22fd76f56ecacaf4e91d786",
      "parents": [
        "9b4c6f431b8e08317dd91961064faf32e8b76acd"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 05 19:55:03 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 05 19:55:38 2016 -0700"
      },
      "message": "Remove double unloading hack\n\nNo longer required since we unload native libraries.\n\nBug: 28406866\nChange-Id: I9ae39b4f2ef0bf6d70c5b7df3e275d36b01ca472\n"
    },
    {
      "commit": "29d38e77c553c6cf71fc4dafe2d22b4e3f814872",
      "tree": "92f34f589af205af56189d221ded293234935c26",
      "parents": [
        "2e89e901b9f303549f3ba64e45d87292e9c986c8"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Mar 23 15:31:51 2016 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Mar 23 11:30:29 2016 -0700"
      },
      "message": "Revert \"Revert \"Use compiler filter to determine oat file status.\"\"\n\nThis reverts commit 845e5064580bd37ad5014f7aa0d078be7265464d.\n\nAdd an option to change what OatFileManager considers up-to-date.\nIn our tests we\u0027re allowed to write to the dalvik-cache, so it\ncannot be kSpeed.\n\nBug: 27689078\nChange-Id: I0c578705a9921114ed1fb00d360cc7448addc93a\n"
    },
    {
      "commit": "845e5064580bd37ad5014f7aa0d078be7265464d",
      "tree": "1e621756ba6a1fd345f2fb468eed88cdc81886e7",
      "parents": [
        "a62d2f04a6ecf804f8a78e722a6ca8ccb2dfa931"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 23 06:42:05 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 23 06:42:05 2016 +0000"
      },
      "message": "Revert \"Use compiler filter to determine oat file status.\"\n\nBots are red. Tentative reverting as this is likely the offender.\n\nBug: 27689078\n\nThis reverts commit a62d2f04a6ecf804f8a78e722a6ca8ccb2dfa931.\n\nChange-Id: I3ec6947a5a4be878ff81f26f17dc36a209734e2a\n"
    },
    {
      "commit": "a62d2f04a6ecf804f8a78e722a6ca8ccb2dfa931",
      "tree": "d8624bb85016a3301b473b6503324db4d4cf24a3",
      "parents": [
        "48e722432bb6e19df7bba02427e4a707e671af06"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Fri Mar 18 15:05:30 2016 -0700"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Mar 22 15:38:36 2016 -0700"
      },
      "message": "Use compiler filter to determine oat file status.\n\nRecord the compiler filter in the oat header. Use that to determine\nwhen the oat file is up-to-date with respect to a target compiler\nfilter level.\n\nNew xxx-profile filter levels are added to specify if a profile should\nbe used instead of testing for the presence of a profile file.\n\nThis change should allow for different compiler-filters to be set for\ndifferent package manager use cases.\n\nBug: 27689078\nChange-Id: Id6706d0ed91b45f307142692ea4316aa9713b023\n"
    },
    {
      "commit": "3f41a0193eadf037b4003c1996151f386ca07b13",
      "tree": "19e261ce06e5c5efe88d78188ef1d06b54ead9e8",
      "parents": [
        "6e1564cfdf4f6b332ee6d156de6ff9712655fff6"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Feb 18 16:53:41 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Mar 09 09:16:24 2016 -0800"
      },
      "message": "ART: Use optimizing compiler in image_test\n\nExpose some compiler options so we can run the image test with\nthe optimizing compiler without running into a stack overflow.\n\nAlso allow a variable amount of threads in CreateCompilerDriver.\nUse 16 as a middle ground on the host to speed up the otherwise\nnow slowed-down test.\n\nBug: 27240085\nBug: 27552475\nChange-Id: I8db5055d32ae722c8f430903244faa9166cc4886\n"
    },
    {
      "commit": "91d65e024846717fce3572106cffe9b957b8902c",
      "tree": "22ea1a91afdd552a31bb2365a9eae034ae0a1c9b",
      "parents": [
        "1bcbcf8e848d18b19d248c3d15f77c888f2b5f04"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jan 19 15:59:16 2016 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jan 19 15:59:16 2016 +0000"
      },
      "message": "Fix various typos in ART\u0027s comments and string literals.\n\nChange-Id: I85d628055b1a61647a77fef730c9631c234e22a2\n"
    },
    {
      "commit": "91c911690868a1a109ec6d52666def5682b026e1",
      "tree": "53567a10a9096fcaa5d6b0972afd33750c9c6081",
      "parents": [
        "40cfbff0686dde353680dbf585fb7da181a37948"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jan 15 09:48:15 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jan 15 12:31:14 2016 -0800"
      },
      "message": "Add value parameterized test support for runtime tests\n\nUsage is demonstrated in type_lookup_table_test.\n\nBug: 10245322\n\nChange-Id: Ife6eb1ed57cb12edecce9ef101215ff15ae032e1\n"
    },
    {
      "commit": "966878d987cec1940fdfa8633fc79f8112320821",
      "tree": "e3449e703e74899a3f63b17c61ed391a3a8c003d",
      "parents": [
        "f8b122bda1c2cc4c9aff41f4a8f7c9a5758e1e97"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jan 14 14:33:29 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jan 14 14:44:57 2016 -0800"
      },
      "message": "Revert \"Create parent class loader for dex2oat\"\n\nBug: 22858531\n\nThis reverts commit d37d364c27e74a7b49970a8c970482e273aa7b1a.\n\nChange-Id: Id71a6f3bb9a29c04a5c13210633674e05d798114\n"
    },
    {
      "commit": "10edbb159afae232817c86fc06a6801349f05bae",
      "tree": "ab487114d0f5e906471fa5459a075b3648b72a8e",
      "parents": [
        "fcad0099eeceb6f2c09a6de28d8e8f05dab69ed5"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 06 17:59:49 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jan 08 09:48:43 2016 -0800"
      },
      "message": "ART: Use libopenjdkd\n\nLoad libopenjdkd in debug mode. Add dependencies for libopenjdkd\nin the Makefiles.\n\nBug: 26421792\nChange-Id: Ie64cd56f73901b9c7645e46384d753752bbd5351\n"
    },
    {
      "commit": "c7d4a5889085de271130c1ebeb83f96881195124",
      "tree": "2fa8b2afeb5e1621627cfa7732f7fa1db6fbd969",
      "parents": [
        "c09b13f0cfc86243a594893b38cdd7cf725ae371"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Sep 30 11:52:02 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jan 05 08:33:47 2016 -0800"
      },
      "message": "ART: Use non-stripped core jars in gtests\n\nTo support emulators and other preopted device configurations, use\na special core-libart and core-oj version that will never be stripped.\n\nBug: 24535627\nChange-Id: Ie632bc382bbc753e9c100039f2ecc4ac1f2ab249\n"
    },
    {
      "commit": "f1e91bfa95d04c94d82baea605533fa3f9e0268f",
      "tree": "498ca5e4627971e033f7855f2e5cf186c8ce60c2",
      "parents": [
        "e38c254052b3f2f4f4b283079f070c024d86dc63",
        "db2980ae9eca19a577df27b1f05912ed482fb88c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Dec 18 01:49:38 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Dec 18 01:49:38 2015 +0000"
      },
      "message": "Merge \"ART: Refactor CommonRuntimeTest::SetUp\" am: fae1db92d8\nam: db2980ae9e\n\n* commit \u0027db2980ae9eca19a577df27b1f05912ed482fb88c\u0027:\n  ART: Refactor CommonRuntimeTest::SetUp\n"
    },
    {
      "commit": "a00f012660e9a4baa34c0ab96042f7146e9a6017",
      "tree": "7091c01a3119a2353884c592956279252386c890",
      "parents": [
        "cbf8af898e758cef27687c20c8cf9ac75280026d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Dec 16 16:54:35 2015 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 17 10:41:13 2015 -0800"
      },
      "message": "ART: Refactor CommonRuntimeTest::SetUp\n\nFactor out finishing up the runtime. This code will execute the\ninterpreter to initialize important classes etc., which is not\nnecessary for testing RuntimeMethod sizes and trampoline entrypoints,\nin fact it may violate pointer-size invariants.\n\nAlso add InstructionSet parsing tests to the ParsedOptions test.\n\nChange-Id: I75cd00c6d358e1bc962c8f1845244f6400c1cd6c\n"
    },
    {
      "commit": "a7a4759946d9f11c88dc108b2b6a9518ce9c1e18",
      "tree": "f5522eb632ff53b4c285ff76a3966d37a995777a",
      "parents": [
        "099ab4d06857ccbe642d98ba25df1eb02aee99c7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 24 09:17:30 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 24 10:54:16 2015 +0000"
      },
      "message": "Revert \"lambda: Add support for invoke-interface for boxed innate lambdas\"\n\n955-lambda is flaky\n\nBug: 24618608\nBug: 25107649\n\nThis reverts commit 457e874459ae638145cab6d572e34d48480e39d2.\n\n(cherry picked from commit 3a0909248e04b22c3981cbf617bc2502ed5b6380)\n\nChange-Id: I24884344d21d7a4262e53e3f5dba57032687ddb7\n"
    },
    {
      "commit": "3a0909248e04b22c3981cbf617bc2502ed5b6380",
      "tree": "b0b7013ea78b10f23fae75ef145e53a696ff797c",
      "parents": [
        "457e874459ae638145cab6d572e34d48480e39d2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 24 09:17:30 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 24 09:17:30 2015 +0000"
      },
      "message": "Revert \"lambda: Add support for invoke-interface for boxed innate lambdas\"\n\n955-lambda is flaky\n\nBug: 24618608\nBug: 25107649\n\nThis reverts commit 457e874459ae638145cab6d572e34d48480e39d2.\n\nChange-Id: I24884344d21d7a4262e53e3f5dba57032687ddb7\n"
    },
    {
      "commit": "b8bce05ec116183bb72768039a0899a772439025",
      "tree": "96c818c7d2a0855bbac4e307fd982aa2af297a8f",
      "parents": [
        "34de7651d1f16818fb9c80a9a6c4bdab64df9153"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Tue Nov 17 19:22:30 2015 +0000"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Mon Nov 23 14:32:10 2015 +0000"
      },
      "message": "Manually close the JNI libraries\n\nRuntime does not support repeatedly doing JNI-\u003eCreateVM, thus we need to\nmanually clean up the dynamic linking loader so that gtests would not\nfail.\n\nBug: 25785594\nChange-Id: I15d55e142b9f91735b1c94c8cb43cc854ec49ffe\n(cherry picked from commit 46bc2a7c6c5ae6b4d5fc065d607208193c2d162e)\n"
    },
    {
      "commit": "121b25e246b7012cfd895f205855c6102da48305",
      "tree": "8d7e4dae58b59e9a554db03a06c800f3caf5b6b9",
      "parents": [
        "31f7afcd651ca5836892d1c24010933fa40c29e4",
        "13ca74fed068a6a49221b5213ce0b1bebeda3ed6"
      ],
      "author": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Fri Nov 20 11:24:33 2015 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Sat Nov 21 16:28:15 2015 +0000"
      },
      "message": "Merge mnc-dr-enso-dev into goog/master\n\nBug: 25758743\nChange-Id: I19d433934f01856e7b5a7392a58b759c3ac386e7\n"
    },
    {
      "commit": "457e874459ae638145cab6d572e34d48480e39d2",
      "tree": "b192c4698c4889ae90db6abe2652199802213fe6",
      "parents": [
        "3944f7175dcf60316ba58a42698ccf23c65ac57c"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Oct 22 17:37:50 2015 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Nov 20 16:33:06 2015 -0800"
      },
      "message": "lambda: Add support for invoke-interface for boxed innate lambdas\n\nLambda closures created with the \u0027create-lambda\u0027 instruction\n(termed \"innate lambdas\") can be turned into an object with \u0027box-lambda\u0027.\n\nThis CL enables support for those kinds of lambdas to work with\n\u0027invoke-interface\u0027 by generating a proxy class for the lambda.\n\nNote: MIPS32/64 support not included.\n\nBug: 24618608\nBug: 25107649\nChange-Id: Ic8f1bb66ebeaed4097e758a50becf1cff6ccaefb\n"
    },
    {
      "commit": "d37d364c27e74a7b49970a8c970482e273aa7b1a",
      "tree": "ecf910556f7d6e4a0cdfa7dfc271f3894909e601",
      "parents": [
        "16cabc4acd14d5a61c73cef821162e1827f08788"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Nov 19 16:05:58 2015 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Nov 19 16:11:03 2015 -0800"
      },
      "message": "Create parent class loader for dex2oat\n\nThis means we also put the class loader in the app image so that it\ncan be used for verifying the dex file order.\n\nBug: 22858531\nChange-Id: I30761b59421c8a24cffd62b469134b25d2929e2e\n"
    },
    {
      "commit": "d1ef4362bf799f9f5d50e5edef8433664b503051",
      "tree": "59aaa140925efa790f787d5e1caf6d0cafd6ae15",
      "parents": [
        "e4cf5892c2a244034900d49499c071b255571bba",
        "f32e8327da5dd33abe18662fbca5e584cd047816"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Nov 12 11:49:06 2015 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Nov 12 11:52:42 2015 +0000"
      },
      "message": "Merge lmp changes into mnc.\n\nMost merge conflicts are due to changes in the string representation.\nThey have been resolved in favour of \"mnc-dev\" since we\u0027ve changed\nthe string representation there. Other changes relate to the\nfact that there are now two jars in libcore (core-oj and core-libart).\n\nChange-Id: I1fcc6e5f8dab8d1954dcddca0493563e7677d433\n"
    },
    {
      "commit": "5b8e6e36e96d6d1921dd356fa46191d1e6a18082",
      "tree": "33d66d1cb3377447aa687ee4625c5826370d1e85",
      "parents": [
        "be26f77dac06fb02b0cc80914b740662bf8d0b26"
      ],
      "author": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Wed Sep 30 14:40:33 2015 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Nov 12 10:15:58 2015 +0000"
      },
      "message": "Fix for gtest missing core classes, attempt 2\n\ncommon_runtime_test loads both core-libart and\ncore-oj\n\nChange-Id: I8a4d5750b99aed2e500cad89b841a57fe9c1ca69\n"
    },
    {
      "commit": "be26f77dac06fb02b0cc80914b740662bf8d0b26",
      "tree": "25f016ddcf6a7326b95ac57ccb0e13e76be2d207",
      "parents": [
        "136781e23244f9a42ba08de7035c675cfd4d108b"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Sep 30 14:30:19 2015 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Nov 12 10:15:58 2015 +0000"
      },
      "message": "Revert \"Fix for gtest missing core classes.\"\n\nThis reverts commit fa5480de6eca7f43b147c696bdb2936dc48d75d7.\n\nChange-Id: Ifa9851f4f90af6093ed0bca852c55b3026fcd554\n"
    },
    {
      "commit": "136781e23244f9a42ba08de7035c675cfd4d108b",
      "tree": "9f76a2c2bed262b150c8a472a6fd968edc6ed8ae",
      "parents": [
        "0787f9d489da6496213c8d60d1dec113a0653f0f"
      ],
      "author": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Wed Sep 30 14:40:33 2015 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Nov 12 10:15:58 2015 +0000"
      },
      "message": "Fix for gtest missing core classes.\n\ncommon_runtime_test loads both core-libart and\ncore-oj\n\nChange-Id: I5b814e4dcf9f6162c47b4eb5e7890a32e59c2cef\n"
    },
    {
      "commit": "e58991b3b2282b5761f1a6023a16c803e1c4eb45",
      "tree": "5a6fac6c5d3cb6a463463b83b8a34a53b07a8ede",
      "parents": [
        "fb11bab9bc96ff05dcb12f43abf58df256b7c7aa"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 13 07:59:34 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 13 13:17:50 2015 -0700"
      },
      "message": "Revert \"Revert \"Unload oat files\"\"\n\nFixed a race where two threads calling OatFile::Open could both use\ndlopen on the host.\n\nBug: 22720414\n\nThis reverts commit 72da5e7461fec3b1e116050f2e6f233efb9c54f3.\n\nChange-Id: I1636045b724944d2a09417527280784967957095\n"
    },
    {
      "commit": "72da5e7461fec3b1e116050f2e6f233efb9c54f3",
      "tree": "8b67f82fa1b8ffd6f272b267294cc71911a147f4",
      "parents": [
        "18656fefc7e68e2549a8fa93455074d359d1efa8"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 13 07:26:45 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 13 07:26:45 2015 +0000"
      },
      "message": "Revert \"Unload oat files\"\n\nTentative, will monitor bots if flakiness is fixed.\n\nBug: 22720414\n\nThis reverts commit 18656fefc7e68e2549a8fa93455074d359d1efa8.\n\nChange-Id: I53b645b73207ccd21cad6ddac1de483bcc158794\n"
    },
    {
      "commit": "18656fefc7e68e2549a8fa93455074d359d1efa8",
      "tree": "034cf3a36079c23c9c6ef2659a90a54e45456c90",
      "parents": [
        "b5c810e91d8e3da02c12a490850c68d5d9d563c3"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 09 16:05:31 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 12 11:12:02 2015 -0700"
      },
      "message": "Unload oat files\n\nUnregister and delete oat file when we call DexFile.closeDexFile if\nall of the dex files are no longer in use. We store the oat file as\nthe first element of the dex files array (cookie).\n\nAdded a test that reads the proc maps to ensure there are no\nunload-ex maps. Also some clean up.\n\nBug: 22720414\n\nChange-Id: I52ab84562d1045e94b9a37aafe57609a14f188f7\n"
    },
    {
      "commit": "673ed3d8aedc5462a47ded827c99f35d46525457",
      "tree": "83de4690228c9f7772c48c770c5e2e5ba2dac6fe",
      "parents": [
        "ce209462cc1a7ce235e5ac0d0e6db6b402f73441"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Aug 28 14:56:43 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Aug 31 10:58:31 2015 -0700"
      },
      "message": "Revert \"Revert \"Change dex caches to be weak roots\"\"\n\nThis reverts commit 81a9087f0df0518c39405b7d18ba5858a6d8b77b.\n\nBoot.oat creation time goes from 4.7s to 4.9s on host due to extra\nlocking. Will try to improve this in another CL.\n\nBug: 23602225\nBug: 22720414\n\nChange-Id: I7e25b75cfb63faa196c7b0f60e46cce50bf12021\n"
    },
    {
      "commit": "81a9087f0df0518c39405b7d18ba5858a6d8b77b",
      "tree": "f4936654805b4d84540bd909095e8bbf69795bfd",
      "parents": [
        "f86a0859684c0f8964da4cbe75d49df8f832e85b"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Aug 28 09:07:14 2015 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Aug 28 09:07:14 2015 -0700"
      },
      "message": "Revert \"Change dex caches to be weak roots\"\n\nThis reverts commit 3ae6b1d42523bb2a0ddb5edff1aaf05b592f28f4.\n"
    },
    {
      "commit": "3ae6b1d42523bb2a0ddb5edff1aaf05b592f28f4",
      "tree": "9ae990956db3d2d5970fb15bf264aeeb73e2bfe0",
      "parents": [
        "dcff51a0079c5e3abaf0335f7cb9a3dd44044456"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Aug 14 14:03:10 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Aug 25 18:00:47 2015 -0700"
      },
      "message": "Change dex caches to be weak roots\n\nChanged dex caches to be weak roots. This is necessary for class\nunloading since the resolved types arrays would keep classes live\nwhen they should be unloaded. Currently the dex caches still don\u0027t\nget freed due to the class loader roots.\n\nAlso deleted some unused functionality in image writer.\n\nBug: 22720414\nChange-Id: If22cb3cad7e3baabc8158a77d7f20799faf4c341\n"
    },
    {
      "commit": "3d21bdf8894e780d349c481e5c9e29fe1556051c",
      "tree": "61a5231f36c0dabd73457fec81df103462a05aff",
      "parents": [
        "71f0a8a123fa27bdc857a98afebbaf0ed09dac15"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 22 13:56:20 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jun 02 09:21:27 2015 -0700"
      },
      "message": "Move mirror::ArtMethod to native\n\nOptimizing + quick tests are passing, devices boot.\n\nTODO: Test and fix bugs in mips64.\n\nSaves 16 bytes per most ArtMethod, 7.5MB reduction in system PSS.\nSome of the savings are from removal of virtual methods and direct\nmethods object arrays.\n\nBug: 19264997\n\n(cherry picked from commit e401d146407d61eeb99f8d6176b2ac13c4df1e33)\n\nChange-Id: I622469a0cfa0e7082a2119f3d6a9491eb61e3f3d\n\nFix some ArtMethod related bugs\n\nAdded root visiting for runtime methods, not currently required\nsince the GcRoots in these methods are null.\n\nAdded missing GetInterfaceMethodIfProxy in GetMethodLine, fixes\n--trace run-tests 005, 044.\n\nFixed optimizing compiler bug where we used a normal stack location\ninstead of double on ARM64, this fixes the debuggable tests.\n\nTODO: Fix JDWP tests.\n\nBug: 19264997\n\nChange-Id: I7c55f69c61d1b45351fd0dc7185ffe5efad82bd3\n\nART: Fix casts for 64-bit pointers on 32-bit compiler.\n\nBug: 19264997\nChange-Id: Ief45cdd4bae5a43fc8bfdfa7cf744e2c57529457\n\nFix JDWP tests after ArtMethod change\n\nFixes Throwable::GetStackDepth for exception event detection after\ninternal stack trace representation change.\n\nAdds missing ArtMethod::GetInterfaceMethodIfProxy call in case of\nproxy method.\n\nBug: 19264997\nChange-Id: I363e293796848c3ec491c963813f62d868da44d2\n\nFix accidental IMT and root marking regression\n\nWas always using the conflict trampoline. Also included fix for\nregression in GC time caused by extra roots. Most of the regression\nwas IMT.\n\nFixed bug in DumpGcPerformanceInfo where we would get SIGABRT due to\ndetached thread.\n\nEvaluateAndApplyChanges:\nFrom ~2500 -\u003e ~1980\nGC time: 8.2s -\u003e 7.2s due to 1s less of MarkConcurrentRoots\n\nBug: 19264997\nChange-Id: I4333e80a8268c2ed1284f87f25b9f113d4f2c7e0\n\nFix bogus image test assert\n\nPreviously we were comparing the size of the non moving space to\nsize of the image file.\n\nNow we properly compare the size of the image space against the size\nof the image file.\n\nBug: 19264997\nChange-Id: I7359f1f73ae3df60c5147245935a24431c04808a\n\n[MIPS64] Fix art_quick_invoke_stub argument offsets.\n\nArtMethod reference\u0027s size got bigger, so we need to move other args\nand leave enough space for ArtMethod* and \u0027this\u0027 pointer.\n\nThis fixes mips64 boot.\n\nBug: 19264997\nChange-Id: I47198d5f39a4caab30b3b77479d5eedaad5006ab\n"
    },
    {
      "commit": "e401d146407d61eeb99f8d6176b2ac13c4df1e33",
      "tree": "17927f9bfe7d2041b5942c89832d55f9dedb24c5",
      "parents": [
        "2006b7b9b8e32722bd0d640c62549d8a0ac624b6"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 22 13:56:20 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 29 18:45:49 2015 -0700"
      },
      "message": "Move mirror::ArtMethod to native\n\nOptimizing + quick tests are passing, devices boot.\n\nTODO: Test and fix bugs in mips64.\n\nSaves 16 bytes per most ArtMethod, 7.5MB reduction in system PSS.\nSome of the savings are from removal of virtual methods and direct\nmethods object arrays.\n\nBug: 19264997\nChange-Id: I622469a0cfa0e7082a2119f3d6a9491eb61e3f3d\n"
    },
    {
      "commit": "99ca40cf9d390479a7243b8b3321cad7d9faa2a4",
      "tree": "06e62e6dfb0718f23faaa345212ccacd2e460d5d",
      "parents": [
        "d58a6deedabf98e7996634bca6d94c6eb2ac3861"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri May 15 19:24:12 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu May 21 12:13:37 2015 -0700"
      },
      "message": "ART: Refactor UnstartedRuntime for testing\n\nExpose the UnstartedRuntime implementation functions as private static\nmethods of a class. Add a gtest that can invoke these functions. Add\nsample tests for String and Memory.\n\nBug: 21173514\n\n(cherry picked from commit 799681b176ad25437ce2849639f54f610dcbf684)\n\nChange-Id: Ib5bde6347fafaf7607c642542ea7d5938ff4b1df\n"
    },
    {
      "commit": "799681b176ad25437ce2849639f54f610dcbf684",
      "tree": "4bbb5ea4c6a2dd7e1c20a23f3adbb81a3b86fe0d",
      "parents": [
        "9ba4e65148feec589fece0c991695ba1049785bf"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri May 15 19:24:12 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 20 19:41:36 2015 +0000"
      },
      "message": "ART: Refactor UnstartedRuntime for testing\n\nExpose the UnstartedRuntime implementation functions as private static\nmethods of a class. Add a gtest that can invoke these functions. Add\nsample tests for String and Memory.\n\nBug: 21173514\nChange-Id: Ib5bde6347fafaf7607c642542ea7d5938ff4b1df\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": "3e52aa4d406fe802dabee2a2e7ba8764cc13aaaa",
      "tree": "81b2d22b3fae45a0c92e688a3502335c02397934",
      "parents": [
        "f458ba7d9c04bc8d499532b5470af28db18e4149"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sun Apr 12 07:45:18 2015 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Apr 21 12:37:13 2015 +0100"
      },
      "message": "Move GetAndroidToolsDir to common location.\n\nMove the code which looks for the prebuilts directory\nto CommonRuntimeTest and add test for it.\n\nChange-Id: Id804de31c466656957fdd4b6a470f80a00477aed\n"
    },
    {
      "commit": "c785344b87221f5e4e6473e5b762e4e61fe65dcf",
      "tree": "cd32ad2c2604596a18926f04d4c313dab255ecfd",
      "parents": [
        "a29d93b380c9aeb8270e281aefbdd0c77a430d43"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 27 14:35:38 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 10 12:57:27 2015 -0700"
      },
      "message": "Move ArtField to native\n\nAdd linear alloc. Moved ArtField to be native object. Changed image\nwriter to put ArtFields after the mirror section.\n\nSavings:\n2MB on low ram devices\n4MB on normal devices\n\nTotal PSS measurements before (normal N5, 95s after shell start):\nImage size: 7729152 bytes\n23112 kB: .NonMoving\n23212 kB: .NonMoving\n22868 kB: .NonMoving\n23072 kB: .NonMoving\n22836 kB: .NonMoving\n19618 kB: .Zygote\n19850 kB: .Zygote\n19623 kB: .Zygote\n19924 kB: .Zygote\n19612 kB: .Zygote\nAvg: 42745.4 kB\n\nAfter:\nImage size: 7462912 bytes\n17440 kB: .NonMoving\n16776 kB: .NonMoving\n16804 kB: .NonMoving\n17812 kB: .NonMoving\n16820 kB: .NonMoving\n18788 kB: .Zygote\n18856 kB: .Zygote\n19064 kB: .Zygote\n18841 kB: .Zygote\n18629 kB: .Zygote\n3499 kB: .LinearAlloc\n3408 kB: .LinearAlloc\n3424 kB: .LinearAlloc\n3600 kB: .LinearAlloc\n3436 kB: .LinearAlloc\nAvg: 39439.4 kB\n\nNo reflection performance changes.\n\nBug: 19264997\nBug: 17643507\n\nChange-Id: I10c73a37913332080aeb978c7c94713bdfe4fe1c\n"
    },
    {
      "commit": "bb9c6b1c55e9e2308b4f5892a398a8837231fdbd",
      "tree": "b2ba358bd031b73050f22eea5bcccfc1f6f1add1",
      "parents": [
        "f381645a336f7092ab6f5900c0a2cf183a9dbdf7"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sun Mar 29 13:56:36 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sun Mar 29 20:29:12 2015 -0700"
      },
      "message": "ART: Refactor callbacks_ in common_runtime_test\n\nThe callback is now important for some runtime checks, and just\nresetting callbacks_ is not correct anymore.\n\nChange-Id: I2cb806f1916fd5ea190911a833ce460be557a428\n"
    },
    {
      "commit": "81c6f8db12b203878a7d72444ead2bc7cf5c47ad",
      "tree": "11caae30b75b700ac648356fd30759a6154be997",
      "parents": [
        "cac51526bbd03947676a8d49700425b19a57e447"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Mar 25 17:19:53 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Mar 27 21:43:21 2015 -0700"
      },
      "message": "ART: PathClassLoader for compiler\n\nUse an actual PathClassLoader when compiling apps, instead of a\nside structure and cutout.\n\nThis CL sets up a minimal object \u0027cluster\u0027 that recreates the Java\nside of a regular ClassLoader such that the Class-Linker will\nrecognize it and use the internal native fast-path.\n\nThis CL removes the now unnecessary compile-time-classpath and\nreplaces it with a single \u0027compiling-the-boot-image\u0027 flag in the\ncompiler callbacks.\n\nNote: This functionality is *only* intended for the compiler, as\nthe objects have not been completely initialized.\n\nBug: 19781184\n\nChange-Id: I7f36af12dd7852d21281110a25c119e8c0669c1d\n"
    },
    {
      "commit": "4460a84be92b5a94ecfb5c650aef4945ab849c93",
      "tree": "2167b79cf593d5ff686aaf0e3bca3b7c571c6d69",
      "parents": [
        "4cfe74cb50b73f5f4b6dd32aabed55d044afe348"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Mar 09 11:57:48 2015 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Mar 11 15:32:59 2015 -0700"
      },
      "message": "Rosalloc thread local allocation path without a cas.\n\nSpeedup on N4:\nMemAllocTest 3044 -\u003e 2396 (~21% reduction)\nBinaryTrees  4101 -\u003e 2929 (~26% reduction)\n\nBug: 9986565\nChange-Id: Ia1d1a37b9e001f903c3c056e8ec68fc8c623a78b\n"
    },
    {
      "commit": "9b5cba401aae6d34450112bdcf9bab5e19da90f2",
      "tree": "2e92174271b1a33cc7bd8822d7bdfa8e75cf3c73",
      "parents": [
        "1b4902086744563ba75b076b768b2609b59f9203"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Mar 11 09:53:50 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Mar 11 10:01:29 2015 -0700"
      },
      "message": "ART: Missing include\n\nFix missing include.\n\nChange-Id: I439bdf3a5c7dc2a710f3dfa0dca494ac3698de60\n"
    },
    {
      "commit": "1b4902086744563ba75b076b768b2609b59f9203",
      "tree": "901e2798789429f1bb9d266c26757802f3e6aa56",
      "parents": [
        "356286f989941ac495417195e4129aaceaf36a83",
        "2969bcdcd80624e4a4fef696b54c2c76b44b6853"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Mar 11 16:27:43 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 11 16:27:44 2015 +0000"
      },
      "message": "Merge \"ART: Refactor unstarted runtime\""
    },
    {
      "commit": "2969bcdcd80624e4a4fef696b54c2c76b44b6853",
      "tree": "a097d139d5525ec2af6682f3e37bda94dead8cc9",
      "parents": [
        "f719fdd20e6282f3579cb99529bb65e852612647"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Mar 09 12:57:41 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Mar 11 09:27:03 2015 -0700"
      },
      "message": "ART: Refactor unstarted runtime\n\nRefactor and clean up unstarted runtime.\n\nBug: 19542228\nChange-Id: Ib3e4b3517e06e8242d4fed32ca59419fef553a47\n"
    },
    {
      "commit": "892fc96694b51ac7a896dacd75af5b235f955825",
      "tree": "d59bf83a08fead7d9823230831bea63c9e43a62c",
      "parents": [
        "f45599d8f92748c5c2d2aec515948932c52444eb"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Mar 10 16:57:05 2015 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Mar 10 16:57:05 2015 +0000"
      },
      "message": "Revert \"Turn on logging for oat file assistant tests.\"\n\nThis reverts commit f45599d8f92748c5c2d2aec515948932c52444eb.\n\nChange-Id: I33c6c5bf1d2643bdf8ce13708f376d01599c2a98\n"
    },
    {
      "commit": "f45599d8f92748c5c2d2aec515948932c52444eb",
      "tree": "13c11654afebf81307013065009c78b5d676abff",
      "parents": [
        "66d874d96d5699bb090c59f47a5a528956ca053e"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Mar 10 08:38:31 2015 -0700"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Mar 10 08:38:31 2015 -0700"
      },
      "message": "Turn on logging for oat file assistant tests.\n\nTemporary to debug test failure.\n\nChange-Id: Idbfcdbdae5e0aa3544b01f1a1ab0297a81d736d5\n"
    },
    {
      "commit": "66d874d96d5699bb090c59f47a5a528956ca053e",
      "tree": "d59bf83a08fead7d9823230831bea63c9e43a62c",
      "parents": [
        "2cfdabd2bb4833d7092819d27ef08a9e1cdffead"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Jan 15 09:37:19 2015 -0800"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon Mar 09 14:46:23 2015 -0700"
      },
      "message": "Create OatFileAssistant class for assisting with oat files.\n\nThe oat file assistant is used for determining whether dex2oat or\npatchoat is needed, for running dex2oat or patchoat as needed to make\nan oat file up to date, and to load dex files associated with a given\ndex location.\n\nThe introduction of the OatFileAssistant class is meant to clean up and\nconsolidate code related to the management of oat files that was\nduplicated and spread across dalvik_system_DexFile.cc and\nclass_linker.cc.\n\nBug: 11301553\nChange-Id: I0c16027b9bae4570c2c50faa9c14f581c0cbafb8\n"
    },
    {
      "commit": "aaebaa0121be3b9d9f13630585304482cbcaeb4b",
      "tree": "0f47257e497fdf920c8d703d2d00adab53934a76",
      "parents": [
        "babecc483276b46d84cb83d4f01e577228827305"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Jan 26 10:55:53 2015 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 04 13:29:19 2015 -0800"
      },
      "message": "art: Refactor RuntimeOptions/ParsedOptions\n\nRefactor the RuntimeOptions to be a\ntype-safe map (VariantMap, see runtime_options.h) and the ParsedOptions\nto delegate the parsing to CmdlineParser (see cmdline/cmdline_parser.h).\n\nThis is the start of a command line parsing refactor, and may include\nmore in the future (dex2oat, patchoat, etc).\n\nFor more details of the command line parsing generator usage see cmdline/README.md\n\nChange-Id: Ic67c6bca5e1f33bf2ec60e2e3ff8c366bab91563\n"
    },
    {
      "commit": "369810a98e6394b6dd162f5349e38a1f597b3bc7",
      "tree": "ec703b9fdfe57f039f833208f879d8c95b813137",
      "parents": [
        "1c1d40ab7fd856eac52e1a3be7ce60da3fc21fb5"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 14 19:53:31 2015 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jan 15 07:51:55 2015 -0800"
      },
      "message": "ART: Allow scoped adjustments to log verbosity\n\nAdd ScopedLogSeverity to adjust the logging level.\n\nSuppress warnings by default in gtests. Suppress errors in instances\nwhere errors are expected.\n\nChange-Id: If3ef865813e9505ab60bc90baed63ff11d90afbb\n"
    },
    {
      "commit": "fbef44de596d298dc6430f482dffc933a046dd28",
      "tree": "57345e86b7dda80b82a263069230b7e312db5ef2",
      "parents": [
        "603104b5b5c3759b0bc2733bda2f972686a775a3"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Dec 23 09:48:51 2014 -0800"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Jan 13 16:32:34 2015 -0800"
      },
      "message": "Use unique_ptr to track ownership of dex files.\n\nBug: 18809837\nChange-Id: Ie571eae8fc19ee9207390cff5c7e2a38071b126a\n"
    },
    {
      "commit": "c275259449ec57987e52d3ab1eda3272b994488f",
      "tree": "ca3a6d182d768f8ef046a33576572a2e46370cc1",
      "parents": [
        "4270e74152d8a7cd979ab5a92fe2a8f84adb8a42"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Fri Jan 02 13:28:22 2015 -0800"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Thu Jan 08 10:50:38 2015 -0800"
      },
      "message": "Remove back-door bootclasspath option from Runtime\n\nThe \u0027bootclasspath\u0027 option allowed users of the Runtime to load their\nown boot class path DexFiles and pass them directly to the Runtime as\nan option. This obscures the fact that the Runtime must take ownership\nof the boot class path DexFiles.\n\nThis change removes the use of the bootclasspath option by dex2oat and\nthe common runtime tests. For dex2oat, we use the existing\n-Xbootclasspath option instead, and introduce a new\n-Xbootclasspath-locations option to override the dex locations for the\nloaded boot class path dex files. For the common runtime tests, we\nsimply use -Xbootclasspath.\n\nBug: 18809837\nChange-Id: Idfcd4885390bf0f3dc350993756dd337220def73\n"
    },
    {
      "commit": "e21dc3db191df04c100620965bee4617b3b24397",
      "tree": "2ad762c6afb024bf95e1eced3d584649a4d57d23",
      "parents": [
        "6d1a047b4b3f9707d4ee1cc19e99717ee021ef48"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Dec 08 16:59:43 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Dec 22 10:01:27 2014 -0800"
      },
      "message": "ART: Swap-space in the compiler\n\nIntroduce a swap-space and corresponding allocator to transparently\nswitch native allocations to memory backed by a file.\n\nBug: 18596910\n\n(cherry picked from commit 62746d8d9c4400e4764f162b22bfb1a32be287a9)\n\nChange-Id: I131448f3907115054a592af73db86d2b9257ea33\n"
    },
    {
      "commit": "62746d8d9c4400e4764f162b22bfb1a32be287a9",
      "tree": "415dc3a150d7f6d2df6672c640c19e70f2aab4db",
      "parents": [
        "15ff1a8642fbbe3fb29273f35005ccc7524bb942"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Dec 08 16:59:43 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 18 16:56:10 2014 -0800"
      },
      "message": "ART: Swap-space in the compiler\n\nIntroduce a swap-space and corresponding allocator to transparently\nswitch native allocations to memory backed by a file.\n\nBug: 18596910\nChange-Id: I131448f3907115054a592af73db86d2b9257ea33\n"
    },
    {
      "commit": "3774335b08076117d6950cd472cdd59a167470b5",
      "tree": "c2d24814e2d829f55ae25415b5b578cc040e0934",
      "parents": [
        "5b6912e455da798a79a4bb3235e276351b38ab58"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Nov 13 14:38:00 2014 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Dec 16 12:00:59 2014 -0800"
      },
      "message": "Add a new imgdiag tool to diff boot.art/core.art against a process\n\nAnalyze the dirty memory pages of a running process per-object,\nthis allows is to to fine-tune the dirty object binning algorithm in\nimage writer.\n\nAlso:\n* Factor out oatdump command line parsing code into cmdline.h\n* Factor out common build rules for building variations of binaries\n* Add a gtest for imgdiag\n\nBug: 17611661\nChange-Id: I3ac852a0d223af66f6d59ae5dbc3df101475e3d0\n"
    },
    {
      "commit": "4303ba97313458491e038d78efa041d41cf7bb43",
      "tree": "5a5873651db918416c9ff63f4bb06b6eb7f4c71a",
      "parents": [
        "a971100be7870544360fa8a46311ef7f5adb6902"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 06 01:00:46 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 18 17:26:06 2014 -0800"
      },
      "message": "ART: Track Flush \u0026 Close in FdFile\n\nImplement a check that aborts when a file hasn\u0027t been explicitly\nflushed and closed when it is destructed.\n\nAdd WARN_UNUSED to FdFile methods.\n\nUpdate dex2oat, patchoat, scoped_flock and some gtests to pass with\nthis.\n\n(cherry picked from commit 9433ec60b325b708b9fa87e699ab4a6565741494)\n\nChange-Id: I9ab03b1653e69f44cc98946dc89d764c3e045dd4\n"
    },
    {
      "commit": "9433ec60b325b708b9fa87e699ab4a6565741494",
      "tree": "3d989af3ed3f09666cd0d6c6309ff70f26211b20",
      "parents": [
        "a477bbb62ba197815d840d07708526a2bb9c8b4d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 06 01:00:46 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 18 08:55:23 2014 -0800"
      },
      "message": "ART: Track Flush \u0026 Close in FdFile\n\nImplement a check that aborts when a file hasn\u0027t been explicitly\nflushed and closed when it is destructed.\n\nAdd WARN_UNUSED to FdFile methods.\n\nUpdate dex2oat, patchoat, scoped_flock and some gtests to pass with\nthis.\n\nChange-Id: I9ab03b1653e69f44cc98946dc89d764c3e045dd4\n"
    },
    {
      "commit": "c7dd295a4e0cc1d15c0c96088e55a85389bade74",
      "tree": "0c08a2236bc9ba5d9a4dc75d4dd0ed2d76f8f1c6",
      "parents": [
        "94e5af8602150efa95bde35cc9be9891ddf30135"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Oct 21 23:31:19 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Oct 22 12:06:23 2014 -0700"
      },
      "message": "Tidy up logging.\n\nMove gVerboseMethods to CompilerOptions. Now \"--verbose-methods\u003d\" option to\ndex2oat rather than runtime argument \"-verbose-methods:\".\nMove ToStr and Dumpable out of logging.h, move LogMessageData into logging.cc\nexcept for a forward declaration.\nRemove ConstDumpable as Dump methods are all const (and make this so if not\ncurrently true).\nMake LogSeverity an enum and improve compile time assertions and type checking.\nRemove log_severity.h that\u0027s only used in logging.h.\nWith system headers gone from logging.h, go add to .cc files missing system\nheader includes.\nAlso, make operator new in ValueObject private for compile time instantiation\nchecking.\n\nChange-Id: I3228f614500ccc9b14b49c72b9821c8b0db3d641\n"
    },
    {
      "commit": "c54e12a413e16f90526318f1f466a900a717fbb0",
      "tree": "94f28bb25f7fee058cb23fdb3090a5da6d14b285",
      "parents": [
        "5d1c1bbd4c8a1727027d0ae69277af6f6f6badf3"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 14 16:22:41 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 14 16:22:41 2014 -0700"
      },
      "message": "Change MemMap::maps_ to not be global variable\n\nRuntime.exit() was causing globals to get destructed at the same time\nthat another thread was using it for allocating a new mem map.\n\n(cherry picked from commit 6e88ef6b604a7a945a466784580c42e6554c1289)\n\nBug: 17962201\nChange-Id: I400cb7b8141d858f3c08a6fe59a02838c04c6962\n"
    },
    {
      "commit": "6e88ef6b604a7a945a466784580c42e6554c1289",
      "tree": "1e296564787b51514cf2eca5b732647c1a82912e",
      "parents": [
        "58e51f38e2304a08aa9ec380383e0b3614f96a96"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 14 15:01:24 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 14 15:43:21 2014 -0700"
      },
      "message": "Change MemMap::maps_ to not be global variable\n\nRuntime.exit() was causing globals to get destructed at the same time\nthat another thread was using it for allocating a new mem map.\n\nBug: 17962201\nChange-Id: I400cb7b8141d858f3c08a6fe59a02838c04c6962\n"
    },
    {
      "commit": "95b4c65da93500cdbdcaa3e01010771ef3f466f1",
      "tree": "ead842c80ed3f35002c217eda7d308512838da87",
      "parents": [
        "4bf8d11df5dccc1b276cd9c40a98e8a14d79a9c8"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Aug 14 17:18:52 2014 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri Aug 15 17:03:47 2014 +0000"
      },
      "message": "Prevent stubs from being installed in java.lang.reflect.Proxy.\u003cinit\u003e.\n\nThis CL is a better fix for proxy tracing and undoes the changes in\nhttps://android-review.googlesource.com/#/c/103025/\n\nBug: 16386215\n\n(cherry picked from commit db8a664e0b68c7c4d36270cd21dce8de1912d7f9)\n\nChange-Id: Ic9e0ea2af7cb2da5d90c56aa009de92dba14cc47\n"
    },
    {
      "commit": "4bf8d11df5dccc1b276cd9c40a98e8a14d79a9c8",
      "tree": "3dea5774b1a1702be5df59f04905fbf1171ce410",
      "parents": [
        "93de4273d72a2558a7b3423547b5074cd76c5796"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Jul 24 16:26:09 2014 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri Aug 15 09:43:37 2014 -0700"
      },
      "message": "Fix proxy tracing and enable tests that now work with tracing.\n\nAlso updates proxy_test to generate an image for GetQuickOatCodeFor.\n\nBug: 16386215\n\n(cherry picked from commit f0a3f09c3d54646166a55c05a6b39c7dd504129c)\n\nChange-Id: I138edbad9e1646db8590f2b1b73f2788d9710e68\n"
    },
    {
      "commit": "db8a664e0b68c7c4d36270cd21dce8de1912d7f9",
      "tree": "3f7fcf610d2de28159cf77ab8e190e18a072e979",
      "parents": [
        "37f048b19da5ac245a6b2a8473b326d2167cc692"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Aug 14 17:18:52 2014 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri Aug 15 09:38:52 2014 -0700"
      },
      "message": "Prevent stubs from being installed in java.lang.reflect.Proxy.\u003cinit\u003e.\n\nThis CL is a better fix for proxy tracing and undoes the changes in\nhttps://android-review.googlesource.com/#/c/103025/\n\nChange-Id: Ie82bb49f07774bd08a6720ddbe5b1f8ee9363acf\n"
    },
    {
      "commit": "2994e29b57ff57ce3d59a26a01e27e674bd6238b",
      "tree": "16d07c11ebf2191762d494ec9486e8fe8027e185",
      "parents": [
        "3a56e4d089b58bcb61e0c5b7c0ebdcc266a89d82"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 06 13:12:26 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 08 22:21:09 2014 -0700"
      },
      "message": "ART: Use TMPDIR for test directories\n\nBug: 16499668\n\n(cherry picked from commit 5a79fdecffbea657ebecd4cf19078925239eb1c3)\n\nChange-Id: I6981f707862bf4a9cc79800db85b0416f30115af\n"
    },
    {
      "commit": "f896965072343a2d6ad64d46a61112b10b3645dd",
      "tree": "a55d82496279f2c9c35d41be7fa9a2be4270a48f",
      "parents": [
        "4ef12f5b0e26c6016c87866f6a33da5ed8e98d74"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 06 14:53:03 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 08 18:23:32 2014 -0700"
      },
      "message": "ART: Remove test files after test\n\nThe unix_file tests should remove files and directories when they\nare done testing.\n\nBug: 16505797\n\n(cherry picked from commit 7747c8de402f64e3009ca3bcccebddbb70f617ee)\n\nChange-Id: I9c3c8f1a80ec0d37628a742193267e182c25b0cd\n"
    },
    {
      "commit": "68d8b42ddec39ec0174162d90d4abaa004d1983e",
      "tree": "0bb6ccf3b996bb8363c10d07aa39cde221980602",
      "parents": [
        "9c522c2cbbf50dc687728747b37ad59985750b65"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jul 17 11:09:10 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Aug 08 08:29:53 2014 -0700"
      },
      "message": "Wire up check JNI force copy mode.\n\nIncrease check JNI checks.\nBreak apart jni_internal.h in to jni_env_ext.h and java_vm_ext.h.\nFix the abuse of ScopedObjectAccess/annotalysis by ScopedCheck in the case\nof VM routines.\nMake class loader override and shared library class loader JNI global\nreferences rather than mirror pointers.\nClean-ups to native bridge.\n\nChange-Id: If7c6110b5aade7a402bfb67534af86a7b2cdeb55\n"
    },
    {
      "commit": "7747c8de402f64e3009ca3bcccebddbb70f617ee",
      "tree": "491fb0e346d6e0821d209b9617f0abfac78aedb1",
      "parents": [
        "57cd9d3bda952ee2c2cf977fb1e26a0a954e1bab"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 06 14:53:03 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 06 16:06:28 2014 -0700"
      },
      "message": "ART: Remove test files after test\n\nThe unix_file tests should remove files and directories when they\nare done testing.\n\nBug: 16505797\nChange-Id: Iff6856f64ee42ee9818b4ac23a6de3fe7eec6eae\n"
    },
    {
      "commit": "5a79fdecffbea657ebecd4cf19078925239eb1c3",
      "tree": "c35ab30420657b309144f99ee0aa3e8ee879514a",
      "parents": [
        "1b192268f167f603fc372f02f9067f3ce5d82daf"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 06 13:12:26 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 06 20:27:47 2014 +0000"
      },
      "message": "ART: Use TMPDIR for test directories\n\nBug: 16499668\nChange-Id: I0d3db4697ef7b1706807e7daa5e000bb89df14e0\n"
    },
    {
      "commit": "f0a3f09c3d54646166a55c05a6b39c7dd504129c",
      "tree": "35a76479f1b774ae100727547a48da5bc0878e66",
      "parents": [
        "484e2c2d3531e5bb36f0e1e12f26c708939c6579"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Jul 24 16:26:09 2014 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Aug 06 12:49:57 2014 -0700"
      },
      "message": "Fix proxy tracing and enable tests that now work with tracing.\n\nAlso updates proxy_test to generate an image for GetQuickOatCodeFor.\n\nBug: 16386215\nChange-Id: Ie7daad3d73ea7b60187bc1e7037ade0df8277107\n"
    },
    {
      "commit": "94f7b49578b6aaa80de8ffed230648d601393905",
      "tree": "cfc69e453faefee38178ceb85378e1f0f1e17812",
      "parents": [
        "8df73882c60451e7f789bf9b1f3db2d7dc228640"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Jul 22 18:08:23 2014 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Jul 29 13:30:46 2014 -0700"
      },
      "message": "Add GcRoot to clean up and enforce read barriers.\n\nIntroduce a value-type wrapper around Object* for GC roots so that 1)\nwe won\u0027t have to directly add the read barrier code in many places and\n2) we can avoid accidentally bypassing/missing read barriers on GC\nroots (the GcRoot interface ensures that the read barrier is executed\non a read).\n\nThe jdwp test passed.\n\nBug: 12687968\nChange-Id: Ib167c7c325b3c7e3900133578815f04d219972a1\n"
    },
    {
      "commit": "1fe5e5cce85a3cdc64a8d226a8ef4e6134c2b9eb",
      "tree": "4e6cf97184bc4a0646ef7a9afaa32ec731691d8e",
      "parents": [
        "b3bf7afc4288f97f9b591d19f03362e0577ed0ec"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jul 11 21:14:35 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sun Jul 27 14:55:50 2014 -0700"
      },
      "message": "ART: Fix target test paths\n\nNativetest is now nativetest64 on 64b targets.\n\nChange-Id: I4c4c6bba1a56525df2993708caaae3e6f7f5f2f6\n"
    },
    {
      "commit": "a59dd80f9f48cb750d329d4d4af2d99d72b484d1",
      "tree": "36958b15842205addaf6d2a13e40823eab47c8bc",
      "parents": [
        "84568fdf08f8f476292996ad653b4453d2894d23"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jul 02 16:28:08 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 22 08:24:14 2014 -0700"
      },
      "message": "Runtime can now be set to require relocation\n\nAdd a pair of runtime flags -Xrelocate and -Xnorelocate that can force\nthe runtime to require that all files that are run are relocated, to\nprevent attacks based on the known art base address.\n\nAdd support for running patchoat on oat files compiled without an image.\n\nChange run-test to have new --prebuild and --relocate flags.\n\nBug: 15358152\n\nChange-Id: I91166c62dd1ab80e5cbcb7883a2cd0d56afca32d\n"
    },
    {
      "commit": "e63db27db913f1a88e2095a1ee8239b2bb9124e8",
      "tree": "893dee6783bca6717259321a6e4ba029c9c123e2",
      "parents": [
        "07b8441303ea82fca3cb85d71ecf8752d73cedd7"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Jul 15 15:36:11 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Jul 15 17:07:49 2014 -0700"
      },
      "message": "Break apart header files.\n\nCreate libart-gtest for common runtime and compiler gtest routines.\nRename CompilerCallbacksImpl that is quick compiler specific.\nRename trace clock source constants to not use the overloaded profiler term.\n\nChange-Id: I4aac4bdc7e7850c68335f81e59a390133b54e933\n"
    },
    {
      "commit": "a1ce1fef2d49d1d537776a5308ace7102a815fe5",
      "tree": "a1afe850d9ebd21f4b751eb68e1ec3dc60dab001",
      "parents": [
        "930f7b843ddc6e6530439d3fdb0e2133a6292f1e"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Feb 24 23:23:58 2014 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Feb 26 13:17:44 2014 -0800"
      },
      "message": "Split up CommonTest into CommonRuntimeTest and CommonCompilerTest\n\nChange-Id: I8dcf6b29a5aecd445f1a3ddb06386cf81dbc9c70\n"
    }
  ],
  "next": "930f7b843ddc6e6530439d3fdb0e2133a6292f1e"
}
