)]}'
{
  "log": [
    {
      "commit": "19772bf5cbfc8fdaddabc945c25d34e236d1d753",
      "tree": "a5f857dddfc33985b98cb17eb8336ce035bfd7f1",
      "parents": [
        "69ed58348af817176734c5541f41737f00f9a1e9"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Feb 16 11:28:10 2017 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Feb 16 11:28:10 2017 +0000"
      },
      "message": "Disable the dex2oat swap test for x86 altogether.\n\nOn x86, this test has been seen failing on the CMS\nconfiguration, not just the CC configuration.\n\nTest: m ART_USE_READ_BARRIER\u003dtrue test-art-host-gtest\nTest: m ART_USE_READ_BARRIER\u003dfalse test-art-host-gtest\nBug: 29259363\nChange-Id: I3690aaec0aedd0020660aff42b408487e042cfd4\n"
    },
    {
      "commit": "57070daa94f1eb98bea947494b98ac296eebeed6",
      "tree": "887b685650ee58c50f8b16bd383416dc408c4392",
      "parents": [
        "38f5663a970b633f08e144b4dff33633c51352ee"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Feb 14 16:16:30 2017 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Feb 14 16:16:30 2017 +0000"
      },
      "message": "Revert \"Enable dex2oat swap test for CC on x86.\"\n\nIs\u0027t still failing and the difference can be\nrather huge:\n    Expected: (native_alloc_2_) \u003c (native_alloc_1_),\n    actual: 379712 vs 248600\n\nBug: 29259363\n\nThis reverts commit 38f5663a970b633f08e144b4dff33633c51352ee.\n\nChange-Id: Ie1d62fbba688aeadffb9d5aafd5b9cf632742ed6\n"
    },
    {
      "commit": "38f5663a970b633f08e144b4dff33633c51352ee",
      "tree": "ec22eed99c7edcbaff339b42986bf1ed77e8ca6a",
      "parents": [
        "ebf4d99fd40b98b6587241cb5e73ac5d4124b266"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 13 18:57:47 2017 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 13 19:01:37 2017 +0000"
      },
      "message": "Enable dex2oat swap test for CC on x86.\n\nThe test should be OK after\n    https://android-review.googlesource.com/335763\n\nTest: m ART_USE_READ_BARRIER\u003dtrue test-art-host-gtest\nBug: 29259363\nChange-Id: I16f4051036b247b4f520533e77eaa71d6ff7bb41\n"
    },
    {
      "commit": "0afd1be3c2bd0b77e9264bbac6649a2a7129044f",
      "tree": "c35059050a6a80dd330641d4808c309ba9d37541",
      "parents": [
        "2e965aca73bacf84123b5c53bb0904b13b48e428"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 03 17:24:45 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 04 09:11:35 2016 -0700"
      },
      "message": "ART: Remove \"explicit\" annotation\n\nRemove unnecessary annotation.\n\nBug: 32619234\nTest: m\nChange-Id: I8bbef5e3b4b8d3f5ddeaece08fe614b9eeae6f2c\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": "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": "496577fb4d6d7baea9c093d35d17e208c831bbca",
      "tree": "1da9976883a8fea0dc05a58ec9bbd347b010fc19",
      "parents": [
        "304533ed8475e9438e6ca7ef5fa644fd5dab5e97"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 20 15:33:31 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Sep 23 15:27:26 2016 -0700"
      },
      "message": "Smarter image layout\n\nPut strings in the dex file that resolves them.\n\nDepth first traversal with overrides for class and dex cache. The\nwork list keeps track of what oat_index with each pushed item. This\nmeans the static fields of a class will usually be in the same image.\n\nAdded layout test to image_test to make sure things are somewhat\nreasonably attributed.\n\nBug: 28640955\n\nTest: test-art-host\n\n(cherry picked from commit 4e9c4e746617bad6a012d799d2f5cf9e01d24ea2)\n\nChange-Id: I67a536c33aeed603b252d8e0f75622c9efbf2559\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": "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": "6c839a2d0e2cf0cc15900196b7feaa26a24634b7",
      "tree": "0f4a838ba3b7919561e27a85cc416085713273ac",
      "parents": [
        "97750797e1195651228698877724ae8599eb1e44",
        "04147efc0621ce09fb4548cc482d42da2ff4e088"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Sep 07 11:12:37 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 07 11:12:38 2016 +0000"
      },
      "message": "Merge \"Add build rules for statically linked oatdump on host.\""
    },
    {
      "commit": "04147efc0621ce09fb4548cc482d42da2ff4e088",
      "tree": "284a0e9736c69690ff33264730af8ebe6308ebed",
      "parents": [
        "af54785797b2c2358de417780adf6bdd513f29f3"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Sep 06 11:09:41 2016 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Sep 06 11:09:41 2016 +0100"
      },
      "message": "Add build rules for statically linked oatdump on host.\n\nAlso extend oatdump_test to exercise oatdump(d)s.\n\nTest: ART_BUILD_HOST_STATIC\u003dtrue m test-art-host-gtest-oatdump_test\nBug: 29530992\nChange-Id: I6eb6c96f385832733d18d0400abd9974a6d8e45c\n"
    },
    {
      "commit": "0f7eaebb1622e08482c519fe5eaab9afa8f64df1",
      "tree": "7d1d44eb4a153ed738178abf8e3948a103ca3429",
      "parents": [
        "244d105f68159b13c55217dd6d883991ba4a7c20"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Aug 31 17:56:13 2016 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Sep 01 01:29:42 2016 +0000"
      },
      "message": "Disable dexlayout_test on target.\n\nTarget doesn\u0027t have diff to compare output files.\n\nBug: 29921113\nTest: mm test-art-target-gtest-dexlayout_test\nChange-Id: I244c0c74214b780676283de1b309978667ff58e3\n"
    },
    {
      "commit": "bdf7f1c3ab65ccb70f62db5ab31dba060632d458",
      "tree": "25cc77adfeb05232d0ab00aa561a693f1d71745c",
      "parents": [
        "d7eabc2cc1a88c1f7f927da61246ae65aab0626c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Aug 30 16:38:47 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Aug 30 17:02:53 2016 -0700"
      },
      "message": "ART: SHARED_REQUIRES to REQUIRES_SHARED\n\nThis coincides with the actual attribute name and upstream usage.\nPreparation for deferring to libbase.\n\nTest: m\nTest: m test-art-host\nChange-Id: Ia8986b5dfd926ba772bf00b0a35eaf83596d8518\n"
    },
    {
      "commit": "3aaa37bba53d6df0265793de48b4b0b57327e57a",
      "tree": "ce795803f0f10003eb3d96d9348da620937675b3",
      "parents": [
        "792c98bb773c8c2390f9cbf774f85be9d9a75332"
      ],
      "author": {
        "name": "jessicahandojo",
        "email": "jessicahandojo@google.com",
        "time": "Fri Jul 29 14:46:37 2016 -0700"
      },
      "committer": {
        "name": "jessicahandojo",
        "email": "jessicahandojo@google.com",
        "time": "Tue Aug 23 15:12:26 2016 -0700"
      },
      "message": "creating workflow for mirror::String compression\n\nAll-ASCII String characters are stored in 8-bit blocks\ninstead of 16-bit. The compression has not taken place, but all\nworkflow are in the code already (changing kUseStringCompression in\nstring.h file to TRUE will enable the feature)\n\nNotes: Feature works on interpreter only without optimizing\n\nTest art: m ART_TEST_INTERPRETER\u003dtrue ART_TEST_OPTIMIZING\u003dfalse\n          test-art-host\n\nAlso tested with String tests from libcore/:\n1. libcore.java.lang.StringTest\n2. libcore.java.lang.StringBufferTest\n3. libcore.java.lang.StringBuilderTest\n4. libcore.java.lang.OldStringTest\n5. libcore.java.lang.OldStringBufferTest\n\nMemory improvement is 33% (from 6.03% to 4.03%, total String memory\nfrom all apps per total memory of all apps) measured on Angler\nwith Hprof tools\n\nBug: 31040547\nChange-Id: I9cc92c265ebf1305fc06b5fc33efd83797660cce\n"
    },
    {
      "commit": "a794c26a0909f5d882f236f12d7f5fd30a336f35",
      "tree": "664866998697ba023710234b952e987da6e99f8f",
      "parents": [
        "bffecdbb50c42c775219dfbf32132fe6a9067762"
      ],
      "author": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Mon Jul 25 17:31:06 2016 +0100"
      },
      "committer": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Mon Aug 01 09:32:56 2016 +0000"
      },
      "message": "Fix art::ArchTest::FinalizeSetup not being called.\n\nCommonRuntimeTestImpl::SetUp() is calling FinalizeSetup. Since\nCommonRuntimeTestImpl::FinalizeSetup is not virtual (it\u0027s virtual\none step higher in class hierarchy in CommonRuntimeTestBase), overridden\nversion in ArchTest was never used. This is causing ArchTest to\nfail with openjdk8u60 version of java.lang.reflect (it\u0027s calling\nClass#getDeclaredField in clinit, which fails on 32 bit\nversion because of different pointer sizes [arch_test forces\n64-bit ISA])\n\nBug: 28666126\nTest:  make -j 32 test-art-host-gtest\nChange-Id: Ief370f5b18ef787575ac0f88ecbe17ebbf037542\n"
    },
    {
      "commit": "63b6eb400c9d9052447b213471f90dfa4e6f242c",
      "tree": "e9ede70e0725c85da30c4e87cf00ebe0a0567254",
      "parents": [
        "93afc5f20a23ece78d6d6e506ed75775b8ef2113"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Jul 28 16:37:28 2016 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Jul 28 16:37:28 2016 +0100"
      },
      "message": "Disable CheckSwapUsage test with read barriers on x86.\n\nThis test does not produce the expected results on\nsome x86 systems when read barriers are enabled.\n\nAlso remove unused TEST_DISABLED_FOR_READ_BARRIER macro\ndefinition.\n\nTest: m test-art-host-gtest\nBug: 29259363\nBug: 12687968\nChange-Id: If7c124226b32c10425725e62bb684150aba108ab\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": "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": "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": "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": "0d5a281c671444bfa75d63caf1427a8c0e6e1177",
      "tree": "fd9bbe0f1c581bcc7c05bbfb2643ffe0b1fb014e",
      "parents": [
        "dd4cbcc924c8ba2a578914a4a366996693bdcd74"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Nov 13 10:07:31 2015 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Sun Nov 15 12:16:41 2015 +0000"
      },
      "message": "x86/x86-64 read barrier support for concurrent GC in Optimizing.\n\nThis first implementation uses slow paths to instrument heap\nreference loads and GC root loads for the concurrent copying\ncollector, respectively calling the artReadBarrierSlow and\nartReadBarrierForRootSlow (new) runtime entry points.\n\nNotes:\n- This implementation does not instrument HInvokeVirtual\n  nor HInvokeInterface instructions (for class reference\n  loads), as the corresponding read barriers are not stricly\n  required with the current concurrent copying collector.\n- Intrinsics which may eventually call (on slow path) are\n  disabled when read barriers are enabled, as the current\n  slow path infrastructure does not support this case.\n- When read barriers are enabled, the code generated for a\n  HArraySet instruction always go into the array set slow\n  path for object arrays (delegating the operation to the\n  runtime), as we are lacking a mechanism to keep a\n  temporary register live accross a runtime call (needed for\n  the instrumentation of type checking code, which requires\n  two successive read barriers).\n\nBug: 12687968\nChange-Id: I14cd6107233c326389120336f93955b28ffbb329\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": "90443477f9a0061581c420775ce3b7eeae7468bc",
      "tree": "8c74b81dfae162e0fd0ccf8d5ac50827ba815174",
      "parents": [
        "6078aec213dfaf111c29969706e8e5967cfc9bea"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 16 20:32:27 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jul 22 15:13:56 2015 -0700"
      },
      "message": "Move to newer clang annotations\n\nAlso enable -Wthread-safety-negative.\n\nChanges:\nSwitch to capabilities and negative capabilities.\n\nFuture work:\nUse capabilities to implement uninterruptible annotations to work\nwith AssertNoThreadSuspension.\n\nBug: 20072211\n\nChange-Id: I42fcbe0300d98a831c89d1eff3ecd5a7e99ebf33\n"
    },
    {
      "commit": "4d02711ea578dbb789abb30cbaf12f9926e13d81",
      "tree": "29c802afff6e73c06021c44e6b2ec9d8340c75e9",
      "parents": [
        "312f1bfcfd8f655e635c941dda147377d8bff814"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Jul 01 15:41:14 2015 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Jul 01 16:31:41 2015 +0100"
      },
      "message": "Implement heap poisoning in ART\u0027s Optimizing compiler.\n\n- Instrument ARM, ARM64, x86 and x86-64 code generators.\n- Note: To turn heap poisoning on in Optimizing, set the\n  environment variable `ART_HEAP_POISONING\u0027 to \"true\"\n  before compiling ART.\n\nBug: 12687968\nChange-Id: Ib3120b38cf805a8a50207a314b9ccc90c8d93740\n"
    },
    {
      "commit": "bfa5eb6e8d15ea73a36f8df449630f285a91e995",
      "tree": "de306b9ffb819e628c49f1c24d1f4ee33ad08319",
      "parents": [
        "61d894850cfcbae91ff472a24b5ae9e33394f24c"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri May 29 15:04:41 2015 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Jun 02 11:46:14 2015 -0700"
      },
      "message": "Add heap poisoning support to the entrypoints.\n\nIn preparation for full compiler/managed-code support.\n\nEnable stub_test with heap poisoning.\n\nBug: 12687968\nChange-Id: I79fc54ce6386c0a1eb9621759bb4cc23bc393a75\n"
    },
    {
      "commit": "d90957fbe6f41c66d5494ae5db1f60d2434d4c84",
      "tree": "684845d53237196fa8dd66dd545d6b33cdb71051",
      "parents": [
        "8771be9a5826ebe12cea0c2feb0fa085df5d60a2"
      ],
      "author": {
        "name": "Douglas Leung",
        "email": "douglas.leung@imgtec.com",
        "time": "Thu Apr 30 19:22:49 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 06 20:49:09 2015 -0700"
      },
      "message": "ART: Fix mips64 jni bugs.\n\nFor mips64, 32-bits loads can be zero extended or sign extended to\n64-bits. The extension type must match the data type to be loaded.\n\nAlso re-enable mips64 generic jni testing.\n\nChange-Id: I9cabaf80b4fde63d9868fccd74593b36d1c324e8\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": "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": "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": "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": "956af0f0cb05422e38c1d22cbef309d16b8a1a12",
      "tree": "b558c804d206dad8da648b815750f1b3c97610ae",
      "parents": [
        "407d77f344cfbdbbfb50531c5f0766bc0892e2fe"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 11 14:34:28 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 12 09:33:34 2014 -0800"
      },
      "message": "Remove portable.\n\nChange-Id: I3bf3250fa866fd2265f1b115d52fa5dedc48a7fc\n"
    },
    {
      "commit": "6a3c1fcb4ba42ad4d5d142c17a3712a6ddd3866f",
      "tree": "9df58b57af13240a93a6da4eefcf03f70cce9ad9",
      "parents": [
        "c6e0955737e15f7c0c3575d4e13789b3411f4993"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Oct 31 00:33:20 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Nov 03 20:01:04 2014 -0800"
      },
      "message": "Remove -Wno-unused-parameter and -Wno-sign-promo from base cflags.\n\nFix associated errors about unused paramenters and implict sign conversions.\nFor sign conversion this was largely in the area of enums, so add ostream\noperators for the effected enums and fix tools/generate-operator-out.py.\nTidy arena allocation code and arena allocated data types, rather than fixing\nnew and delete operators.\nRemove dead code.\n\nChange-Id: I5b433e722d2f75baacfacae4d32aef4a828bfe1b\n"
    },
    {
      "commit": "ebee8de725d5fa83483642786b19ea453d865762",
      "tree": "639f29920749d6aba992fa76c57a067a34b0830d",
      "parents": [
        "9c290012b7f505ae1943ab87236f775b97a46e2d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 13 03:40:45 2014 +0100"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Aug 15 12:19:57 2014 -0700"
      },
      "message": "Fix bugs in the x86 and arm versions of generic JNI.\n\nAlso fix the run script of 116-nodex2oat to use the non-prebuild\nscript for target.\n\nBug: 17000769\n\n(cherry-picked from commit 54accbca0b549b1b1ad3ef09655dad438bc1e104)\n\nChange-Id: I439fcd710fb8bb408f3288ff8fb34fef23890adb\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": "54accbca0b549b1b1ad3ef09655dad438bc1e104",
      "tree": "6354bddae9e09476380b9351b6c1a84636ac8154",
      "parents": [
        "e39a5e1ced3d2b87974c646678dd719c02a9a010"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 13 03:40:45 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Aug 14 17:18:53 2014 +0100"
      },
      "message": "Fix bugs in the x86 and arm versions of generic JNI.\n\nAlso fix the run script of 116-nodex2oat to use the non-prebuild\nscript for target.\n\nBug: 17000769\n\nChange-Id: I439fcd710fb8bb408f3288ff8fb34fef23890adb\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": "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": "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": "4e99b3d8955131f3fc71aa113f0fa71f0092cb6f",
      "tree": "bcaf4e5119a74c836d8598e064a20cdead757efb",
      "parents": [
        "5fa647d5f663033e4ed3d398aece1f8211d7f460"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Jun 24 14:35:40 2014 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Jul 10 17:03:15 2014 +0200"
      },
      "message": "Add missing class initialization during compilation and tests\n\nAdds missing class initialization during compilation and tests, especially\njava.lang.Class. Otherwise, we\u0027d be able to execute code while the referring\nclass is not initialized or initializing.\n\nAlso adds mirror::Class::AssertInitializedOrInitializingInThread method to\ncheck class initialization when entering the interpreter: the called method\u0027s\ndeclaring class must either be initialized or be initializing by the current\nthread (other threads must be waiting for the class initialization to complete\nholding its lock). Note we only do this check in debug build.\n\nBump oat version to force compilation.\n\nBug: 15899971\nChange-Id: I9a4edd3739a3ca4cf1c4929dcbb44cdf7a1ca1fe\n"
    },
    {
      "commit": "5ced67270d178df0ddd78abe2af2235de905d6f0",
      "tree": "84512647efdacfb5e61eb8d3e5dad795f83a14f2",
      "parents": [
        "cecec712e1e05aab1fe3469077016320b7bf9583"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 09 15:31:20 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 09 15:31:20 2014 -0700"
      },
      "message": "Use the icu4c headers from the new location.\n\nChange-Id: I6ca56e8f9909bf3644a5f79f2d705547ddba6d03\n"
    },
    {
      "commit": "8803c1cb633de1b0e0a48ffea30ddd8fac201a0e",
      "tree": "242d4a1ccc6c3702ac5c2be54b519140f314d4fd",
      "parents": [
        "8a9f3ee5c955e4ff7cf9af6551fd432b454c4b13",
        "86f5662a9374ee03bcd2b440a67f1e90eaac70c0"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 26 04:59:51 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 25 17:34:34 2014 +0000"
      },
      "message": "Merge \"ART: Use ANDROID_HOST_OUT for ANDROID_ROOT in Runtime tests\""
    },
    {
      "commit": "86f5662a9374ee03bcd2b440a67f1e90eaac70c0",
      "tree": "5a09b0035d971cc18c2b53824041dfc6fe26db60",
      "parents": [
        "b849f6dd638fd1246724160cd5c01ab1a5ff33bd"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 25 17:22:59 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 25 17:22:59 2014 -0700"
      },
      "message": "ART: Use ANDROID_HOST_OUT for ANDROID_ROOT in Runtime tests\n\nOn the host, if ANDROID_ROOT is not set, first try ANDROID_HOST_OUT.\nThis will ensure that builds with OUT_DIR_COMMON_BASE will run the\ngtests correctly, as icu will use ANDROID_ROOT to look for a file.\n\nChange-Id: I8988901be32249c1c79f96b36947a647df5de041\n"
    },
    {
      "commit": "833a48501d560c9fa7fc78ef619888138c2d374f",
      "tree": "add308298a5486d44caddea120cc9200dd70c38a",
      "parents": [
        "b849f6dd638fd1246724160cd5c01ab1a5ff33bd"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 21 18:46:59 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 25 19:34:58 2014 -0700"
      },
      "message": "ART: Native support for multidex\n\nNative support for zip files with multiple classesX.dex.\n\nWorks by explicitly looking for those files in ascending order. As\nthese files have no file system representation for themselves,\nintroduce synthetic dex locations: the name of the originating file\nplus a colon plus the name of the dex file, e.g., test.jar:classes2.dex.\n\nOpening a zip dex file will return all dex files in this way. This\nkeeps the changes to dex2oat minimal.\n\nTo hide multidex/synthetic names from the Java layer, let the handle\nof dalvik.system.DexFile refer to a vector of DexFile objects. When\nopening a location, test possible synthetic names and add them to the\nvector. Thus, the original multidex jar in the classpath will be\nassociated with all embedded dex files.\n\nChange-Id: I0de107e1369cbc94416c544aca3b17525c9eac8b\n"
    },
    {
      "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": "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": "0e12bdc49744eb6d5c29b9611a8dbe10bac4cd53",
      "tree": "aba31f1d671b4816fb63fca00b985ab0d2b6a12b",
      "parents": [
        "de1129a26e0474ea8bb9112938ebb867163969fd"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed May 14 17:44:28 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri May 16 16:14:50 2014 -0700"
      },
      "message": "Add ISA directory to image and odex pathnames.\n\nBug: 14882223\nBug: 14694978\nChange-Id: Ic1b5ae836b8e91ea461dcd4f3da8e38dc3bec00f\n"
    },
    {
      "commit": "507dfdd147c97bfbadebfd63584d094b6a4e7b47",
      "tree": "cce43931b6dcd088cb2932c2491f86116353a27f",
      "parents": [
        "922ddb30982d2597eab634d8b8598bec0eb7d3b7"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu May 15 16:42:40 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu May 15 16:50:51 2014 -0700"
      },
      "message": "Compatibility layer to transition from UniquePtr to std::unique_ptr.\n\nUse ART_WITH_STLPORT (enabled for the target) to cause the use of UniquePtr,\nfor the host switch to std::unique_ptr. For now the type remains called\nUniquePtr.\nMake dalvik compile with clang on the host, move its build to C++11.\n\nChange-Id: I5ba8d2757904bc089ed62047ea03de3c0853fb12\n"
    },
    {
      "commit": "b40c6a768aa8df4774d2a8c3ac7045237cc748cd",
      "tree": "cbfd1265e0e1b43345d97727d21d0e7e5a9859d8",
      "parents": [
        "1dbbbf6090274ebae6809fdb340c166bb34e09c2"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri May 02 14:25:12 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri May 02 14:25:12 2014 -0700"
      },
      "message": "ART: Fix assembler_test to use ScratchFile\n\nThis removes a warning about tmpnam usage.\n\nAlso add an assertion to ScratchFile about ANDROID_DATA being set,\nwhich it relies on for the temp directory.\n\nChange-Id: I1202f92e48e61492f0ed3ac36ff44fde34dbb0e1\n"
    },
    {
      "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": "05b15d6e896af7ae0075a690ea791e2e92ecf443",
      "tree": "0dab0187a2ca9f6a3649a39d04fb912169da14e6",
      "parents": [
        "4d37218371ff19854e4957b26793309e4669dfbc"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Mar 19 12:57:56 2014 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Mar 19 12:57:56 2014 -0700"
      },
      "message": "Make test-art pass with heap reference poisoning enabled.\n\nHeap reference poisoning is currently interpreter only. This change\ndisables one compiler driver test that actually invokes compiled code\nif heap reference poisoning is enabled.\n\nBug: 12687968\nChange-Id: Ia9516f4067d84e9a4de50d9ff44cfbe38f282d16\n"
    },
    {
      "commit": "c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690",
      "tree": "b587b9b0df1969ab4e9d49c0a57c83cbf2c35feb",
      "parents": [
        "c84d2f1d3feb6271ea260947e2a1eb43d64a099b"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Mar 04 23:19:06 2014 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Mar 04 23:34:23 2014 -0800"
      },
      "message": "Reuse NoopCompilerCallbacks in oatdump\n\nChange-Id: Icb4d3941196c1a236f0184fe4d0b7f5838bc13bd\n"
    },
    {
      "commit": "9583fbcf597eff6d0b3c5359b8e8d5f70ed82c40",
      "tree": "847912709f811adda0fa63e89e4bf8af27769f2e",
      "parents": [
        "093aad184b4451639951a7e012d9b55cbf8c8a07"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 28 15:21:07 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 04 16:30:48 2014 +0000"
      },
      "message": "Remove oat file location in the image.\n\nThe oat file is now always in the same directory, and has the\nsame name as the image file. Only difference is the extension.\n\nThis also removes the need for host-prefix.\n\nChange-Id: I16d1f7aeb1d58372d41921694664e9c321afc1ad\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"
    }
  ]
}
