)]}'
{
  "log": [
    {
      "commit": "7a85e70b2bf646d1d7a226fbb4e7fafb66871dd5",
      "tree": "790ee4c1cee812535c856a08355c50c2032c5cd4",
      "parents": [
        "6a98f89c4ad645b04d6c80d3d7e260c59bf6f193"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Dec 03 18:47:23 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Dec 04 17:17:19 2018 +0000"
      },
      "message": "Reduce core image to 6 modules.\n\nThis was\n    Revert^2 \"Reduce core image to core-{oj,libart,simple}.\"\nbut we\u0027re now keeping three additional modules, namely\nconscrypt, okhttp and bouncycastle. And we fix the boot\nclass path used by vogar with the companion change\n    https://android-review.googlesource.com/840810 .\n\nThis reverts commit 00fe35e4021e9a8679eca3ffaede48fd89b56258.\n\nChange-Id: I6137edd91c03c17be50de200267eb9adc971e8fb\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Pixel 3 XL boots.\nTest: m test-art-target-gtest\nTest: testrunner.py --target --optimizing\nTest: art/tools/run-libcore-tests.sh --mode\u003ddevice --variant\u003dX64\nBug: 119868597\n"
    },
    {
      "commit": "00fe35e4021e9a8679eca3ffaede48fd89b56258",
      "tree": "7db00623bf74e8f37a87fcc653c37191b6d37024",
      "parents": [
        "ec91d48cade73c54f7a03c5d53d863bc2490976e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Dec 03 18:43:54 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Dec 03 18:43:54 2018 +0000"
      },
      "message": "Revert \"Reduce core image to core-{oj,libart,simple}.\"\n\nThis reverts commit ec91d48cade73c54f7a03c5d53d863bc2490976e.\n\nReason for revert: Breaks libcore tests.\n\nChange-Id: I0ea55f74635332177eadd9a69fb831e7f5dc16c7\n"
    },
    {
      "commit": "ec91d48cade73c54f7a03c5d53d863bc2490976e",
      "tree": "4980bf99ae69cab7c733aa442aa4bf42f2d42f17",
      "parents": [
        "0776942115cdf9610ad06cc673feebceb8de3c30"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 29 12:17:11 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 30 13:18:44 2018 +0000"
      },
      "message": "Reduce core image to core-{oj,libart,simple}.\n\nAnd pass the -Xbootclasspath: and -Xbootclasspath-locations:\noptions to tests. This eliminates a discrepancy between the\nimage and boot class path (BCP). Next CL shall check the\nBCP stored in the primary boot image oat file against the\nBCP from the runtime.\n\nUse actual *-hostdex.jar/*-testdex.jar files for compiling\nthe core.art. Since conscrypt, okhttp and bouncycastle have\nthe dex files actually stripped from their *-testdex.jar,\nthey are unsuitable for compilation, adding another reason\nto not include them in the core image. For consistency, use\nthe same jars for core image on host.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Pixel 3 XL boots.\nTest: m test-art-target-gtest\nTest: testrunner.py --target --optimizing\nBug: 119868597\nChange-Id: Iccc152ea0d5b3bd9878aa214cc649762f8f4ea9c\n"
    },
    {
      "commit": "813b91443d37087f75eef7164043c9fff43b7077",
      "tree": "1dbd6fafbd1df722cf04b14d209e98d5f10c8c1f",
      "parents": [
        "d011d81e8c4c959f6d607bb80dfedf3b64a7f131"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 29 11:20:07 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 29 16:58:32 2018 +0000"
      },
      "message": "Add --runtime-arg to command line tools.\n\nThis shall be used in the next CL to pass -Xbootclasspath:\nand -Xbootclasspath-location: that match the --image\u003d arg.\n\nTest: m test-art-host-gtest\nTest: Manually run oatdump with --runtime-arg -Xms256m\nBug: 119868597\nChange-Id: Ia355a646bf34a3314c56b9a2fb20f1ef96570fbd\n"
    },
    {
      "commit": "2a487eb89b67d7ff030368e4e4a6ed0a3ac39003",
      "tree": "bedffc5f4ee16d07c957d06cdab5148c69bd6a56",
      "parents": [
        "875b4f26517ce215342746f07e41cda4c1991237"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 19 11:41:22 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 20 13:04:36 2018 -0800"
      },
      "message": "ART: Fix performance-inefficient-vector-operation\n\nBug: 32619234\nTest: m test-art-host\nChange-Id: I286e27424ac39c0fed308811dc3004e734c0560c\n"
    },
    {
      "commit": "38a938e2e83f5baa3238ce3b28ba4c61a268dd3d",
      "tree": "8b29c26d90b998fc717181298349ac2348f29c5f",
      "parents": [
        "a5de05da46e8a93436e68e7e0d242dce46269527"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Sep 21 10:55:51 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Nov 08 19:38:07 2018 +0000"
      },
      "message": "Minimal Android Runtime APEX module.\n\nIntroduce build rules to generate com.android.runtime, a minimal\nAndroid Runtime APEX module containing just ART and its dependencies.\n\nWhen module com.android.runtime is built (`make com.android.runtime`),\nmake produces a `com.android.runtime.apex` package in the `apex`\ndirectory of the system partition\n(`$ANDROID_PRODUCT_OUT/system/apex/com.android.runtime.apex`).\n\nThis module is not built by default when generating a system image.\n\nTest: make com.android.runtime\nTest: art/build/apex/runtests.sh\nBug: 113373927\nChange-Id: I2019bd1934558feba6eccef13b887b2faa96caec\n"
    },
    {
      "commit": "407bdb1d04896c533d205aa255cf8f53ce6660ef",
      "tree": "4453fa8dc685034445c2c009a08690b5835f1a86",
      "parents": [
        "34e3e3c1ac8c0c92c3d898b73b54d670c4dd5a8d",
        "a2da9b99fa1ea3d25d52da71308a623b2aae216c"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Oct 11 11:40:57 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 11 11:40:57 2018 +0000"
      },
      "message": "Merge \"ART: Completely remove the --compile-pic option.\""
    },
    {
      "commit": "a2da9b99fa1ea3d25d52da71308a623b2aae216c",
      "tree": "5533be23eee7c24b68b1b72272cbae3f35a708cb",
      "parents": [
        "dc3b4670b170b39a8bd6498d4de69c1513af1db2"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Oct 10 14:21:55 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Oct 10 15:25:26 2018 +0100"
      },
      "message": "ART: Completely remove the --compile-pic option.\n\nAnd the PIC-related fields from image header.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Pixel 2 XL boots.\nTest: testrunner.py --target --optimizing\nBug: 77856493\nChange-Id: I3787369378f12d8cd9003bebeae62830a67def33\n"
    },
    {
      "commit": "9b031f7e4834b263ae531409a9f6c82cfdc89477",
      "tree": "4b5fdfc3ecc12b5b7e32959bec0c26595b87d2ab",
      "parents": [
        "c71f38bdf7dca39a070ba25d436edcd758551f42"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Oct 04 11:03:34 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Oct 09 14:38:45 2018 -0700"
      },
      "message": "ART: Refactor for bugprone-argument-comment\n\nHandles smaller subdirectories.\n\nBug: 116054210\nTest: WITH_TIDY\u003d1 mmma art\nChange-Id: I81c8f3396b9922684b68e9f3d8fccefe364f1279\n"
    },
    {
      "commit": "e0669326c0282b5b645aba75160425eef9d57617",
      "tree": "3bb05553ee5f14081bb4ea8193fd29fa938e722f",
      "parents": [
        "56b0773d515527df60a38084cef3b813fefb5b9d"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Sep 03 15:44:54 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Sep 04 12:57:49 2018 +0100"
      },
      "message": "Remove PIC option from oat files.\n\ndex2oat has been producing only PIC code for some time,\nso there\u0027s no need to record it in the oat file anymore.\nAlso get rid of the now unnecessary relocation logic\nthat was using the flag.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Pixel 2 XL boots.\nTest: m test-art-target-gtest\nTest: testrunner.py --target --optimizing\nBug: 77856493\nChange-Id: I070071ca5a808371f67883f4ae93d633a76231d0\n"
    },
    {
      "commit": "bbc6e7edb5fca4a61ac53dd9bce79cb4f0bb3403",
      "tree": "0fbce767bc383358cf4cd65aafc74140e1850982",
      "parents": [
        "19379b58bd433da91230e4fe6cd96e7416d16adc"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Aug 24 16:58:47 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Aug 28 11:06:07 2018 +0100"
      },
      "message": "Use \u0027final\u0027 and \u0027override\u0027 specifiers directly in ART.\n\nRemove all uses of macros \u0027FINAL\u0027 and \u0027OVERRIDE\u0027 and replace them with\n\u0027final\u0027 and \u0027override\u0027 specifiers. Remove all definitions of these\nmacros as well, which were located in these files:\n- libartbase/base/macros.h\n- test/913-heaps/heaps.cc\n- test/ti-agent/ti_macros.h\n\nART is now using C++14; the \u0027final\u0027 and \u0027override\u0027 specifiers have\nbeen introduced in C++11.\n\nTest: mmma art\nChange-Id: I256c7758155a71a2940ef2574925a44076feeebf\n"
    },
    {
      "commit": "1f010164bea4714e9f653c52e8948c5d5305040b",
      "tree": "e69b2c3f4d2645d4097655f8914325945fe5dbbd",
      "parents": [
        "a7d37cf735f05cfc3a3585a5c44eb65d8a279874"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Tue May 15 08:59:32 2018 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Wed May 16 13:01:34 2018 -0700"
      },
      "message": "Move ArtDexFileLoader to libdexfile\n\nAdds a dependency from libdexfile on libartbase, but allows the use of\nMemMap loaders, etc.\n\nBug: 78652467\nTest: make -j 40 checkbuild\nChange-Id: I15cf33893ca9192050762f8350a3cc1e39f88dc5\n"
    },
    {
      "commit": "103bd381adeb62822e5a52f44f1d26bb56843271",
      "tree": "9a097db7c59951ade030213b5e8567a6590cba0a",
      "parents": [
        "99ebc264162a8cfc6c0298ce7a1739d4b050f1e3"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Apr 18 18:27:07 2018 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Apr 18 18:30:48 2018 -0700"
      },
      "message": "Remove dexoptanalyzer fast file check\n\nWe mostly use FDs nowadays and this may cause selinux denials for\nsymlinks.\n\nBug: 77853712\nTest: test-art-host-gtest-dexoptanalyzer_test\n\nChange-Id: I0e33ac3f85ae8f9194219d3da764a77ad7bf1d6f\n"
    },
    {
      "commit": "c431b9dc4b23cc950eb313695258df5d89f53b22",
      "tree": "422273559c3ae52caff0c6b1cf1a62a8312f0e26",
      "parents": [
        "f46f46cf5bd32788d5252b7107628a66594a5e98"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Fri Mar 02 12:01:51 2018 -0800"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Mon Mar 05 13:58:20 2018 -0800"
      },
      "message": "Move most of runtime/base to libartbase/base\n\nEnforce the layering that code in runtime/base should not depend on\nruntime by separating it into libartbase.  Some of the code in\nruntime/base depends on the Runtime class, so it cannot be moved yet.\nAlso, some of the tests depend on CommonRuntimeTest, which itself needs\nto be factored (in a subsequent CL).\n\nBug: 22322814\nTest: make -j 50 checkbuild\n      make -j 50 test-art-host\n\nChange-Id: I8b096c1e2542f829eb456b4b057c71421b77d7e2\n"
    },
    {
      "commit": "2b1a21ed3581f77f34d582507177ebce33565534",
      "tree": "cd27b9f81588d3942d0fd7d61fceb5f3128484a1",
      "parents": [
        "f450a37b16062980d93a8744408c9b710895c22d",
        "29742602424fe8a30884a00947120bd3407f4da6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jan 24 15:47:20 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 24 15:47:20 2018 +0000"
      },
      "message": "Merge \"Load /data oat/odex files non-executable when only_use_system_oat_files is set.\""
    },
    {
      "commit": "9e734c7ab4599d7747a05db0dc73c7b668cb6683",
      "tree": "dce1d1993734a947fb2e6f626eb1b425cb72143b",
      "parents": [
        "b496af808eaf3af5ebac50aef4fbec33323b5016"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Jan 04 17:56:19 2018 -0800"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Fri Jan 05 11:07:19 2018 -0800"
      },
      "message": "Create dex subdirectory\n\nMove all the DexFile related source to a common subdirectory dex/ of\nruntime.\n\nBug: 71361973\nTest: make -j 50 test-art-host\nChange-Id: I59e984ed660b93e0776556308be3d653722f5223\n"
    },
    {
      "commit": "29742602424fe8a30884a00947120bd3407f4da6",
      "tree": "11e72080858e75055eb350dd183b51e6daddffdb",
      "parents": [
        "7eb4333d0b60a13f9d3126eadef9eb16c399662a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Dec 14 10:09:03 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 18 15:21:05 2017 +0000"
      },
      "message": "Load /data oat/odex files non-executable when only_use_system_oat_files is set.\n\nMake it still ok to use the vdex and the class status in the oat file.\nThis means:\n- If dex code is uncompressed in APK we\u0027ll use that\n- If dex code is compressed in APK, we\u0027ll use the dex code in the vdex.\n\nThis is a temporary solution in order to almost mimic performance-wise what\nfull stack integrity wants to achieve (priv-apps running from verified,\nuncompressed dex code in APK).\n\nThis is to assess the impact of full stack integrity on privileged apps.\n\nThis CL doesn\u0027t ensure any integrity, and doesn\u0027t check whether the vdex has\nbeen \"tainted\".\n\nbug: 30972906\n\nChange-Id: If0a6ab26dd6211290db53b7f02d88d45aff68c0c\n"
    },
    {
      "commit": "170331f0e44a0e07fcfe0b5932517e0500f5cd1f",
      "tree": "4bb837aa3b6e19c898df23894beb61957885e985",
      "parents": [
        "39b378ca3b4b6dc6da1651b84ee4289cd9bff0f8"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 07 18:41:03 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 07 18:41:03 2017 -0800"
      },
      "message": "ART: Remove base/logging from heap-inl.h\n\nHide the single uncommon VLOG and remove the include. Fix up\ntransitive includes.\n\nTest: m\nChange-Id: I917df597cb62c57040c1fb0e0079df4d95e5a658\n"
    },
    {
      "commit": "39b378ca3b4b6dc6da1651b84ee4289cd9bff0f8",
      "tree": "1da7bdc834fbc2f11243fa2b936f0d7a67d982c1",
      "parents": [
        "dcc528d2c7d5ac2cc075d4c965fdf702421d0f43"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 07 15:44:13 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 07 16:26:11 2017 -0800"
      },
      "message": "ART: Factor out gAborting\n\nCut dependencies on base/logging.h by moving gAborting to its\nown header. Leave the static storage in logging.cc.\n\nTest: m\nChange-Id: Ib2ca880e15f9cb50cb9aab803784826bb46efb5e\n"
    },
    {
      "commit": "c12bf4c0b6e760f5f1e4255705ac5c3c90fa0c13",
      "tree": "b66cb0e189e267a3a5ebb35440e8cd3913d28710",
      "parents": [
        "af52bcb7532e25331d6528c05105423312e161fd"
      ],
      "author": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Tue Oct 24 16:59:42 2017 -0700"
      },
      "committer": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Thu Nov 02 07:33:16 2017 -0700"
      },
      "message": "Add zip-fd support in dexoptanalyzer\n\nTest: installd flow(manual), oat_file_assistant_test\n(cherry-picked from commit 89455b30a30de68d389cef68748a01e13ea1356)\nBug: 67111829\nChange-Id: Icf24c671ee060c75ba53932a7ccbe422e0ceb2e0\n"
    },
    {
      "commit": "33bff25bcd7a02d35c54f63740eadb1a4833fc92",
      "tree": "553db4f60878acf2a0fa7036a739d406df9a29b7",
      "parents": [
        "321b3ca9a36d769283c64d4bdee0798db80af524"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 01 14:35:42 2017 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 02 10:11:02 2017 +0000"
      },
      "message": "ART: Make InstructionSet an enum class and add kLast.\n\nAdding InstructionSet::kLast shall make it easier to encode\nthe InstructionSet in fewer bits using BitField\u003c\u003e. However,\nintroducing `kLast` into the `art` namespace is not a good\nidea, so we change the InstructionSet to an enum class.\nThis also uncovered a case of InstructionSet::kNone being\nerroneously used instead of vixl32::Condition::None(), so\nit\u0027s good to remove `kNone` from the `art` namespace.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nChange-Id: I6fa6168dfba4ed6da86d021a69c80224f09997a6\n"
    },
    {
      "commit": "ca4e1014634aefb9c2dbb431d6b312e4ad912ca2",
      "tree": "14536ce9ee60c1c55c55d20d99845128dbfbc548",
      "parents": [
        "7e26cc3b2c1c23d4e03961dfec70bf24d0b6e06c",
        "891a50e9dc0f02ee34bd7348f80b621249153af5"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Wed Nov 01 20:30:03 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 01 20:30:03 2017 +0000"
      },
      "message": "Merge \"Separate file utilities from utils.cc\""
    },
    {
      "commit": "891a50e9dc0f02ee34bd7348f80b621249153af5",
      "tree": "6af57b3aa8961ed8e6cd39fdf5a0ac335905b4c6",
      "parents": [
        "13e6f2935d67742e9eec14b412d33bf71b20697b"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Fri Oct 27 17:01:07 2017 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Wed Nov 01 11:39:19 2017 -0700"
      },
      "message": "Separate file utilities from utils.cc\n\nReduce the dependencies from utils.cc to arch/ subdirectories, etc.\n\nBug: 22322814\nTest: make test-art-host\nChange-Id: I4decd15ff4ec460735bfb58cebb1c6a1bf32b68f\n"
    },
    {
      "commit": "20c46443ee06060838643abd7a2dcad339f71358",
      "tree": "5b77f909c9bd2f9b4adbc4a3a47f39696f3583f0",
      "parents": [
        "4536a234e56aa7038198ab8c124fe117ef882192"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Sep 12 00:54:26 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 01 08:47:23 2017 -0700"
      },
      "message": "[art] Add classpath check to DexFile.getDexOptNeeded\n\nExtend DexFile.getDexOptNeeded to factor into the decision the\nexpected class loader context. If the context does not match oat\nfile assistant and dexoptanalyzer will advise kDex2OatFromScratch.\n\n(cherry picked from commit baafa55aede7cc43a27d76bd88ccc02152123ecf)\n\nBug: 62269291\nTest: m test-art-host\nMerged-In: I3a8e9321fe602712fac3595b790168b271918f10\nChange-Id: I3a8e9321fe602712fac3595b790168b271918f10\n"
    },
    {
      "commit": "b22dea05178034a40b84953a661f3ea613395d16",
      "tree": "261a2a2db613e8b51898df338ae8401ec1fd5740",
      "parents": [
        "97785f595a8a3b5c766021a07c47a2ca81e4a810"
      ],
      "author": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Wed Oct 04 18:36:41 2017 -0700"
      },
      "committer": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Wed Oct 11 16:43:20 2017 -0700"
      },
      "message": "Provide an option to pass odex and vdex fds in dexoptanalyzer\n\nTest: test-art-host-gtest-oat_file_assistant\nBug: 67111829\nChange-Id: I10b23e665987d4a4a7d0eab67f11bda3d5809554\n"
    },
    {
      "commit": "2ca278036432eefbdbf39502dfcfb7e38a54332c",
      "tree": "8aa7ab585414f2b54186ee4285f2435be90de335",
      "parents": [
        "9389ae7309180f4dccc3c34e26798ed428f0d054"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Sep 27 14:57:43 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Sep 27 15:11:33 2017 -0700"
      },
      "message": "Run bpfmt\n\ncd art; find . -name \u0027*.bp\u0027 | xargs bpfmt -w\n\nTest: mmma art\nChange-Id: Iec406b734180313b98a58b99a776738772e63cc1\n"
    },
    {
      "commit": "44e5efa4ae79cf76c65f37fc41c1fa0ed431ec4a",
      "tree": "7f144c75386ca4584455bfa87c356824f4aadfb9",
      "parents": [
        "c5b215f7004c46a274a54e232f0cd146c7494f9a"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Sep 12 00:54:26 2017 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Sep 14 16:29:15 2017 -0700"
      },
      "message": "Add check that classpath is up to date to getDexOptNeeded\n\nExtend getDexOptNeeded to factor into the decision the expected class\nloader context. If the context does not match, oat file assistant and\ndexoptanalyzer will advise kDex2OatFromScratch.\n\nNote that this does not currently extend the java side\nDexFile.getDexOptNeeded. The calls coming from the java side will continue\nto ignore the classpath checks by passing null as the class loader\ncontext.\n\nBug: 62269291\nTest: m test-art-host\nChange-Id: Ia01728c06810e418bbcbfe2a774d1f904d2525ba\n"
    },
    {
      "commit": "3157fc26d96951ff4acfb4feb4597e74a92da2a7",
      "tree": "93c3a03a8eae4fc9f430531f25d8be3d4d8b5af7",
      "parents": [
        "27bd4dd81962b0e59df9318ae8efc83df99ebe0a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 23 09:43:46 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 23 16:06:00 2017 -0700"
      },
      "message": "ART: Move cmdline parser to header library\n\nExpress the cmdline parser as a header library.\n\nTODO: Express the libart dependency correctly.\n\nTest: m\nChange-Id: I9e90029d047ab0d75a455a2361d5213a8fa6f361\n"
    },
    {
      "commit": "e4e812a917345a3cb9ac955c8a84f64dfc26b5d9",
      "tree": "bf830d83f8d7ade1d875903ed5d8529d706d3b11",
      "parents": [
        "2f0ac4fb4486e7d9e5c1545d45a2b9b818a80dc3"
      ],
      "author": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Thu May 25 20:09:58 2017 -0700"
      },
      "committer": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Wed Jul 19 00:15:56 2017 +0000"
      },
      "message": "Allow DexFile#getDexOptNeeded to check case when downgrading is required\n\nThe change in the API will allow comparison of compiler filter in case when\ndowngrade is required. Previously, it used to only consider cases of compiler\nfilter upgrades.\n\nTest: make \u0026 boot\nBug: 36598475\n(cherry-picked from commit cf3d122a9234414b7cd2aab340d1450f3e9da213)\n\nChange-Id: Ice292ef4f16c373297821c40e39987f3de914c67\n"
    },
    {
      "commit": "51d80ccca5eb2ea0eef0de836dcc03e0545f63db",
      "tree": "14ff2bf5b9a9ca86d8a8d6f736cf27d8a1d47554",
      "parents": [
        "19df565ffcb30cb7b5217f074771078f0bb6cc1c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 21 21:05:13 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 22 16:04:07 2017 -0700"
      },
      "message": "ART: Refactor abort code\n\nRemove Runtime::Aborter and let Runtime::Abort set the abort message\non target.\n\nThis works around a missing tail-call optimization that leads to a\nsuperfluous frame on the call-stack when aborting.\n\nPartially reverts commit 3fec9ac0d5af1358d216eb2fdc2000ec0205f3f0.\n\nBug: 62810360\nTest: m test-art-host\nTest: Manual inspection of abort dump\nChange-Id: Ie4efc8bbdc8b665b23081b37a11921fe26b182b4\n"
    },
    {
      "commit": "5115efb3369d522ad34b919114de2797bcd81642",
      "tree": "2cba2a6038f13e52f8d416a91ef0021d83c03017",
      "parents": [
        "7dd1e683ea61341323ba8b138684f4c4fbddb3ab"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 24 16:55:54 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 24 16:55:54 2017 -0700"
      },
      "message": "ART: Fix soong defaults order\n\nDefaults are prepended in order of their appearance. Move debug\ndefaults first.\n\nBug: 31098551\nTest: m test-art-host\nChange-Id: I9a64db34d0e398d336dac080c7234cad77b719ee\n"
    },
    {
      "commit": "04471122e705aba2b3b30651457097a8f3ac97b6",
      "tree": "a0a72bfbaeff39ad8efe8ce9dbe8a3ec74f808f7",
      "parents": [
        "34ed966ae7e232817dd70afb924518b7cb8fb6a9",
        "fd80b17832b793801f10fa90e1d98324a3405e21"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 27 19:54:29 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 27 19:54:31 2017 +0000"
      },
      "message": "Merge changes If6bd630c,Iade01cd5,I2ca823e1,Ib2899bce,I123f30f9\n\n* changes:\n  ART: Blacklist dex2oat test under sanitization\n  ART: Fix leaks in oat symbolizer\n  ART: Free resources in dexlayout\n  ART: Destroy temporary holder in dex_ir\n  ART: Shut down runtime in dexoptanalyzer\n"
    },
    {
      "commit": "39f44b7452a7fa01c20f0e3554ff035726d9ebee",
      "tree": "50e6a6e211d037c96d703cded8e7860861ce85a8",
      "parents": [
        "b8cc1754535f27fff1f1cb8324a543797eaacbcd"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Apr 26 22:00:04 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Apr 26 22:00:04 2017 -0700"
      },
      "message": "ART: Shut down runtime in dexoptanalyzer\n\nEnsure that a created runtime is shut down properly. This avoids\nleaks.\n\nBug: 37728223\nTest: m SANITIZE_HOST\u003dtrue test-art-host\nChange-Id: I123f30f916a5432e759e9ade72d50ebf0303cc0e\n"
    },
    {
      "commit": "49cda06d5bf003f588ba7839bbf89d606237dfa7",
      "tree": "bc97607c6ae33a69ebdea2346c781f7ac238c9e3",
      "parents": [
        "aa03f6fa38da0166790f2b22b679e6568ad56f7d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 21 13:08:25 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 21 13:25:15 2017 +0100"
      },
      "message": "Rename and obsolete compiler filter names.\n\nART side of the change.\n\nbug:34715556\ntest: test-art-host, jdwp, libcore\nChange-Id: I3a73ae4af2d602431150c8ecfceaddb9ba519cee\n"
    },
    {
      "commit": "36eb313c805713c1367e5b9d73897ade1c24174b",
      "tree": "a2485977f12299a493217ead13a0cb5510c4251d",
      "parents": [
        "d713d29507fb98bea3eee9277f05422a9b641ca1"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Jan 13 16:32:38 2017 -0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Jan 24 11:29:34 2017 -0800"
      },
      "message": "Add dexoptanalyzer tool\n\ndexoptanalyzer is a command line tool which analyzes whether or not a\ngiven dex file needs to be dexopted. It is a wrapper around\nOatFileAssistant::GetDexOptNeeded and its results have a mapping to\nOatFileAssistant::DexOptNeeded.\n\nThis is needed for the management of secondary dex file. We need a way\nto retrieve the DexOptNeeded status from installd outside system server.\nWe can\u0027t simply use the system server path (as we do for the main apks)\nbecause system server can\u0027t access content writable by the apps.\n\nBug: 32871170\nTest: m test-art-(host|target)\nChange-Id: Ife1534560ca2658079d4a38a30bc8d94f35fe9c8\n"
    }
  ]
}
