)]}'
{
  "log": [
    {
      "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": "55ffe7fa9ead8b501a756bb53f2571e3e7602f5e",
      "tree": "c4f63e30679b3e11d65268e52bf7548416f26792",
      "parents": [
        "8bf1da992a15a79ae76bcf53e9a2909912fbe96a"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Jun 14 15:18:54 2021 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Jun 28 11:40:15 2021 +0000"
      },
      "message": "Rename some ART gtest related Soong modules.\n\nART gtests currently link with the debug (\"d\") versions of ART\nlibraries. The gtests themselves and their libraries are compiled as\ndebug artifacts. For the sake of consistency, perform the following\nrenaming of ART gtest related Soong modules:\n\n* `libart-compiler-gtest` -\u003e `libartd-compiler-gtest`\n* `libart-dex2oat-gtest`  -\u003e `libartd-dex2oat-gtest`\n* `libart-gtest-defaults` -\u003e `libartd-gtest-defaults`\n* `libart-gtest`          -\u003e `libartd-gtest`\n* `libart-runtime-gtest`  -\u003e `libartd-runtime-gtest`\n* `libartbase-art-gtest`  -\u003e `libartbased-art-gtest`\n\nAs we plan to introduce non-debug (\"non-d\"), standalone versions of\nART gtests in the context of uncoupling ART (target) gtests from the\nART APEX (b/162834439), this renaming will help us, as we\u0027ll be able\nto use the old names of a \"d\" module for the corresponding \"non-d\"\nversion.\n\nTest: mmma art\nTest: Run ART gtests on host and target\nTest: env OVERRIDE_TARGET_FLATTEN_APEX\u003dfalse art/build/apex/runtests.sh\nTest: env OVERRIDE_TARGET_FLATTEN_APEX\u003dtrue  art/build/apex/runtests.sh\nBug: b/162834439\nChange-Id: I4ca27a7f445a760398f41a9e60a7008d77294505\n"
    },
    {
      "commit": "6031ec1e5d916c3537dbbacb14bc16c6fff4bf3c",
      "tree": "b1de00d51735244272733237889077dd39571287",
      "parents": [
        "c8451cb4302e028d4e106c1a2a44749d5cb9bb31"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue May 25 22:08:59 2021 +0000"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Jun 03 18:29:57 2021 +0000"
      },
      "message": "Re-land \"Add 2040-huge-native-alloc test\"\n\nThis reverts commit c256028e1fb92b47c741db67b6bc8ca6995e6c1b.\n\nReason for revert: The underlying problem is fixed, and we need\nbetter testing.\n\nPS2 and later also contains the following change:\n\nMore aggressively notify the collector of native allocation, to account\nfor the fact that on host, only one notification in 384 is pass through,\nsince mallinfo is SLOW.\n\nThis version once again assumes that we sleep if necessary to allow the\ntriggered collection to both get started and complete.\n\nTest: Treehugger\nBug: 189150802\nBug: 189955496\n\nChange-Id: I2ec4ca9a37fa9dbd9c7d351208d3d5ca2d4ee5d4\n"
    },
    {
      "commit": "e3124d26d725a2b042b4409abfb30a39bb76794d",
      "tree": "6b5a0ccda438fd0c1c68ff995eb64bdad4f7eb08",
      "parents": [
        "3156695aa5a69e3ca27b5befcaf0934e7e62e9fb"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon May 24 17:41:34 2021 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue May 25 08:46:26 2021 +0100"
      },
      "message": "Add liblog to art_gtest_defaults\n\n(cherry picked from commit 5ca3da72385a8d0d847cedccfec023d1f40dc590)\n\nBug: 185256332\nBug: 188879721\nTest: TH\nMerged-In: Id1d9a618513c8f60cce25929b853f7c6f33e68c1\nChange-Id: I638562eeda92d47e23c2b8632cf48fe697289740\n"
    },
    {
      "commit": "fcc922a54093aea69c92a9b0fcf4b9a99e8a97a1",
      "tree": "73a31de5157804c674fe06bfbbc7d84c26222b7a",
      "parents": [
        "d42902692d1fbb101a3c60ba314df69005da9c83"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri May 21 11:32:33 2021 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon May 24 16:07:35 2021 +0000"
      },
      "message": "art: unbreak dalvikvm builds on host\n\nAdds liblog shared library dependency for host builds in a few places.\n\n(cherry picked from commit 69b282642746aa7e5304d561281aafbfad4aef36)\n\nBug: 188879721\nBug: 188067586\nTest: [master-art-internal] art/tools/buildbot-build.sh --host\nMerged-In: I102a8c8b5fe134047ac71fb940d063e2b1100630\nChange-Id: Ida196259a6061cc65e1c3593ae831d0ee75fe745\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": "053e1383c721b0a1c4f87b2d391ab392c64caf84",
      "tree": "d6698eaf3f64440b47c06e5d6f670be06cfcc80e",
      "parents": [
        "bcec38f7b7dc92d89ce9d49b8c1ba9afe87dab6b"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed May 05 16:07:27 2021 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon May 10 08:12:24 2021 +0000"
      },
      "message": "Link libvixl statically.\n\nInstead of including shared library libvixl.so in the ART\nModule, link libvixl statically to all binaries that use it,\nnamely libart-compiler.so and libart-disassembler.so which\nshall increase in size with the additional libvixl code.\n\nThe ART Module size with default libvixl symbol visibility:\n  - before: 88460730B\n  - after: 86973943B (-1.42MiB)\nWith hidden libvixl symbol visibility:\n  - before: 88337851B\n  - after: 84962808B (-3.22MiB)\n(This is with master-art where we do not have a boot\nprofile and therefore compile more code in boot image.)\nThe change from default to hidden visibility is done in\n    https://android-review.googlesource.com/1697237 .\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: run-gtests.sh\nTest: testrunner.py --target --optimizing\nBug: 186902856\nChange-Id: I040b0115b94b8690ee7be53e3ded8610d9f13e99\n"
    },
    {
      "commit": "c256028e1fb92b47c741db67b6bc8ca6995e6c1b",
      "tree": "67017de04066739dc1695153a26feec8c64c93e4",
      "parents": [
        "91d2c5c1d1157f27e723d8ebee458913c6f0ed43"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Sat May 08 00:26:05 2021 +0000"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Sun May 09 18:29:34 2021 +0000"
      },
      "message": "Revert \"Add 2040-huge-native-alloc test\"\n\nThis reverts commit be0d891ac881f0dc4a2650014433b0354f9d7593.\n\nReason for revert: b/187531176 . This is likely to start failing as a result of backing out a prior change.\n\nChange-Id: I5195bbfb0e251e27a4be03cb2d0ebb185fccdc12\n"
    },
    {
      "commit": "be0d891ac881f0dc4a2650014433b0354f9d7593",
      "tree": "cfea57d31fa90bb7490f6185c7efb26ebff46791",
      "parents": [
        "ab0b19fb9f6ab58fcd3094d381af29c89c7a6753"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue May 04 16:05:37 2021 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri May 07 18:54:37 2021 +0000"
      },
      "message": "Add 2040-huge-native-alloc test\n\nCheck that if we allocate more than a gigabyte of native memory and then\nrepeatedly notify the collector of native allocation, we temporarily\nblock the allocation for a reasonable amount of time to allow the GC to\ncatch up.\n\nWe previously had some coverage of this, but lost it when BigInteger\nmoved away from using native allocation.\n\nTest: Ran locally on host; TreeHugger.\nBug: 186592536\nChange-Id: Id7d120e00630e26bcdf396a80069c9cca7c00804\n"
    },
    {
      "commit": "7eedd447cb5a4904acf80123ef813a7b8dead9a2",
      "tree": "f122b251b6c711b187a8d8e3a7a011686d040707",
      "parents": [
        "6e1b7d85d9b86971885d13a464482e9f42870709"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu May 06 10:03:21 2021 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri May 07 00:40:54 2021 +0000"
      },
      "message": "Fix some tests to work in prebuilt ART module mode.\n\ntest_for registers dependencies on the APEX modules, so don\u0027t use it\nwhen they are disabled.\n\nTest: m nothing SOONG_CONFIG_art_module_source_build\u003dfalse\nTest: mmm art\nTest: art/tools/buildbot-build.sh\nBug: 172480615\nChange-Id: I67e25e80926054390ebd8ad4cf54da44afc71315\n"
    },
    {
      "commit": "0d0f8df5070dc6c6e5a5809d8a57e0212a1a5164",
      "tree": "fe0fc4815a3af6dfd5cd3e17a672362647c78af0",
      "parents": [
        "2207b7e7db463dfa96d071654c49268e22e8745f"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Apr 28 16:47:01 2021 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed May 05 12:07:48 2021 +0000"
      },
      "message": "In run tests, do not rely on loading native libs in the ART namespace\nwith an allow_all_shared_libs fallback to system.\n\nThe system and com_android_art namespaces need to be properly\nseparated, but run tests have relied on loading test libraries through\neither LD_LIBRARY_PATH or java.library.path without a clear separation.\nThat has worked through a combination of\nANDROID_ADDITIONAL_PUBLIC_LIBRARIES and fallback dlopen() calls that\nused the ART namespace.\n\nThis change introduces a new directory\n/data/nativetest(64)/com.android.art for test libraries that depend on\ninternal ART libraries. It\u0027s added with LD_LIBRARY_PATH to the default\nnamespace, which in the APEX linker config has full access to\ncom_android_art.\n\nNormal JNI libraries that don\u0027t depend on ART internals stay in\n/data/nativetest(64)/art/\u003carch\u003e. There should be no overlap between the\ntwo locations.\n\nA new environment variable NATIVELOADER_DEFAULT_NAMESPACE_LIBS is\nintroduced to list the libraries added through LD_LIBRARY_PATH, so\nlibnativeloader can link to them from classloader namespaces and in the\nfallback namespace when no classloader is specified.\n\nLike ANDROID_ADDITIONAL_PUBLIC_LIBRARIES,\nNATIVELOADER_DEFAULT_NAMESPACE_LIBS is only effective when\nro.debuggable is true.\n\nA new cc_defaults \"art_test_internal_library_defaults\" is added to\nAndroid.bp, to be used in libraries that should be installed in the new\ncom.android.art directory.\n\nSome run tests that are special and need more treatment are disabled\nfor now, to be addressed in b/186654484.\n\nTest: art/test/testrunner/testrunner.py --target --64 --optimizing\nTest: art/test/testrunner/testrunner.py --target --32 --jit\nTest: art/test/testrunner/testrunner.py --host --64 --optimizing\nBug: 130340935\nChange-Id: Iec640d5e22b46af2c1a4d375ce3f06c57b1d224e\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": "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": "af61f50d54574070b9a5b6647822c608cc92a9b3",
      "tree": "70f0cfa7092bbef6e68ed82fde19529894db5b96",
      "parents": [
        "efe9a3d20b49654cc70e7c15d9aec24d11e14c28"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 31 16:03:50 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Apr 01 08:33:53 2021 +0000"
      },
      "message": "Reland \"Change JNI behavior related to hiddenapi.\"\n\nThis reverts commit dbcf4a2a597309f33914fb60dc09e1056032794a.\n\nBug: 178680596\nBug: 122551864\nBug: 184067905\n\nReason for revert: Limit the lookup of an accessible interface to an\ninterface part of the SDK.\n\nChange-Id: If08269908044bc0f2abe1967b6d952b1e828179b\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": "dbcf4a2a597309f33914fb60dc09e1056032794a",
      "tree": "b01cf79b4fdf1df81193a255fd4a3ec98a952713",
      "parents": [
        "26095cda197448071fbbc6af126363de1b4e8b4c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 31 09:13:32 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 31 12:49:05 2021 +0000"
      },
      "message": "Revert \"Change JNI behavior related to hiddenapi.\"\n\nThis reverts commit 579db19af4f718c1aac5ca95c180a70c5114c6bd.\n\nBug: 178680596\nBug: 122551864\nBug: 184067905\n\nReason for revert: b/184067905\n\nChange-Id: I1c989b6d937b818e4779d7dd9f35abd30be2aa58\n"
    },
    {
      "commit": "579db19af4f718c1aac5ca95c180a70c5114c6bd",
      "tree": "6f01108583a4e8edf00b094d8f30d6348516d570",
      "parents": [
        "26a759688bdd376db7ed429ae07e136ff21f2411"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 29 16:50:37 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 30 13:16:32 2021 +0000"
      },
      "message": "Change JNI behavior related to hiddenapi.\n\nWhen resolving a method, if the found method is not accessible, check if\nthere are methods defined in interfaces which are.\n\nBug: 178680596\nBug: 122551864\nTest: 817-hiddenapi\nChange-Id: Ibca0960e93ee399718716395ff9ed1f1c4e246b2\n"
    },
    {
      "commit": "e017bb072ac577eee5413bd7e5e136f4eaf75908",
      "tree": "feabb3d266a72c7d03e6b7328b7252aa547cac97",
      "parents": [
        "d3d1a1a11626bd5198edb9242831c7b120652fbb"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Mar 17 10:55:25 2021 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Mar 18 21:42:21 2021 +0000"
      },
      "message": "Drop whole_static_libs for libasync_safe and clean up static linking of\nlibsigchain.\n\nwhole_static_libs is no longer necessary when libsigchain is a DSO, and\nthis avoids reexporting all the Bionic headers in the ART SDK.\n\nTest: build/soong/scripts/build-aml-prebuilts.sh art-module-sdk\n      unzip -v out/aml/soong/mainline-sdks/art-module-sdk-current.zip\n  Check that no Bionic headers are left.\nTest: m droid continuous_instrumentation_tests \\\n       continuous_instrumentation_tests_api_coverage \\\n       continuous_native_tests device-tests platform_tests\nBug: 142944043\nChange-Id: If0982e8bd72f74ed12c270361579e81101de3612\n"
    },
    {
      "commit": "90b26617d4229b645303f911ba00c228852c6a5d",
      "tree": "55585c8125242ec2e2d22917089509a76de54cab",
      "parents": [
        "93fc098b11a7cb5526049fb170bd833bf3fabcfd"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Mar 03 09:49:27 2021 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Mar 03 16:30:55 2021 +0000"
      },
      "message": "Generalize the defaults module for module source builds.\n\nIt is useful in other places, as a Soong counterpart to\nmy_art_module_source_build in Android.common_path.mk.\n\nTest: m nothing\nBug: 172480615\nChange-Id: I9c02006148c3958b2c3af0ce0e0ea172a8c1e4cd\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": "284e8b053d71c6ce66d6cd09b59f88dff5bd15ed",
      "tree": "6ea11da0c3bbd86ffa4d72fe1750b6e26d8cc93f",
      "parents": [
        "2558abeb7acd49b7de357ca43b0c34354c20a3a0"
      ],
      "author": {
        "name": "Kimberly Kreider",
        "email": "kkreider@google.com",
        "time": "Tue Dec 15 09:40:30 2020 -0800"
      },
      "committer": {
        "name": "Kimberly Kreider",
        "email": "kkreider@google.com",
        "time": "Thu Feb 11 18:13:45 2021 +0000"
      },
      "message": "Enable art MTS tests to generate android-mts-art as well as be included in android-mts.\n\nTest: build locally and verified contents.\nChange-Id: Iaffaa77fab13974242d576bb8133dcc4fb3f9454\nMerged-In: Iaffaa77fab13974242d576bb8133dcc4fb3f9454\nExempt-From-Owner-Approval: approved in internal branch.\n"
    },
    {
      "commit": "1a0e292b9bb60be76a666ca86046db1492a345d4",
      "tree": "5ba5d147ecb1733073e12ca040366aaa893d9d2f",
      "parents": [
        "f8567b535dcc4618f0ee76e5b8716d296681197b"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jan 12 13:57:42 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 13 14:05:16 2021 +0000"
      },
      "message": "Revert^2 \"Add disable/get/set_hidden_api_enforcement_policy extensions\"\n\nThis reverts commit 46d6fc0e16d65468aa259fadf27ddfeef72987b7.\n\nThe test, 2038, is incompatible with redefine stress due to class\nredefinition disabling most hidden-api checks. This adds the\nappropriate skips to knownfailures.json.\n\nReason for revert: Add 2038 to redefine-stress knownfailures.json\nTest: ./test.py --host --redefine-host\nBug: 175329755\n\nChange-Id: I6c8f0f6fc468db85368ecc9fbb2372677b529383\n"
    },
    {
      "commit": "46d6fc0e16d65468aa259fadf27ddfeef72987b7",
      "tree": "da2cab50d7ed4037733656ebc656c64f33a5f4d2",
      "parents": [
        "a3a828d637507b8300aee6588f4c933a6b96973f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 12 09:59:16 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 12 13:25:54 2021 +0000"
      },
      "message": "Revert \"Add disable/get/set_hidden_api_enforcement_policy extensions\"\n\nThis reverts commit c38d94449a0ccfefd396d2e01b571f3e804d9e48.\n\nBug: 175329755\n\nReason for revert: Fails on redefine-stress\n\nChange-Id: Id3b4e504ebfe6b090b06b7f47a3896fe30cdf850\n"
    },
    {
      "commit": "c38d94449a0ccfefd396d2e01b571f3e804d9e48",
      "tree": "39b74f8fea3ccbafd95936333f87865c2289c263",
      "parents": [
        "83881483515aec1dfaa0c848f1ce876c3f966b43"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Dec 11 10:20:32 2020 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jan 11 16:26:39 2021 +0000"
      },
      "message": "Add disable/get/set_hidden_api_enforcement_policy extensions\n\nAdd JVMTI extensions to control the hidden-api enforcement policy. The\nnew extensions\ncom.android.art.misc.{disable,get,set}_hidden_api_enforcement_policy\nuse the int representations defined by ApplicationInfo.java. Users of\nthese APIs should be sure to toggle the hidden-api state temporarily\nas needed and should avoid turning it off for long periods in order to\nensure users can continue to find bugs.\n\nTest: ./test.py --host\nBug: 175329755\nChange-Id: I89848faf6cf53179b713c6ca9f19f1fe8062b739\n"
    },
    {
      "commit": "20cadbf2a204a029b595cd44f9298f6570b5c812",
      "tree": "1405507edb6ef85bc16713dd59479121947ca12c",
      "parents": [
        "50bbbf1ae5ee1c22d8f31e5f5dc14eab0258303e"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Dec 15 02:32:03 2020 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Dec 17 22:30:55 2020 +0000"
      },
      "message": "Change default to build with ART Module prebuilts rather than sources.\n\nLet SOONG_CONFIG_art_module_source_build default to true in make\ninstead, so it can be controlled from the command line.\n\nTest: m\nTest: m SOONG_CONFIG_art_module_source_build\u003dfalse\nTest: art/build/apex/runtests.sh on master-art\nTest: art/tools/buildbot-build.sh on master-art\nBug: 172480615\nChange-Id: I4f852d3245f9919b3e14e064c8e3067a63e306d3\n"
    },
    {
      "commit": "10bb9c5cff67f7fa205187edfb513022423542d1",
      "tree": "b808b7b7cca116357d15de3d7b5deb876f5842fc",
      "parents": [
        "a84cd9e0ed902a3b23c03db85072caae0933ed1c"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Dec 01 22:53:51 2020 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Dec 10 09:32:06 2020 +0000"
      },
      "message": "Use a Soong config variable to toggle between ART Module source and\nprebuilts.\n\nWhen ART Module prebuilts are in use (i.e. have prefer:true), they\ninterfere with apex/sdk/module_exports modules and cause Soong\nfailures.\n\nTo work around that problem the aim is to disable those modules when\nthe prebuilts are preferred, and introduce a product variable to toggle\nit the other way. That variable is then set in ART-specific products\nwhich should be used in ART source builds.\n\nThat way platform builds will use the prebuilts even if ART sources are\navailable, without disabling all the ART source modules.\n\nThis topic does all the preparations for that except the actual flip to\nstart using prebuilts by default.\n\nTest: m SKIP_BOOT_JARS_CHECK\u003dtrue \\\n      UNSAFE_DISABLE_HIDDENAPI_FLAGS\u003dtrue nothing\n  on AOSP master with dexpreopting disabled and the default flipped to\n  use prebuilts\nTest: art/build/build-art-module.sh\n      art/build/apex/runtests.sh\n      art/tools/buildbot-build.sh {--host,--target}\n      art/tools/run-gtests.sh (in device chroot)\n      art/test/testrunner/testrunner.py --target --64 --optimizing\n        (in device chroot)\n  on master-art with the default flipped to use prebuilts\nTest: Use NINJA_ARGS\u003d\"-t query ...\" to check the dependencies of\n  art-runtime both when APEXes are enabled and disabled.\nBug: 172480617\nChange-Id: I1126e7dc40ab55fca1df0043199da5cb449de14d\n"
    },
    {
      "commit": "33787687f52798fd5b584edb4c88717d134c367a",
      "tree": "d55000cc678080980e6f4dd99d4acbe032119408",
      "parents": [
        "858cfd81c4fddbc950f9be2e3599b15aabaa501a"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Jul 26 14:27:18 2019 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Dec 08 23:29:58 2020 +0000"
      },
      "message": "SDK-stub controlled dex2oat verification\n\nAllow dex2oat to further limit the resolved (boot classpath) symbols\nduring verification according to an additional list of public SDK files.\n\nThe additional SDKs can be specified as regular classpath (a list\nof dex files) and has the effect of limiting what can be resolved from\nthe boot classpath. The extra checks are performed by comparing the\nsymbol descriptors and do not replace common verification access-checks\nflow.\n\nBug: 111442216\nTest: test-art-host\nChange-Id: Idc13722f34b591d7f858ebeb94bd6f568102b458\n"
    },
    {
      "commit": "cc9df4fa1e666b90c5dd8eac94773763f8421f1e",
      "tree": "91014ef20a0f1913b8a85d9209804e5e63f4b9a1",
      "parents": [
        "a5c1a82dc072fe29ff4d71a1abc88d713752323f"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Aug 13 14:57:41 2020 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Nov 18 16:04:08 2020 +0000"
      },
      "message": "Extend ART sdk with prebuilts needed to build the platform\n\nMembers which are common to android and linux but are not needed for\nwindows are placed in the linux target which applies to both android\nand host linux but not windows (or darwin which is disabled anyway).\n\nTest: Build zip snapshots of ART sdk and module_exports.\n      Move art source directories away.\n      Unpack zip snapshots into prebuilts/modules_sdk/art directory\n      m nothing\nBug: 172480615\nChange-Id: I01b493436a021054c03c420a52cfae35dba15181\n"
    },
    {
      "commit": "1ca19bca50d2239d176992d106dada4730a2c014",
      "tree": "0a950d81c6de301899ecde5850adf8f13fd61b38",
      "parents": [
        "fe270426c8a2a69a8f669339e83b86fbf40e25a1"
      ],
      "author": {
        "name": "Daniil Riazanovskiy",
        "email": "riazanovskiy@google.com",
        "time": "Thu Oct 01 00:32:21 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Nov 12 17:30:15 2020 +0000"
      },
      "message": "Build Checker as python binary for Tradefed test suites\n\nTest: m mts; mts-tradefed run commandAndExit mts-art\n\nBug: 162408889\n\nChange-Id: I737e7593c214413308ac1d8092433305f1752867\n"
    },
    {
      "commit": "2b8d3c8060c20ea96efbbaf9d86eb7f28284dbd6",
      "tree": "5cdbcd718195c9641349f59c93b82dcc77faca89",
      "parents": [
        "8f2eb25ca40136a36a5d7002c8ca5a05723e334e"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Nov 03 11:52:40 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 06 17:42:51 2020 +0000"
      },
      "message": "Avoid using hidden-api when running in CTS\n\nSome JVMTI tests attempt to call hiddenapis. This is generally fine on\nhost but can cause problems when run on CTS. Update the tests to avoid\nthis.\n\nTest: treehugger\nTest: atest CtsJvmtiRunTest993HostTestCases\nTest: atest CtsJvmtiRunTest931HostTestCases\nBug: 172263916\nBug: 172313849\nBug: 172313193\nBug: 172351915\nChange-Id: I0feaa9565719438e37877c34e971a5a8b5ba3f33\n"
    },
    {
      "commit": "a073f46104fbce0482fb759d5ccfb32ee39cc973",
      "tree": "985538ce69fa4d9253725cddaca936ddc3eaea86",
      "parents": [
        "5a19854c682a994729f704806d6c0de1de349631"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Oct 28 12:48:24 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Nov 05 18:15:49 2020 +0000"
      },
      "message": "Rename ART run-tests `expected.txt` files as `expected-stdout.txt`.\n\nThis is in preparation for the addition of `expected-stderr.txt` files\nin all ART run-test directories, which will record the expected\nstandard error for each of these tests, and which will be verified\nalong with `expected-stdout.txt`.\n\nTest: Run ART run-tests on host and device using `testrunner.py`.\nTest: atest --test-mapping art:all\nBug: 171865375\nBug: 147812905\nChange-Id: I37e3c4b8409475790e2fc63514cdf57156d47ff4\n"
    },
    {
      "commit": "66474c2878e0c91fbcffba8271bc20a3cf760642",
      "tree": "29109c8ad41c6d3c26b96d69702bd23456f9ede7",
      "parents": [
        "4a128a1d33758b5c7b7179dd6779ae120453a94c"
      ],
      "author": {
        "name": "Dan Shi",
        "email": "dshi@google.com",
        "time": "Tue Oct 20 14:17:57 2020 -0700"
      },
      "committer": {
        "name": "Dan Shi",
        "email": "dshi@google.com",
        "time": "Thu Oct 22 17:39:56 2020 +0000"
      },
      "message": "Move tests using art_gtest_defaults to art-host-tests suite\n\nThe tests requires art_common to run so they are not suitable to run in\nTest Mapping or other test suites except the ones with test zip set to\nart-host-tests.\n\nBug: 169111770\nTest: none\nChange-Id: I2513a963449fa2b8ef76908a49b41a63e6c369da\n"
    },
    {
      "commit": "463d03e93071be1efe6c5b65dbf7cbbe1b793eee",
      "tree": "cae8a251b469936d056ea9efb874e3face0181c4",
      "parents": [
        "d3e1e4bf28e5507d65f21e34ba43185b80cb3ad5"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Oct 21 21:38:58 2020 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Oct 22 17:15:28 2020 +0000"
      },
      "message": "Prevent art_cts_jvmti_test_library from depending on framework-res\n\nUsing sdk_version: \"core_current\" did not work as some of the tests\ndepend on sun.misc.Unsafe so used core_platform instead.\n\nTest: m art_cts_jvmti_test_library\nChange-Id: Ib766dcb193cc5f069bf86b44912ea4801caff0a2\n"
    },
    {
      "commit": "4258f9e2f19016e04a71ec2b5349b707f8f47a18",
      "tree": "bd587ca13be99c9c8e1d2781719b75a887ca5897",
      "parents": [
        "4b9f86bd04a905e6ee6eaf5363b0967315136096"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Oct 13 12:10:59 2020 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Oct 14 08:01:06 2020 +0000"
      },
      "message": "Only tag supported ART run-tests as part of `art-target-run-test`.\n\nAll ART (target) run-tests supported at the build-level have been\ntagged as part of the `art-target-run-test` TradeFed test suite;\nhowever, only a part of them are actually expected to suceed at run\ntime at the moment, meaning that many tests are currently failing on\nthe postsubmit configuration running tests tagged as\n`art-target-run-test` (currently running only on crosshatch devices).\n\nTo avoid this, use a different test configuration template for test\nexpected to succeed and for test expected to fail, and only have the\nformer test configuration template tag the test as part of the\n`art-target-run-test` test suite.\n\nTest: atest --test-mapping art:all\nTest: Rely on ATP post-submit testing\nBug: 152374989\nBug: 147812905\nChange-Id: I29ecc1d3021765cb5467f3a6f4e9d64afc4caead\n"
    },
    {
      "commit": "8d9c6048caa5ac3051e05540c04ea7cb3dfff9a7",
      "tree": "e18df218572fc3d745af384ccfa5308a352239ae",
      "parents": [
        "8b247625f58ba8a0f616594dc774089678aa57e3"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Sep 22 15:35:59 2020 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 02 18:58:58 2020 +0000"
      },
      "message": "Add test for thread-attach naming behavior\n\nThe interaction between pthread_setname_np and AttachCurrrentThread is\nnot always obvious. Add a test to codify the interaction. Basically\nAttachCurrentThread will always override the current\npthread_setname_np thread name, including if AttachCurrentThread is\ncalled without an explicit name, in which case the pthread-name will\nbe changed to the name selected by java.\n\nTest: ./test.py --host\nBug: 168655382\nChange-Id: If0319b733dc808a4cb892b6199030657c3e69f81\n"
    },
    {
      "commit": "423aefc4be393842a88cdd554df3bb58f4b79474",
      "tree": "abd67c3f533248ecd9cb943b72977444787852a9",
      "parents": [
        "4075edd5acc75133ce7553003d1a04c6c840dd52"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Sep 01 18:42:22 2020 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Sep 25 11:21:26 2020 +0000"
      },
      "message": "Add ART gtests to the Mainline Test Suite (MTS).\n\nInclude the `ArtGtestsTargetInstallApex` module in the MTS test suite.\n\nAlso support multilib variants in this Soong module (using different\nsuffix per sub-architecture), which is needed on build targets with\nsecondary architectures, as the MTS test suite packaging logic\nflattens all test artifacts into a single `testcases` directory.\n\n(cherry picked from commit 8db723c5bda7dc16547a0abdacbf6f7d3ab90a54)\n\nTest: Run `m mts` and check the contents of the MTS package\n      (`out/host/linux-x86/mts/android-mts.zip`)\nBug: 167385698\nBug: 168984433\nChange-Id: I123f313db5ab32b38c2110301bb84eb208a58047\nMerged-In: I123f313db5ab32b38c2110301bb84eb208a58047\n"
    },
    {
      "commit": "f61e0617b89e4ad60373f36da56812c20a3e0b20",
      "tree": "8bf61be41baaebf680e3048fdc3a1bb27e6ebf94",
      "parents": [
        "1d4f009209c35e91c41c915e21e3b59a731925f8"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Aug 14 16:13:35 2020 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Sep 17 16:08:12 2020 +0000"
      },
      "message": "Add test module for running gtests in chroot.\n\nBug: 147819342\nBug: 147821328\nTest: atest ArtGtestsTargetInstallApex\nTest: atest ArtGtestsTargetChroot\nChange-Id: If4efdfa9fe52e4ddb5c6a3ed409a27935b17cebf\n"
    },
    {
      "commit": "00381bf2b88a6cb980c2f882c6eb8fdc70ea6168",
      "tree": "9d910a8e80d60cf5879ec1c592cae9e416db3303",
      "parents": [
        "8d8380a2fafef53836127a79bc772f0d1ff41df0"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Sep 01 17:28:11 2020 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Sep 15 08:18:56 2020 +0000"
      },
      "message": "Add ART run-tests to the Mainline Test Suite (MTS).\n\nNote: For simplicity, all ART run-tests supported at the build level\nare included in MTS, even ones which are currently known to fail at\nrun-time -- we can filter the tests to execute at the test plan level\nif needed.\n\nTest: Run `m mts` and check the contents of the MTS package\n      (`out/host/linux-x86/mts/android-mts.zip`)\nBug: 167385698\nChange-Id: I47013a92cdda0dd7f819eca6e644a4cb2b3c2ca5\n"
    },
    {
      "commit": "6b0b2e711fdb9a1852705318dda2b5139d30f7a5",
      "tree": "6300c21da263373f4a286ae55e9f5b88a09f3965",
      "parents": [
        "6f0c8b976ac84215129fe7cca0b0ef26d9af0554"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Sep 08 16:36:13 2020 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Sep 09 10:21:47 2020 +0000"
      },
      "message": "Rename the expected-output text file in built TradeFed ART run-tests.\n\nTest suite packages (e.g. `android-mts.zip`) flatten tests artifacts\ninto a single `testcases` directory, therefore each included file must\nhave a unique name. Have the build system rename every `expected.txt`\nfile to a unique name when building TradeFed-style ART run-tests.\n\nTest: atest art-run-test-001-HelloWorld\nBug: 147812905\nChange-Id: I0d433d0a611cb5214ae366e2c1af214e41c127f0\n"
    },
    {
      "commit": "7285a4bc7337cf6382ac464b979ae5db986a2a53",
      "tree": "b2cf6bf95ec431a2f7bb0d4c049aac3b737ef43d",
      "parents": [
        "8070443ce4b31a6787c22490f18f838f8f6ed4be"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Jul 10 13:31:35 2020 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Jul 10 18:18:48 2020 +0000"
      },
      "message": "Fix GetDirectBufferCapacity for zero length direct buffer\n\nIt is possible to create a direct buffer that has a null address and\nzero size, e.g. mapping a FileChannel on a zero-length file. In this\ncase, GetDirectBufferCapacity() should return zero rather than -1.\n\nBug: 122025675\nTest: art/test/run-test --host 2036-jni-filechannel\nTest: art/test.py --target -r -t 2036-jni-filechannel\nTest: art_runtime_tests\nChange-Id: If615025385a8dfad00d815da128dfde19d2ddbc2\n"
    },
    {
      "commit": "9a09e7cf11b2653e6da2b179ac03bc6bb71c81e3",
      "tree": "244a62395e55fc89c903d36c5fbdd12802a982f6",
      "parents": [
        "edda3caf7c02c241dc466ecd02a8555972c46c4d"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Jul 02 00:08:06 2020 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Jul 08 16:55:38 2020 +0000"
      },
      "message": "Enable host gtests in eng-prod\n\nBug: 147817558\nTest: forrest run\nChange-Id: I1c1d083545994bfe5db7ecc6ba290608d6cd8edd\n"
    },
    {
      "commit": "edda3caf7c02c241dc466ecd02a8555972c46c4d",
      "tree": "c21fa6218003389877739f67a636d75e1c1915b8",
      "parents": [
        "dd5db458831cf74ae5813d2278fbd599145c4522"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Jul 08 00:41:08 2020 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 08 16:05:41 2020 +0000"
      },
      "message": "Use different extension for smali test files.\n\nThe test infra just searches for and opens all .jar files.\nThe different extension effectively hides the test files from it.\n\nBug: 147817558\nBug: 160391839\nTest: m test-art-host-gtest\nChange-Id: Ida3c102008b772841076df4e374532f7845b8c61\n"
    },
    {
      "commit": "01e5698d5440c2665b7ab6dd924985843be161a2",
      "tree": "580cb03de99c1e7d1c552c9e18e30b1ee9030ca6",
      "parents": [
        "eaf3a920817fcf3b85d80eb16eb2fe91831e1fb9"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Feb 10 12:28:01 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jul 03 19:11:02 2020 +0000"
      },
      "message": "Add Soong module definitions for ART run-tests with default build rules.\n\nIntroduce new Bash script `test/utils/regen-test-files` and use it\nto generate a set of initial Soong module definitions for some ART\nrun-tests matching these conditions:\n1. using default build rules (defined in `test/etc/default-build`), as\n   per the `test/run-test` script;\n2. consisting only of Java source files contained in their `src`\n   directory;\n3. containing no additional build complexity.\n\nAlso disable ErrorProne checks for ART run-tests on `errorprone`\nbuilds.\n\nTest: m $(find art/test \\\n              -regextype egrep \\\n              -regex \u0027art/test/[0-9]{3,}-.*/Android.bp\u0027 \\\n              -printf \u0027%P\\n\u0027 \\\n            | sed -r \u0027s,(.*)/Android.bp,art-run-test-\\1,\u0027 \\\n            | sort)\nTest: m javac-check $(find art/test \\\n                          -regextype egrep \\\n                          -regex \u0027art/test/[0-9]{3,}-.*/Android.bp\u0027 \\\n                          -printf \u0027%P\\n\u0027 \\\n                        | sed -r \u0027s,(.*)/Android.bp,art-run-test-\\1,\u0027 \\\n                        | sort) RUN_ERROR_PRONE\u003dtrue\nBug: 147814778\nChange-Id: Ife6b045a88bd18b06a3fc202f3d226e27e0fc03d\n"
    },
    {
      "commit": "0a17b6a0e705e45cf47407d0573ef8a7fd67cd99",
      "tree": "9b864aae8d952fc0ee2829672220774c91494303",
      "parents": [
        "b7f4d0f15f02224ce5048ba566b2dce193ee103a"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Jul 01 11:29:47 2020 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Jul 01 12:41:06 2020 +0000"
      },
      "message": "Revert \"Support running of host gtests in eng-prod\"\n\nThis reverts commit 22872da653053bb4b86fbef67163a9f6b7aee25b.\n\nReason for revert: Checking if this CL is cause of b/160132136\n\nBug: 147817558\nBug: 160132136\nChange-Id: Ifb6f2292292a7f69fbd0f2e9204fd37dbca84277\n"
    },
    {
      "commit": "9a0f9bae8f04c662bdcd97620641a9735066168a",
      "tree": "7beb60b8ecfdb83bd614d59ec1a9dc222e3d0134",
      "parents": [
        "79d9092bf54a195bef429b95716d983ba8eebfcc"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Feb 13 15:06:54 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Sat Jun 27 16:12:36 2020 +0100"
      },
      "message": "Build ART run-tests using the same settings as Libcore tests.\n\nUsing:\n\n  sdk_version: \"core_platform\",\n\nin the definition of ART run-test modules does not allow us to build\nsome ART run-tests (e.g. the ones that use `sun.misc.Unsafe`).\nInstead, use:\n\n  sdk_version: \"none\",\n  system_modules: \"core-all-system-modules\",\n\nTest: m art-run-test-001-HelloWorld\nBug: b/147814778\nChange-Id: I93610bf1f74f3b7bbd8afe4616ebd59bfd5d4d0b\n"
    },
    {
      "commit": "79d9092bf54a195bef429b95716d983ba8eebfcc",
      "tree": "3455c5ed4d343bbd8532079b430ce4ae0e214ae7",
      "parents": [
        "a8049c6b4b19be3b48f364da5fd02f3380dcf90b"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Feb 04 15:41:45 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Sat Jun 27 14:33:10 2020 +0000"
      },
      "message": "Introduce a Soong `java_defaults` module for ART run-tests.\n\nTest: atest art-run-test-001-HelloWorld\nBug: 147814778\nBug: 147812905\nChange-Id: I93655228f47a566e700f61d7040a41aceb9b5e87\n"
    },
    {
      "commit": "a8049c6b4b19be3b48f364da5fd02f3380dcf90b",
      "tree": "7dbe016424f6b65efcb531e51cbfc1a395cf1690",
      "parents": [
        "c40b151f771fd84d929fe8f7a63f42a0be188f93"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Nov 01 16:11:20 2019 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Sat Jun 27 14:33:10 2020 +0000"
      },
      "message": "Introduce a test configuration template for ART run-tests.\n\nTest: atest art-run-test-001-HelloWorld\nBug: 147814778\nBug: 147812905\nChange-Id: Ia32f7eb53e65156f9a4b439b49c5d3ac44c1474c\n"
    },
    {
      "commit": "22872da653053bb4b86fbef67163a9f6b7aee25b",
      "tree": "5355ac349eeb15165c6db0c17e93f1286c52a3d4",
      "parents": [
        "11303f2983bf2ef8d55870afcd0d5937f0778753"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Jun 25 15:23:15 2020 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Jun 26 17:14:57 2020 +0000"
      },
      "message": "Support running of host gtests in eng-prod\n\nAdd more libraries and tools to the shared ART directory in testcases.\n\nChange the tests environment setup, so that it can find the tools.\n\nVast majority of tests pass. Some individual tests still need fixing.\n\nBug: 147817558\nTest: run gtests in forrest\nChange-Id: I3214f532436828c2a1a5a543e69d6b9bcf1e42af\n"
    },
    {
      "commit": "72cf0a827ad5e127222d59a112908348f6a55836",
      "tree": "567a2e845f85da6da5cf8c106fdf82febeddf59c",
      "parents": [
        "efc8004ea30ad6a46b7c55ddbe5fb3f086c640cc"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Jun 11 19:26:49 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 12 02:21:47 2020 +0000"
      },
      "message": "Revert \"Move ART gtests to general-tests.\"\n\nThis reverts commit 0e6d73a65e577e6416ee68490ca19ca3123f7fc6.\n\nReason for revert: I suspect it is causing failing post-submit tests \n\nChange-Id: I07bcd71537ef0cea8a1e8947b2e17a09df561a2c\n"
    },
    {
      "commit": "0e6d73a65e577e6416ee68490ca19ca3123f7fc6",
      "tree": "73eb6c20c637e08d9d9d3ba8b930a51b522fd713",
      "parents": [
        "faada5ed094a4d357882e6a4a372266c49d0b700"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri May 15 16:10:06 2020 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Jun 10 15:07:45 2020 +0000"
      },
      "message": "Move ART gtests to general-tests.\n\nThe size limiting bug in tradefed has been fixed.\ngeneral-tests is more appropriate target since do\nnot do any device-specific testing.\n\nBug: 147817606\nTest: atest ArtGtestsTarget --rebuild-module-info -c\nChange-Id: I745c065c293aa9bdb71de7ccdc46423302f457b0\n"
    },
    {
      "commit": "16527e892b13c9e1fb34f8d2e9993e58a72ac662",
      "tree": "05161726eb314545689ce8f7b6454217a437fe70",
      "parents": [
        "a8106bc4d8c12a4877cbab64d1dd0c1619b6ad50"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jun 08 09:21:12 2020 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 09 03:01:52 2020 +0000"
      },
      "message": "Preserve JNI bindings across structural redefinition\n\nWe were incorrectly clearing the JNI bindings of native methods on\nclasses which are structurally redefined. This can cause major issues\nwith code which uses JNIEnv::RegisterNatives to setup native methods.\nThis change copies the required information from the old to the new\nmethod. Since the RegisterNatives method can be run asynchronously we\nneed to wait until we gain the final SuspendAll to actually read and\ncopy the registration.\n\nTest: ./test.py --host\nBug: 158476592\n\nChange-Id: Ie8a33234bb852a46e5275502c842553637c8a2c6\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": "a2efd2aba99d23cca2087bf11978845b813a6f48",
      "tree": "03bae75d241b49f5a1f6ad570f37b1ccf3ea1834",
      "parents": [
        "ad3bbcd19d1586ee2e9734288ca4a550e634d1c9"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue May 19 09:44:49 2020 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 21 19:57:47 2020 +0000"
      },
      "message": "Add regression test for b/36989421\n\nThere was an old bug in some versions of art/dalvik that caused\nInvokeNonVirtual* JNI functions to call the wrong methods. Add a test\nthat the right behavior is done.\n\nNo functional change required. The behavior seems to have been fixed\nat some point.\n\nTest: ./test.py --host\nBug: 36989421\nChange-Id: Iddd518c780f01b680a4bf832a7f8ada07f19289a\n"
    },
    {
      "commit": "daee51f893902526b191b3a3c5dd179b1964a352",
      "tree": "faca774f561058f351198ce4d8efa67370851259",
      "parents": [
        "fa082fb9f60e867b5a13a63ca76791c1c12a58f5"
      ],
      "author": {
        "name": "Sooraj Sasindran",
        "email": "sasindran@google.com",
        "time": "Mon May 18 20:18:53 2020 +0000"
      },
      "committer": {
        "name": "Sooraj Sasindran",
        "email": "sasindran@google.com",
        "time": "Mon May 18 22:36:23 2020 +0000"
      },
      "message": "Revert \"Move ArtGtestsTarget to general-tests.\"\n\nThis reverts commit c6849c6805251b699b4f8d954861c325f3cb1985.\n\nReason for revert: b/156939667\n\nChange-Id: I72e8c2e0e2b3676b0a7f15e585b1bbf07193c6a5\n"
    },
    {
      "commit": "c6849c6805251b699b4f8d954861c325f3cb1985",
      "tree": "07cd74eec4819eb8e3fcdf8d0685b0fdf981fa90",
      "parents": [
        "cb782e84d28f4714a66463b4ad463cfc0b37cc1e"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri May 15 16:10:06 2020 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon May 18 12:36:39 2020 +0000"
      },
      "message": "Move ArtGtestsTarget to general-tests.\n\nThe size limiting bug in tradefed has been fixed.\ngeneral-tests is more appropriate target since do\nnot do any device-specific testing.\n\nTag the ART tests so they can be run from ATP.\n\nBug: 147817606\nTest: atest ArtGtestsTarget --rebuild-module-info -c\nChange-Id: Idd5f65608a51a1b145e826c2056032acdfed9b6a\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": "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": "672295a9e3b7481f79186b0ca7ba410e6c8eb10f",
      "tree": "9894a94a24a02b05c3375f245c962479fa43ccc4",
      "parents": [
        "5f84607854775be67a8eb2437ce1071af7d477d2"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Apr 16 21:31:17 2020 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Sat Apr 18 04:15:29 2020 +0000"
      },
      "message": "Add test for JNI env modifications on shutdown\n\nBug: 147804269\nTest: .../testrunner.py --host -b --64 -t 2033-shutdown-mechanics\nChange-Id: Ie8bc12b94709e38dd043c644cdde3e02d96dedf1\n"
    },
    {
      "commit": "2506eff52e4f4bfb45fe074171f805a0d8996117",
      "tree": "67c5a417d723b8d1ca045601f406e2e4d1615005",
      "parents": [
        "00cb81d29a9a903aa5f72e28492415ff7b2d7f06"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Apr 07 11:32:24 2020 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 08 08:42:22 2020 +0000"
      },
      "message": "Replace art_cts_jvmti_test_library filegroup with java_library\n\nThis is to allow the art_cts_jvmti_test_library to be exported as part\nof the ART module exports.\n\nBug: 142947124\nTest: atest -p cts/hostsidetests/jvmti\nChange-Id: I7ce0c78b8f40d928798764d74add8dbff4353af8\n"
    },
    {
      "commit": "216a6455c4baa260e07472e41e60dc30290e84c0",
      "tree": "8293ff025c90b480dd1ce3346fb6267c3c191b4a",
      "parents": [
        "b72a0941f6f97f6bbb117634a2a3d7bd5a121732"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Fri Apr 03 18:55:31 2020 +0100"
      },
      "committer": {
        "name": "vichang",
        "email": "vichang@google.com",
        "time": "Mon Apr 06 15:53:45 2020 +0000"
      },
      "message": "Remove libicuuc/libicui18n usage from art_gtest_defaults\n\nApparently, they are unused.\n\nBug: 138994281\nTest: m art/test\nChange-Id: I7add5d6970b08d9b6747449c0b45145cb17d38b5\n"
    },
    {
      "commit": "fdd46848364b5fdb7360cb3256bd9482d7ca3c28",
      "tree": "d3e47c9723155f6376e3782cc47658a295c1da1c",
      "parents": [
        "4ac8d96c332b014b72c2480aa1c83762e818daef"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Mar 25 14:57:17 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 31 13:16:12 2020 +0000"
      },
      "message": "Deduplicate interned image strings.\n\nAlso fix a bug in relocation; even for -Xnorelocate we need\nto relocate second and later extension if it\u0027s not compiled\nagainst all previous boot image components.\n\nAlso clean up InternTable includes.\n\nTest: New tests in image_space_test.\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: aosp_taimen-userdebug boots.\nBug: 152037801\nChange-Id: Ie6ae70721f4ffb48950bd248ffa123dee460bcd7\n"
    },
    {
      "commit": "e5621f552a1e3e07d2c4a5e29c0d9494b09bbffe",
      "tree": "a87aac73c93ac39447691d5f8a332338ee0e5bd0",
      "parents": [
        "e4abf13cf6b7cbc50e4e22d7b9fc6f31d0bb0ac3"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Mar 25 10:51:14 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 27 14:29:39 2020 +0000"
      },
      "message": "Wrap expected_cts_outputs in a java_library\n\nRenamed expected_cts_outputs to expected_cts_outputs_gen and add a\njava_library called expected_cts_outputs which statically includes the\ncontents of expected_cts_outputs_gen.\n\nThis allows expected_cts_outputs to be easily added to\nart-module-tests-exports.\n\nBug: 142935992\nTest: m droid\n      manually inspect contents of CtsJvmtiDeviceRunTestAppBase to\n      ensure that they had not changed.\nChange-Id: I7c2d61e06a0388e03295ecc08958d185f3651ed2\n"
    },
    {
      "commit": "ee2571618ec960659e1326b540dcd41610f9a277",
      "tree": "a650686a2dbf0b675c5ebff48a823c82a3459ba0",
      "parents": [
        "30fd85157260c91327c6b5a0816d312dd505c0e0"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Feb 28 15:50:13 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 12 16:02:27 2020 +0000"
      },
      "message": "Revert^2 \"Support ART\u0027s target gtests in atest.\"\n\nThis reverts commit 615212399037ea41987282800f077941d7ec9f54.\n\nTest: Run the test locally\nChange-Id: I257b0cb1e4210a1d4ec3060c4470c0f8af2ee45b\n"
    },
    {
      "commit": "280e6c323419ad08860514ff8c09eefb8fc8e969",
      "tree": "db1d3d73a8c00c5df9cb8809dc3ab53e5ed09af6",
      "parents": [
        "b28e3042b1dcab32c328b356a31f6ea8b50a9f9c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Mar 03 13:52:07 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 10 18:46:53 2020 +0000"
      },
      "message": "Jit-zygote compiled code isn\u0027t debuggable\n\nWe check the debuggablity of compiled code by checking to see if it\nwas compiled by the JIT. This works since we throw all precompiled\ncode out when transitioning to debuggable. Unfortunately with\njit-zygote the non-debuggable zygote methods can be incorrectly seen\nas debuggable when encountered on the stack. This can lead to\nincorrect deoptimization and other issues. To fix this we explicitly\nexclude jit-zygote code from the check.\n\nBug: 144947842\nTest: ./test.py --host\nChange-Id: I4e953f64f8261b7a16d7c3199cec89998af0c1cf\n"
    },
    {
      "commit": "615212399037ea41987282800f077941d7ec9f54",
      "tree": "15089323ce0a197c4585f9ad002beb016a247a5a",
      "parents": [
        "69efda0772090bd844ba5200e3be6c0bdf2c8aac"
      ],
      "author": {
        "name": "Paul Trautrim",
        "email": "paultrautrim@google.com",
        "time": "Thu Feb 27 01:58:43 2020 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Feb 27 13:02:06 2020 +0000"
      },
      "message": "Revert \"Support ART\u0027s target gtests in atest.\"\n\nThis reverts commit eac404b341e40bb72f8d79ee1d1a7173862b438e.\n\nReason for revert: Debugging test failures (b/150282462)\n\nChange-Id: I3582eeb1f121d4850209768b3a7ae8a444f0379a\n"
    },
    {
      "commit": "eac404b341e40bb72f8d79ee1d1a7173862b438e",
      "tree": "2681b43b60f8eec774e04b7200764f6bb885c8a5",
      "parents": [
        "109039edbdcf1bc9eb0b0ced334041292746526c"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Feb 05 16:27:43 2020 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Feb 25 16:37:33 2020 +0000"
      },
      "message": "Support ART\u0027s target gtests in atest.\n\nThis is first simple approach which relies on installing\nthe ART testing apex on the device and rebooting it.\nThis is not ideal if bugs prevent the device from booting.\n\nThe next goal is to run the tests in chroot without reboot.\nWe should also introduce dedicated ART gtest runner.\n\nTest: atest ArtGtestsTarget --rebuild-module-info\nTest: run on device using forrest\nBug: 147817606\nChange-Id: I3b7f66dc27a665a6971fc688f220103c6b842b57\n"
    },
    {
      "commit": "41b605c5ad4b06ea127ac56c6e3a4c92e8913efd",
      "tree": "f7b28eb11051f3faada99c11dc594cccd34a5786",
      "parents": [
        "30b38f8d01cdb4c80092638f23c61d73e0d287f4"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 12 10:52:22 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Feb 14 12:01:58 2020 +0000"
      },
      "message": "Remove MIPS support from runtime/.\n\nTest: aosp_taimen-userdebug boots.\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 147346243\nChange-Id: If1fc8be94caa69f734438d7a1f4c715addfd8876\n"
    },
    {
      "commit": "e6e634e98e03af93ee367bbdf6cfaf3673d94d14",
      "tree": "76e04418401432f4cabb7739690dedc5e174d15b",
      "parents": [
        "5e251ead219d8e9f4bb1e8c53f222f91d798d653"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Feb 10 13:50:42 2020 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Feb 12 00:02:04 2020 +0000"
      },
      "message": "Remove test 1944\n\nThis test checked that we would not crash due to an interaction\nbetween atexit handlers and thread suspension. The bug was fixed but\nthis test is actually rather flaky due to the inherently\nmulti-threaded nature of library unloading. Since this test isn\u0027t very\nuseful on its own and to quiet the noisy flakes we are removing the\ntest entierly.\n\nBug: 76081508\nTest: ./test.py --host\nChange-Id: I7951c671c412b6148f4c1ae54ec6c739a4aa70a2\n"
    },
    {
      "commit": "8206ae846173c98b386d56ff3f290ad74a30b291",
      "tree": "85c8ab98f5ec81addce43be6b3fd7f4297a35c9c",
      "parents": [
        "98cf82f227fa8fab694674e72a9a2ca95face4b5"
      ],
      "author": {
        "name": "satayev",
        "email": "satayev@google.com",
        "time": "Tue Feb 11 02:33:31 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 11 22:11:46 2020 +0000"
      },
      "message": "Revert \"Fix Core Platform API JNI check\"\n\nThis reverts commit 6c56db31b8a6424680ad3836022a1d81e83dc4a9.\n\nReason for revert: potential culprit b/149238651\n\nBug: 144502743\nBug: 149238651\n\nChange-Id: I719ecaff2c9486776b165918607a2df2ee23d56d\n"
    },
    {
      "commit": "8c8f148bdde5eeb799dd802d861149b3e0f538c5",
      "tree": "c060009c0ee265f196c7b39edc2f2a6aa2696dab",
      "parents": [
        "5c33d35bf3bd0d824e94784312fe3ddb823028d1"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Feb 05 20:17:10 2020 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Feb 10 16:05:59 2020 +0000"
      },
      "message": "Add blueprint modules to generate jar files for gtests.\n\nThis will be needed to run gtests under atest.\nThe output is unused for now.\n\nSome of the tests in makefile were renamed for consistency.\n\nTest: m test-art-host-gtest\nBug: 147819342\nBug: 147817606\nChange-Id: I96db24406881a2adeeec7889f04681ae18352b16\n"
    },
    {
      "commit": "6c56db31b8a6424680ad3836022a1d81e83dc4a9",
      "tree": "ac3d7f1631de86192b116561eeb5909c88279815",
      "parents": [
        "f9dfd77182296cd9161784bc0b9babf4f22a90c7"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Nov 21 10:56:28 2019 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Feb 03 22:43:47 2020 +0000"
      },
      "message": "Fix Core Platform API JNI check\n\nFix an inverted flag around kIsTargetBuild that broke check.\n\nSimplify SharedObjectKind\u0027s so there are only values - part of the ART\nmodule and other. Being part of the module is equivalent to\nDexDomain::CorePlatform.\n\nAdd a test for Core Platform API checks for native code. The test is\nderived from 674-hiddenapi, and separate because the existing test is\nalready complex.\n\nAdd 2030-core-platform-api-jni to the same knownfailures as\n674-hiddenapi since the newer test likely to have the same failures.\n\nBug: 128517070\nBug: 144502743\nTest: art/test/run-test --host 2030\nTest: art/test/run-test 2030\nTest: erroneous warnings gone from master\nChange-Id: I1a365a28b89bd46b3e403f6deb736f350c4baf10\n"
    },
    {
      "commit": "e91e795a77b96d58276f75b1b244a5509ef8c215",
      "tree": "d34f8164bb7adb8ed46e3c989877012555e194c3",
      "parents": [
        "aa6f6f1c86705fe3cedf929bd30d1e6f51524594"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 23 10:15:56 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 31 08:20:57 2020 +0000"
      },
      "message": "Replace instrumention id with stack pointers.\n\nReplace instrumentation ids for instrumentation frames, which are\ninherently broken (see b/72608560), and use stack addresses instead\nto properly identify which frames to pop / unwind.\n\nBug: 72608560\nBug: 148166031\n\nTest: ./art/test/testrunner/testrunner.py --trace --debuggable --ndebuggable --optimizing --interpreter --jit --debug --ndebug -j32\nTest: run-libjdwp-tests.sh\nTest: 2011-stack-walk-concurrent-instrument\nTest: ./art/test/run-test --host --dev --runtime-option -verbose:deopt,plugin --prebuild --compact-dex-level fast --jit --no-relocate --create-runner --runtime-option -Xcheck:jni 1965-get-set-local-primitive-no-tables\n      art/tools/parallel_run.py -j80 /tmp/path/to/runit.sh --out failure.txt\n\nChange-Id: I71f6e55b9da608796cd3142b147f7b50bbd292ec\n"
    },
    {
      "commit": "e8a83afa22cab1bf6a3ce6c23d9b89d37f83b343",
      "tree": "6a7a42251e074eb1dd6f9cefab49e9fc4e49273d",
      "parents": [
        "d2ac307e505f71a2d439c264cb7c5eab9bd07e13"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jan 29 10:14:44 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jan 29 16:31:04 2020 +0000"
      },
      "message": "Revert^2 \"Avoid libtistress static link to art\"\n\nThis reverts commit a2a1b55064508547e6a9ce39654f9ddc434b4e32.\n\nReason for revert: The original CL should not have been\nreverted, it was not the reason for BuildBot breakage.\n\nBug: 147727942\nChange-Id: I2e82b3cfbf0cd05528e654a24319eed93859ba7c\n"
    },
    {
      "commit": "3f0dca119df45ef2a7fdfc26c070677953cfcce4",
      "tree": "ced5a8170092b728b038d1e581f061b27b315735",
      "parents": [
        "f365affd27933d1d0771d0d5064101db18c19cc2"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jan 27 17:20:28 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 28 21:27:20 2020 +0000"
      },
      "message": "Ensure IsStructurallyRedefinable takes into account subtypes\n\nStructural-redefinition changes the addresses of the ArtFields and\nArtMethods of the class being redefined and all of its subclasses. For\nthis reason if there are JNI-ids that are pointers to these anywhere\nwe cannot allow structural redefinition of the class, even if the\npointers are for subtypes. Previously we didn\u0027t check the\nredefinability of sub-types so we could incorrectly invalidate jmethod\nor jfield IDs.\n\nTest: ./test.py --host\nBug: 148414638\nChange-Id: I8fc809a43e16d5e7938b90b00c531573a2edca00\n"
    },
    {
      "commit": "a2a1b55064508547e6a9ce39654f9ddc434b4e32",
      "tree": "d1106025e6d81dbdce878ac0303422c52247773c",
      "parents": [
        "775f6817d7d22827b858be5f5d9713137372622d"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jan 28 09:00:07 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jan 28 09:00:58 2020 +0000"
      },
      "message": "Revert \"Avoid libtistress static link to art\"\n\nThis reverts commit d8309caffb3f12663e1780648ab1e4c881471c78.\n\nReason for revert: Broke several BuildBot targets.\n\nBug: 147727942\nChange-Id: I209951daa6b6232ca4fc8d172d9f8a0d50bd98b2\n"
    },
    {
      "commit": "5c7f367987080488fdb4e52a13dd92a4cafd798f",
      "tree": "ce94da08f3fe9678256d123e83920fa2f5f62fbd",
      "parents": [
        "7e2c963b572dff7aded82d5524b5ece81f7e0210"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jan 27 15:23:30 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 28 01:21:03 2020 +0000"
      },
      "message": "Make test 1983 more consistent\n\nOn CTS the classes we can structurally redefine might change based on\nwhat JNI id\u0027s are requested prior to the zygote-fork. This can lead to\ndifferent outcomes for this test. To prevent this don\u0027t check BCP\nclasses which are potentially structurally redefinable on CTS runs.\n\nBug: 148079561\nTest: atest CtsJvmtiRunTest1983HostTestCases\nChange-Id: Ie76686499a873240c25a98f0893f9df2fc907124\n"
    },
    {
      "commit": "d8309caffb3f12663e1780648ab1e4c881471c78",
      "tree": "bbcf3f99e36743b8dbb61b9eaaed1bad86059dd1",
      "parents": [
        "92231c5fd2060fb1290fee99fa483d9461708a53"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jan 21 12:27:27 2020 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jan 27 16:38:32 2020 +0000"
      },
      "message": "Avoid libtistress static link to art\n\nMake libtistress use shared linking and add missing libz dependency.\n\nBug: 147727942\nTest: art/test/testrunner/testrunner.py --host -j72 --redefine-stress\nTest: mmma art -j72\n\nChange-Id: I3db36dd205555eb0a94d0d56d4277ee2d9b36794\n"
    },
    {
      "commit": "e0c6d439271c94feb3fb38728d1b4743a7ed0b9e",
      "tree": "c7f9176cacb9e362d0dd3bbeabeca8b42e42d184",
      "parents": [
        "721e40283793649b4750c05da4fe972bd372f7f9"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jan 22 22:04:20 2020 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jan 22 22:04:20 2020 +0000"
      },
      "message": "Revert \"Fix stack-walking race\"\n\nThis reverts commit 721e40283793649b4750c05da4fe972bd372f7f9.\n\nReason for revert: Wanted more discussion.\n\nTest: none\n\nBug: 72608560\nBug: 29259363\nBug: 148166031\nChange-Id: Id0fb201018a0d0bdca11d51ec156a41d6d7fe4ae\n"
    },
    {
      "commit": "721e40283793649b4750c05da4fe972bd372f7f9",
      "tree": "9af2c2c583900e9a35c6adf7fef277d0221c0571",
      "parents": [
        "df7e5b836e78ab38101dde45399c8de51df4042e"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jan 14 14:45:40 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 22 21:56:30 2020 +0000"
      },
      "message": "Fix stack-walking race\n\nDuring stack walking it was possible for a walking thread to race with\nthe InstrumentationInstallStack. In this case the stack changes made\nby InstrumentationInstallStack could cause the other thread to\nincorrectly parse the stack data-structures, leading to\nfailures/crashes.\n\nTo fix this we increment an ID whenever instrumentation changes the\ninstrumentation stack. Other stack-walkers then check this id and\nrestart whenever it changes. Note that although the stack-walk\nrestarts we keep track of how many java frames we\u0027ve visited already\nand refrain from calling VisitFrame until we are at the same position\nagain. This means that as far as the Visitor writers are concerned the\nstack-walk is only done once, just like always.\n\nAdded a test (2011) that forces the race to occur.\n\nAlso Disabled Dex2oatSwapUseTest#CheckSwapUsage. It seems that the\nincrease in Thread* size has caused it to fail. Disable while we\ninvestigate. See b/29259363\n\nBug: 72608560\nBug: 29259363\nBug: 148166031\nTest: ./test.py --host\nTest: ./test/run-test --host --dev --runtime-option -verbose:deopt,plugin --prebuild --compact-dex-level fast --jit --no-relocate --create-runner --runtime-option -Xcheck:jni 1965-get-set-local-primitive-no-tables\n      parallel_run.py\nChange-Id: I77349dfc6fa860b7f007dee485e9fea1d8658090\n"
    },
    {
      "commit": "72325b603fad447082729eb43f11a8d83706bad5",
      "tree": "3546b831a215a0b1c46d77a0b38ba8aadb845b38",
      "parents": [
        "4f9d62b549ef755c5b77d09b1da2a8403f58b376"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jan 09 17:49:45 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 15 21:33:25 2020 +0000"
      },
      "message": "Add test for local-refs being updated by structural-redef\n\nWe don\u0027t have a good test that local-JNI-refs are correctly updated by\nstructural redefinition. This adds such a test.\n\nTest: ./test.py --host\nChange-Id: I56697fe1a4f9d726b5666c7be2d4036ee248bc58\n"
    },
    {
      "commit": "fe0ce64326bc0531616fb6b5388400cd9787370e",
      "tree": "2b176d562034d35949e9e646beec263006e29eb1",
      "parents": [
        "e8e544dc8909155560af0c7381df3833b2e7f701"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jan 07 13:14:18 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 15 08:24:52 2020 +0000"
      },
      "message": "Add structural redef tests to CTS\n\nThis adds structural redefinition and other JVMTI run-tests to CTS\nwhere possible.\n\nTest: atest -bit --test-mapping cts/hostsidetests/jvmti/TEST_MAPPING\nBug: 134162467\n\nChange-Id: If8e36ea8d228253928cb9b9f6a35a284250641e9\n"
    },
    {
      "commit": "4681f2034034435d47eb0b5ef03bde69a1e4dde6",
      "tree": "c12cb99d4255c16357328429eead1472fe6b60ba",
      "parents": [
        "baf938f331eac62d28a215c065e56bfc9e38a3e2"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jan 10 09:27:57 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 13 18:37:35 2020 +0000"
      },
      "message": "Don\u0027t run AllTraces in test 911 on CTS\n\nAllTraces will (among other things) list every thread currently\nrunning. Unfortunately this means it breaks every time anyone adds a\nnew thread to the app environment. This happens somewhat regularly so\ninstead of maintaining an every-growing list of ignored threads we\nwill instead just skip this bit of the test.\n\nTest: ./test.py --host\nTest: atest CtsJvmtiRunTest911HostTestCases\nBug: 147267774\nChange-Id: I5126dd266272b44dcd00013f9b867cd3fac2bf89\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": "80777ed308b965175223455d738c890618a008b5",
      "tree": "ba8f6f8575f2a2a9d4157db7678328f4572d2458",
      "parents": [
        "c4cc618ad864c1f943daaef26914463d92d46ca0"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Dec 17 17:07:33 2019 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 18 20:05:06 2019 +0000"
      },
      "message": "Revert^2 \"Make sure all runtime threads are in the System thread group.\"\n\nThis reverts commit 9ca8b2bf46978e3a5698f8a27b48aa7eff3514df.\n\nThe test 2005 exposed an ABA race which could cause the test to\nsometimes fail with CHECK failures or GC corruption.\n\nReason for revert: Fixed issue causing ABA race in PreObjectAlloc with\n                   test.\nTest: ./test.py --host --debug-gc\nBug: 146178357\n\nChange-Id: If265f765e0c1e692755904b4c40bbc718d98f065\n"
    },
    {
      "commit": "9ca8b2bf46978e3a5698f8a27b48aa7eff3514df",
      "tree": "4cca6a368f6adaee51360c819156ed4cd2e37e31",
      "parents": [
        "d03f8e63e6167af9148bc2ce374fd579e9a16202"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 17 08:36:45 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 17 08:37:33 2019 +0000"
      },
      "message": "Revert \"Make sure all runtime threads are in the System thread group.\"\n\nThis reverts commit 0e01c8d3f3c2d7cc4ac2cf5cf01ae913a4c6181e.\n\nBug: 146178357\nReason for revert: Breaks on debug-gc\n\nChange-Id: I2a305a271ef50263c2a722114f686a478d931c22\n"
    },
    {
      "commit": "0e01c8d3f3c2d7cc4ac2cf5cf01ae913a4c6181e",
      "tree": "81d5237a7aed99844527163d4739a64a60a1f96d",
      "parents": [
        "daad67f72f1d26fdb759326e504d540eab1e1392"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Dec 13 14:26:09 2019 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 17 03:25:23 2019 +0000"
      },
      "message": "Make sure all runtime threads are in the System thread group.\n\nWe want to be sure that one can suspend every thread in the \u0027main\u0027\nThreadGroup without affecting the ability of the runtime to perform\nnormal actions. Previously the jit thread-pool created threads in the\n\u0027main\u0027 thread group. Since some debugger actions can wait until all\njit threads are in a known good state, pausing all threads in the main\nthread-group can cause deadlocks.  To fix this we make the ThreadPool\ncreate all threads in the system thread-group.\n\nTo test this we perform structural redefinition with all threads\nexcept the main one suspended. Previously this would deadlock if run\nwith --jit, as we will pause the jit before performing redefinition.\n\nTest: ./test.py --host --jit\nTest: ./test.py --host\nBug: 146178357\nChange-Id: Ifcb0f29613d2fc22ca7913d4868a1e425b0bee5b\n"
    },
    {
      "commit": "7dac864d7eae3d731eeacf55cfc7f71b4df6cee3",
      "tree": "9f27bb1c0b6f076c2dd1b721441200f9f7a78022",
      "parents": [
        "047081a1509762879a9eb51981982af65f419bac"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 06 17:09:30 2019 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 27 10:02:22 2019 +0000"
      },
      "message": "Clean up JNI dlsym lookup trampoline.\n\nMake sure the GenericJniTrampoline recognizes the trampoline\nin primary boot image oat file. Rename that trampoline, add\na test and flag some issues in the code.\n\nTest: New test 178-app-image-native-method.\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: testrunner.py --host -t 178-app-image-native-method\nBug: 112189621\nChange-Id: I8f8cd11998af536fd3842dd4183a25f0367655a6\n"
    },
    {
      "commit": "962a110efb2c6a2b0161f919bfd5921e3dee7168",
      "tree": "712fa25cf0ef355a419a44dccd6fcc8dfba40e32",
      "parents": [
        "831f20f06f1f3eb2230c7a2266f72bebc6232587"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Nov 01 16:20:33 2019 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Nov 04 12:51:14 2019 +0000"
      },
      "message": "Restructure the contents of art/test/Android.bp.\n\nHighlight what pertains to ART gtests vs ART run-tests.\n\nTest: m\nChange-Id: Ie241dda8a2de567378a4dfd60deeee4cc67832df\n"
    },
    {
      "commit": "55eccdf61f46bd2a633f489f8d09cf78e1de1938",
      "tree": "e60d91c8fc48dfe70956ec9febd346b9dc9fcf77",
      "parents": [
        "49df715faf3700e874fbe246b339a8e426549216"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Oct 07 13:51:13 2019 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 07 18:59:55 2019 +0000"
      },
      "message": "Revert^4 \"Walk internal ArtField/ArtMethod pointers\"\n\nSeveral of the new tests make use of the invoke-custom opcode. This\nopcode is not supported by dexter/slicer causing the tests to fail.\n\nThis reverts commit c34eab45161c51bf63e548e44645cbcc59d01268.\n\nReason for revert: Added tests to redefine-stress known failures\nTest: ./test.py --host --redefine-stress\nBug: 134162467\n\nChange-Id: Ic1b375a0cb1e44d0252c17115af92c269fb8efc5\n"
    },
    {
      "commit": "c34eab45161c51bf63e548e44645cbcc59d01268",
      "tree": "1b2a0eb85865d2cf6b1627cb5d64869e72412505",
      "parents": [
        "623d4f1ba4f4218c5472e3d9e1e9bf707795878d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Oct 07 07:15:53 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Oct 07 07:16:18 2019 +0000"
      },
      "message": "Revert \"Revert^2 \"Walk internal ArtField/ArtMethod pointers\"\"\n\nThis reverts commit ea2a3d949354c8b054983ba629c81bc5ff7163da.\n\nBug: 134162467\n\nReason for revert: Fails redefine stress\n\nChange-Id: If487c0bcacaf3a3f565ff475b6dad8321e3428b9\n"
    },
    {
      "commit": "ea2a3d949354c8b054983ba629c81bc5ff7163da",
      "tree": "dc94a9c92b254d3f94d96ad0dc27f195d5a7767c",
      "parents": [
        "7fca6ef7b9dbe5a54f2c93a3484035f48ebae27a"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Oct 04 20:34:46 2019 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Oct 04 14:21:21 2019 -0700"
      },
      "message": "Revert^2 \"Walk internal ArtField/ArtMethod pointers\"\n\nThis reverts commit 712fa800b2b78e527d36c88dc369bf4b723587ea.\n\nWe incorrectly didn\u0027t check if a method was obsolete before giving its\nclass\u0027s MethodIds array. We then incorrectly used this array and the\n(placeholder) -1 index to try to find the previous method-id. Since -1\nis not a valid array index we got check failures. To fix this we\nsimply added a check that the method is not obsolete and if it is we\ngo to the slow-path.\n\nReason for revert: Fixed issue causing out-of-bounds array access\nTest: ./test.py --host --debuggable --ndebuggable\nBug: 134162467\n\nChange-Id: Iaffefeab6e889b4fb6554a11452d0af051001cb7\n"
    },
    {
      "commit": "712fa800b2b78e527d36c88dc369bf4b723587ea",
      "tree": "ccc4573a3c6bef136ef6da022350ebb5c17a1892",
      "parents": [
        "f70dfec27cae2625c199f1b8ecf1ef1f23580a45"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 04 08:38:11 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 04 08:38:38 2019 +0000"
      },
      "message": "Revert \"Walk internal ArtField/ArtMethod pointers\"\n\nThis reverts commit c84fc3a742b160ce51cbf01c2e5f971ccc0a2c6c.\n\nBug: 134162467\n\nReason for revert: Test fails on debuggable.\n\nChange-Id: I240d58fafcc7434749947330b64c67d65b9b7a1e\n"
    },
    {
      "commit": "c84fc3a742b160ce51cbf01c2e5f971ccc0a2c6c",
      "tree": "1380b353e0d3b5015c9d1ef29fd4c2534828f97b",
      "parents": [
        "8679fd5e938d7bed67d3ab67c55b7f4fb2cdd92a"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Sep 24 14:36:50 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 03 20:44:33 2019 +0000"
      },
      "message": "Walk internal ArtField/ArtMethod pointers\n\nDuring structural class redefinition we sometimes need to update some\nof the ArtMethod/ArtField pointers held by runtime frames. This adds\nsupport for doing this through a StackReflectiveHandleScope similar to\nthe StackHandleScope used for holding object references. This also\nupdates various places where reflective-handles to ArtMethods and\nArtFields are needed, for example the JniIdManager, field Read/Write\noperations and events, field resolution, and the old debugger.\n\nTest: ./test.py --host\nBug: 134162467\n\nChange-Id: I4ea73e85956a07735c6d7b125c5828a4233670bc\n"
    },
    {
      "commit": "b4abe0a193871684ec712fc00b49e9764978b7c9",
      "tree": "ad43199c8efa37e5f5cc4c6d86e72cfe0c9af899",
      "parents": [
        "f3e6c5eada7521d7c4ddc86307474f389f53081e"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri May 17 19:22:55 2019 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Sep 20 13:19:52 2019 +0000"
      },
      "message": "Limit visibility of ART libraries, binaries, and headers.\n\nThis simply records the visibilities necessary to keep things working - more\nwork is required to vet them.\n\nTest: m\nBug: 133140750\nChange-Id: I776d6b79c4c2b214556070c850ae5321d5f8b949\n"
    }
  ],
  "next": "4ac0e1571e015a01d75091c3daef065f9624ad77"
}
