)]}'
{
  "log": [
    {
      "commit": "09bfdf1700feeedf85c4a53502d3c14b4d3f41fd",
      "tree": "bf6c232234d4c41697a78868e51b7dc07eabb011",
      "parents": [
        "1b621225a8869f930d530e4855157a444971aca1"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 19 12:17:20 2021 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 22 14:09:53 2021 +0000"
      },
      "message": "Rewrite UTF-8 encoding.\n\nCreate a templated implementation to serve all the UTF-8\nrelated encodings. Use it for `CharsetUtils.toUtf8Bytes()`\nand the JNI `GetStringUTFChars()`. Do not use it yet for\nthe internal `ConvertUtf16ToModifiedUtf8()` which shall be\nswitched to actual Modified UTF-8 in a separate change.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: atest CtsLibcoreTestCases:libcore.java.lang.StringTest\nBug: 192935764\nChange-Id: Id3ec3a0bc2638becdf4181d9c2b6794c91a75314\n"
    },
    {
      "commit": "66934efcabd2b75fd84b3cc0a8665f4ecc136727",
      "tree": "b55d836b7df49dcc73126cbcded7a0e64451ba39",
      "parents": [
        "cf74ae7eae39affc8886b4bce5294aceebb908c3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 07 14:56:23 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jul 15 14:26:13 2021 +0000"
      },
      "message": "Clean up ClassLinker::VerifyClass.\n\nAnd drop kAccWasVerificationAttempted. It\u0027s not needed and duplicates\nlogic already present in the compiler and the class status.\n\nThis CL also enables nterp running methods with soft failures.\n\nTest: test.py\nBug: 28313047\nChange-Id: I853a6f00b9e0c38091d86fcd77167c92ff5b383c\n"
    },
    {
      "commit": "e4f983c808b0b7d2d9c39f34f67971bba1354b08",
      "tree": "80dd518ac4e7ea00670f2ebdb70efbe8b1f577cd",
      "parents": [
        "5f2f289b64f163e491b9b53364ce04874f82b4e3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 12 15:53:27 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jul 13 12:14:13 2021 +0000"
      },
      "message": "Remove mterp.\n\nTest: test.py\nChange-Id: Id800bcf86965ab19cf1e79ecbfa8996a6a6c335e\n"
    },
    {
      "commit": "1b9d442dc906d0158300c5178683f417fa59b026",
      "tree": "dd52852cd7a16af7f5480c5f6c9213079a319dc8",
      "parents": [
        "52eebc756c96fbf71ad77b6d30bdff8a67723569"
      ],
      "author": {
        "name": "Chuck Liao",
        "email": "chuckliao@google.com",
        "time": "Mon Jul 12 01:25:23 2021 +0000"
      },
      "committer": {
        "name": "Chuck Liao",
        "email": "chuckliao@google.com",
        "time": "Mon Jul 12 02:58:46 2021 +0000"
      },
      "message": "Revert \"Do not create 4-byte sequences in `ConvertUtf16ToModifiedUtf8()`\"\n\nThis reverts commit e0a4f373dc4a738a2f26965a67d31239cbbd4f6a.\n\nReason for revert: DroidMonitor-triggered revert due to breakage https://android-build.googleplex.com/builds/tests/view?invocationId\u003dI44000009917256156\u0026testResultId\u003dTR23027520914949881, bug b/193363191\n\nBug: 193363191\nChange-Id: I2e7fe6de3f63864b58729d2c76e9ab5c95aa7983\n"
    },
    {
      "commit": "e0a4f373dc4a738a2f26965a67d31239cbbd4f6a",
      "tree": "b097c82983074f167ef1a14ab529750fcc842b9f",
      "parents": [
        "d920b7b01f92676eec2aa504ef6cf13c3f3283fc"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 08 11:22:53 2021 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 09 23:17:15 2021 +0000"
      },
      "message": "Do not create 4-byte sequences in `ConvertUtf16ToModifiedUtf8()`\n\nThis encoding was different from the encoding in dex files\nand this caused wrong `Class::IsInSamePackage()` result\nfor proxy classes if the packages name contained at least\none character outside the BMP plane.\n\nThis essentially reverts commit\n    e16dad1d6388b0305f13e2171308a77f42e7c682\nbut keeps all tests, only updating expectations.\n\nAlso rename `CountUtf8Bytes()` to `CountModifiedUtf8Bytes()`\nto make the format explicit in the function name.\n\nTest: New test 181-proxy-non-bmp\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 192935764\nBug: 193141629\nChange-Id: I8e6e8b08174c7a6d3ff84b0e1e929056b3947785\n"
    },
    {
      "commit": "6a2e6893290eac83f59dac4ec5bc10abf985ae10",
      "tree": "ee7f59774da19363bb867df9c0e9dc4f35f01fa2",
      "parents": [
        "592bceac0c030794175ae41d9c7e2ca092739d2e"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Sun Jul 04 14:21:07 2021 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Jul 08 16:56:35 2021 +0000"
      },
      "message": "Add support for standalone ART gtests to MTS.\n\nThis change:\n- adds standalone ART gtests to test suite `mts-art`;\n- adds `MainlineTestModuleController` support to standalone ART\n  gtests. This in order to have these tests run in a Mainline context\n  only when the ART Module (either `com.google.android.art` or\n  `com.android.art`) is installed on the test device.\n\nTest: m mts \u0026\u0026 mts-tradefed run commandAndExit mts-art\nTest: m mts \u0026\u0026 mts-tradefed run commandAndExit mts-art-shard-00\nBug: 167385698\nChange-Id: I97d9c00b7c10debff8c63e4ae75f90da02be271c\n"
    },
    {
      "commit": "f040914a122be86e280efe5e31af1168f2b7c72e",
      "tree": "8ea3fa76be8f215d36977477015ed7f9f3a2f65c",
      "parents": [
        "b4bd92f27fb143135870d07b459ea52637afcfa5"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Mar 22 15:45:03 2021 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jul 06 10:52:35 2021 +0000"
      },
      "message": "Uncouple ART gtests from the ART APEX.\n\nIntroduce standalone versions of ART gtests on target, not bundled\nwith the ART APEX.\n\nSo far ART gtests have always been built as debug artifacts (and\nlinked against ART debug libraries). Make some adjustments in some of\nthese tests so that they can also work as non-debug artifacts and be\nused with the Release ART APEX (which contains only non-debug\nartifacts).\n\nNewly added tests:\n* `art_standalone_cmdline_tests`\n* `art_standalone_compiler_tests`\n* `art_standalone_dex2oat_tests`\n* `art_standalone_dexdump_tests`\n* `art_standalone_dexlist_tests`\n* `art_standalone_dexoptanalyzer_tests`\n  * Note: Requires root access to the device.\n* `art_standalone_libartbase_tests`\n* `art_standalone_libartpalette_tests`\n* `art_standalone_libartservice_tests`\n* `art_standalone_libarttools_tests`\n* `art_standalone_libdexfile_support_tests`\n* `art_standalone_libdexfile_tests`\n* `art_standalone_libprofile_tests`\n* `art_standalone_oatdump_tests`\n* `art_standalone_odrefresh_tests`\n* `art_standalone_profman_tests`\n  * Note: Requires root access to the device.\n  * Note: Some tests (2 out of 37) are failing in multi-ABI\n    contexts and have been temporarily disabled.\n* `art_standalone_runtime_compiler_tests`\n* `art_standalone_runtime_tests`\n  * Note: Some tests (16 out of 686) are failing and have been\n    temporarily disabled.\n  * Note: Some tests (4 out of 686) are failing in multi-ABI\n    contexts and have been temporarily disabled.\n* `art_standalone_sigchain_tests`\n\nTests not added:\n* `art_standalone_dexanalyze_tests`\n  * Reason: ART binary `dexanalyze` is not part of the Release ART APEX.\n* `art_standalone_dexdiag_tests`\n  * Reason: ART binary `dexdiag` is not part of the Release ART APEX.\n* `art_standalone_dexlayout_tests`\n  * Reason: ART binary `dexlayout` is not part of the Release ART APEX.\n* `art_standalone_imgdiag_tests`\n  * Reason: ART binary `imgdiag` is not part of the Release ART APEX.\n\nTest: atest -a art_standalone_cmdline_tests\nTest: atest -a art_standalone_compiler_tests\nTest: atest -a art_standalone_dex2oat_tests\nTest: atest -a art_standalone_dexdump_tests\nTest: atest -a art_standalone_dexlist_tests\nTest: atest -a art_standalone_dexoptanalyzer_tests\nTest: atest -a art_standalone_libartbase_tests\nTest: atest -a art_standalone_libartpalette_tests\nTest: atest -a art_standalone_libartservice_tests\nTest: atest -a art_standalone_libarttools_tests\nTest: atest -a art_standalone_libdexfile_support_tests\nTest: atest -a art_standalone_libdexfile_tests\nTest: atest -a art_standalone_libprofile_tests\nTest: atest -a art_standalone_oatdump_tests\nTest: atest -a art_standalone_odrefresh_tests\nTest: atest -a art_standalone_profman_tests\nTest: atest -a art_standalone_runtime_compiler_tests\nTest: atest -a art_standalone_runtime_tests\nTest: atest -a art_standalone_sigchain_tests\nTest: atest -a art_standalone_\\*_tests\nTest: m art_chroot \u0026\u0026 atest ArtGtestsTargetChroot\nBug: 162834439\nBug: 162734417\nChange-Id: I8beda9159d48c4ca495698357dc3bd95e3ff84d5\n"
    },
    {
      "commit": "b4bd92f27fb143135870d07b459ea52637afcfa5",
      "tree": "521f811ea786e178f685316b035fe6cb0ced0605",
      "parents": [
        "53a6334ac751aceb65d4994b81f4af815f749295"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 05 12:18:26 2021 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jul 06 08:21:13 2021 +0000"
      },
      "message": "Faster hashing in `ClassLinker::LinkVirtualMethods()`.\n\nMeasurement shows that `ComputeModifiedUtf8Hash()` is faster\nwhen iterating over `std::string_view` than `const char*`.\nHowever, getting the length of the string with `strlen()`\nwould outweigh the benefits, so we shall only use the new\n`ComputeModifiedUtf8Hash(std::string_view)` overload when\nwe can avoid (or usually avoid) the `strlen()` call.\n\nIn `ClassLinker::LinkVirtualMethods()`, method names come\nfrom the dex file and we can avoid the `strlen()` call as\nlong as they are ASCII which is usually the case (at least\nfor boot class path methods; proguarded apps sometimes use\nnon-ASCII method names), so use `std::string_view` there.\nAlso simplify the code a bit, avoiding the UTF16 length\ncomparison. This has some trade-offs as we delay the length\ncomparison until we know the length in chars (and compare\nthat length instead) but we also replace `strcmp()` with a\nfaster `memcmp()`.\n\nThe changes to the Modified UTF-8 hashing API also prepare\nfor future work such as calculating array class descriptor\nhash without a string allocation for the full descriptor.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 181943478\nChange-Id: I6d45f738903000c55d401b776906dac83fca1a19\n"
    },
    {
      "commit": "45848daf541599548145c265ece14aad0e973639",
      "tree": "bc6300d2470103e2279f613afefd56f3e8448d1b",
      "parents": [
        "e9a4a6013010b6cc0fb392de24255deacc62c1af"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jun 29 09:47:19 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jun 29 11:51:45 2021 +0000"
      },
      "message": "Revert cdex version back to 001.\n\nWe bumped the version due to disabling deduping but:\n1) the reason for disabing deduping are minor (access checks in Java)\n2) public users (and dogfooders now) will have already regenerate a cdex\n   file with code item deduping removed, thanks to the vdex format having\n   changed in S.\n\nBug: 192327398\nTest: test.py\nChange-Id: I5ccb2dbc37daa682909db671f400f151152f70ac\n"
    },
    {
      "commit": "9060ebe88ee6917bea714d93b522197b4b184267",
      "tree": "fd0cf1f0ad22e93e51ef6edb17e41435955a0664",
      "parents": [
        "5b8eb16cb6476d4e04379fdcfad7ba2c731001ff"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Thu Jun 17 12:57:12 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jun 28 21:50:07 2021 +0000"
      },
      "message": "Don\u0027t let the oat file close BCP FD passed from outside\n\nBug: 186132447\nTest: odrefresh --use-compilation-os\u003d10 --force-compile\n      # complete successfully with other changes\nTest: TH\nChange-Id: I3393ccd8fdc8ece71dbed8d16ef3c62ba935ea75\n"
    },
    {
      "commit": "8bf1da992a15a79ae76bcf53e9a2909912fbe96a",
      "tree": "fa29ad215d6f0f28311b8bd7a1818b684dccaa39",
      "parents": [
        "789eb40f867de489f393fe2b7a4a5ee8c494f4c5"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Jun 25 23:08:08 2021 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Sun Jun 27 23:09:17 2021 +0000"
      },
      "message": "Do not create APEX stubs for libdexfiled.\n\nlibdexfiled isn\u0027t exported, and the stubs make abidump pick it up for\nprebuilts/abi-dumps/platform, which isn\u0027t appropriate.\n\nTest: art/build/apex/runtests.sh\nTest: art/build/build-art-module.sh\nTest: art/tools/golem/build-target.sh\nTest: art/tools/buildbot-build.sh\nTest: Some run test on host and device chroot\nBug: 172480615\nChange-Id: I1f2bb0e31b68f0c5dbb44dccf68ea34667774c2c\n"
    },
    {
      "commit": "1776947f896652b232ccec3fc00a04fd7baf1d96",
      "tree": "f6820a1b6702fe7b642427d2b3a7eb123511ede5",
      "parents": [
        "e020b7f4afc4d99cddfd52b3587280be9e3afd5d"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jun 23 10:40:29 2021 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jun 24 16:03:06 2021 +0000"
      },
      "message": "Binary search for method by name string and signature.\n\nStart with a binary search for the name string and when\nsuccessful, compare the signature. On mismatch, repeat the\nsearch with the found name index instead of the name string\nuntil we fail to find the name, have a signature match or\nend up with a method range with the same name index and\nfinish with a simple binary search for the signature.\n\nMake this search sufficiently generic so that the code can\nbe easily reused for fields in the future.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 181943478\nChange-Id: I19b4779c019e9991b6d02ace57e378c029ba1174\n"
    },
    {
      "commit": "ac97f3e110eb57824a2560888406e31cb157bd7b",
      "tree": "065ee990c03683a156c29732e41684a0b2da88fd",
      "parents": [
        "180e1e70534d3db22571c428bdbaff16a4ed5db3"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jun 17 20:59:10 2021 +0000"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Jun 21 23:40:42 2021 +0000"
      },
      "message": "Allow libunwindstack to use libdexfile.\n\nOn host, building libunwinstack does not build libdexfile. So by\ndefault, the host dex file tests will fail until libdexfile is built.\nAllow libunwindstack to mark libdexfile as a runtime library to avoid\nthis problem.\n\nBug: 191276623\n\nTest: Builds and libunwindstack unit tests pass on host.\nChange-Id: Ib005709e22d0ba13e63108c4d1701d88c0e97374\n"
    },
    {
      "commit": "028cc7e1e87d2ea1cf3f56360343cff8c3334f36",
      "tree": "2181926bacd746425605d6b5fec80e6549918ba0",
      "parents": [
        "17374091085affd929d03664bee5a827e76b1b21"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 16 15:29:19 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 18 08:32:56 2021 +0000"
      },
      "message": "Disable compact dex code item deduping.\n\nIt conflicts with thread interpreter cache, where the interpreter\nexpects that once an entry is in the cache, it doesn\u0027t need to\nperform access checks again.\n\nTest: 536-checker-needs-access-check\nBug: 191252775\nChange-Id: I65999abc8afe31e4f4bf2ca403432d6cd8be70ee\n"
    },
    {
      "commit": "e300c4e4eabe3388b730efe35561e54f1c306710",
      "tree": "1866d5772e2c3643f30aa32b7bf0c02cec2e4c18",
      "parents": [
        "f761f5887918375b842e4cc62ed9cbe7521c8444"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jun 08 16:00:05 2021 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jun 10 13:47:14 2021 +0000"
      },
      "message": "Faster Class::FindField().\n\nChange `Class::FindField()` to take dex cache and type index\narguments instead of strings and optimize it similarly to\n`Class::FindClassMethod()`, namely search by indexes when\npossible (except when searching interfaces where we only add\na TODO comment for now) and avoid `strlen()` calls for ASCII\nnames and type descriptors.\n\nUpdate `ClassLinker::FindResolvedFieldJLS()` to pass the new\narguments and replace all other `Class::FindField()` calls\nwith more direct calls as we know the classes where those\nfields are defined.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 181943478\nChange-Id: Iba798819043eb1b53b0dbc41ef8d7fd1c5d2164d\n"
    },
    {
      "commit": "4573be38b0fb938c1177b8aa474e980c64ab5587",
      "tree": "ac2a02e6e40c60c7b6bede1c863f376882deb594",
      "parents": [
        "b89e731029b61d66aa8c44f188bce48ec59a733e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jun 07 11:07:05 2021 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jun 08 14:34:40 2021 +0000"
      },
      "message": "Faster Class::FindClassMethod().\n\nAvoid using `strlen()` on ASCII strings from DexFile.\nThis was a missed opportunity in\n    https://android-review.googlesource.com/963405 .\n\nAlso optimize iteration over declared methods of a class.\nLoad the dex file before the loop and avoid the runtime\nmethod check in `ArtMethod::GetMethodNameView()` by using\nthe `DexFile` interface directly.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 181943478\nChange-Id: I1ce3659b7f1fbcfc11d52626f9feb9be666d1161\n"
    },
    {
      "commit": "34b00fbeb8d3924f04bccad016d6d0fe898b3938",
      "tree": "d3925113f0365a2d6b3c5f316147f10633176414",
      "parents": [
        "6859ffca5ffd15128459293046590488008221ff"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri May 14 18:15:56 2021 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed May 26 17:36:51 2021 +0000"
      },
      "message": "Remove libdexfile_support shared library.\n\nIt\u0027s a tiny library that doesn\u0027t justify the DSO overhead - only\nprovide it as a static library.\n\nAlso clean up a few remaining references to libdexfile_external.so.\n\nTest: Boot\nBug: 143978909\nChange-Id: I3d2be11e7b01dcfeafffab518833ca7425e95f4c\n"
    },
    {
      "commit": "1dc77abf87d303a8f4aa35148c57f7ab20832222",
      "tree": "61f4aae7377072ad2a1f24e62043b86a6f49954c",
      "parents": [
        "496b9b43c987a2d769d0c178ee1d88cd92da84d9"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon May 10 17:44:05 2021 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed May 19 14:31:13 2021 +0000"
      },
      "message": "Disable most ART source modules when ART prebuilts are enabled.\n\nAfter libdexfile_external was merged into libdexfile, libdexfile is an\nAPEX stub when prebuilts are enabled, and that cannot be used to build\nlibart and all the other internal modules that depend on it.\n\nThis CL:\n\n- Changes art_defaults to disable native modules when building from\n  prebuilts. Some other modules that depends on them, like the\n  art-script sh_binary, also get disabled.\n- Consolidates the makefile sections that are disabled when building\n  from prebuilts so that only a small bit is still enabled then.\n- Temporarily removes the prebuilt for libctstiagent and activates its\n  source even when prebuilts are used, to work around sdk_version\n  problem (b/187288515).\n- Removes explicit \"enabled: true\" in a couple of places that would\n  override the inherited flag that lets us disable them in builds from\n  prebuilts.\n- Makes some Soong defaults available to libcore.\n\nTest: m checkbuild\nTest: art/build/build-art-module.sh --skip-apex\n      packages/modules/ArtPrebuilt/update-art-module-prebuilts.py \\\n        --local-dist out/dist/ --skip-apex\n      m SOONG_CONFIG_art_module_source_build\u003dfalse droid\n      m SOONG_CONFIG_art_module_source_build\u003dfalse checkbuild\nChange-Id: Ief60b933cd6273fc8b85fe7637b99ba1b78505f6\n"
    },
    {
      "commit": "0da7dfc71506d1f6bfa93f0c5fdb33df49dea0e7",
      "tree": "c63b1581135b30c3bc605b4466f7c3a1f2d034a4",
      "parents": [
        "dac82393785d1d2fddae6bf6d8364b55b001925a"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed May 12 00:38:05 2021 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu May 13 09:16:20 2021 +0000"
      },
      "message": "Make some libdexfile tests inherit art_test_defaults.\n\nTo be able to do changes in art_test_defaults (and art_defaults) to\naffect all native code in the ART module.\n\nTest: art/tools/run-gtests.sh \\\n        apex/com.android.art/bin/art/x86_64/art_libdexfile_support_tests \\\n        apex/com.android.art/bin/art/x86_64/art_libdexfile_tests\nTest: m test-art-host-gtest\nBug: 172480615\nChange-Id: I8f3f456b6172c84776a21cb9f1c76a1df1aa99bb\n"
    },
    {
      "commit": "61c624239ced1203d1c77cbeb5a57f9ad2c5c73d",
      "tree": "63e392ba73e02ddb7fb8fc73ca87bf47d6452332",
      "parents": [
        "1dab575cd635706f03d510763cb4ea1b115a2cee"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Apr 27 16:22:48 2021 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Apr 28 10:44:11 2021 +0000"
      },
      "message": "Remove RETURN_VOID_NO_BARRIER byte-code.\n\nUnused and obsolete quickened byte-code.\n\nBug: 170086509\nTest: test.py -b --host --64\nChange-Id: I1e917c189da7bf64418412522676dc6b081d5c0b\n"
    },
    {
      "commit": "30d4d2f8dba0d7cd29cb0eeee53883d73542b7cc",
      "tree": "f670c2fed029ac132b1be91544bd470310f66efc",
      "parents": [
        "18584d13da8af452c79e3909617f969fc1f3f455"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Mar 24 16:11:49 2021 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Apr 21 18:57:13 2021 +0000"
      },
      "message": "Rewrite libdexfile C API to follow NDK guidelines better.\n\nBug: 123517037\nBug: 145347927\nTest: test-art-host-gtest-art_libdexfile_support_tests64\nTest: test-art-host-gtest-art_libdexfile_external_tests64\nChange-Id: I9673872585456937d2f54abb63e3dbd8aad4e9ad\n"
    },
    {
      "commit": "f4d05ff134347d723e27919ccc89ce9d412b2d58",
      "tree": "aa368066676880ef1f4fbbec722ad8d88cad8771",
      "parents": [
        "c005ada78df5edebac74739b2c344e1a2a3efcba"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Apr 14 09:39:04 2021 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Apr 16 08:21:03 2021 +0000"
      },
      "message": "Clean up profile tests.\n\nUse TestDexFileBuilder and remove FakeDex. Add a helper\nclass for shared code between ProfileCompilationInfoTest\nand ProfileAssistantTest.\n\nTest: m test-art-host-gtest\nTest: run-gtests.sh\nBug: 148067697\nChange-Id: I0bf5d3fb7a456dcd717bce694d7f832a654fcccb\n"
    },
    {
      "commit": "d3e9ff326a511ef48ea85afd2de9c292aa6ea20b",
      "tree": "da924af40549dca5fb679173036049e70ca395e9",
      "parents": [
        "4531afd0d813fdfa2bb115522bc5918477c03dc2"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Mar 16 00:44:25 2021 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon Apr 12 16:36:03 2021 +0000"
      },
      "message": "Merge libdexfile_external into libdexfile (reland 2).\n\nTo reduce the number of DSO\u0027s. libdexfile_external only adds a few\nsmall functions on top of libdexfile, and it\u0027s still only those\nfunctions that are available in the APEX stubs.\n\nAlso rename libdexfile_external_static to libdexfile_static, for\nconsistency.\n\nSince libdexfile now has stubs, we need to add test_for properties to\navoid linking against the stubs in tests.\n\nThis relands https://r.android.com/1666119 that got submitted out of\norder from https://r.android.com/1664026 - prerequisite changes now\nsubmitted with https://r.android.com/1671709.\n\nTest: Flash and boot with userdebug and eng to try both release and\n  debug modules.\nTest: art/tools/buildbot-build.sh {--target,--host}\nTest: art/build/apex/runtests.sh\nTest: mmm art\nBug: 143978909\nChange-Id: I6de99052d6d8a9d01d748baabbbcecfe1f4509dc\n"
    },
    {
      "commit": "a2f48a424c3d62efb5a14ccaea740e3f6c0b0032",
      "tree": "668f61d2231be94a7bc764223164da52f3c77869",
      "parents": [
        "e38d78871261ec567d45095ea09b1950bb021fae"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Apr 09 13:23:21 2021 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon Apr 12 07:22:07 2021 +0000"
      },
      "message": "Fix apex_available lists to avoid APEX stubs between internal libs.\n\nTest: m TARGET_PRODUCT\u003dfull TARGET_BUILD_VARIANT\u003deng \\\n  out/soong/.intermediates/art/compiler/libartd-compiler/android_arm_armv7-a-neon_shared/unstripped/libartd-compiler.so\nTest: mmm art\nBug: 184929782\nBug: 143978909\nBug: 183882457\nChange-Id: I6350257ad1fc9dfb7115bff6c2caa1bc4ac86898\n"
    },
    {
      "commit": "669756df2f4aea67d00e7b3598b2d91f61537141",
      "tree": "86d7ac86af3ee50c3a1f3163f1a80de396279094",
      "parents": [
        "14d9155cc5ac661961aa6718eaf2bfcc704d3c98"
      ],
      "author": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Fri Apr 09 11:35:11 2021 +0000"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Fri Apr 09 11:35:11 2021 +0000"
      },
      "message": "Revert \"Merge libdexfile_external into libdexfile (reland).\"\n\nRevert \"Rename libdexfile_external_static to libdexfile_static (...\"\n\nRevert \"Rename libdexfile_external_static to libdexfile_static (...\"\n\nRevert submission 1666119-libdexfile-noext-2\n\nReason for revert: broken build 7270939 on aosp-master on full-eng\nReverted Changes:\nI582e49ae7:Merge libdexfile_external into libdexfile (reland)...\nIaa6a90f41:Rename libdexfile_external_static to libdexfile_st...\nI4315189b2:libdexfile_external is replaced by libdexfile (rel...\nIa065119c2:Rename libdexfile_external_static to libdexfile_st...\n\nBug: 184929782\nChange-Id: Ie69a73f4f0f745ab988e627c568f4ccb83fd1c71\nTest: forrest build for aosp-master on full-eng\n"
    },
    {
      "commit": "14d9155cc5ac661961aa6718eaf2bfcc704d3c98",
      "tree": "413aa4746ef3a6cbcbdbf8d75387e85be87f6460",
      "parents": [
        "a191bbfd53a0c7df9b5639bfbefeb8b531c833db"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Mar 16 00:44:25 2021 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Apr 09 09:18:30 2021 +0000"
      },
      "message": "Merge libdexfile_external into libdexfile (reland).\n\nTo reduce the number of DSO\u0027s. libdexfile_external only adds a few\nsmall functions on top of libdexfile, and it\u0027s still only those\nfunctions that are available in the APEX stubs.\n\nAlso rename libdexfile_external_static to libdexfile_static, for\nconsistency.\n\nSince libdexfile now has stubs, we need to add test_for properties to\navoid linking against the stubs in tests.\n\nThis relands https://r.android.com/1643424 with leaving out\ndex_file_ext.cc on Windows (cf. build issue b/184239856): mapped_file.h\nbrings in windows.h in Windows builds, which has several defines that\nare incompatible with dex internals (e.g. CONST).\n\nTest: Flash and boot with userdebug and eng to try both release and\n  debug modules.\nTest: art/tools/buildbot-build.sh {--target,--host}\nTest: art/build/apex/runtests.sh\nTest: mmm art\nTest: m TARGET_PRODUCT\u003dfull TARGET_BUILD_VARIANT\u003deng checkbuild\nBug: 143978909\nChange-Id: I582e49ae797744837849db056cef2fbeacc0681e\n"
    },
    {
      "commit": "f442a84ca02002cd52aebdc724d84de9e8f2dd36",
      "tree": "14d8e9b4b1f11fed23459b0dc520da431ebab4d6",
      "parents": [
        "5557553ae9568dcd8923173e7f32fac3900909c4"
      ],
      "author": {
        "name": "Nikita Ioffe",
        "email": "ioffe@google.com",
        "time": "Thu Apr 01 10:58:24 2021 +0000"
      },
      "committer": {
        "name": "Nikita Ioffe",
        "email": "ioffe@google.com",
        "time": "Thu Apr 01 14:22:52 2021 +0000"
      },
      "message": "Revert \"Merge libdexfile_external into libdexfile.\"\n\nRevert \"libdexfile_external is replaced by libdexfile.\"\n\nRevert \"Rename libdexfile_external_static to libdexfile_static.\"\n\nRevert \"Rename libdexfile_external_static to libdexfile_static.\"\n\nRevert \"Allow dependencies from platform variants to APEX modules.\"\n\nRevert submission 1658000\n\nReason for revert: Breaks full-eng build: b/184239856\nReverted Changes:\nI4f8ead785:Avoid internal APEX stubs for libsigchain and clea...\nI68affdf69:Allow dependencies from platform variants to APEX ...\nI54b33784e:Rename libdexfile_external_static to libdexfile_st...\nId68ae9438:libdexfile_external is being replaced by libdexfil...\nI12ac84eb4:libdexfile_external is replaced by libdexfile.\nIf05dbffc8:Rename libdexfile_external_static to libdexfile_st...\nIa011fa3a8:Merge libdexfile_external into libdexfile.\n\nChange-Id: I9064dd8debe2f385782c8cc6c1830e4cc5cb7221\n"
    },
    {
      "commit": "5557553ae9568dcd8923173e7f32fac3900909c4",
      "tree": "301a30fe901e15f503e7da04b69e8580983b9e01",
      "parents": [
        "30ba3a02a5c904bbab68b25888f353b94ab42016"
      ],
      "author": {
        "name": "Nikita Ioffe",
        "email": "ioffe@google.com",
        "time": "Thu Apr 01 10:58:24 2021 +0000"
      },
      "committer": {
        "name": "Nikita Ioffe",
        "email": "ioffe@google.com",
        "time": "Thu Apr 01 14:22:52 2021 +0000"
      },
      "message": "Revert \"Avoid internal APEX stubs for libsigchain and clean up e...\"\n\nRevert \"libdexfile_external is replaced by libdexfile.\"\n\nRevert \"Rename libdexfile_external_static to libdexfile_static.\"\n\nRevert \"Rename libdexfile_external_static to libdexfile_static.\"\n\nRevert \"Allow dependencies from platform variants to APEX modules.\"\n\nRevert submission 1658000\n\nReason for revert: Breaks full-eng build: b/184239856\nReverted Changes:\nI4f8ead785:Avoid internal APEX stubs for libsigchain and clea...\nI68affdf69:Allow dependencies from platform variants to APEX ...\nI54b33784e:Rename libdexfile_external_static to libdexfile_st...\nId68ae9438:libdexfile_external is being replaced by libdexfil...\nI12ac84eb4:libdexfile_external is replaced by libdexfile.\nIf05dbffc8:Rename libdexfile_external_static to libdexfile_st...\nIa011fa3a8:Merge libdexfile_external into libdexfile.\n\nChange-Id: Ia94bbe80ac9379af1a46afb33f51c084c6f13345\n"
    },
    {
      "commit": "73d4e1174b71e70f15593d762762b4f4310ec331",
      "tree": "7843a4459b4775f313ae81ca47c334ded0057548",
      "parents": [
        "848fc80db9bbe04eeb1e1c9732d137711a9903d3"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Mar 30 13:45:05 2021 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Apr 01 06:53:10 2021 +0000"
      },
      "message": "Avoid internal APEX stubs for libsigchain and clean up exported symbols.\n\nTest: art/tools/buildbot-build.sh {--target,--host}\n  on master-art\nTest: m droid\n  on AOSP master\nBug: 182563345\nBug: 183882457\nChange-Id: I4f8ead7853042fec19a4aba4dd37be02ab0202b8\n"
    },
    {
      "commit": "848fc80db9bbe04eeb1e1c9732d137711a9903d3",
      "tree": "49beb193d63a7d1a342a855157af430fd7b8a723",
      "parents": [
        "8e0f6aaef615bbfb0f43a28d7976ac46c74ed754"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Mar 16 00:44:25 2021 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Apr 01 06:53:10 2021 +0000"
      },
      "message": "Merge libdexfile_external into libdexfile.\n\nTo reduce the number of DSO\u0027s. libdexfile_external only adds a few\nsmall functions on top of libdexfile, and it\u0027s still only those\nfunctions that are available in the APEX stubs.\n\nAlso rename libdexfile_external_static to libdexfile_static, for\nconsistency.\n\nSince libdexfile now has stubs, we need to add test_for properties to\navoid linking against the stubs in tests.\n\nTest: Flash and boot with userdebug and eng to try both release and\n  debug modules.\nTest: art/build/apex/runtests.sh\nBug: 143978909\nChange-Id: Ia011fa3a86509839ea0d80ad5fcad67ee5ce68d9\n"
    },
    {
      "commit": "cff30a0bfa3c4212f304caef24236884e144375d",
      "tree": "6a431222409f3a1a96c775d14cf455b82d466301",
      "parents": [
        "34aebb676cd442475e9384d72193b3693846247f"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Mar 25 17:33:32 2021 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Mar 31 21:33:24 2021 +0000"
      },
      "message": "Better support ICs on virtual calls\n\nDue to the way we implement profiles InlineCaches are only valid on\nmethods with implementations. Unfortunately due to the rather slow way\nwe update boot profile definitions code refactorings can lead to\ninline-caches being lost. This change makes profman more resilient to\nthis error by searching up the superclass resolutions to try to find a\nmethod the inline-caches can be attached to. This should ensure that\nboot-profile definitions fall out of date more slowly.\n\nTest: ./test.py --host\nBug: 168941430\n\nChange-Id: I5f6096500fa6f17e285b5a7bab21ad8216221966\n"
    },
    {
      "commit": "c5cd58914325c7fcfd89b1a5bf4daa475c2d83ef",
      "tree": "847a50eaa8331baf617f0fc3161cf36b7fc28680",
      "parents": [
        "b3f5c5008770d22a24db6a66bf97bd5a9d32b4ff"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Mar 23 08:09:15 2021 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sat Mar 27 13:19:58 2021 +0000"
      },
      "message": "Remove QUICK bytecodes.\n\nRemove the deprecated unofficial (not part of the spec) bytecodes.\nThis frees the 16 bytecodes for future use.\n\nBug: 170086509\nTest: m test-art-host-gtest\nTest: test.py -r -b --host\nChange-Id: I9f6d8a2c21b88f883c8fdc1eb67b24620f313d56\n"
    },
    {
      "commit": "753f47a759f6fd186e507c3156b5a94177040fa5",
      "tree": "57df777ea4aff9b0232d0d50a0bd53d6fbe68d7d",
      "parents": [
        "a129d8aef0dfe39edf39b5537852bc2c60496bfa"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Mar 25 12:07:28 2021 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 26 08:58:16 2021 +0000"
      },
      "message": "Add PrettyMethod overload with result string.\n\nMake it possible to avoid memory allocations.\n\nTest: m test-art-host-gtest\nChange-Id: I8914ed9f0768577063692dfe74cb418b3a8db2f0\n"
    },
    {
      "commit": "43c9cd7938a53265ea9899a604b409ce070cc2c5",
      "tree": "db084fcc115d6a68de25662bf1a5fae030bcf152",
      "parents": [
        "443fc8962db219177c34cd047d2071b5ee775468"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 10 15:09:19 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 24 16:47:38 2021 +0000"
      },
      "message": "Improve nterp -\u003e compiled code transitions.\n\nUse an unused bit in the access flags of an ArtMethod (0x00200000) to store\nthe information a method only takes ints or references and returns an\nint, a reference, or a long. This avoids the need to fetch the shorty in nterp\nwhen doing a call.\n\nTest: test.py\nTest: 821-many-args\nBug: 112676029\n\nChange-Id: Ie657ccf69c17c1097dc2a97f18e3093ef3be391b\n"
    },
    {
      "commit": "8706b9c9bf9292ec313d8590f7f6c0c8a753a79d",
      "tree": "f1de4a731b501184f97c6c3ad6f8101323a4f0c0",
      "parents": [
        "2769f0145057396e3dab5efe53c05ebd6336d08c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Mar 23 13:52:35 2021 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Mar 23 15:56:58 2021 -0700"
      },
      "message": "Support unrecognized methods in profman\n\nIf one tried to use profman files from the future (I.E. internal\nmaster on AOSP) profman would LOG(FATAL) due to not finding the\nmethods listed. This is undesirable and a better solution is to simply\nsilently ignore this error since the profile files are only\noccasionally updated.\n\nTest: m droid\nBug: 168941430\nBug: 183514504\nChange-Id: I1cf48173c7c708b1d732868bed3b268138c83063\n"
    },
    {
      "commit": "f4c06b522eafe3204d533394c9c0069e2c41a970",
      "tree": "7f2c00c8734250dbe78260ee5717a9fe68f745df",
      "parents": [
        "40cd07c3e6717b28c0137e8d72a067a9f8663ec6"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Mar 23 12:13:02 2021 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Mar 23 17:55:55 2021 +0000"
      },
      "message": "Remove method cache from libdexfile_external.\n\nEquivalent cache has been added to libunwind (go/aog/1647434).\n\nThis gives libunwind control of the string storage format,\nand other memory vs speed trade-offs.\n\nBug: 123517037\nTest: test.py -r -b --host -t 137\nChange-Id: I3cbd10ba513ca3cfae3addbea6a8de05b0906b30\n"
    },
    {
      "commit": "40cd07c3e6717b28c0137e8d72a067a9f8663ec6",
      "tree": "45cced150c54d6798805882c10607f11b1be9b36",
      "parents": [
        "4924ea9ad98832f0ec7db841defca82331ee1b13"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 15 18:33:23 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 23 15:31:45 2021 +0000"
      },
      "message": "Add a fast path for nterp entrypoint to avoid fetching the shorty.\n\nWhen all parameters are references, we don\u0027t need to look at the shorty.\nUse the 0x00100000 flag in the modifiers which is free for non-native\nmethods.\n\nTest: test.py\nBug: 112676029\nChange-Id: Ied9a253f7f7230045dd13188a5b806fb1d6d019d\n"
    },
    {
      "commit": "cb332bcb9aefaaf4e3139fb779d5a8c5471b6806",
      "tree": "b8ad711113cb5bcd38db96111b9d6f4e622e8350",
      "parents": [
        "2ddb98b27a006b61f85aa23f38ae2a7f730d2bca"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Mar 17 13:26:53 2021 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Mar 22 16:57:33 2021 +0000"
      },
      "message": "Add dex lookup overloads which take C++ lambda callback.\n\nProvide more direct access to the underlying C api.\n\nBug: 123517037\nTest: m test-art-host-gtest\nChange-Id: I364814e284e7569cf96eb7a7596a95bef38abbd7\n"
    },
    {
      "commit": "2ddb98b27a006b61f85aa23f38ae2a7f730d2bca",
      "tree": "213f73ebfbf2d67eb510ccb0f4fff4c430c94d9b",
      "parents": [
        "efc03b831c35062f51589adc0ec509d4bfa2ef33"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Mar 09 00:37:04 2021 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Mar 22 16:56:33 2021 +0000"
      },
      "message": "Simplify libdexfile external api.\n\nBug: 123517037\nTest: m test-art-host-gtest\nTest: libunwindstack_unit_test\nTest: simpleperf_unit_test --gtest_filter\u003d*dex*\nChange-Id: I1bd9a6849ad79d9ddd0a0dfb93ea7c7d2311bf49\n"
    },
    {
      "commit": "3907ce0f4fb85a0832c4d7d2b6e3a073b294405d",
      "tree": "b1b290c66f4421a3ce2787e869cd49fd400f7fe8",
      "parents": [
        "dfe55446a5298f5563a53846310d54fef4e6051a"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Mar 19 15:37:38 2021 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 22 10:14:39 2021 +0000"
      },
      "message": "Change the value of kAccPreCompiled.\n\nUse the same value as kAccPreviouslyWarm. This frees the old\nvalue 0x00100000 for future use for non-native methods.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host\nBug: 112676029\nChange-Id: Ide2126a7ffd795eeb4a13f745a925a8364e92d63\n"
    },
    {
      "commit": "de0d0de0f4a5162a5861515c0ddbbb52e06147d0",
      "tree": "d5aa36d70696f79a601d2cdcd47d1c5f506bf222",
      "parents": [
        "ec388c026a5709dea339ad43f8bca10b2d991d6e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Mar 18 14:12:35 2021 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Mar 19 09:11:41 2021 +0000"
      },
      "message": "Remove kAccMiranda and kAccDefaultConflicting.\n\nUse a combination of other existing flags to mark miranda\nand default conflicting methods.\n\nAlso change the value of identical flags kAccCriticalNative\nand kAccPreCompiled to 0x00100000 to have the values of\nkAccFastNative and kAccCriticalNative in consecutive bits.\n\nThe method access flag 0x00200000 is now free for future\nuse. The method access flag 0x00100000 is also potentially\nusable for some methods the same way that the old\nkAccMiranda flag was used despite sharing the same value\nwith both kAccCriticalNative and kAccPreCompiled.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 112676029\nChange-Id: Ibfd20598f9b4af78e1e72f8331dc647d01dd8eb5\n"
    },
    {
      "commit": "ec388c026a5709dea339ad43f8bca10b2d991d6e",
      "tree": "49cf87249facd3c8dabb33ab10f8273a75fe2a50",
      "parents": [
        "e017bb072ac577eee5413bd7e5e136f4eaf75908"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 03 22:09:06 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 19 07:09:56 2021 +0000"
      },
      "message": "Add min_sdk_version for ART module.\n\nBug: 180399951\nTest: m\nChange-Id: I5e2a1ddc3063be26c602bf4db8e6b77f2d54b656\n"
    },
    {
      "commit": "765a167cb152931dede6aad1fa398700d4702113",
      "tree": "02177f7edf91468797b56c2cde4ecd65825ebf9f",
      "parents": [
        "68e8a7c0a96d941bf08956dd0d8d83c282d0af9f"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Mar 05 16:16:04 2021 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 08 09:22:05 2021 +0000"
      },
      "message": "Faster DexFileVerifier::CheckInterClassDefItem().\n\nUse cached data instead of calling DexFile::FindClassDef().\nThis was a missed opportnity in\n    https://android-review.googlesource.com/1291003\nwhere we recorded the data during the \"intra\" phase.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 153966283\nBug: 181943478\nChange-Id: Ibe8b18811bcd2914c61013816404ed237b7e7fb0\n"
    },
    {
      "commit": "49e80cce9dce4bfb2807fc80a1b65e9f32a31e46",
      "tree": "371b84302b502f12d3a2e6091635e20a4bd3ddb5",
      "parents": [
        "90b26617d4229b645303f911ba00c228852c6a5d"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Mar 03 00:13:09 2021 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Mar 03 18:01:15 2021 +0000"
      },
      "message": "Workaround for ubsan_minimal dependency in the prebuilt libdexfile_external_static.a.\n\nTest: m WITH_DEXPREOPT\u003dfalse TARGET_PRODUCT\u003daosp_x86_64 \\\n      WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY\u003dtrue \\\n      host-unit-tests\nBug: 181740144\nBug: 172480615\nChange-Id: I679b6c33876c2e227d9083c107896c6913c6ca76\n"
    },
    {
      "commit": "9150de6901996679c0ea6b34e74c8ddcc718d309",
      "tree": "496386b00b2a1b0b3bfbc36b09cf8083e3922f9b",
      "parents": [
        "8da26145fba859a5aba047f6280568565ffb8bfc"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Fri Feb 26 03:22:24 2021 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 02 07:18:14 2021 +0000"
      },
      "message": "[LSC] Add LOCAL_LICENSE_KINDS to art\n\nAdded SPDX-license-identifier-Apache-2.0 to:\n  adbconnection/Android.bp\n  benchmark/Android.bp\n  build/Android.bp\n  build/Android.cpplint.mk\n  build/Android.gtest.mk\n  build/apex/Android.bp\n  build/boot/Android.bp\n  build/sdk/Android.bp\n  cmdline/Android.bp\n  compiler/Android.bp\n  dalvikvm/Android.bp\n  dex2oat/Android.bp\n  dexdump/Android.bp\n  dexlayout/Android.bp\n  dexlist/Android.bp\n  dexoptanalyzer/Android.bp\n  disassembler/Android.bp\n  dt_fd_forward/export/Android.bp\n  imgdiag/Android.bp\n  libartbase/Android.bp\n  libartpalette/Android.bp\n  libartservice/Android.bp\n  libartservice/tests/Android.bp\n  libarttools/Android.bp\n  libdexfile/Android.bp\n  libelffile/Android.bp\n  libnativebridge/Android.bp\n  libnativebridge/tests/Android.bp\n  libnativeloader/Android.bp\n  libnativeloader/test/Android.bp\n  libnativeloader/test/Android.mk\n  libprofile/Android.bp\n  oatdump/Android.bp\n  odrefresh/Android.bp\n  perfetto_hprof/Android.bp\n  profman/Android.bp\n  runtime/Android.bp\n  simulator/Android.bp\n  test/001-HelloWorld/Android.bp\n  test/001-Main/Android.bp\n  test/002-sleep/Android.bp\n  test/004-InterfaceTest/Android.bp\n  test/004-SignalTest/Android.bp\n  test/004-UnsafeTest/Android.bp\n  test/004-checker-UnsafeTest18/Android.bp\n  test/006-args/Android.bp\n  test/007-count10/Android.bp\n  test/009-instanceof/Android.bp\n  test/010-instance/Android.bp\n  test/011-array-copy/Android.bp\n  test/012-math/Android.bp\n  test/013-math2/Android.bp\n  test/014-math3/Android.bp\n  test/015-switch/Android.bp\n  test/016-intern/Android.bp\n  test/017-float/Android.bp\n  test/018-stack-overflow/Android.bp\n  test/019-wrong-array-type/Android.bp\n  test/020-string/Android.bp\n  test/021-string2/Android.bp\n  test/022-interface/Android.bp\n  test/025-access-controller/Android.bp\n  test/026-access/Android.bp\n  test/027-arithmetic/Android.bp\n  test/028-array-write/Android.bp\n  test/029-assert/Android.bp\n  test/030-bad-finalizer/Android.bp\n  test/033-class-init-deadlock/Android.bp\n  test/034-call-null/Android.bp\n  test/035-enum/Android.bp\n  test/036-finalizer/Android.bp\n  test/037-inherit/Android.bp\n  test/038-inner-null/Android.bp\n  test/039-join-main/Android.bp\n  test/040-miranda/Android.bp\n  test/041-narrowing/Android.bp\n  test/043-privates/Android.bp\n  test/044-proxy/Android.bp\n  test/045-reflect-array/Android.bp\n  test/046-reflect/Android.bp\n  test/047-returns/Android.bp\n  test/048-reflect-v8/Android.bp\n  test/049-show-object/Android.bp\n  test/050-sync-test/Android.bp\n  test/051-thread/Android.bp\n  test/052-verifier-fun/Android.bp\n  test/053-wait-some/Android.bp\n  test/054-uncaught/Android.bp\n  test/055-enum-performance/Android.bp\n  test/058-enum-order/Android.bp\n  test/059-finalizer-throw/Android.bp\n  test/061-out-of-memory/Android.bp\n  test/062-character-encodings/Android.bp\n  test/063-process-manager/Android.bp\n  test/067-preemptive-unpark/Android.bp\n  test/070-nio-buffer/Android.bp\n  test/072-precise-gc/Android.bp\n  test/072-reachability-fence/Android.bp\n  test/074-gc-thrash/Android.bp\n  test/076-boolean-put/Android.bp\n  test/078-polymorphic-virtual/Android.bp\n  test/079-phantom/Android.bp\n  test/080-oom-fragmentation/Android.bp\n  test/080-oom-throw-with-finalizer/Android.bp\n  test/080-oom-throw/Android.bp\n  test/081-hot-exceptions/Android.bp\n  test/082-inline-execute/Android.bp\n  test/083-compiler-regressions/Android.bp\n  test/084-class-init/Android.bp\n  test/086-null-super/Android.bp\n  test/087-gc-after-link/Android.bp\n  test/090-loop-formation/Android.bp\n  test/092-locale/Android.bp\n  test/093-serialization/Android.bp\n  test/094-pattern/Android.bp\n  test/095-switch-MAX_INT/Android.bp\n  test/096-array-copy-concurrent-gc/Android.bp\n  test/098-ddmc/Android.bp\n  test/099-vmdebug/Android.bp\n  test/100-reflect2/Android.bp\n  test/1004-checker-volatile-ref-load/Android.bp\n  test/101-fibonacci/Android.bp\n  test/102-concurrent-gc/Android.bp\n  test/103-string-append/Android.bp\n  test/104-growth-limit/Android.bp\n  test/105-invoke/Android.bp\n  test/106-exceptions2/Android.bp\n  test/107-int-math2/Android.bp\n  test/108-check-cast/Android.bp\n  test/109-suspend-check/Android.bp\n  test/110-field-access/Android.bp\n  test/112-double-math/Android.bp\n  test/114-ParallelGC/Android.bp\n  test/115-native-bridge/Android.bp\n  test/116-nodex2oat/Android.bp\n  test/120-hashcode/Android.bp\n  test/121-simple-suspend-check/Android.bp\n  test/122-npe/Android.bp\n  test/123-compiler-regressions-mt/Android.bp\n  test/123-inline-execute2/Android.bp\n  test/125-gc-and-classloading/Android.bp\n  test/128-reg-spill-on-implicit-nullcheck/Android.bp\n  test/129-ThreadGetId/Android.bp\n  test/132-daemon-locks-shutdown/Android.bp\n  test/133-static-invoke-super/Android.bp\n  test/1336-short-finalizer-timeout/Android.bp\n  test/1337-gc-coverage/Android.bp\n  test/1339-dead-reference-safe/Android.bp\n  test/136-daemon-jni-shutdown/Android.bp\n  test/139-register-natives/Android.bp\n  test/140-dce-regression/Android.bp\n  test/140-field-packing/Android.bp\n  test/143-string-value/Android.bp\n  test/144-static-field-sigquit/Android.bp\n  test/148-multithread-gc-annotations/Android.bp\n  test/149-suspend-all-stress/Android.bp\n  test/150-loadlibrary/Android.bp\n  test/151-OpenFileLimit/Android.bp\n  test/152-dead-large-object/Android.bp\n  test/153-reference-stress/Android.bp\n  test/154-gc-loop/Android.bp\n  test/156-register-dex-file-multi-loader/Android.bp\n  test/158-app-image-class-table/Android.bp\n  test/159-app-image-fields/Android.bp\n  test/163-app-image-methods/Android.bp\n  test/165-lock-owner-proxy/Android.bp\n  test/168-vmstack-annotated/Android.bp\n  test/169-threadgroup-jni/Android.bp\n  test/170-interface-init/Android.bp\n  test/172-app-image-twice/Android.bp\n  test/174-escaping-instance-of-bad-class/Android.bp\n  test/175-alloc-big-bignums/Android.bp\n  test/176-app-image-string/Android.bp\n  test/177-visibly-initialized-deadlock/Android.bp\n  test/178-app-image-native-method/Android.bp\n  test/179-nonvirtual-jni/Android.bp\n  test/1900-track-alloc/Android.bp\n  test/1901-get-bytecodes/Android.bp\n  test/1902-suspend/Android.bp\n  test/1903-suspend-self/Android.bp\n  test/1904-double-suspend/Android.bp\n  test/1905-suspend-native/Android.bp\n  test/1906-suspend-list-me-first/Android.bp\n  test/1907-suspend-list-self-twice/Android.bp\n  test/1908-suspend-native-resume-self/Android.bp\n  test/1909-per-agent-tls/Android.bp\n  test/1910-transform-with-default/Android.bp\n  test/1911-get-local-var-table/Android.bp\n  test/1912-get-set-local-primitive/Android.bp\n  test/1913-get-set-local-objects/Android.bp\n  test/1914-get-local-instance/Android.bp\n  test/1915-get-set-local-current-thread/Android.bp\n  test/1916-get-set-current-frame/Android.bp\n  test/1917-get-stack-frame/Android.bp\n  test/1919-vminit-thread-start-timing/Android.bp\n  test/1920-suspend-native-monitor/Android.bp\n  test/1921-suspend-native-recursive-monitor/Android.bp\n  test/1922-owned-monitors-info/Android.bp\n  test/1923-frame-pop/Android.bp\n  test/1924-frame-pop-toggle/Android.bp\n  test/1925-self-frame-pop/Android.bp\n  test/1926-missed-frame-pop/Android.bp\n  test/1927-exception-event/Android.bp\n  test/1928-exception-event-exception/Android.bp\n  test/1930-monitor-info/Android.bp\n  test/1931-monitor-events/Android.bp\n  test/1932-monitor-events-misc/Android.bp\n  test/1933-monitor-current-contended/Android.bp\n  test/1934-jvmti-signal-thread/Android.bp\n  test/1935-get-set-current-frame-jit/Android.bp\n  test/1936-thread-end-events/Android.bp\n  test/1937-transform-soft-fail/Android.bp\n  test/1938-transform-abstract-single-impl/Android.bp\n  test/1939-proxy-frames/Android.bp\n  test/1941-dispose-stress/Android.bp\n  test/1942-suspend-raw-monitor-exit/Android.bp\n  test/1943-suspend-raw-monitor-wait/Android.bp\n  test/1945-proxy-method-arguments/Android.bp\n  test/1947-breakpoint-redefine-deopt/Android.bp\n  test/1949-short-dex-file/Android.bp\n  test/1951-monitor-enter-no-suspend/Android.bp\n  test/1953-pop-frame/Android.bp\n  test/1954-pop-frame-jit/Android.bp\n  test/1955-pop-frame-jit-called/Android.bp\n  test/1956-pop-frame-jit-calling/Android.bp\n  test/1957-error-ext/Android.bp\n  test/1958-transform-try-jit/Android.bp\n  test/1959-redefine-object-instrument/Android.bp\n  test/1960-checker-bounds-codegen/Android.bp\n  test/1960-obsolete-jit-multithread-native/Android.bp\n  test/1961-checker-loop-vectorizer/Android.bp\n  test/1961-obsolete-jit-multithread/Android.bp\n  test/1962-multi-thread-events/Android.bp\n  test/1963-add-to-dex-classloader-in-memory/Android.bp\n  test/1967-get-set-local-bad-slot/Android.bp\n  test/1968-force-early-return/Android.bp\n  test/1969-force-early-return-void/Android.bp\n  test/1970-force-early-return-long/Android.bp\n  test/1971-multi-force-early-return/Android.bp\n  test/1972-jni-id-swap-indices/Android.bp\n  test/1973-jni-id-swap-pointer/Android.bp\n  test/1974-resize-array/Android.bp\n  test/1975-hello-structural-transformation/Android.bp\n  test/1976-hello-structural-static-methods/Android.bp\n  test/1977-hello-structural-obsolescence/Android.bp\n  test/1978-regular-obsolete-then-structural-obsolescence/Android.bp\n  test/1979-threaded-structural-transformation/Android.bp\n  test/1980-obsolete-object-cleared/Android.bp\n  test/1982-no-virtuals-structural-redefinition/Android.bp\n  test/1984-structural-redefine-field-trace/Android.bp\n  test/1985-structural-redefine-stack-scope/Android.bp\n  test/1986-structural-redefine-multi-thread-stack-scope/Android.bp\n  test/1987-structural-redefine-recursive-stack-scope/Android.bp\n  test/1988-multi-structural-redefine/Android.bp\n  test/1989-transform-bad-monitor/Android.bp\n  test/1990-structural-bad-verify/Android.bp\n  test/1991-hello-structural-retransform/Android.bp\n  test/1992-retransform-no-such-field/Android.bp\n  test/1993-fallback-non-structural/Android.bp\n  test/1994-final-virtual-structural/Android.bp\n  test/1995-final-virtual-structural-multithread/Android.bp\n  test/1996-final-override-virtual-structural/Android.bp\n  test/1997-structural-shadow-method/Android.bp\n  test/1998-structural-shadow-field/Android.bp\n  test/1999-virtual-structural/Android.bp\n  test/2003-double-virtual-structural/Android.bp\n  test/2004-double-virtual-structural-abstract/Android.bp\n  test/2005-pause-all-redefine-multithreaded/Android.bp\n  test/2008-redefine-then-old-reflect-field/Android.bp\n  test/201-built-in-except-detail-messages/Android.bp\n  test/2011-stack-walk-concurrent-instrument/Android.bp\n  test/2019-constantcalculationsinking/Android.bp\n  test/202-thread-oome/Android.bp\n  test/2020-InvokeVirtual-Inlining/Android.bp\n  test/2021-InvokeStatic-Inlining/Android.bp\n  test/2022-Invariantloops/Android.bp\n  test/2023-InvariantLoops_typecast/Android.bp\n  test/2024-InvariantNegativeLoop/Android.bp\n  test/2025-ChangedArrayValue/Android.bp\n  test/2026-DifferentMemoryLSCouples/Android.bp\n  test/2027-TwiceTheSameMemoryCouple/Android.bp\n  test/2028-MultiBackward/Android.bp\n  test/2029-contended-monitors/Android.bp\n  test/203-multi-checkpoint/Android.bp\n  test/2030-long-running-child/Android.bp\n  test/2031-zygote-compiled-frame-deopt/Android.bp\n  test/2033-shutdown-mechanics/Android.bp\n  test/2036-jni-filechannel/Android.bp\n  test/2037-thread-name-inherit/Android.bp\n  test/2231-checker-heap-poisoning/Android.bp\n  test/2232-write-metrics-to-log/Android.bp\n  test/300-package-override/Android.bp\n  test/301-abstract-protected/Android.bp\n  test/302-float-conversion/Android.bp\n  test/304-method-tracing/Android.bp\n  test/305-other-fault-handler/Android.bp\n  test/401-optimizing-compiler/Android.bp\n  test/402-optimizing-control-flow/Android.bp\n  test/403-optimizing-long/Android.bp\n  test/404-optimizing-allocator/Android.bp\n  test/405-optimizing-long-allocator/Android.bp\n  test/406-fields/Android.bp\n  test/407-arrays/Android.bp\n  test/408-move-bug/Android.bp\n  test/409-materialized-condition/Android.bp\n  test/410-floats/Android.bp\n  test/411-checker-hdiv-hrem-const/Android.bp\n  test/411-checker-hdiv-hrem-pow2/Android.bp\n  test/411-checker-instruct-simplifier-hrem/Android.bp\n  test/411-optimizing-arith/Android.bp\n  test/413-regalloc-regression/Android.bp\n  test/414-static-fields/Android.bp\n  test/418-const-string/Android.bp\n  test/419-long-parameter/Android.bp\n  test/420-const-class/Android.bp\n  test/421-exceptions/Android.bp\n  test/421-large-frame/Android.bp\n  test/422-instanceof/Android.bp\n  test/422-type-conversion/Android.bp\n  test/423-invoke-interface/Android.bp\n  test/424-checkcast/Android.bp\n  test/426-monitor/Android.bp\n  test/427-bitwise/Android.bp\n  test/427-bounds/Android.bp\n  test/429-ssa-builder/Android.bp\n  test/430-live-register-slow-path/Android.bp\n  test/433-gvn/Android.bp\n  test/434-shifter-operand/Android.bp\n  test/435-try-finally-without-catch/Android.bp\n  test/436-rem-float/Android.bp\n  test/436-shift-constant/Android.bp\n  test/437-inline/Android.bp\n  test/438-volatile/Android.bp\n  test/439-npe/Android.bp\n  test/439-swap-double/Android.bp\n  test/440-stmp/Android.bp\n  test/441-checker-inliner/Android.bp\n  test/443-not-bool-inline/Android.bp\n  test/444-checker-nce/Android.bp\n  test/445-checker-licm/Android.bp\n  test/446-checker-inliner2/Android.bp\n  test/447-checker-inliner3/Android.bp\n  test/449-checker-bce-rem/Android.bp\n  test/449-checker-bce/Android.bp\n  test/450-checker-types/Android.bp\n  test/451-regression-add-float/Android.bp\n  test/451-spill-splot/Android.bp\n  test/454-get-vreg/Android.bp\n  test/455-checker-gvn/Android.bp\n  test/456-baseline-array-set/Android.bp\n  test/458-long-to-fpu/Android.bp\n  test/461-get-reference-vreg/Android.bp\n  test/464-checker-inline-sharpen-calls/Android.bp\n  test/465-checker-clinit-gvn/Android.bp\n  test/466-get-live-vreg/Android.bp\n  test/469-condition-materialization/Android.bp\n  test/470-huge-method/Android.bp\n  test/471-deopt-environment/Android.bp\n  test/472-type-propagation/Android.bp\n  test/473-checker-inliner-constants/Android.bp\n  test/473-remove-dead-block/Android.bp\n  test/474-checker-boolean-input/Android.bp\n  test/474-fp-sub-neg/Android.bp\n  test/475-simplify-mul-zero/Android.bp\n  test/476-checker-ctor-fence-redun-elim/Android.bp\n  test/476-checker-ctor-memory-barrier/Android.bp\n  test/476-clinit-inline-static-invoke/Android.bp\n  test/477-checker-bound-type/Android.bp\n  test/477-long-2-float-convers-precision/Android.bp\n  test/478-checker-clinit-check-pruning/Android.bp\n  test/478-checker-inline-noreturn/Android.bp\n  test/478-checker-inliner-nested-loop/Android.bp\n  test/479-regression-implicit-null-check/Android.bp\n  test/480-checker-dead-blocks/Android.bp\n  test/481-regression-phi-cond/Android.bp\n  test/482-checker-loop-back-edge-use/Android.bp\n  test/483-dce-block/Android.bp\n  test/485-checker-dce-switch/Android.bp\n  test/486-checker-must-do-null-check/Android.bp\n  test/487-checker-inline-calls/Android.bp\n  test/488-checker-inline-recursive-calls/Android.bp\n  test/489-current-method-regression/Android.bp\n  test/490-checker-inline/Android.bp\n  test/491-current-method/Android.bp\n  test/492-checker-inline-invoke-interface/Android.bp\n  test/493-checker-inline-invoke-interface/Android.bp\n  test/494-checker-instanceof-tests/Android.bp\n  test/495-checker-checkcast-tests/Android.bp\n  test/496-checker-inlining-class-loader/Android.bp\n  test/497-inlining-and-class-loader/Android.bp\n  test/499-bce-phi-array-length/Android.bp\n  test/500-instanceof/Android.bp\n  test/505-simplifier-type-propagation/Android.bp\n  test/507-boolean-test/Android.bp\n  test/507-referrer/Android.bp\n  test/508-checker-disassembly/Android.bp\n  test/508-referrer-method/Android.bp\n  test/513-array-deopt/Android.bp\n  test/514-shifts/Android.bp\n  test/519-bound-load-class/Android.bp\n  test/521-checker-array-set-null/Android.bp\n  test/521-regression-integer-field-set/Android.bp\n  test/524-boolean-simplifier-regression/Android.bp\n  test/525-checker-arrays-fields1/Android.bp\n  test/525-checker-arrays-fields2/Android.bp\n  test/526-checker-caller-callee-regs/Android.bp\n  test/526-long-regalloc/Android.bp\n  test/527-checker-array-access-simd/Android.bp\n  test/527-checker-array-access-split/Android.bp\n  test/528-long-hint/Android.bp\n  test/529-long-split/Android.bp\n  test/530-checker-loops1/Android.bp\n  test/530-checker-loops2/Android.bp\n  test/530-checker-loops3/Android.bp\n  test/530-checker-loops4/Android.bp\n  test/530-checker-loops5/Android.bp\n  test/530-checker-lse-ctor-fences/Android.bp\n  test/530-checker-lse-simd/Android.bp\n  test/530-checker-lse/Android.bp\n  test/530-checker-lse2/Android.bp\n  test/530-instanceof-checkcast/Android.bp\n  test/530-regression-lse/Android.bp\n  test/532-checker-nonnull-arrayset/Android.bp\n  test/534-checker-bce-deoptimization/Android.bp\n  test/535-deopt-and-inlining/Android.bp\n  test/536-checker-intrinsic-optimization/Android.bp\n  test/537-checker-arraycopy/Android.bp\n  test/537-checker-jump-over-jump/Android.bp\n  test/538-checker-embed-constants/Android.bp\n  test/540-checker-rtp-bug/Android.bp\n  test/542-bitfield-rotates/Android.bp\n  test/542-inline-trycatch/Android.bp\n  test/542-unresolved-access-check/Android.bp\n  test/545-tracing-and-jit/Android.bp\n  test/548-checker-inlining-and-dce/Android.bp\n  test/549-checker-types-merge/Android.bp\n  test/550-checker-multiply-accumulate/Android.bp\n  test/550-new-instance-clinit/Android.bp\n  test/551-checker-clinit/Android.bp\n  test/551-checker-shifter-operand/Android.bp\n  test/551-implicit-null-checks/Android.bp\n  test/552-checker-sharpening/Android.bp\n  test/552-checker-x86-avx2-bit-manipulation/Android.bp\n  test/554-checker-rtp-checkcast/Android.bp\n  test/555-UnsafeGetLong-regression/Android.bp\n  test/557-checker-instruct-simplifier-ror/Android.bp\n  test/558-switch/Android.bp\n  test/559-bce-ssa/Android.bp\n  test/559-checker-rtp-ifnotnull/Android.bp\n  test/560-packed-switch/Android.bp\n  test/561-divrem/Android.bp\n  test/561-shared-slowpaths/Android.bp\n  test/562-bce-preheader/Android.bp\n  test/562-checker-no-intermediate/Android.bp\n  test/563-checker-invoke-super/Android.bp\n  test/564-checker-bitcount/Android.bp\n  test/564-checker-inline-loop/Android.bp\n  test/564-checker-negbitwise/Android.bp\n  test/565-checker-condition-liveness/Android.bp\n  test/566-checker-codegen-select/Android.bp\n  test/566-polymorphic-inlining/Android.bp\n  test/567-checker-builder-intrinsics/Android.bp\n  test/568-checker-onebit/Android.bp\n  test/570-checker-select/Android.bp\n  test/572-checker-array-get-regression/Android.bp\n  test/573-checker-checkcast-regression/Android.bp\n  test/576-polymorphic-inlining/Android.bp\n  test/577-checker-fp2int/Android.bp\n  test/578-bce-visit/Android.bp\n  test/578-polymorphic-inlining/Android.bp\n  test/579-inline-infinite/Android.bp\n  test/580-checker-round/Android.bp\n  test/580-crc32/Android.bp\n  test/581-rtp/Android.bp\n  test/582-checker-bce-length/Android.bp\n  test/583-checker-zero/Android.bp\n  test/584-checker-div-bool/Android.bp\n  test/589-super-imt/Android.bp\n  test/590-checker-arr-set-null-regression/Android.bp\n  test/591-checker-regression-dead-loop/Android.bp\n  test/593-checker-long-2-float-regression/Android.bp\n  test/594-checker-array-alias/Android.bp\n  test/594-load-string-regression/Android.bp\n  test/595-profile-saving/Android.bp\n  test/597-deopt-busy-loop/Android.bp\n  test/597-deopt-invoke-stub/Android.bp\n  test/597-deopt-new-string/Android.bp\n  test/602-deoptimizeable/Android.bp\n  test/603-checker-instanceof/Android.bp\n  test/604-hot-static-interface/Android.bp\n  test/605-new-string-from-bytes/Android.bp\n  test/607-daemon-stress/Android.bp\n  test/609-checker-inline-interface/Android.bp\n  test/609-checker-x86-bounds-check/Android.bp\n  test/610-arraycopy/Android.bp\n  test/611-checker-simplify-if/Android.bp\n  test/614-checker-dump-constant-location/Android.bp\n  test/615-checker-arm64-store-zero/Android.bp\n  test/616-cha-abstract/Android.bp\n  test/616-cha-interface/Android.bp\n  test/616-cha-miranda/Android.bp\n  test/616-cha-native/Android.bp\n  test/616-cha-regression-proxy-method/Android.bp\n  test/616-cha/Android.bp\n  test/617-clinit-oome/Android.bp\n  test/618-checker-induction/Android.bp\n  test/619-checker-current-method/Android.bp\n  test/620-checker-bce-intrinsics/Android.bp\n  test/622-checker-bce-regressions/Android.bp\n  test/623-checker-loop-regressions/Android.bp\n  test/625-checker-licm-regressions/Android.bp\n  test/626-set-resolved-string/Android.bp\n  test/627-checker-unroll/Android.bp\n  test/628-vdex/Android.bp\n  test/629-vdex-speed/Android.bp\n  test/631-checker-get-class/Android.bp\n  test/632-checker-char-at-bounds/Android.bp\n  test/635-checker-arm64-volatile-load-cc/Android.bp\n  test/636-arm64-veneer-pool/Android.bp\n  test/637-checker-throw-inline/Android.bp\n  test/638-checker-inline-cache-intrinsic/Android.bp\n  test/639-checker-code-sinking/Android.bp\n  test/640-checker-boolean-simd/Android.bp\n  test/640-checker-integer-valueof/Android.bp\n  test/640-checker-simd/Android.bp\n  test/641-checker-arraycopy/Android.bp\n  test/641-iterations/Android.bp\n  test/642-fp-callees/Android.bp\n  test/643-checker-bogus-ic/Android.bp\n  test/645-checker-abs-simd/Android.bp\n  test/646-checker-arraycopy-large-cst-pos/Android.bp\n  test/646-checker-long-const-to-int/Android.bp\n  test/646-checker-simd-hadd/Android.bp\n  test/647-jni-get-field-id/Android.bp\n  test/650-checker-inline-access-thunks/Android.bp\n  test/652-deopt-intrinsic/Android.bp\n  test/654-checker-periodic/Android.bp\n  test/655-checker-simd-arm-opt/Android.bp\n  test/655-jit-clinit/Android.bp\n  test/656-checker-simd-opt/Android.bp\n  test/656-loop-deopt/Android.bp\n  test/657-branches/Android.bp\n  test/658-fp-read-barrier/Android.bp\n  test/660-checker-sad/Android.bp\n  test/660-checker-simd-sad/Android.bp\n  test/660-clinit/Android.bp\n  test/661-checker-simd-reduc/Android.bp\n  test/661-oat-writer-layout/Android.bp\n  test/662-regression-alias/Android.bp\n  test/664-aget-verifier/Android.bp\n  test/665-checker-simd-zero/Android.bp\n  test/666-dex-cache-itf/Android.bp\n  test/667-checker-simd-alignment/Android.bp\n  test/667-jit-jni-stub/Android.bp\n  test/667-out-of-bounds/Android.bp\n  test/669-checker-break/Android.bp\n  test/671-npe-field-opts/Android.bp\n  test/672-checker-throw-method/Android.bp\n  test/673-checker-throw-vmethod/Android.bp\n  test/674-HelloWorld-Dm/Android.bp\n  test/674-hotness-compiled/Android.bp\n  test/676-proxy-jit-at-first-use/Android.bp\n  test/677-fsi2/Android.bp\n  test/679-locks/Android.bp\n  test/680-checker-deopt-dex-pc-0/Android.bp\n  test/680-sink-regression/Android.bp\n  test/684-checker-simd-dotprod/Android.bp\n  test/684-select-condition/Android.bp\n  test/685-deoptimizeable/Android.bp\n  test/687-deopt/Android.bp\n  test/689-multi-catch/Android.bp\n  test/689-zygote-jit-deopt/Android.bp\n  test/693-vdex-inmem-loader-evict/Android.bp\n  test/694-clinit-jit/Android.bp\n  test/695-simplify-throws/Android.bp\n  test/696-loop/Android.bp\n  test/697-checker-string-append/Android.bp\n  test/698-selects/Android.bp\n  test/700-LoadArgRegs/Android.bp\n  test/703-floating-point-div/Android.bp\n  test/704-multiply-accumulate/Android.bp\n  test/705-register-conflict/Android.bp\n  test/707-checker-invalid-profile/Android.bp\n  test/708-jit-cache-churn/Android.bp\n  test/711-checker-type-conversion/Android.bp\n  test/717-integer-value-of/Android.bp\n  test/718-zipfile-finalizer/Android.bp\n  test/720-thread-priority/Android.bp\n  test/721-osr/Android.bp\n  test/726-array-store/Android.bp\n  test/728-imt-conflict-zygote/Android.bp\n  test/805-TooDeepClassInstanceOf/Android.bp\n  test/806-TooWideClassInstanceOf/Android.bp\n  test/812-recursive-default/Android.bp\n  test/813-fp-args/Android.bp\n  test/814-large-field-offsets/Android.bp\n  test/815-invokeinterface-default/Android.bp\n  test/818-clinit-nterp/Android.bp\n  test/900-hello-plugin/Android.bp\n  test/901-hello-ti-agent/Android.bp\n  test/902-hello-transformation/Android.bp\n  test/903-hello-tagging/Android.bp\n  test/904-object-allocation/Android.bp\n  test/905-object-free/Android.bp\n  test/906-iterate-heap/Android.bp\n  test/907-get-loaded-classes/Android.bp\n  test/908-gc-start-finish/Android.bp\n  test/910-methods/Android.bp\n  test/911-get-stack-trace/Android.bp\n  test/913-heaps/Android.bp\n  test/914-hello-obsolescence/Android.bp\n  test/915-obsolete-2/Android.bp\n  test/916-obsolete-jit/Android.bp\n  test/917-fields-transformation/Android.bp\n  test/918-fields/Android.bp\n  test/919-obsolete-fields/Android.bp\n  test/920-objects/Android.bp\n  test/921-hello-failure/Android.bp\n  test/922-properties/Android.bp\n  test/923-monitors/Android.bp\n  test/924-threads/Android.bp\n  test/925-threadgroups/Android.bp\n  test/926-multi-obsolescence/Android.bp\n  test/927-timers/Android.bp\n  test/928-jni-table/Android.bp\n  test/930-hello-retransform/Android.bp\n  test/931-agent-thread/Android.bp\n  test/932-transform-saves/Android.bp\n  test/933-misc-events/Android.bp\n  test/937-hello-retransform-package/Android.bp\n  test/939-hello-transformation-bcp/Android.bp\n  test/940-recursive-obsolete/Android.bp\n  test/941-recursive-obsolete-jit/Android.bp\n  test/942-private-recursive/Android.bp\n  test/943-private-recursive-jit/Android.bp\n  test/944-transform-classloaders/Android.bp\n  test/945-obsolete-native/Android.bp\n  test/946-obsolete-throw/Android.bp\n  test/947-reflect-method/Android.bp\n  test/949-in-memory-transform/Android.bp\n  test/950-redefine-intrinsic/Android.bp\n  test/951-threaded-obsolete/Android.bp\n  test/963-default-range-smali/Android.bp\n  test/982-ok-no-retransform/Android.bp\n  test/983-source-transform-verify/Android.bp\n  test/984-obsolete-invoke/Android.bp\n  test/985-re-obsolete/Android.bp\n  test/986-native-method-bind/Android.bp\n  test/987-agent-bind/Android.bp\n  test/988-method-trace/Android.bp\n  test/989-method-trace-throw/Android.bp\n  test/990-field-trace/Android.bp\n  test/991-field-trace-2/Android.bp\n  test/992-source-data/Android.bp\n  test/993-breakpoints/Android.bp\n  test/994-breakpoint-line/Android.bp\n  test/995-breakpoints-throw/Android.bp\n  test/996-breakpoint-obsolete/Android.bp\n  test/997-single-step/Android.bp\n  test/Android.bp\n  tools/Android.bp\n  tools/ahat/Android.bp\n  tools/ahat/Android.mk\n  tools/art_verifier/Android.bp\n  tools/cpp-define-generator/Android.bp\n  tools/dexanalyze/Android.bp\n  tools/dexfuzz/Android.bp\n  tools/dmtracedump/Android.bp\n  tools/hiddenapi/Android.bp\n  tools/jfuzz/Android.bp\n  tools/jvmti-agents/breakpoint-logger/Android.bp\n  tools/jvmti-agents/chain-agents/Android.bp\n  tools/jvmti-agents/dump-jvmti-state/Android.bp\n  tools/jvmti-agents/enable-vlog/Android.bp\n  tools/jvmti-agents/field-counts/Android.bp\n  tools/jvmti-agents/field-null-percent/Android.bp\n  tools/jvmti-agents/jit-load/Android.bp\n  tools/jvmti-agents/list-extensions/Android.bp\n  tools/jvmti-agents/simple-force-redefine/Android.bp\n  tools/jvmti-agents/simple-profile/Android.bp\n  tools/jvmti-agents/ti-alloc-sample/Android.bp\n  tools/jvmti-agents/ti-fast/Android.bp\n  tools/jvmti-agents/titrace/Android.bp\n  tools/jvmti-agents/wrapagentproperties/Android.bp\n  tools/signal_dumper/Android.bp\n  tools/tracefast-plugin/Android.bp\n  tools/veridex/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to:\n  sigchainlib/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD\n    SPDX-license-identifier-GPL-2.0\nto:\n  Android.bp\n  Android.mk\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-GPL-2.0\n    SPDX-license-identifier-GPL-with-classpath-exception\nto:\n  dt_fd_forward/Android.bp\n  openjdkjvmti/Android.bp\n\nAdded SPDX-license-identifier-GPL-2.0\n    SPDX-license-identifier-GPL-with-classpath-exception\nto:\n  openjdkjvm/Android.bp\n\nBug: 68860345\nBug: 151177513\nBug: 151953481\n\nTest: m all\n\nExempt-From-Owner-Approval: janitorial work\nChange-Id: If775045c12955fa6d72d40ccf2a09beef93d1699\nMerged-in: If775045c12955fa6d72d40ccf2a09beef93d1699\n"
    },
    {
      "commit": "aa704f17d0d0a026b496853811fefda5d0783028",
      "tree": "76017ddb7485bca295cc6ddb8e93dedf834ea148",
      "parents": [
        "5e060ee6b9d1c32352f0fde4f949b95589602250"
      ],
      "author": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Fri Feb 19 20:04:12 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 23 20:34:33 2021 +0000"
      },
      "message": "Clean up cc_test/art_cc_test TEST_MAPPING after default update\n\nAfter b/179092189, cc_test host_supported:true doesn\u0027t need TEST_MAPPING config anymore to\nrun in presubmit.\n\nChange-Id: I40c912565dbaf598dbc51522ec2c784a54b0c60d\nTest: presubmit\nBug: 178646865\n"
    },
    {
      "commit": "a2f1319a8941ae52c98594824b919c08eeb0ecd1",
      "tree": "df07248cd6701bf764c01ed1322b355c16e159bf",
      "parents": [
        "642c0f0e79ce35f11e0af5625618cb126ad40ffa"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Feb 03 18:19:03 2021 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 19 20:32:08 2021 +0000"
      },
      "message": "Add text-profile support for multiple ICs\n\nText profile inline-cache support was limited to methods with only a\nsingle invoke. This extends support so it is instead based on the\nreceiver type and supports an arbitrary number of invokes. It does\nassume that all invokes of the same receivers should have the same\nICs. This enables us to create text profiles that can survive most\ncommon edits to the underlying java language files.\n\nIC lines are of the following format\n\n\u003c\u003cCLASS_GROUP\u003e\u003e :\u003d {CLASS}(,{CLASS})*\n\u003c\u003cIC_GROUP\u003e\u003e :\u003d \\[{CLASS}{CLASS_GROUP}\n\u003c\u003cIC_LINE\u003e\u003e :\u003d {PROFILE_FLAGS}{CLASS}-\u003e{METHOD}\\+{IC_GROUP}*\n\nThis means a typical line might look like:\n\n```\nHLTestInline;-\u003einlineTriplePolymorphic(LSuper;LSecret;LSecret;)I+[LSuper;LSubA;,LSubB;,LSubC;[LSecret;LSubB;,LSubC;\n```\n\nNote that old style single-invoke IC lines are still supported as\nwell and their format has not changed.\n\nUpdated --dump-classes-and-methods to dump ICs using this format. Note\nthat it will combine ICs for different pcs with the same target so it\nis possible to construct a profile where the \u0027profile -\u003e dump -\u003e\nprofile\u0027 operation is not idempotent. Any profile coming from a\ntext-dump will be idempotent under this transform.\n\nTest: ./test.py --host\nBug: 168941430\nChange-Id: I69ba3b312caa7ca454487aaeb49862e393de3a4a\n"
    },
    {
      "commit": "98071159668576ae08c2b0de80b0565d58f409f2",
      "tree": "9d9d33ca68c95583f7023f32cbcda9fdb52dc219",
      "parents": [
        "d8b153b7c2026f45db97a7fd5804957becc5cfdf"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Jan 27 18:41:58 2021 -0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Feb 02 20:39:40 2021 +0000"
      },
      "message": "Improve trace logging when loading odex files\n\nAdd extra trace categories with information on the status\nof odex files and the outcome of the loading process.\n\nTest: gtests\nBug: 178410926\nChange-Id: I02ef78f34ba726f40c8a988db8dc995f4c01c55e\n"
    },
    {
      "commit": "782fb716122d37dc4c4d7482afb21f6e68be04b4",
      "tree": "fdbf479b04c73f692051dc8abf6efda3114a87e4",
      "parents": [
        "5bcdd17a43fda7ac27968b13f6969133fae40b37"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Dec 23 12:47:31 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jan 06 15:05:34 2021 +0000"
      },
      "message": "Use HashMap\u003c\u003e and HashSet\u003c\u003e in ClassLinker.\n\nExtend the HashSet\u003c\u003e and HashMap\u003c\u003e API with constructors\nthat allow using a stack-allocated initial buffer to avoid\nthe allocation overhead for small containers.\n\nFix HashMap\u003c\u003e implementation for std::pair\u003c\u003e being used\nas the Key. Make Signature copy-assignable so that we can\nuse it as (part of) a Value in HashMap\u003c\u003e.\n\nMove the definition of ClassLinker::MethodTranslation from\nclass_linker.h to class_linker.cc. Add a default constructor\nused for creating empty entries in HashMap\u003c\u003e.\n\nUse HashMap\u003c\u003e and HashSet\u003c\u003e in ClassLinker instead of\nstd::unordered_map\u003c\u003e and std::unordered_set\u003c\u003e as it is much\nfaster thanks to avoiding individual nodes that need malloc\nand free and for small containers we also avoid allocations\nthanks to the extended HashSet\u003c\u003e and HashMap\u003c\u003e API.\n\nAlso avoid unnecessary std::vector\u003c\u003e for FillIfTable() and\nreplace linear search with HashSet\u003c\u003e lookup (note that the\n`ContainsElement()` helper has an overload for std::set\u003c\u003e\nbut not for any other associative container).\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: boots.\nBug: 175869411\nChange-Id: I48722fb3bb7780bf12fb71c7449494e097e4a368\n"
    },
    {
      "commit": "6e6f1b2ffb243b3e5ae112bba3cd52031deb31ba",
      "tree": "df7254d763ca274ed23b012e47e825a4444d1bfd",
      "parents": [
        "8de1fc3a75dcc900aed271a4f654d912a8838c1d"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Dec 15 19:13:19 2020 -0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Jan 05 21:51:00 2021 +0000"
      },
      "message": "Do not open dex files in CLC if we only need to get dexopt status\n\nThe verifying the class loader context when calling GetDexOptNeeded\nwe only need the dex locations and the checksums. Opening the full\ndex files may lead to in memory extraction which is expensive and\nunnecessary.\n\nAdd a special path in ClassLoaderContext::OpenDexFiles which will\nextract the locations and the checksums from the apk instead of\nactually opening the dex files.\n\nWe re-uses the same logic in OpenDexFiles in order to avoid\nimplementing the opening algorithm twice (which, given all the edge\ncases is not trivial).\n\nBug: 169869944\nTest: test-art-host\nChange-Id: Ic327889677ce697cd60c5c688281515b932a2a76\n"
    },
    {
      "commit": "5ff2393e1fb6e61fc74f20c66f80f4b8656987d1",
      "tree": "e94b8cfc92379678b4f2e6446aa6d28a6408222f",
      "parents": [
        "99459f3bdd8d569ec7054920cbc32e6915d1e125"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Dec 11 18:26:14 2020 -0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Dec 14 19:00:35 2020 +0000"
      },
      "message": "Remove stripped-apk related logic from CLC\n\nStripped-apks are no longer supported by the runtime and\nthe current logic prevents bug fixes and code evolution.\n\nBug: 111442216\nTest: test-art-host\nChange-Id: I30d5825e4f6453981ca9165bebafe67557c28b93\n"
    },
    {
      "commit": "23c926d12f8333d2ca59d6b321064cb9d831f0ad",
      "tree": "68e7f88f580ff30950605332f2187b18a904add6",
      "parents": [
        "6af553d1f411926acdb96d6fa85fb126b761eada"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Nov 05 12:02:00 2020 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Nov 24 21:13:51 2020 +0000"
      },
      "message": "Do not create symbols for [DEDUPED] methods.\n\nThe incorrect method name keeps confusing developers, despite the tag.\n\nHowever, around half the time, the deduped methods share either the\nsame class name or method name, so include it in the name if possible.\n\nBug: 32949969\nTest: printf the generated method names.\nChange-Id: I9cc6f16da0a91d93aa05df5476011bf180d626d9\n"
    },
    {
      "commit": "7b55065f9fd05e9610871e1598972fc8fd45e9ea",
      "tree": "bb6fa5ec5f10a406b418b5bfcb04f892db9a3aff",
      "parents": [
        "c2d5c707a2cfeaaafcf8f5d7e5193dd2d5c59592"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Nov 17 10:12:52 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 18 01:57:51 2020 +0000"
      },
      "message": "Add dex_instruction_list.h to mterp genrule tools\n\ndex_instruction_list.h is read by gen_mterp.py by searching relative\nto the script, add it to tool_files so it gets a dependency and\nso it gets copied if tools are sandboxed.\n\nBug: 124313442\nTest: m checkbuild\nChange-Id: I85f9e154007c185cd5bef1162137986898efb629\n"
    },
    {
      "commit": "694f0129e6bf106d9f9a7c3bfb3b1cf499e8469b",
      "tree": "0d3ed6e495945d9e10b7e1a9cc227e3aa3a43957",
      "parents": [
        "b5ed330e832e7c08c37f88a3a5fff7dbae17a06b"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Oct 30 02:23:24 2020 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Nov 04 16:28:24 2020 +0000"
      },
      "message": "Move hardcoded Soong apex_available lines for ART modules into ART\nblueprints.\n\nTest: m droid\nBug: 133140750\nChange-Id: I99139a4f8c618f237fa169e125de9479feaeb07f\n"
    },
    {
      "commit": "3e9abfc9779399815a7dc8d492466a1234b7fdcd",
      "tree": "fd1017f153d3759488914c4d372f543125722ad1",
      "parents": [
        "35b132e3377029a356cfbc9e4682e3ebceb83edf"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Oct 09 22:17:51 2020 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Oct 23 10:03:13 2020 +0000"
      },
      "message": "Rename ART release APEX to com.android.art.\n\nTest: Build \u0026 boot on AOSP master\nTest: `m` on AOSP master, flipping\n  PRODUCT_ART_TARGET_INCLUDE_DEBUG_BUILD between true and false, and\n  check out/target/product/bonito/symbols/apex/com.android.art.\nTest: art/build/apex/runtests.sh\nTest: art/tools/buildbot-build.sh {--host,--target}\nTest: art/tools/run-gtests.sh\nTest: m test-art-host-gtest\nTest: art/test/testrunner/testrunner.py --target --64 --optimizing\nTest: m build-art-target-golem\nBug: 169639321\nChange-Id: Ic4bb8d6f9988ce99bba326b9c635bd3c01ed74ab\nMerged-In: Ic4bb8d6f9988ce99bba326b9c635bd3c01ed74ab\n"
    },
    {
      "commit": "cbbc8df2264e8ce0528e7b7bfe43e430e5bb3e81",
      "tree": "d3cdcc12f0cd27d9c1f67ff3967de822fe9f6398",
      "parents": [
        "f1a2c0e93f80fd9339270b10a5f68f93ebeffe67"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Sep 30 22:02:32 2020 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Oct 06 09:45:00 2020 +0000"
      },
      "message": "Drop the cc_defaults module for libdexfile_external_static users.\n\nIt won\u0027t work in SDK snapshots (b/169779783).\n\nThis means external dependencies (libbase, liblog, libz, libziparchive)\nare included as whole_static_libs, as before\nhttps://r.android.com/1435792, even if that may lead to duplicated code\nin depending modules. We cannot let them depend on those libraries\nseparately without better tools to avoid version conflicts.\n\nTest: atest --host art_libdexfile_external_static_tests\nBug: 142944931\nBug: 169885605\nChange-Id: I9fc176dd798ce64cbb806905e665bc03c247fddb\n"
    },
    {
      "commit": "71f7affff661a9f48afae25e19fcd3b9e82dac33",
      "tree": "0c39fae9b425703b0c05f7fdf70dc4e330bdbbbf",
      "parents": [
        "4904d5d65de32237790e5370bd076a9bccc22aa1"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Sep 15 16:45:49 2020 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Oct 05 11:41:52 2020 +0000"
      },
      "message": "Use prebuilt_visibility property on sdk/module_exports\n\nWhen the ART sdk/module_exports snapshots are unpacked in a prebuilts\ndirectory they need some additional visibility rules to be added to\nensure that the prebuilts are visible to each other. Previously, those\nwere added on a case by case basis to the individual modules. This\nchange replaces them by using the prebuilt_visibility property that\nspecifies additional visibility rules to be added to all prebuilt\nmodules in the snapshots.\n\nCurrently, the additional visibility added to the prebuilts makes them\nvisible to anything in //prebuilts or beneath which is not restrictive\nenough. Specifying the rule in a single place will make that easier to\nrestrict in future.\n\nBug: 155921753\nBug: 168301990\nTest: build sdk/snapshot, install them in prebuilts/module_sdk/art\n      and run m nothing to ensure the visibility rules are valid.\nChange-Id: I751ed6d488038214ac9df35849babe69a3c79a31\n"
    },
    {
      "commit": "01aaf0f0fdaf641013d3cec24a2c9bd2186fa5a7",
      "tree": "68149e4f65b3644cbae0a81b0eafc9c7de96aca8",
      "parents": [
        "7f8a7f29f07886d1008dfc26d43617e79965447c"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Sep 24 02:18:34 2020 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 01 12:45:09 2020 +0000"
      },
      "message": "Fix fake output from C header test to pass Tradefed scrutiny.\n\nAlso fixed stale test name in TEST_MAPPING.\n\nTest: atest --host art_libdexfile_external_tests\nBug: 120978655\nChange-Id: Ia07a786733e1c8fbdf3f6185763d159d61b267d0\n"
    },
    {
      "commit": "35f765b9c66a9d999d35afd54c693f8636d0a7ee",
      "tree": "4e51043f9d638c0d861022291ef80d126fb96e0d",
      "parents": [
        "a28438ab47e8e41599fa6b2343f8a6a21efa0116"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Sep 23 00:38:38 2020 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon Sep 28 10:13:56 2020 +0000"
      },
      "message": "Link all internal libraries statically into dex2oat(d) on host.\n\nAll static defaults had to change to whole_static_libs to work with the\nnew libdex2oat(d)_static libraries, so that they don\u0027t lose all symbols\nin the static_libs dependency from the dex2oat(d) binaries.\n\nThe static unstripped dex2oat binary is 348 MB, 35 MB smaller than the\nsum of the dynamic binary + DSO\u0027s.\n\nTest: art/build/apex/runtests.sh\nTest: runtests in device chroot\nTest: art/test/testrunner/run_build_test_target.py art-test\nTest: readelf -d out/host/linux-x86/bin/dex2oat(d)\n  Check that NEEDED only lists system libraries (libdl, libpthread,\n  libm, librt, libgcc_s, libc).\nBug: 145934348\nChange-Id: I7abcf1db9b053f71ced6a7dde38ab1b4300b7b5a\n"
    },
    {
      "commit": "68e5db56dadbc0e558c16696aa48a80695ccbfbc",
      "tree": "3e885cc60324c729d66730126a82d53baea9a9ff",
      "parents": [
        "b2568693d783d53aa80f71fde4715995a1f695cc"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Sep 23 20:43:56 2020 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Sep 25 12:46:29 2020 +0000"
      },
      "message": "Convert libdexfile_support_static to *_static_defaults modules.\n\nIt has been using whole_static_libs to propagate static library\ndependencies transitively, but that can lead to duplicate instances of\nthem. Instead provide libdexfile(d)_support_static_defaults that\ncollect dependencies just like elsewhere in ART.\n\nExternal packages (read simpleperf) that depend on static libdexfile\nare provided a separate libdexfile_external_static library. It only\ncontains the internal dependencies and have a corresponding\n*_static_defaults for the external ones, and hence shouldn\u0027t be used\ninternally.\n\nTest: flash \u0026 boot\nTest: art/build/apex/runtests.sh\nTest: art/tools/buildbot-build.sh {--host,--target}\nTest: m build-art-target-golem\nTest: atest --host art_libdexfile_support_tests \\\n  art_libdexfile_support_static_tests \\\n  art_libdexfile_external_static_tests\nBug: 145934348\nBug: 142944931\nChange-Id: Ic99eebccc5c63acb55f323611c6b6f50a83eba5a\n"
    },
    {
      "commit": "e1d2dce0cda2d223ac9c4e48958b9d5810e3e987",
      "tree": "3b9a664710cad714ad2ee1f9fec60908408aa23f",
      "parents": [
        "9dfb1a9d642b9eb627895ef3364736fc839b4fe4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 21 10:06:31 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Sep 23 08:12:33 2020 +0000"
      },
      "message": "Add support for compact dex files in nterp.\n\nTest: test.py\nBug: 112676029\nChange-Id: I604af166dab0647037bf675cabc6ce433053a83c\n"
    },
    {
      "commit": "26ab270882523210c44bf156211283936471bbf6",
      "tree": "3ae1cb1d37a5e4facc39443f3ccbe76f3b486460",
      "parents": [
        "5880c77e9153b953952507cb924ce3ee8511e084"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jul 29 09:54:10 2020 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jul 29 09:57:28 2020 +0100"
      },
      "message": "A few more inclusive language updates based on newer wordlist\n\nBased on:\n  https://source.android.com/setup/contribute/respectful-code\n\n#inclusivefixit\n\nBug: 161336379\nBug: 161896447\nTest: art/test.py --host --64\nChange-Id: I7e6362556136ce1a3085fffae7598104fa5bc56a\n"
    },
    {
      "commit": "8ebd86ea2ea9eac96d48db88c65364d56ff3b8ab",
      "tree": "8d4009c204136af090ec904a35168572b06c1b1a",
      "parents": [
        "07f78906212edb684b3bf046d1bb661613f81c22"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 27 12:49:24 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 27 14:50:45 2020 +0000"
      },
      "message": "Replace \"dummy\" in libartbase/, libdexfile/, compiler/.\n\nTest: m test-art-host-gtest\nBug: 161336379\nChange-Id: I5335b28b1f66cdec39500563385bda99c580454d\n"
    },
    {
      "commit": "2d53643ca0e05e7c67894aa75eba899acbb9f287",
      "tree": "39299475c04303312f527bc00355bd9fd7a3fad8",
      "parents": [
        "cefebc86af30522bf79d2a89a2bcf96f7f970ecb"
      ],
      "author": {
        "name": "Ian Pedowitz",
        "email": "ijpedowitz@google.com",
        "time": "Wed Jul 22 14:33:00 2020 -0700"
      },
      "committer": {
        "name": "Ian Pedowitz",
        "email": "ijpedowitz@google.com",
        "time": "Fri Jul 24 00:41:56 2020 +0000"
      },
      "message": "Update language to comply with Android’s inclusive language guidance\n\nSee https://source.android.com/setup/contribute/respectful-code for\nreference\n\nBug: 161896447\nBug: 161850439\nBug: 161336379\nTest: m -j checkbuild cts docs tests\nChange-Id: I32d869c274a5d9a3dac63221e25874fe685d38c4\n"
    },
    {
      "commit": "c2208272f24e921b808af53721d2ca821d76503c",
      "tree": "924a1ca0e42c8a59947c4c86e5d26ac4f9d8d71b",
      "parents": [
        "50a454b23485ceb8fe37e102abc0e41e2857876a"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 23 11:04:39 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 23 14:15:33 2020 +0000"
      },
      "message": "Replace \"dummy\" with \"fake\" in some tests.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing -t 004-JniTest\nBug: 161336379\nChange-Id: Ifab653fbf66af8ea3bd4a35ca116c7cc91be51bd\n"
    },
    {
      "commit": "c40b151f771fd84d929fe8f7a63f42a0be188f93",
      "tree": "c321535e02fb3458852f88b00ac883bddd63b506",
      "parents": [
        "22872da653053bb4b86fbef67163a9f6b7aee25b"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jun 26 13:28:12 2020 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jun 26 18:35:27 2020 +0000"
      },
      "message": "Use `constexpr` for more constants in `libdexfile/dex/dex_file.h`.\n\nUse `static constexpr` instead of `static const` for more constants in\nthis file, to avoid missing definition issues in some compilation\nsetups, like ART code coverage build configurations.\n\nTest: build/soong/soong_ui.bash --make-mode \\\n        TARGET_PRODUCT\u003daosp_cf_x86_phone \\\n        TARGET_BUILD_VARIANT\u003duserdebug \\\n        EMMA_INSTRUMENT\u003dtrue EMMA_INSTRUMENT_FRAMEWORK\u003dtrue \\\n        JAVA_COVERAGE_PATHS\u003dart \\\n        CLANG_COVERAGE\u003dtrue NATIVE_COVERAGE_PATHS\u003dart \\\n        com.android.art.debug\nBug: 152402333\nChange-Id: Ib9da1a9043b71d56673fcec7e9dab4718310e254\n"
    },
    {
      "commit": "1cf46a3342d8821fcdb700ada24ac272e85a2a39",
      "tree": "1357357f0bb79433672883c6949fdd86b896b256",
      "parents": [
        "842e9c8c0affaff5253de233974c63ba7ba7f8b4"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Jun 22 15:39:00 2020 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 24 19:45:23 2020 +0000"
      },
      "message": "Copy tools needed by host gtests to testcases directory.\n\nAtest requires that everything is in the testcases directory.\nThe files are not used yet (this is left to follow-up CLs).\n\nBug: 147819342\nTest: check the generated general-tests.zip (\"m general-tests\")\nChange-Id: Ied22a736e81a7cff03641d18bacd829b86a6ef0b\n"
    },
    {
      "commit": "9974e3cdc1564edc3143b90d7bb2a416f1f887e7",
      "tree": "4f9746e6b237b2a17cc1e2543a141817d4946c19",
      "parents": [
        "2d19902c3d140c7b9b1d7ae905bd1023a4e649a1"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jun 10 16:27:06 2020 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jun 11 10:06:12 2020 +0000"
      },
      "message": "Clean up generated operator\u003c\u003c(os, enum).\n\nPass enums by value instead of const reference.\n\nDo not generate operator\u003c\u003c sources for headers that have no\nenums or no declarations of operator\u003c\u003c. Do not define the\noperator\u003c\u003c for flag enums; these were unused anyway.\n\nAdd generated operator\u003c\u003c for some enums in nodes.h . Change\nthe operator\u003c\u003c for ComparisonBias so that the graph\nvisualizer can use it but do not use the generated\noperator\u003c\u003c yet as that would require changing checker tests.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nChange-Id: Ifd4c455c2fa921a9668c966a13068d43b9c6e173\n"
    },
    {
      "commit": "3255f5034ff7c27d22c47b4101abc04fb6c86913",
      "tree": "856b41be4d56e4c6c3681407408ae2de5c10c936",
      "parents": [
        "0e6d73a65e577e6416ee68490ca19ca3123f7fc6"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Thu Jun 04 16:29:36 2020 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 11 02:20:35 2020 +0000"
      },
      "message": "Fix visibility rules now that Make supports visibility checks\n\nPreviously, Soong visibility rules did not affect Make modules. Now\nthese checks have been implemented in:\n\nhttps://android-review.googlesource.com/c/platform/build/+/1324454\n\nSo this fixes the visibility rules to include modules that were\npreviously using libdexfile_support_static.\n\nBug: 158599308\nTest: treehugger\nChange-Id: I9f73d61036f6013e43d6c26ba29ed952e0a17a56\n"
    },
    {
      "commit": "128f14b83004ce86ad388c6c472e660be92868d3",
      "tree": "01d126e859a99cf8051ae4906f43d166c11865f9",
      "parents": [
        "6355d6932a9e8267b3025f4061583f5610e64e54"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 01 19:12:13 2020 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 01 19:14:15 2020 -0700"
      },
      "message": "Prevent DCHECK failure for failure_reason_ being non empty\n\nFix an issue where invalid method handles would cause DCHECK failures\nin dex2oat due to not exiting the loop and possibly having other\nerrors.\n\nTODO: Find a way to add test.\n\nBug: 157139051\nTest: compile a problematic APK with dex2oat\nChange-Id: Ib987efb1bbb7fc5c1d86df2862e0d2b67d8509d9\n"
    },
    {
      "commit": "1c993cd041b3ac6a52dffae11e341759fe71e01f",
      "tree": "777e2766e457b6f149618d117bd7678e0fe53698",
      "parents": [
        "4a88a5af7417d9dc0bfe37cffd92a253531c8f30"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu May 28 09:30:06 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 29 13:14:25 2020 +0000"
      },
      "message": "Revert^2 \"Throw ClassFormatError for unsupported default methods.\"\n\nThis reverts commit 09261a8c5cd36a8c7a1ae5107da554dd35008b97.\n\nFixed redefine-stress failures. Worked around CTS failures\nby reducing the cases where we throw the ClassFormatError.\n\nTest: 180-native-default-method.\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: aosp_taimen-userdebug boots.\nTest: testrunner.py --host --optimizing --redefine-stress \\\n      --debug --debugggable --cdex-fast\nTest: cts-tradefed run cts --m vm-tests-tf\nBug: 157170505\nBug: 157718952\nChange-Id: I95264af9041836fd6bc54e85263e2a405e877d30\n"
    },
    {
      "commit": "4a88a5af7417d9dc0bfe37cffd92a253531c8f30",
      "tree": "6a0496ac10c62f8d183265a9d9615d5778a8c444",
      "parents": [
        "ffffa9c4e18e233db7b0f5eb31d07d8a52d527e4"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue May 05 16:21:57 2020 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri May 29 11:51:26 2020 +0000"
      },
      "message": "Finish move of jar compilation rules from makefile to soong.\n\nThe rules have already been previously ported to soong, but they were\nonly used for atest.  Always use them to simplify the makefile.\n\nThis makes the gtest modules in .bp files depend on the needed jars,\nwhich ensures that they will be copied next to the test binary.\nThis is needed as atest can not access them in the current location.\n\nIt also simplifies the tradefed xml since the manual copying\ncan be removed for the apex-based device testing.\n\nTest: test-art-host-gtest\nTest: atest ArtGtestsTarget\nBug: 147819342\nChange-Id: I54d92eca88fc04c949209d490e838d0a92ce8f87\n"
    },
    {
      "commit": "b1c8e161a1f216f48e28c8bcd5a6b26752c7e2a0",
      "tree": "5f97c683540e440d3a33948b06c267dccbe1b7b6",
      "parents": [
        "daee51f893902526b191b3a3c5dd179b1964a352"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon May 18 19:04:42 2020 +0900"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 19 00:58:00 2020 +0000"
      },
      "message": "Dynamically link to libz\n\nlibz will be a stub providing library, which means it has stable API\nsurface that Mainline modules can depend on. APEXes including the\nruntime APEX don\u0027t need to statically link to it; it will just increase\nthe size of the APEX. With ag/11420260 this is even prohibited.\n\nThis change changes the static linkings to libz to dynamic linkings.\n\nBug: 155456180\nTest: m\nChange-Id: Ic6a38909241c8f851bf299130542bc323a0ff2ef\n"
    },
    {
      "commit": "883c1346b87537ed93f7d4fd88bbbb041c14d320",
      "tree": "efb8205d15d677d3e3fdf90f0ae09c4a2eba9a4f",
      "parents": [
        "612809740453427ce4c9211062794dde3823ab6d"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon May 11 23:30:29 2020 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri May 15 18:06:16 2020 +0100"
      },
      "message": "Revert^2 \"Remove test_per_src from ART tests.\"\n\nSecond attempt at this, which fixes the asan failures.\n\nRemove test_per_src since it is not supported by atest.\nReplace it with gtest_isolate which is transparent to atest,\nand which still allows us to run tests in parallel.\n\nThe size of test binaries halves (from 1GB to 0.5GB).\nTest run-time on host is unchanged.\nTest run-time on target is 4x faster (tested on walleye).\n\nAdded a gtest_main.cc with the gtest isolated main function,\nand ART-specific initialization.\n\nBug: 147819342\n\nTest: m test-art-host-gtest\nTest: art/tools/run-gtests.sh\nTest: art/test/testrunner/run_build_test_target.py art-gtest-asan\nChange-Id: I515c911bb7d44285495802fc66cd732fc8e6d8df\n"
    },
    {
      "commit": "75b961a4cd926e647eb20ebf20ec5af410f7e1df",
      "tree": "4c83c209ca826494c440dedf1815217721e4439b",
      "parents": [
        "3a079094a2b92a8dce725848d28abd5de7a84e9f"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu May 07 01:45:27 2020 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon May 11 08:55:41 2020 +0000"
      },
      "message": "Add visibilities for prebuilts.\n\nThese visibilities are intentionally blunt, to allow the prebuilts to\nmove around for now.\n\nMany of these visibilities may also go away completely again if the\nexported binaries are changed to compile internal ART libraries\nstatically.\n\nTest: v\n  1. build/soong/scripts/build-aml-prebuilts.sh art-module-sdk \\\n     art-module-test-exports conscrypt-module-sdk \\\n     conscrypt-module-test-exports conscrypt-module-host-exports \\\n     art-module-host-exports\n  2. Unzip out/aml/soong/mainline-sdks/*.zip into separate\n     subdirectories under prebuilts/runtime\n  3. env SOONG_ALLOW_MISSING_DEPENDENCIES\u003dtrue m nothing\n     (together with the topic of https://r.android.com/1252167)\nBug: 155921753\nChange-Id: Id8bbc8aedb0b87e30e9cf3d2a9f34b33cb71756c\n"
    },
    {
      "commit": "fc5e2ef08c78bcf4a60c5097ff3a7fa80e358522",
      "tree": "4c1d538f5faf72617e9088b8f99a368b999b32dd",
      "parents": [
        "685c84775f7dfe23197b080e4730435fd80e6d27"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri May 08 00:08:42 2020 +0000"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri May 08 07:25:07 2020 +0000"
      },
      "message": "Revert \"Remove test_per_src from ART tests.\"\n\nThis reverts commit 8103e479d8f8447584582b2b70752029f7087776.\n\nReason for revert: asan run fails in multiple ways\n\nTest: ran ./art/test/testrunner/run_build_test_target.py art-gtest-asan\nChange-Id: Ib9f2887436a664b64c6410f56a25ae2dd0e0aab4\n"
    },
    {
      "commit": "8103e479d8f8447584582b2b70752029f7087776",
      "tree": "53b2be70d195b785fc1d79b6151e42925b4981fe",
      "parents": [
        "6a8f8c52da06de506b75fa524a56a30794849261"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Apr 28 21:36:49 2020 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu May 07 14:45:38 2020 +0100"
      },
      "message": "Remove test_per_src from ART tests.\n\nRemove test_per_src since it is not supported by atest.\nReplace it with gtest_isolate which is transparent to atest,\nand which still allows us to run tests in parallel.\n\nThe size of test binaries halves (from 1GB to 0.5GB).\nTest run-time on host is unchanged.\nTest run-time on target is 4x faster (tested on walleye).\n\nBug: 147819342\nTest: m test-art-host-gtest\nTest: art/tools/run-gtests.sh\nChange-Id: Id295af00d08b24baa2e421b0f3313df0b2e56fe9\n"
    },
    {
      "commit": "71f661c294156f2ebe10600368a23a35d882c67b",
      "tree": "92f830a0ffe7e266a2182bac8dcb3fd4d6ba9c55",
      "parents": [
        "0c66e678a0562846449a424e297211a1aa70694d"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Tue Apr 28 18:20:43 2020 +0900"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 04 12:18:30 2020 +0000"
      },
      "message": "Set apex_available property\n\nThe marked library(ies) were available to the APEXes via the\nhand-written whitelist in build/soong/apex/apex.go. Trying to remove the\nwhitelist by adding apex_available property to the Android.bp of the\nlibraries.\n\nBug: 150999716\nTest: m\nMerged-In: Ie9a693be10c6c6571c8aa5357500f5d931400593\n(cherry picked from commit 0f152391c0458d3d1cce04a11bc92e7234955d6f)\nChange-Id: Ie9a693be10c6c6571c8aa5357500f5d931400593\n"
    },
    {
      "commit": "80892049dfcfafc41338d48f18cf148019a53dde",
      "tree": "1a80248fba41906e936731c2e820991c99e78e15",
      "parents": [
        "5eee73ba273a21d514dc8a40294d30a2774eb2a0"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Apr 21 00:39:00 2020 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 22 16:54:25 2020 +0000"
      },
      "message": "Use runtime_libs for the libdexfile_external dependency from\nlibdexfile_support.\n\nIt\u0027s a better specified dependency, and in particular it makes\nlinkerconfig pick it up and autogenerate the necessary links to the\ncom_android_art namespace where libdexfile_support is used.\n\nTest: Build and boot, then check that\n  /linkerconfig/com.android.runtime/ld.config.txt contains\n  \"namespace.default.link.com_android_art.shared_libs \u003d\n  libdexfile_external.so\", which is necessary for\n  /apex/com.android.runtime/bin/crash_dump{32,64} to find it.\nBug: 153996928\nChange-Id: Ia56d7b85512369b0d642354c92540ba94c1debb1\n"
    },
    {
      "commit": "f48a705f257d9352bb38ddc5db737aa45fb69ca4",
      "tree": "fddd6a23682e814115bc1e103deaa9c3b11787f2",
      "parents": [
        "63ba6477e76278d949f382e9babb146b13732878"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Apr 21 09:45:57 2020 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Apr 21 12:06:50 2020 +0100"
      },
      "message": "Minor error reporting clean up in DexFileVerifier.\n\nTest: m\nChange-Id: If768098425d626ecac664531f1a532cf0d40e6d6\n"
    },
    {
      "commit": "63ba6477e76278d949f382e9babb146b13732878",
      "tree": "7bcaeb4679ee2cf2ef2c69fa9db173aa50f0bf3c",
      "parents": [
        "050e2153774fa3d58c1c47dbb6fbdb437bd58229"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Apr 15 15:35:16 2020 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Apr 21 10:38:10 2020 +0000"
      },
      "message": "Faster dex file verification.\n\nSpeed up DexFileVerifier by introducing a \"map\" from type\nindex to class definition index, implemented as vector\u003c\u003e.\n\nRefactor the verification for correctness, moving checks\nagainst the header into the CheckIntraSection() phase and\nchecks that rely on other sections to CheckInterSection().\nThis also allows us to remove some unnecessary checks in\nthe latter phase.\n\nImproves the \"OpenDexFile\" time from --dump-timings output\nby over 2x for one tested huge apk.\n\n(cherry picked from commit eae30815293d9cacb4bf9f48d7dfdce8a436b426)\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing.\nBug: 153966283\nMerged-In: Iae423b8f463648360276130c8b21ab6057cf73a7\nChange-Id: Ie5a525bd1975c39e014c86b4386d5402c8bef420\n"
    },
    {
      "commit": "07c3da75fa4379497e15a371ffd40e54b97b0877",
      "tree": "7ac5b6f63f3f4db5d7e48439a936e1684a922b2a",
      "parents": [
        "76bc8333d6255897a0dcab9705b13dc5b6439012"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Mar 31 16:29:49 2020 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Apr 16 12:44:34 2020 +0100"
      },
      "message": "Reland \"Remove platform availability from internal libs that make up\nlibdexfile_support_static.\"\n\nReland of https://r.android.com/1273016 after fixing internal branch in\nag/11063995.\n\ninit and debuggerd no longer depends on libunwindstack with DEX support\n(https://r.android.com/1149620), and with the fix for NOTICE targets on\nstatic libs (https://r.android.com/1274763) it is not needed for\nsimpleperf_ndk either.\n\nTest: Build \u0026 boot\nTest:\n  $ m libdexfile libartbase libartpalette\n  $ find out/target/product/*/system -name libdexfile.so -o -name libartbase.so -o -name libartpalette.so\n  (no hits found)\nBug: 151466650\nBug: 142944931\nBug: 154165728\nChange-Id: I5be00be19f3b9719e220c655aa25581d28c47245\n"
    },
    {
      "commit": "02e6a6ffa2ea384e13d179f237fb329b0b495682",
      "tree": "d0ff9a95a6988beda4177db727eccf192b5e4660",
      "parents": [
        "030f548d006b8f2d819d7a62cc8ebd8fe08c6483"
      ],
      "author": {
        "name": "Ady Abraham",
        "email": "adyabr@google.com",
        "time": "Thu Apr 16 00:21:57 2020 +0000"
      },
      "committer": {
        "name": "Ady Abraham",
        "email": "adyabr@google.com",
        "time": "Thu Apr 16 00:21:57 2020 +0000"
      },
      "message": "Revert \"Remove platform availability from internal libs that make up\"\n\nThis reverts commit 030f548d006b8f2d819d7a62cc8ebd8fe08c6483.\n\nReason for revert: Droidcop: Potential culprit for b/154165728 - verifying through Forrest before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.\n\nChange-Id: Id1faeba61ff1ba667fc36d14547d8d99a392ba73\n"
    },
    {
      "commit": "030f548d006b8f2d819d7a62cc8ebd8fe08c6483",
      "tree": "9e005fdd44d19142b659dec3d200c1223fe05514",
      "parents": [
        "72d7e965f8f70d79fa1c4d5f09ae59652c9c24de"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Mar 31 16:29:49 2020 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 15 23:01:07 2020 +0000"
      },
      "message": "Remove platform availability from internal libs that make up\nlibdexfile_support_static.\n\ninit and debuggerd no longer depends on libunwindstack with DEX support\n(https://r.android.com/1149620), and with the fix for NOTICE targets on\nstatic libs (https://r.android.com/1274763) it is not needed for\nsimpleperf_ndk either.\n\nTest: Build \u0026 boot\nTest:\n  $ m libdexfile libartbase libartpalette\n  $ find out/target/product/*/system -name libdexfile.so -o -name libartbase.so -o -name libartpalette.so\n  (no hits found)\nBug: 151466650\nBug: 142944931\nChange-Id: I159f6180bdbd8d50e2cb8d32049cc283f0a04467\n"
    },
    {
      "commit": "e778fa6ead79e9cb26810d484c5a594e9612de9b",
      "tree": "f615de89eff741c5bb2c4ea8d04ccd097223092f",
      "parents": [
        "27d2bfc603a7e25ec6132ab598ecb3319f089e03"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Apr 07 17:52:16 2020 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Apr 14 08:25:40 2020 +0000"
      },
      "message": "Reduce cache memory use of libdexfile.\n\nIt is excessive to cache all methods of all open dex files.\n\nCache only methods that have been looked up by dex offset.\nCreate class lookup table to keep method lookup efficient\n(linear search, but only within the methods of the class).\n\nThis reduces memory use by over 10x.\n\nBug: 152976928\nTest: ./art/test.py -r -b --host -t 137\nTest: libunwindstack_unit_test\nChange-Id: I0aee3d9a1060bf254b156836c428a17e6f1ee70c\n"
    },
    {
      "commit": "00cb81d29a9a903aa5f72e28492415ff7b2d7f06",
      "tree": "221d2e9afa762ffeb1700d5d674c7868855495b2",
      "parents": [
        "4b79ef49dce84b8e4c08d25b73411329fc6a0d55"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Apr 03 06:47:07 2020 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Apr 07 14:01:36 2020 +0000"
      },
      "message": "Add explicit dependencies on jni_headers\n\nBug: 152482542\nTest: lunch aosp_x86_64 \u0026\u0026 m checkbuild\nChange-Id: I1859a5b15d7e1a4939968908d862d27b2345acc4\n"
    },
    {
      "commit": "842555d72ee7511c193a65f34841cc92170a1850",
      "tree": "e93fce2220a98512537c87cac7c126cbc360199e",
      "parents": [
        "e78ff3d25bd13178dcaffbb4ab17e2709043c5e3"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon Mar 23 14:38:47 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 25 12:22:51 2020 +0000"
      },
      "message": "Add test mapping to run some libdexfile tests at presubmit.\n\nNeed to restrict tests to host since ART gtest support isn\u0027t\nimplemented for device yet.\n\nThe only reason art_libdexfile_tests isn\u0027t included here is that\ntest_per_src makes it necessary to name each source file individually.\n\nTest: atest -p art/libdexfile/TEST_MAPPING\nBug: 147819342\nBug: 152376507\nChange-Id: I61cb72dca6767bb4c7211ef0b6a5b608d7f43a40\n"
    },
    {
      "commit": "2d18719c47854cee595ea3b9b9817db9ba76c9a7",
      "tree": "58d8499460b4645a71fa932b7d70ceac12e559ca",
      "parents": [
        "29e62c32ba76492bc90f58c8281bace32c2110f8"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Oct 23 21:52:29 2019 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon Mar 23 20:15:11 2020 +0000"
      },
      "message": "Remove access to internal dex libs for com.android.runtime.\n\nTest: Build \u0026 boot\nBug: 142944931\nBug: 151466650\nChange-Id: I2844d372c0d46ec8dffcbad1812a6ea944c6fe9c\n"
    },
    {
      "commit": "27374d986b60119efd1174f666f4397ceb6f7bb2",
      "tree": "99d504fee8cd37f6d1798431c6f87f900353047e",
      "parents": [
        "521644beb8f0a100b08a4cfb91c6aafb469925aa"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Mar 19 20:15:46 2020 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Mar 23 18:19:57 2020 +0000"
      },
      "message": "Add new dex file support constructor.\n\nThe requirement of an r-value for the DexFile constructor made it\nhard to use and required a bunch of std::move calls.\n\nAdd a constructor that takes a unique_ptr instead.\n\nBug: 151966190\n\nTest: Build and run art_libdexfile_support_static_tests.\nChange-Id: Ie6711be8efce62f591814512f796605e20e1ac89\n"
    },
    {
      "commit": "6e44830b65de39f5d20342109f7cbc47e4624fe0",
      "tree": "42372667d930c57ef3384c1c4981fb5c1591ef8b",
      "parents": [
        "c76232ef401a036a9828fd27f22163619d9c1944"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Mar 20 12:00:47 2020 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Mar 20 12:20:06 2020 +0000"
      },
      "message": "Remove unnecessary vendor/recovery available from dexfile\n\nTest: m droid\nChange-Id: I040a70d390523d139b5e773640e1eab4bd3e8c5d\n"
    },
    {
      "commit": "310432e7c8b36a2d112376fb76369d4c2487763d",
      "tree": "ee844789b7f86c66e6877c6110c6376cb6fdd7a7",
      "parents": [
        "7f43595d5884497d874cfafe40030e9891b8d7d6"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Mar 04 10:58:29 2020 -0800"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Mar 05 18:25:57 2020 +0000"
      },
      "message": "Fix bugprone-macro-parentheses warnings\n\nBug: 150783705\nTest: WITH_TIDY\u003d1 make\nChange-Id: If8462783e9e15d46a48004285ced2a0e04d27b42\n"
    },
    {
      "commit": "7f43595d5884497d874cfafe40030e9891b8d7d6",
      "tree": "484130ed501630c4ad3fe5314bb05b9a15b3b792",
      "parents": [
        "d6b07c53088f3b9a75a5df4b3128b7497c7a70e4"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Mar 04 15:40:34 2020 -0800"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Mar 05 18:18:13 2020 +0000"
      },
      "message": "Fix/suppress bugprone-use-after-move warnings\n\nBug: 150783499\nTest: WITH_TIDY\u003d1 make\nChange-Id: I7278ce52e0f1a82ab8f7b0cf0bf346b55da829f8\n"
    },
    {
      "commit": "7c2f69e42e5347820ada07c88de5a79f355c61be",
      "tree": "0d9e2ab31ca9fcb716d6c3283bd6a83f32dc39d5",
      "parents": [
        "7eca3779b7e3652565265b424a85ae329887c32d"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Jan 15 15:43:32 2020 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Feb 06 22:56:04 2020 +0000"
      },
      "message": "apex_available becomes more correct\n\nPreviously, Soong didn\u0027t follow the static dependencies when checking\napex_available. As a result, a module that is not available to an APEX\n(or to the platform) was able to be statically linked from the APEX (or\nthe platform).\n\nAs the Soong bug is fixed, unchecked dependencies have revealed and this\nchange reflects the finding.\n\nExempt-From-Owner-Approval: cherry-pick from internal\n\nBug: 147671264\nTest: m\nMerged-In: I6d9dbe31a8d46d26a4925462edd1984281bd203a\n(cherry picked from commit a24189de28d3dc078ffe3e694816859bce9ce730)\nChange-Id: I6d9dbe31a8d46d26a4925462edd1984281bd203a\n"
    },
    {
      "commit": "6ef7713cf58629f8c5edce8554a1b60fbfdd1de2",
      "tree": "4c17a77fffa9bef0322de5f5c770daef01b0e49a",
      "parents": [
        "21c5b6a410c567ccbb7e8ea066f1c4ba954f01a2"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jan 21 13:52:11 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jan 21 14:17:48 2020 +0000"
      },
      "message": "Remove dead code related to profile collection.\n\nThis code had been dead since\n    https://android-review.googlesource.com/411660 .\n\nTest: m\nChange-Id: I17440d80971bb14ec062ed8b982b9cdd70383efb\n"
    },
    {
      "commit": "066dd902930582873e7d9372ac0c8483ac700cb9",
      "tree": "f3a0b47419fea78001faea017ba04e630e82fd2e",
      "parents": [
        "fb537087516e34e92e3c030ef2f7fc8b233d7a47"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Dec 19 02:11:59 2019 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 20 01:17:37 2019 +0000"
      },
      "message": "Revert submission 1194828-revert-1191937-art_apex_available-DWXQGTKMAR\n\nReason for revert: relanding with fix\nReverted Changes:\nIc4119368c:Revert submission 1191937-art_apex_available\nIa084976bb:Revert submission 1191937-art_apex_available\nIada86226d:Revert submission 1191937-art_apex_available\nIc76735eac:Revert submission 1191937-art_apex_available\nI1eb30e355:Revert submission 1191937-art_apex_available\nIcaf95d260:Revert submission 1191937-art_apex_available\nIe8bace4be:Revert submission 1191937-art_apex_available\nI8961702cf:Revert submission 1191937-art_apex_available\nI39316f9ef:Revert submission 1191937-art_apex_available\nI522a7e83b:Revert submission 1191937-art_apex_available\nI8b9424976:Revert submission 1191937-art_apex_available\nI48b998629:Revert submission 1191937-art_apex_available\n\nChange-Id: I7a101d39ff63c153675e4e741f9de1a15a778d33\n"
    },
    {
      "commit": "80599a28d1c865de7644a87111f49ee3b30f7c41",
      "tree": "e56dcf999630a752cd955a06c7f4c00b7add290b",
      "parents": [
        "1e88f980a85056165312331746862dc48186bc54"
      ],
      "author": {
        "name": "Joseph Murphy",
        "email": "murj@google.com",
        "time": "Thu Dec 19 01:06:54 2019 +0000"
      },
      "committer": {
        "name": "Joseph Murphy",
        "email": "murj@google.com",
        "time": "Thu Dec 19 01:06:54 2019 +0000"
      },
      "message": "Revert submission 1191937-art_apex_available\n\nOriginal Commit Message:\n\"\"\"\nRename modules that are APEX-only\n\nThe renamed modules are only available for APEXes, but not for the\nplatform. Use the \u003cmodule_name\u003e.\u003capex_name\u003e syntax to correctly install\nthe APEX variant of the modules.\n\"\"\"\n\nReason for revert: Build Cop - Breaks about 15 AOSP targets, with high confidence due to these changes being the only non-robot changes in those builds.\n\nReverted Changes:\nI190ce2d10:Use apex_available property\nI990e0a67e:Use apex_available property\nI0d1295683:Revert \"Avoid duplicated classes for boot dex jars...\nI5fb725403:Find the jar libraries in APEX from the correct pa...\nI322b1efcc:Rename modules that are APEX-only\nIfa2bd0f8f:Use apex_available property\nIac6533177:Use apex_available property\nIe999602c6:Use apex_available property\nI2a3d73397:Use apex_available property\nIc91bcbb9a:Use apex_available property\nIa6c324eed:Use apex_available property\nI964d0125c:Use apex_available property\n\nChange-Id: I1eb30e355cfce316b94cde0dd176002af8d222bb\n"
    },
    {
      "commit": "1e88f980a85056165312331746862dc48186bc54",
      "tree": "0cbeeaf951d6bd637a46f4f51faf80587f3ecc2b",
      "parents": [
        "c9af14e93f6a2691bf8231752d8d7c3e41b14c76"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Dec 02 13:44:06 2019 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Dec 19 00:21:38 2019 +0000"
      },
      "message": "Use apex_available property\n\nUse apex_available property to prevent modules that are only for the ART\napex from being used outside of the APEX.\n\nThis change also fixes the reference to\n$(TARGET_OUT_SHARED_LIBRARIES)/$(lib).so to $(lib).com.android.art.debug\nphony module since the former is never installed to the system partition\ndue to their \u0027apex_available\u0027 settings.\n\nBug: 128708192\nBug: 133140750\nTest: m\nChange-Id: I990e0a67e066d9b1dc221748422a2f44449258da\n"
    },
    {
      "commit": "0d38e8587c014e600bc6ee916aa15912c0ef190d",
      "tree": "45665cedc42762fe6134ad869e5e9329d1f90495",
      "parents": [
        "a697b477705d52983611ef76e0f74ea41f354e61"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Dec 11 09:37:19 2019 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Dec 16 16:59:31 2019 +0000"
      },
      "message": "Keep the debug_frame for some arm32 art libs.\n\nFor these libs:\n- libart.so\n- libartbase.so\n- libdexfile.so\n- libprofile.so\n\nNewer clangs have become much better at optimizing code, and the\narm exidx unwind information is insufficient to properly unwind. Do not\nremove the debug_frame when stripping. It is not that big in these\nlibraries, and it only adds about 350,000 bytes in total.\n\nBug: 145790995\n\nTest: Ran this with new clang: art/test/run-test --always-clean  --chroot /data/local/art-test-chroot -O --prebuild --compact-dex-level fast --interpreter --no-relocate --runtime-option -Xcheck:jni  137-cfi\nTest: Verified that the shared libraries built for arm64, x86, x86_64 versions\nTest: do not contain a .debug_frame but do contain symbol tables.\nChange-Id: I67c39333dc5fb3c7cb84324852682225ba5ad33e\n"
    },
    {
      "commit": "a00b54b74bee06c006b8bebfbef85e2801de293c",
      "tree": "6edb2a96c1f89ae913e6b5f190b117cb290239e8",
      "parents": [
        "e571a283b73fb4621c401811f523503b3266564b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 03 14:36:42 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 04 12:04:36 2019 +0000"
      },
      "message": "Helpers and refactorings to prepare for interpreter optimizations (x64)\n\n- Add data structure offsets that will be used in assembly code.\n- Be explicit about a stack overflow in a fault handler.\n- Move assembly helper code in asm_support so interpreter can use it.\n- Support putting literals in InterpreterCache.\n- Fix artHandleFillArrayDataFromCode for x64.\n\nBug: 119800099\nTest: test.py\nChange-Id: I2729f87fe5d09c04ae2e7081636f0cd89ac14c21\n"
    },
    {
      "commit": "c7c711bb7303586e66c8c0ce18a4cc8f9d5d904c",
      "tree": "e4e44b517c0c127e30efcca41dfafd0a10b27464",
      "parents": [
        "129d61b4c45ee2cf14a9ea964ec97bca1441b621"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Oct 31 15:23:56 2019 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Nov 06 07:42:38 2019 +0000"
      },
      "message": "Remove visibility exceptions for view_compiler\n\nBug: 133140750\nBug: 142948359\nTest: m\nChange-Id: I5919f20167e98e729c8b47c1130220697ab2e00a\n"
    }
  ],
  "next": "8b236fac816beb18e4919e2c4260da843257a4e3"
}
