)]}'
{
  "log": [
    {
      "commit": "180e1e70534d3db22571c428bdbaff16a4ed5db3",
      "tree": "3f68563630f93ec1aef4298da18b04ca4d73e5f9",
      "parents": [
        "1ff9056b87705e251501ea4d19280a7e4fe2d009"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Sun Jun 20 17:54:38 2021 +0900"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jun 21 20:00:10 2021 +0000"
      },
      "message": "Fix link apex for jni libs\n\nWhen library_path is \":\" splitted list of .jar files, we should iterate\nover each .jar file path to link a proper APEX namespace for JNI lib.\n\nBug: 169826971\nTest: libnativeloader_test\nTest: move libicing to appsearch apex\nChange-Id: I3df47203d336036d0e015f9c5421b30a0377087f\n"
    },
    {
      "commit": "19d1feb0fe57963e4e0931b953aa9e61b26b72c7",
      "tree": "684944929a39a0b6fcd644db6e340bdb7c71036a",
      "parents": [
        "094b1cfc9fa9e1c02238a2352c190be1746f5622"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Mar 30 22:35:24 2021 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Jun 09 13:33:03 2021 +0000"
      },
      "message": "Avoid internal APEX stubs in libnative{bridge,loader} and clean up\nexported symbols.\n\nThe APEX stubs don\u0027t have any practical effect on the lazy loading\nlibrary wrappers. Add notes about that and update the function wrappers\nto keep them in sync.\n\nAlso add tests for the lazy libraries. That necessitated some\nreshuffling in libnativeloader tests to reuse the mocks.\n\nTest: art/libnativebridge/tests/runtests.sh\nTest: atest libnativebridge-lazy-tests\nTest: atest libnativeloader_test libnativeloader_lazy_test\nBug: 122710865\nChange-Id: I7e291f2e84d8e35731dfb1114c9b19978ff87969\n"
    },
    {
      "commit": "6034c0755a12c4c3836d49282269a2670e6ee264",
      "tree": "c41ad10e9786bdd07ec0d250ebdc47e68d9aac17",
      "parents": [
        "d90291b46b808946ad99a94a2f2992431fbc8c83"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Jun 02 00:35:39 2021 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Jun 03 09:10:39 2021 +0000"
      },
      "message": "Fold the C API tests into the regular libnative{bridge,loader} tests.\n\nThey only need to be compiled. This way we avoid separate tests that\nneed gtest:false and that atest doesn\u0027t handle well (although there are\nother reasons it doesn\u0027t handle libnativebridge-tests).\n\nTest: art/libnativebridge/tests/runtests.sh\n      atest libnativeloader_test\n  with and without a planted syntax error in the .c files\nBug: 122710865\nChange-Id: I3225bdb7c2dd268c2cf9353b7ce89819e6d396a5\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": "0bf5b6729be507f1e78fc61f17554393dd978e46",
      "tree": "d98b4d260de78aa5624bd7da2d0d96ade6966e8a",
      "parents": [
        "a6cb451f4a14a9102f941c7c795e9cbe729ee359"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 17 11:07:42 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 17 11:07:42 2021 +0100"
      },
      "message": "Fix golem breakage.\n\nTest: build-art-target-golem\nChange-Id: I262ebc20870debb357d12c87e944284f84191cbc\n"
    },
    {
      "commit": "7e363b8a078ccc68a5666461c455cfc1d192b7b5",
      "tree": "6ca23e3efb66f73e8a8ad4cfa5aaa65e51ffd4e0",
      "parents": [
        "b94401e6e15903b64de709fd69863b6880cedd7c"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed May 05 13:10:42 2021 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 13 15:42:46 2021 +0000"
      },
      "message": "Drop ro.debuggable restriction for NATIVELOADER_DEFAULT_NAMESPACE_LIBS.\n\nTo allow running tests on user builds. The (non)existence of the\nenvironment variable itself serves fine as a toggle, and it is hard to\ninject into the zygote environment on a user build anyway.\n\nAlso a few other cleanups from comments on\nhttps://r.android.com/1689792.\n\nTest: art/test/testrunner/testrunner.py --target --64 --optimizing\nBug: 130340935\nChange-Id: I1843a8bbfb5dadc560919022d1f2123eb652be5a\n"
    },
    {
      "commit": "b94401e6e15903b64de709fd69863b6880cedd7c",
      "tree": "cd1729038943aea0f3f1648109b095bb43d28530",
      "parents": [
        "3606cc69f5975d7ae81044a51706a6896d148781"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon Apr 26 23:06:57 2021 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 13 15:42:46 2021 +0000"
      },
      "message": "Drop ANDROID_ADDITIONAL_PUBLIC_LIBRARIES.\n\nIt\u0027s not needed any more since libarttest(d).so is loaded from the ART\nlinker namespace.\n\nTest: art/test/testrunner/testrunner.py --target --64 --optimizing\nBug: 130340935\nBug: 167578583\nChange-Id: I785133e921277cb25360856e9af20fa681b54a3b\n"
    },
    {
      "commit": "266594305a1a1a140a911685cbb5a1ded45426f7",
      "tree": "0406bf1264fffb62a00f3f87ddf0e319692fb3d0",
      "parents": [
        "816cab342a8db032b660018d4c933032a326b5c8"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Apr 16 19:55:03 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 10 09:40:21 2021 +0000"
      },
      "message": "Avoid loading external libraries from ARTs internal linker namespace\n(reland).\n\ndlopen() calls in ART will use its own linker namespace\n(com_android_art). That\u0027s appropriate for internal libraries in the\nAPEX, but not when ART loads libraries on behalf of external requests.\nIn those cases we should instead use android_dlopen_ext to load them\nfrom the system namespace, i.e. the one that searches /system/lib(64).\n\nThe linker config has been using allow_all_shared_libs, so any loads\nfrom com_android_art fall back to the system namespace, and hence\ndlopen() usually works regardless which namespace it ought to use.\nHowever we want to drop allow_all_shared_libs, so we need to figure out\nwhich dlopen\u0027s should use which namespace:\n\n1. Several ART libraries are loaded on-demand, e.g. libart-compiler and\n   libart-disassembler. There are also those going through the runtime\n   plugin system, like libperfetto_hprofd and heapprofd_client_api. All\n   these are internal or at least statically known (so we can provide\n   links for them in the linker config), and should continue to use\n   dlopen from the ART namespace.\n\n2. libnativeloader loads the preloadable public libraries from\n   system/etc/public.libraries.txt, and should use the system namespace\n   for that.\n\n3. libnativebridge loads the native bridge implementation specified\n   through the command line (or ultimately the system property\n   ro.dalvik.vm.native.bridge). It\u0027s not part of the ART APEX and not\n   known statically, so the system namespace should be used.\n\n4. libnativeloader also loads JNI libraries from classloader\n   namespaces, but has a fallback if no such namespace can be found\n   based on caller location. Fall back to the system namespace to\n   handle libraries loaded during the preload phase in the zygote.\n\n5. JVMTI agents are loaded by dalvik.system.VMDebug.attachAgent().\n   Treat these too as external libraries - they are loaded in a way\n   similar to JNI libraries through OpenNativeLibrary in\n   libnativeloader, so are covered by #4.\n\n   They are normally loaded by apps with a classloader, but a special\n   case is adbconnection which loads libjdwp.so in the ART APEX without\n   one and hence falls back to the system namespace. We therefore need\n   to create a link for it (https://r.android.com/1690889,\n   https://r.android.com/1690795).\n\nAll cases #2-#5 are covered by libnativeloader and libnativebridge.\nIntroduce OpenSystemLibrary, and since libnativeloader depends on\nlibnativebridge, put it in the latter to be usable from both. It\u0027s only\nan internal dependency not exposed in the APEX stubs.\n\n(Another possibility could be to put it in the generic toolbox lib\nlibartbase, but it\u0027s split into -d and non-d variants, and we don\u0027t\nwant to split libnative{loader,bridge} that way.)\n\nSince libnativeloader_test no longer needs to mock dlopen we can\nsimplify it to a more regular test that loads the tested libs\ndynamically.\n\nThis relands https://r.android.com/1673312 without setting\nANDROID_ADDITIONAL_PUBLIC_LIBRARIES in run-test-jar, because that made\nlibnativeloader try to preload internal libraries from the system\nnamespace.\n\nTest: mmm art\nTest: atest art/libnativeloader\nTest: atest CtsJniTestCases\nTest: Cuttlefish app compat test that uses NDK translation\nTest: Manual tests with Android Studio TI agents\n  (http://g/art-module-team/7Jy3Tg7LCh0)\nTest: art/test/testrunner/testrunner.py --target --64 --optimizing\n  in chroot on cuttlefish\nBug: 130340935\nChange-Id: I7fb32faacc1c214402b58125d8190e97bbbcfad2\n"
    },
    {
      "commit": "91d2c5c1d1157f27e723d8ebee458913c6f0ed43",
      "tree": "61089b69928171706cf93d939bb068d115e92c5d",
      "parents": [
        "6958df93f8cb3d82bddadbabb5ed94b3b63a7f14"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri May 07 22:44:29 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sun May 09 00:37:05 2021 +0000"
      },
      "message": "Revert \"Avoid loading external libraries from ARTs internal linker namespace.\"\n\nThis reverts commit 582448f29f2f2529202bf868d00ba5d3d3776bb6.\n\nReason for revert: breaks tests\n\nChange-Id: I2e0b2a28d4644b314887673d4aef4f1094aea289\n"
    },
    {
      "commit": "582448f29f2f2529202bf868d00ba5d3d3776bb6",
      "tree": "6e923a08f5d03f1bb6434e27f7ff9076ca4c5302",
      "parents": [
        "39d4df62d4e2606073d05cc363370db825ad7b9f"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Apr 16 19:55:03 2021 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri May 07 14:53:28 2021 +0000"
      },
      "message": "Avoid loading external libraries from ARTs internal linker namespace.\n\ndlopen() calls in ART will use its own linker namespace\n(com_android_art). That\u0027s appropriate for internal libraries in the\nAPEX, but not when ART loads libraries on behalf of external requests.\nIn those cases we should instead use android_dlopen_ext to load them\nfrom the system namespace, i.e. the one that searches /system/lib(64).\n\nThe linker config has been using allow_all_shared_libs, so any loads\nfrom com_android_art fall back to the system namespace, and hence\ndlopen() usually works regardless which namespace it ought to use.\nHowever we want to drop allow_all_shared_libs, so we need to figure out\nwhich dlopen\u0027s should use which namespace:\n\n1. Several ART libraries are loaded on-demand, e.g. libart-compiler and\n   libart-disassembler. There are also those going through the runtime\n   plugin system, like libperfetto_hprofd and heapprofd_client_api. All\n   these are internal or at least statically known (so we can provide\n   links for them in the linker config), and should continue to use\n   dlopen from the ART namespace.\n\n2. libnativeloader loads the preloadable public libraries from\n   system/etc/public.libraries.txt, and should use the system namespace\n   for that.\n\n3. libnativebridge loads the native bridge implementation specified\n   through the command line (or ultimately the system property\n   ro.dalvik.vm.native.bridge). It\u0027s not part of the ART APEX and not\n   known statically, so the system namespace should be used.\n\n4. libnativeloader also loads JNI libraries from classloader\n   namespaces, but has a fallback if no such namespace can be found\n   based on caller location. Fall back to the system namespace to\n   handle libraries loaded during the preload phase in the zygote.\n\n5. JVMTI agents are loaded by dalvik.system.VMDebug.attachAgent().\n   Treat these too as external libraries - they are loaded in a way\n   similar to JNI libraries through OpenNativeLibrary in\n   libnativeloader, so are covered by #4.\n\n   They are normally loaded by apps with a classloader, but a special\n   case is adbconnection which loads libjdwp.so in the ART APEX without\n   one and hence falls back to the system namespace. We therefore need\n   to create a link for it (https://r.android.com/1690889,\n   https://r.android.com/1690795).\n\nAll cases #2-#5 are covered by libnativeloader and libnativebridge.\nIntroduce OpenSystemLibrary, and since libnativeloader depends on\nlibnativebridge, put it in the latter to be usable from both. It\u0027s only\nan internal dependency not exposed in the APEX stubs.\n\n(Another possibility could be to put it in the generic toolbox lib\nlibartbase, but it\u0027s split into -d and non-d variants, and we don\u0027t\nwant to split libnative{loader,bridge} that way.)\n\nSince libnativeloader_test no longer needs to mock dlopen we can\nsimplify it to a more regular test that loads the tested libs\ndynamically.\n\nTest: mmm art\nTest: atest art/libnativeloader\nTest: atest CtsJniTestCases\nTest: Cuttlefish app compat test that uses NDK translation\nTest: Manual tests with Android Studio TI agents\n  (http://g/art-module-team/7Jy3Tg7LCh0)\nBug: 130340935\nChange-Id: I2513472c4e1c44f0fcb01a6b4f6eccbb03718f1d\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": "2207b7e7db463dfa96d071654c49268e22e8745f",
      "tree": "e01f687e8761a63d83b9858a02d529ddacc1b60f",
      "parents": [
        "107d22b9c7a97275e62bb5a97eb871713cfa0616"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Apr 28 14:52:01 2021 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed May 05 12:07:48 2021 +0000"
      },
      "message": "Extend Link() to allow linking to the default namespace.\n\nThe code path through native bridge and NDK translation should\npropagate nullptr as well.\n\nThis to support a later change that changes the way native test\nlibraries are loaded in ART run tests.\n\nTest: art/test/testrunner/testrunner.py --target --64 --optimizing\nBug: 130340935\nChange-Id: I934d11942e41ccc6d140a7044faa160b006166f1\n"
    },
    {
      "commit": "19cdd0479c6edee7c779e2d6828874cc60b845d6",
      "tree": "647940bee77dc43e09a411b1301c44936d022ce2",
      "parents": [
        "8f187c3326b30fc43bedb254351ea55185fbd51a"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Fri Apr 23 16:12:40 2021 -0700"
      },
      "committer": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Fri Apr 23 16:12:40 2021 -0700"
      },
      "message": "[LSC] Add LOCAL_LICENSE_KINDS to art\n\nAdded SPDX-license-identifier-Apache-2.0 to:\n  libnativeloader/test/Android.mk\n\nBug: 68860345\nBug: 151177513\nBug: 151953481\n\nTest: m all\n\nExempt-From-Owner-Approval: janitorial work\nChange-Id: I51f13e645548e7f78e94e27352c87f39a7f7c1f6\n"
    },
    {
      "commit": "ec388c026a5709dea339ad43f8bca10b2d991d6e",
      "tree": "49cf87249facd3c8dabb33ab10f8273a75fe2a50",
      "parents": [
        "e017bb072ac577eee5413bd7e5e136f4eaf75908"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 03 22:09:06 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 19 07:09:56 2021 +0000"
      },
      "message": "Add min_sdk_version for ART module.\n\nBug: 180399951\nTest: m\nChange-Id: I5e2a1ddc3063be26c602bf4db8e6b77f2d54b656\n"
    },
    {
      "commit": "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": "18ab13b5c045443866b4551fcb98c3db8e2c4b8f",
      "tree": "e657f7444da8a63f866a605fe0c46dcbb9cfc544",
      "parents": [
        "61c48728da03ee8fa5e11728d484d615ff2a34f6"
      ],
      "author": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Wed Feb 10 02:42:47 2021 +0000"
      },
      "committer": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Wed Feb 10 15:16:35 2021 +0000"
      },
      "message": "Mark cc_test as not gtest since they are not gtest\n\nChange-Id: Id923a7aa04d4341a833683333101eae0324eeec2\nTest: None\nBug: 179092189\n"
    },
    {
      "commit": "2b84cf8a1dbc77df88fafec55ce5f45ff8778268",
      "tree": "6a988d1cac8488d79c44a360d940491c56e637ec",
      "parents": [
        "7d1a7f1c5b08bd1a2e1a4d72b9d874229081982f"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Jan 28 22:54:14 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 29 11:43:41 2021 +0000"
      },
      "message": "Don\u0027t use whole_static_libs in libnativeloader.\n\nIt has the effect that all the headers of those libs get included in\nthe libnativeloader prebuilt snapshots, which in this particular case\nmakes it contain all the xxx.sysprop.h generated headers from\nPlatformPropoerties.\n\nTest: mmm art/libnatveloader\nTest: `m art-module-sdk` and check that art-module-sdk-current.zip\n  doesn\u0027t have any .sysprop.h files\nBug: 178379642\nChange-Id: Ic11007945fd6f1cd2d7996cae8a7b533c91aea7b\n"
    },
    {
      "commit": "694f0129e6bf106d9f9a7c3bfb3b1cf499e8469b",
      "tree": "0d3ed6e495945d9e10b7e1a9cc227e3aa3a43957",
      "parents": [
        "b5ed330e832e7c08c37f88a3a5fff7dbae17a06b"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Oct 30 02:23:24 2020 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Nov 04 16:28:24 2020 +0000"
      },
      "message": "Move hardcoded Soong apex_available lines for ART modules into ART\nblueprints.\n\nTest: m droid\nBug: 133140750\nChange-Id: I99139a4f8c618f237fa169e125de9479feaeb07f\n"
    },
    {
      "commit": "b5ed330e832e7c08c37f88a3a5fff7dbae17a06b",
      "tree": "48aabacb8b9825ba29e9ec6ab787ea28c40eab78",
      "parents": [
        "39aa4be302d17797281ca6b96d5f0e26cdaeea91"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Oct 30 02:27:23 2020 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Nov 04 16:28:24 2020 +0000"
      },
      "message": "Fix missing //apex_available:platform on some libs.\n\nThey\u0027re used from platform libs, e.g. libandroid_runtime.\n\nAlso changed the *_lazy shims to use the more precise runtime_libs for\ntheir dlopen dependencies.\n\nTest: m\nBug: 133140750\nChange-Id: I4a3f1af6155b414aed4aac7a28365177ea1ae716\n"
    },
    {
      "commit": "3e9abfc9779399815a7dc8d492466a1234b7fdcd",
      "tree": "fd1017f153d3759488914c4d372f543125722ad1",
      "parents": [
        "35b132e3377029a356cfbc9e4682e3ebceb83edf"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Oct 09 22:17:51 2020 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Oct 23 10:03:13 2020 +0000"
      },
      "message": "Rename ART release APEX to com.android.art.\n\nTest: Build \u0026 boot on AOSP master\nTest: `m` on AOSP master, flipping\n  PRODUCT_ART_TARGET_INCLUDE_DEBUG_BUILD between true and false, and\n  check out/target/product/bonito/symbols/apex/com.android.art.\nTest: art/build/apex/runtests.sh\nTest: art/tools/buildbot-build.sh {--host,--target}\nTest: art/tools/run-gtests.sh\nTest: m test-art-host-gtest\nTest: art/test/testrunner/testrunner.py --target --64 --optimizing\nTest: m build-art-target-golem\nBug: 169639321\nChange-Id: Ic4bb8d6f9988ce99bba326b9c635bd3c01ed74ab\nMerged-In: Ic4bb8d6f9988ce99bba326b9c635bd3c01ed74ab\n"
    },
    {
      "commit": "07927bf6136f2472646ef3c7de2886f804ee063e",
      "tree": "f516616b2f7bf7d4c4b5463ebb01d130b80d4729",
      "parents": [
        "c992e42601a9dc99a8ddcaecbc7f9d5048d77a38"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Sep 15 15:30:58 2020 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 16 11:21:46 2020 +0000"
      },
      "message": "Remove dangling symlinks to clang-format config.\n\nBefore the move symlinks pointed to system/core/.clang-format-2, which\npoints to build/soong/scripts/system-clang-format-2. ART style is\nnot (yet) enforced with clang-format, but if that changes it should\napply here too.\n\nTest: n/a\nChange-Id: Ib27dcf053e88a51782cbd295a7ccd4c66365fbd1\n"
    },
    {
      "commit": "1263402b99713aab1cd18303c41a3f3b17aa1f0f",
      "tree": "20c372994f5cafc09d61ff3990b660118ef3b15a",
      "parents": [
        "cd616d0fa2f11ced7f979d60cc686c86c7e74d9a"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Fri Aug 28 17:13:43 2020 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Tue Sep 08 23:07:32 2020 +0000"
      },
      "message": "clean up statsd public libraries\n\nJNI library(libstat_jni) from statsd apex is handled via the build\nsystem and linkerconfig.\n\nBug: 150767721\nTest: presubmit\nTest: atest libnativeloader_test\nChange-Id: Ia7527f053508d5992c3eef209f77260f0d210e81\n"
    },
    {
      "commit": "cd616d0fa2f11ced7f979d60cc686c86c7e74d9a",
      "tree": "a5a930782fbaf542d66bc9eccf9d59a241cf0ca2",
      "parents": [
        "d78be00e7bc1daf0a1db07ba3944a2924bba8e26"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Tue Sep 01 14:53:23 2020 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Tue Sep 08 23:07:32 2020 +0000"
      },
      "message": "libnativeloader: clean-up hard-coded public libs\n\nart, nn, i18n apexes provide some of libs listed in\npublic.libraries.txt. The list of these apexes are now read from\n/linkerconfig/apex.libraries.config.txt generated by\n/system/bin/linkerconfig.\n\nBug: 150767721\nTest: cuttlefish boots\nTest: atest libnativeloader_test\nChange-Id: Ic603b42669dff89d5d3da2f6822312e827eddd86\n"
    },
    {
      "commit": "b309240781b17ee994d088648d5fc76814dde436",
      "tree": "a62c1d3a10063d1b0b4b11b5f128a5f03398fa59",
      "parents": [
        "fa37ba22d1e996ad785f94819be286abfae2aae5"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Sep 04 00:49:44 2020 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon Sep 07 14:59:33 2020 +0000"
      },
      "message": "Fix libnativeloader unit tests being skipped.\n\nART_TARGET_ANDROID was only defined in art_defaults, which wasn\u0027t\nimported into libnativeloader_test. However doing that imports a lot of\nstuff, including compiler pickiness that doesn\u0027t work with cxxabi.h\nincluded via gtest.h. We instead make ART_TARGET_(ANDROID|LINUX)\nimplicitly defined in all art_cc_* module types.\n\nThese tests have probably not run since https://r.android.com/1295365.\nAlso fixed the accumulated bitrot.\n\nTest: atest libnativeloader_test, check that 25 tests pass.\nTest: Plant a test failure in native_loader_test.cpp, check that\n  presubmit fails.\nBug: 154074847\nBug: 137356719\nChange-Id: I4e9d4dc8d78c91a7b750b8de0ab7db2114b154ac\n"
    },
    {
      "commit": "232db5e6df0b835e2542421257f9aa2d46a8ee77",
      "tree": "aac70143b957a9b66128791b5b58f26366ba7002",
      "parents": [
        "85438f2ddf4d93598700c477710e80315668b396"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Mon Aug 03 15:32:13 2020 -0700"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue Aug 04 21:41:28 2020 +0000"
      },
      "message": "Rename linker greylist to exempt-list\n\nUpdate language to comply with Android\u0027s inclusive language guidance\n\nSee https://source.android.com/setup/contribute/respectful-code for reference\n\n  #inclusivefixit\n\nBug: http://b/162536543\nTest: device boots\nChange-Id: Ia80fb2f3be6abdadbd061570d48a4ef0fefcfebc\n"
    },
    {
      "commit": "14626a7c40471090745b7069310a6c6265671fc9",
      "tree": "c3b0b32abe59ecd16b65168034a6675fb02a7a78",
      "parents": [
        "a0130e8d2842a9a82e4fd4e811ee699272eb2e0b"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Jul 02 23:17:58 2020 +0900"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 24 10:28:24 2020 +0000"
      },
      "message": "libnativeloader understands uses-native-library tag\n\nPreviously, libnativeloader provided all the partner-provided public\nshared libraries to apps unconditionally. Starting from Android S, apps\ntargeting S (or higher) get only the libs that are explicited listed\nas dependencies using the \u003cuses-native-library\u003e tag in the app manifest.\nThe libs not listed there are not available to the app even if they are\nregistered as public libraries.\n\nThe changed behavior affects new (S+) apps. Existing apps are not\naffected; they still get all the libraries.\n\nThe implementation is rather straightforward. The library accepts a new\nparameter soname_list from the framework, which is actually from the\n\u003cuses-native-library\u003e tags of the app manifest. The list is used to\nfilter the partner-provided libraries when the target sdk is \u003e 30.\n\nBug: 142191088\nTest: atest CtsUsesNativeLibraryTest\nMerged-In: I52e23dda58fc69f51451c5dbeffd0a77125c9bff\n(cherry picked from commit e741dfd18dcd15f002bc1db9bd6634322e4eeef8)\nChange-Id: I52e23dda58fc69f51451c5dbeffd0a77125c9bff\n"
    },
    {
      "commit": "5472d6f75d3e68e37e801d5c75e756ac866914a2",
      "tree": "06d679b2a298c327a177d1a61fdf66d35e4cf883",
      "parents": [
        "33247ee958f603bece4223e5e0937391c3c52672"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Wed Jul 01 09:43:16 2020 -0700"
      },
      "committer": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Mon Jul 06 18:24:26 2020 +0000"
      },
      "message": "Add liblog to libnative(bridge|loader)_lazy.\n\nThese DSO\u0027s use LOG_IF, which requires liblog. Compiling them with\nasserts shouldn\u0027t fail to build.\n\nBug: 160324350\nTest: Build with asserts enabled (`-UNDEBUG`).\nChange-Id: Id72ef2cef0e60072bd762b63feae3db114ee7a26\n"
    },
    {
      "commit": "c4b50b3bb8125aa12255587c55b356b424278110",
      "tree": "01821ce1b27fa58b5b3b058b8ccfcbc9662b2112",
      "parents": [
        "beed922d8e517470720486ab7cafb126b5ff963d"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Jul 01 15:10:23 2020 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Jul 02 00:06:55 2020 +0000"
      },
      "message": "Improve library search paths for host gtests.\n\nEnsure the host gtests can also find the needed data and\nlibraries when executed remotely from testcases directory.\n\nBug: 147817558\nTest: Tested that tests pass with further followup CLs.\nChange-Id: I3562b1e89044dbc125afe4c83a4817cb0e73e716\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": "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": "1cf46a3342d8821fcdb700ada24ac272e85a2a39",
      "tree": "1357357f0bb79433672883c6949fdd86b896b256",
      "parents": [
        "842e9c8c0affaff5253de233974c63ba7ba7f8b4"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Jun 22 15:39:00 2020 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 24 19:45:23 2020 +0000"
      },
      "message": "Copy tools needed by host gtests to testcases directory.\n\nAtest requires that everything is in the testcases directory.\nThe files are not used yet (this is left to follow-up CLs).\n\nBug: 147819342\nTest: check the generated general-tests.zip (\"m general-tests\")\nChange-Id: Ied22a736e81a7cff03641d18bacd829b86a6ef0b\n"
    },
    {
      "commit": "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": "d20e51dcd0fc4b2b229c5b6a5e9b500ae042bc61",
      "tree": "2ef7925b2e89c77cee31144a25932a198cd4b65e",
      "parents": [
        "a6653d304faa3bbd981507570a4ac1107760c6a7"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Tue May 05 16:01:19 2020 +0100"
      },
      "committer": {
        "name": "vichang",
        "email": "vichang@google.com",
        "time": "Thu May 07 09:34:47 2020 +0000"
      },
      "message": "\"Move ICU from ART APEX to i18n APEX\" Attempt 2\n\nThe change was previously submitted in https://r.android.com/1283897\n\n\"Calling @IntraCoreApi from core-icu4j should not cause Core platform API violation\"\nhttps://r.android.com/1299494\n\nBug: 138994281\nTest: m checkbuild on aosp_x86-userdebug\nTest: device boots\nChange-Id: Idb3e2450fca5d8300aef353fc1e4e99e24f04372\n"
    },
    {
      "commit": "4a48775376a4c0b180a7d32ad2cdf00bd0dca140",
      "tree": "ef0bbb1281f6d4785e60f26cb420646c83eb6f6d",
      "parents": [
        "b5146a3b70b9bf15532d25d3b876354938976bc9"
      ],
      "author": {
        "name": "vichang",
        "email": "vichang@google.com",
        "time": "Tue May 05 11:11:30 2020 +0000"
      },
      "committer": {
        "name": "vichang",
        "email": "vichang@google.com",
        "time": "Tue May 05 11:11:30 2020 +0000"
      },
      "message": "Revert \"Move ICU from ART APEX to i18n APEX\"\n\nRevert \"Move v8 and libpac into i18n APEX\"\n\nRevert \"Move core-icu4j into I18n APEX\"\n\nRevert \"Move ICU from ART APEX into i18n APEX\"\n\nRevert \"Move core-icu4j into i18n APEX\"\n\nRevert \"Move libpac into i18n APEX\"\n\nRevert \"Add shared library into i18n APEX and add the required s...\"\n\nRevert \"Make com_android_i18n namespace visible\"\n\nRevert submission 1299494-i18nApex\n\nReason for revert: Breaking aosp_x86-eng on aosp-master\nReverted Changes:\nI30fc3735b:Move ICU from ART APEX to i18n APEX\nIcb7e98b5c:Calling @IntraCoreApi from core-icu4j should not c...\nIc7de63fe3:Move core-icu4j into I18n APEX\nI65b97bdba:Make com_android_i18n namespace visible\nIa4c83bc15:Move v8 and libpac into i18n APEX\nI10e6d4948:Move core-icu4j into i18n APEX\nI8d989cad7:Move ICU from ART APEX into i18n APEX\nI72216ca12:Move ICU into i18n APEX\nIef9dace85:Add shared library into i18n APEX and add the requ...\nI7d97a10ba:Move libpac into i18n APEX\nI90fff9c55:Move ICU from ART APEX into i18n APEX\n\nChange-Id: I516a8d290e3a3cc2b45d71ba5400364b0478a57a\n"
    },
    {
      "commit": "8419b82fa8d46362eb1369ec1876ee2d3c4bc29d",
      "tree": "dca0a5f4cd30c2882e404532eb06691a19624306",
      "parents": [
        "b6f4c79b06bb97651a7be1ac828d18ed18356603"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Mon Apr 06 20:42:07 2020 +0100"
      },
      "committer": {
        "name": "vichang",
        "email": "vichang@google.com",
        "time": "Tue May 05 08:52:20 2020 +0000"
      },
      "message": "Move ICU from ART APEX to i18n APEX\n\nIt involves a change of boot class path to use core-icu4j\nfrom i18n APEX.\n\nBug: 138994281\nTest: device boots\nTest: m build-art-target-tests\nTest: CtsJniTestCases\nTest: atest libnativeloader_test\nTest: ./art/test/testrunner/run_build_test_target.py -j80 art-test\nTest: art/build/apex/runtests.sh\nChange-Id: I30fc3735be760cba48856cd102852d2a6c796374\n"
    },
    {
      "commit": "71f661c294156f2ebe10600368a23a35d882c67b",
      "tree": "92f830a0ffe7e266a2182bac8dcb3fd4d6ba9c55",
      "parents": [
        "0c66e678a0562846449a424e297211a1aa70694d"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Tue Apr 28 18:20:43 2020 +0900"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 04 12:18:30 2020 +0000"
      },
      "message": "Set apex_available property\n\nThe marked library(ies) were available to the APEXes via the\nhand-written whitelist in build/soong/apex/apex.go. Trying to remove the\nwhitelist by adding apex_available property to the Android.bp of the\nlibraries.\n\nBug: 150999716\nTest: m\nMerged-In: Ie9a693be10c6c6571c8aa5357500f5d931400593\n(cherry picked from commit 0f152391c0458d3d1cce04a11bc92e7234955d6f)\nChange-Id: Ie9a693be10c6c6571c8aa5357500f5d931400593\n"
    },
    {
      "commit": "e33dca6d44463606168330d2f84bc616e8c147f6",
      "tree": "f0e96613fb9b24355dc2675b505651f20bc5a346",
      "parents": [
        "315f1b21a51a67e5d9c9ec3a04f1887931061e10"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Apr 28 14:07:58 2020 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon May 04 07:23:15 2020 +0000"
      },
      "message": "Add libnativehelper.so to public libraries\n\nExposes one copy libnativehelper to apps and everywhere else.\n\nBug: 150252746\nBug: 151443957\nTest: m \u0026 boot\nTest: art/tools/run-gtests.sh -j4\nTest: art/test.py --target -r\nChange-Id: I20b3c5b722bb54a2d4aca74819bd38f801324452\n"
    },
    {
      "commit": "7ca8b67c21513d3cd236f47332afdd1be1cb1569",
      "tree": "4e226c25734451053b85d24e5176abcc299e3986",
      "parents": [
        "5c25e537f59c2f87a57097ad3eb2f70d8c54de23"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 24 15:43:48 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Apr 27 09:34:03 2020 +0000"
      },
      "message": "Use ART_TARGET_ANDROID instead of __ANDROID__\n\nOn golem, we build for ART_TARGET_LINUX, which doesn\u0027t have support for\nlinkerconfig. Therefore, guard all linker namespace code on\nART_TARGET_ANDROID instead of __ANDROID__ (which is unfortunately not\nunder ART\u0027s control).\n\nTest: build for golem and run\nBug: 154074847\nChange-Id: I7a2b81918177704b42d8aafbd6d7e9d06d34e5f4\n"
    },
    {
      "commit": "72d7e965f8f70d79fa1c4d5f09ae59652c9c24de",
      "tree": "d0ff9a95a6988beda4177db727eccf192b5e4660",
      "parents": [
        "9a625b53532db4c05d2a97e55c3a62f7dfbe385d"
      ],
      "author": {
        "name": "Chris Wailes",
        "email": "chriswailes@google.com",
        "time": "Wed Apr 15 09:37:38 2020 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 15 20:00:04 2020 +0000"
      },
      "message": "Replaced dangerous uses of sizeof()\n\nThis patch replaces several uses of sizeof with calls to std::array\u0027s\nsize method.\n\nBug: 153655228\nTest: Compiled with changed static asserts\nTest: Treehugger\nChange-Id: I4cf87f2d7fffe0d7c81e0652688bedd4d5c9c5c2\n"
    },
    {
      "commit": "00cb81d29a9a903aa5f72e28492415ff7b2d7f06",
      "tree": "221d2e9afa762ffeb1700d5d674c7868855495b2",
      "parents": [
        "4b79ef49dce84b8e4c08d25b73411329fc6a0d55"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Apr 03 06:47:07 2020 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Apr 07 14:01:36 2020 +0000"
      },
      "message": "Add explicit dependencies on jni_headers\n\nBug: 152482542\nTest: lunch aosp_x86_64 \u0026\u0026 m checkbuild\nChange-Id: I1859a5b15d7e1a4939968908d862d27b2345acc4\n"
    },
    {
      "commit": "696882f2728dc634fa84d232be11db522727b03c",
      "tree": "9b2761f3772719ddc1a0aea46a61be221fb8090b",
      "parents": [
        "2d18719c47854cee595ea3b9b9817db9ba76c9a7"
      ],
      "author": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Tue Mar 24 13:31:19 2020 +0900"
      },
      "committer": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Tue Mar 24 13:31:19 2020 +0900"
      },
      "message": "Skip reading VNDK libs for product if not available\n\nIf a device do not define \"ro.product.vndk.version\", we don\u0027t need to\ninitialize the VNDK libraries for them. In that case, return emtpy\nstring.\n\nBug: 151992099\nTest: atest libnativeloader_test\nChange-Id: Ic4d5e0e1162d367e919b5381e3a6c7d048a5e103\n"
    },
    {
      "commit": "310432e7c8b36a2d112376fb76369d4c2487763d",
      "tree": "ee844789b7f86c66e6877c6110c6376cb6fdd7a7",
      "parents": [
        "7f43595d5884497d874cfafe40030e9891b8d7d6"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Mar 04 10:58:29 2020 -0800"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Mar 05 18:25:57 2020 +0000"
      },
      "message": "Fix bugprone-macro-parentheses warnings\n\nBug: 150783705\nTest: WITH_TIDY\u003d1 make\nChange-Id: If8462783e9e15d46a48004285ced2a0e04d27b42\n"
    },
    {
      "commit": "735ab4ef26c250510f21fc2070e08d4ae7867916",
      "tree": "0e6e3f6873e32a3bd07bf4ae5f1b199a7e437a58",
      "parents": [
        "538f99ab285c1440969b9b3331fc0ce750c0d316"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Tue Mar 03 01:07:37 2020 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Wed Mar 04 06:08:15 2020 +0000"
      },
      "message": "libnativeloader: Remove hard-coded cronet\n\nBecause cronet apex sets its jni_libs, its classloader-namespace is\nlinked automatically via jni.config.txt.\n\nBug: 143733063\nBug: 146420818\nTest: atest CronetApiTest\nChange-Id: I7ae0f7bc60f09e7e384abd1f0a1e4f8f90f64052\n"
    },
    {
      "commit": "538f99ab285c1440969b9b3331fc0ce750c0d316",
      "tree": "018e9cbfc08ba39b3f35e457a8658fcc4cc8db75",
      "parents": [
        "6fc471e510d6a4e9c31fcab6c0542e2efdf50099"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Tue Mar 03 00:46:50 2020 +0900"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 04 05:56:39 2020 +0000"
      },
      "message": "Loading JNI libraries in an APEX\n\nTo load JNI libraries in an APEX, libnativeloader relies on\njni.config.txt file which contains available JNI libraries for\nAPEX namespaces:\n\n  com_android_foo libfoo_jni.so:...\n  com_android_bar libbar_jni.so:...\n\nThis file is generated by linkerconfig.\n\nBug: 143733063\nTest: cuttlestone boots\n      (For now, no behavioral changes because jni.config.txt is empty)\nChange-Id: I066de90a73875118be53972e50d076061922d762\n"
    },
    {
      "commit": "26f7d102394748f8ec5f8c5342bf55e21bfb8ba5",
      "tree": "e23223c9e2f1a4037fba92594fae0c9e34c0eb63",
      "parents": [
        "6a8e66c753abdb53847107c1cb2f13e9114c811d"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Sat Feb 22 23:39:23 2020 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Sun Feb 23 02:41:17 2020 +0900"
      },
      "message": "Use {llndk,vndksp}.libraries.txt from VNDK APEX\n\n/system/etc/{llndk,vndksp}.libraries.txt files will be deprecated.\nThese files can be read from VNDK APEX.\n\nBug: 145184886\nTest: build / boot\n\nChange-Id: If96fe7c75538e7fa94542e9b4d1d68a16cfa5f62\n"
    },
    {
      "commit": "eb4f08c577ca3d39d14ada321ea5f9c7444bd06a",
      "tree": "0018cd8ff6e7d0705d0662be909e0ff61b4d84f2",
      "parents": [
        "272b36d1b5cbab951239b32ed679a9dbc4ffdf1a"
      ],
      "author": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Tue Feb 18 11:29:07 2020 +0900"
      },
      "committer": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Fri Feb 21 10:40:23 2020 +0900"
      },
      "message": "Use a different VNDK namespace for product apps\n\nAs product partition may have a different VNDK version than that of\nvendor partition, they may not share the same VNDK namespace for\ntheir apps.\nDefine a new vndk_product namespace in the system section for product\napps that uses ro.product.vndk.version.\n\nBug: 149063221\nTest: atest libnativeloader_test\nChange-Id: I1bb76617104a49b0d11af13d2f116959a18390a3\n"
    },
    {
      "commit": "272b36d1b5cbab951239b32ed679a9dbc4ffdf1a",
      "tree": "07e82dbd51885c2ff453da524fa2a46e48adf3ef",
      "parents": [
        "2ad7c98dda05b0c8a049895cd68b3d2850156912"
      ],
      "author": {
        "name": "Kiyoung Kim",
        "email": "kiyoungkim@google.com",
        "time": "Wed Feb 19 16:08:47 2020 +0900"
      },
      "committer": {
        "name": "Kiyoung Kim",
        "email": "kiyoungkim@google.com",
        "time": "Fri Feb 21 01:04:32 2020 +0000"
      },
      "message": "Rename APEX Namespace\n\nCurrent APEX Namespace is named with APEX name itself, which also uses\n.(dot) so linker configuration can keep the syntax safe.\n\nFor example, if there are APEX modules named \u0027A\u0027 and \u0027A.link.A\u0027, then\n\u0027namespace.A.link.A.link.A \u003d a.so\u0027 phrase can be ambiguous from the\nlinker. To allow any additional linker syntax in the future, we should\navoid dot separator from the namespace name.\n\nBug: 148826508\nTest: m -j passed\nTest: boot succeeded from cuttlefish and walleye\nChange-Id: I11b6da1b59b4ebf3016f1d783636c7e5d0f8309a\n"
    },
    {
      "commit": "5257503fa58c8c9d79051a7c691bfba3a9ef1c02",
      "tree": "800e6efcf9258a32af1eeb10688854f233d96da3",
      "parents": [
        "0a5cad39cd1dbbfd6f335c5ff6f307a903bc5bf7"
      ],
      "author": {
        "name": "Jeffrey Huang",
        "email": "jeffreyhuang@google.com",
        "time": "Tue Feb 11 17:33:45 2020 -0800"
      },
      "committer": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Sun Feb 16 16:59:58 2020 -0800"
      },
      "message": "Add libstats_jni to linkerconfig/namespace\n\nAs part of statsd becoming a Mainline module, moving libstats_jni to the\napex requires adding it to the linker namespace here.\n\nBug: 145922701\nTest: m -j\nChange-Id: Ifcbea47cc36604e4a86df9af711d678b23012724\n"
    },
    {
      "commit": "c1375633bce5b5fa5df650541fb551368180cb9b",
      "tree": "c18b0f9c5e51c29fac7cbd2d28ccb3eecf05dc42",
      "parents": [
        "8ee6d8fa7071d60c0db95181603f9317b48bda3e"
      ],
      "author": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Thu Feb 13 10:37:03 2020 +0900"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 13 19:37:40 2020 +0000"
      },
      "message": "One more missing Result::ok() in native_loader_test.cpp\n\nTest: m checkbuild\nChange-Id: Ic7725afd2d0fd97ea0ced59e48455b92ae433047\n"
    },
    {
      "commit": "f0e99bd50f2010e93a63d5675d3646afac73b37f",
      "tree": "b710502c0734728ab7b2660f87fe848954ccfc4d",
      "parents": [
        "b584ea49a29150cb76e07648d683fde1828faed5"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Feb 11 22:57:14 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 12 16:45:29 2020 +0000"
      },
      "message": "Remove old \"platform\" namespace name in a few remaining places.\n\nFollow-up to https://r.android.com/1220299.\n\nTest: atest libnativeloader_test\nBug: 147987608\nChange-Id: Ib5849c9a9f5dbde1bf2a85aad2fe96cc2a394f31\n"
    },
    {
      "commit": "ac5ae3cf5dc4c5f87293c45a1d6999f8d1515b39",
      "tree": "17a467da0e6fad3ad0fe90ddcc5ff23e9cfe313a",
      "parents": [
        "af322429596b744d611aeebe3bbaa1003ff64717"
      ],
      "author": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Wed Feb 12 10:43:42 2020 +0900"
      },
      "committer": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Wed Feb 12 10:43:42 2020 +0900"
      },
      "message": "Convert native_loader_test.cpp to Result::ok()\n\nTest: m checkbuild\nChange-Id: I9feb590e37174fa5021f69bf55dbfffba957584d\n"
    },
    {
      "commit": "98cf82f227fa8fab694674e72a9a2ca95face4b5",
      "tree": "104b438ec54707e44648ad2e26a65a9774a0a50f",
      "parents": [
        "089c1357c6e5457a7bd5e76f70cead52517d9b0b"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Sat Feb 08 03:53:54 2020 +0900"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 11 19:00:38 2020 +0000"
      },
      "message": "Use apex name for apex linker namespace\n\nLinkerconfig now uses apex_names to automatically generate linker\nnamespaces from apexes.\n\nBug: 148826508\nTest: build / boot\nChange-Id: Id7fa68531033124727e618284af4fd2a61bdd85f\n"
    },
    {
      "commit": "089c1357c6e5457a7bd5e76f70cead52517d9b0b",
      "tree": "6dcf1a604aa163515b5e04280bfe6188dab93eec",
      "parents": [
        "860ab3748c3d112eec41abb57c801bb4f150521d"
      ],
      "author": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Thu Feb 06 16:53:08 2020 +0900"
      },
      "committer": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Mon Feb 10 19:14:58 2020 +0000"
      },
      "message": "Use product vndk version for product apps\n\nro.vndk.version is only for vendor modules. Product modules use\ndifferent vndk version that is set in ro.product.vndk.version.\nUse product vndk version for creating namespaces for product apps.\n\nBug: 148823287\nTest: atest libnativeloader_test\nChange-Id: Iade4b3ca846f1e47e5138f2ceda81bf188276a91\n"
    },
    {
      "commit": "b68b7cb9f1396108695f95c1882499587e3b2ba2",
      "tree": "57e9e9453b9252e68e5ea83369ee2c7b7a5cb81b",
      "parents": [
        "c9fa770b6eedcf0cfe05b2449423f5494eecfce0"
      ],
      "author": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Sun Feb 09 15:50:56 2020 +0900"
      },
      "committer": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Sun Feb 09 15:50:56 2020 +0900"
      },
      "message": "One more missing Result::ok() call in art/libnativeloader\n\nNo functionality change.\n\nTest: m\nChange-Id: I3056596785447c5fb7410bcfc7d037eb295affc4\n"
    },
    {
      "commit": "4bd58951456ac6082e23a1931293965852c24281",
      "tree": "dd263ff127686a283290ca8dd572a9d5f54879ee",
      "parents": [
        "22be0659402081b59d84d01ec3e7f8aec42d18ad"
      ],
      "author": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Thu Feb 06 15:43:57 2020 +0900"
      },
      "committer": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Fri Feb 07 11:41:44 2020 +0000"
      },
      "message": "Convert art/ to Result::ok()\n\nNo functionality changes, this is a mechanical cleanup.\n\nTest: m\nChange-Id: I10030314ad8a06d49a63f1e2f3c5aa5b484e34b6\n"
    },
    {
      "commit": "99c19ca707391f0908313c7cee2ef315d2b5cb3c",
      "tree": "c5213c3eb212732c88cc455e8ca67c1990d29767",
      "parents": [
        "cf0c6ef642517fba3bc9a211acaed742ff39b86d"
      ],
      "author": {
        "name": "Kiyoung Kim",
        "email": "kiyoungkim@google.com",
        "time": "Wed Jan 29 16:09:38 2020 +0900"
      },
      "committer": {
        "name": "Kiyoung Kim",
        "email": "kiyoungkim@google.com",
        "time": "Fri Feb 07 03:25:40 2020 +0000"
      },
      "message": "Update platform namespace name\n\nPlatform namespace has been renamed as \u0027system\u0027 from linkerconfig\ngenerator. To meet this requirement, libnativeloader should search for\nnamespace \u0027system\u0027 rather than namespace \u0027platform\u0027.\n\nBug: 147987608\nTest: m -j passed\nTest: atest libnativeloader_test passed\nChange-Id: I23d865ac71a80619f291eb9ae0761a2cad5df352\n"
    },
    {
      "commit": "fea435cb042cd177ac42587dfb8f189b889bf944",
      "tree": "c8aee14c9ca2f81cd7616e2ea6d3e914d5d7651b",
      "parents": [
        "6dc0a434b8dd53b467838062ea110ee338c5f0a1"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Feb 05 10:26:12 2020 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Thu Feb 06 19:14:11 2020 +0000"
      },
      "message": "Remove extra using statements\n\nandroid::base::Errorf and android::base::ErrnoErrorf are now #define\u0027s\ninstead of functions, so remove their using statements.\n\nTest: build\nChange-Id: Ifc2f5cf3ccf4de0b089cfe6b38e1f9724f5ff617\n"
    },
    {
      "commit": "6dc0a434b8dd53b467838062ea110ee338c5f0a1",
      "tree": "8b1a132e162f5c9ac574a89f18e30a0d52c58243",
      "parents": [
        "c20ab9a81aa99d91c8b60a86a9611697ad1e2d76"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Feb 06 14:28:28 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 06 16:20:29 2020 +0000"
      },
      "message": "Update libnativeloader dependency on libnativehelper\n\nOnly requires header library dependency.\n\nTest: m\nChange-Id: I84de37651f4cb01bdaaa2b354f0a71058a5772f8\n"
    },
    {
      "commit": "c20ab9a81aa99d91c8b60a86a9611697ad1e2d76",
      "tree": "138338cc236f50ebbab4f5403a28d1748fd82a85",
      "parents": [
        "9987b74e5a11b910c0de15f02491a101cc763c4f"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Feb 06 12:32:08 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 06 16:18:19 2020 +0000"
      },
      "message": "Use valid pointer for app_main_namespace_\n\nTest: device boots\nTest: atest libnativeloader_test\nChange-Id: I5c20f7f5c65a707fbeacf644e24b95ffab370cae\n"
    },
    {
      "commit": "3db26d596bdc969b6d0e8646ac0ab64346b7ee21",
      "tree": "386588c223eebaeb3de168640ce2b63e299c1ae5",
      "parents": [
        "3a6ef94d9e756449c490a535962760744e94f458"
      ],
      "author": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Mon Dec 16 14:09:39 2019 +0900"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 07 04:55:22 2020 +0000"
      },
      "message": "Make product libs available to unbundled product apks.\n\nUnbundling product apps must be triggerred if the target is enforcing\nthe product interfaces. The device must have ro.product.vndk.version\nproperty if its product interface is enforced.\nUnbundled product apps can use product libraries.\n\nBug: 144534640\nBug: 127738095\nBug: 128557860\nTest: check boot and basic features\n\nChange-Id: I32b2a1bd3e4f62b6acdbfab6bd277ec1132478a2\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": "5c0177215ee88a9372b883d06661e25a8f6105de",
      "tree": "94beb530125654c1af9cd91ada6abc5d10bb6a7f",
      "parents": [
        "c99a2310f980bab0211799b47dcf191bc2bf0163"
      ],
      "author": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Tue Dec 17 10:54:26 2019 +0800"
      },
      "committer": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Tue Dec 17 15:57:03 2019 +0000"
      },
      "message": "Add public lib of Cronet apex mainline\n\nThis is a workaround since apex module library path is not\nsupported in jni\n\nBug: 139397529\nBug: 145474221\nTest: Build\nTest: manual test with Cronet\nTest: atest CtsJniTestCases\nTest: atest libnativeloader_test\nChange-Id: Ifd8aa85bd78e95131b2ce3eab0ad32c2bb19cee2\n"
    },
    {
      "commit": "0cc40277ffb5f59eac672d844723920ad5f12d85",
      "tree": "a5f0e03a4984052de4efea2e7b8d044f5ad6ca08",
      "parents": [
        "085f7408de57fedac4ec95d5b5e8b4fe809dbeba"
      ],
      "author": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Mon Dec 16 16:47:40 2019 +0900"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 17 01:40:59 2019 +0000"
      },
      "message": "Read system_ext partition for partner defined public libraries.\n\nLet partners define system libraries in system_ext for their apps.\nThey can list the libraries in\n/system_ext/etc/public.libraries-\u003ccompanyname\u003e.txt for their apps to\nuse.\n\nBug: 134909174\nBug: 134359158\nTest: build and boot\nChange-Id: I4edc6c19c4e23e2fec2d98aca7a1e4fd64fd5f2e\n"
    },
    {
      "commit": "94fd9eaee76e862932dded6583a9c052e5aa9efc",
      "tree": "26638e055a87784bd4d05fac144f644a64a99320",
      "parents": [
        "149cddaa22a1a78e8dde179d2c33b745cb500629"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Oct 24 16:57:34 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 13 17:50:14 2019 +0000"
      },
      "message": "Use a different name for shared classloader namespace, to help debugging.\n\nTest: atest libnativeloader_test\nBug: 130388701\nChange-Id: I6dbb53cac7fb7ac8fb5178611a164c83c2ab59ba\n"
    },
    {
      "commit": "be08b201e20900d590c235eb7a933ace2212ccbc",
      "tree": "1932acf878722cc266601968e58ca1ebc51ee365",
      "parents": [
        "48297337eb1e44b0d9a3c5e9211ef9080eb406a8"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Nov 12 20:11:00 2019 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 13 00:38:15 2019 +0000"
      },
      "message": "Fix libnativeloader_test to work on 64 bit architectures.\n\nTest: atest -a libnativeloader_test (on taimen, testing both arm64-v8a and armeabi-v7a)\nBug: 142896688\nChange-Id: I90e24b6da8f02ff57d498685312709ac3c598e68\n"
    },
    {
      "commit": "48297337eb1e44b0d9a3c5e9211ef9080eb406a8",
      "tree": "cb10eb0dd62c5474e583c0fb8c6934076be9b5c2",
      "parents": [
        "ad88cbe5ac72e318d998bc16fc43d75522e13a3a"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Nov 12 21:21:32 2019 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 13 00:38:15 2019 +0000"
      },
      "message": "Avoid \"using namespace\" that\u0027s blocked by cpplint.\n\nTest: m libnativeloader_test\nBug: 142897320\nChange-Id: I1d74f54638a0d2dfa1935590124b3266a064c04a\n"
    },
    {
      "commit": "2a21cc6849df474afc63eff21913637c313efdf5",
      "tree": "dbc9d82b3b1dd1423fc0328bb639134c99015afa",
      "parents": [
        "2cf00ede148bd9d77c291d4c0cb23edd5a9c36b4"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Oct 22 12:14:20 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 22 15:08:11 2019 +0000"
      },
      "message": "Use ART defaults for libnative{bridge,loader} tests too.\n\nShould fix mac builds.\n\nTest: m\nTest: mmma art/libnativebridge/ art/libnativeloader/\nTest: Forrest build on sdk_mac on git_master-without-vendor\nBug: 143111454\nBug: 137364733\nBug: 133140750\nChange-Id: I424399115af3a9b558d4b95e2f614807d66dbd23\n"
    },
    {
      "commit": "3bb009ac148d6e1978d9233b0131a027585752f7",
      "tree": "f5177cffa33c1e6479a04d438cce937306ad8dfe",
      "parents": [
        "e41eec3b193d594577cbe8afc7c3dc6608c2f201"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Oct 17 21:29:01 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 21 14:34:02 2019 +0000"
      },
      "message": "Use art_defaults in libnative*, for consistency.\n\nAlso change to //art:__submodules__ for consistent internal visibility, and\nsome TODO comment corrections.\n\nTest: m WITH_TIDY\u003d1\nTest: build \u0026 boot\nTest: atest art/libnativeloader/test (no new errors, but existing ones on arm64 - b/142896688)\nTest: (atest art/libnativebridge/tests doesn\u0027t work at all, but that\u0027s not new - b/142897320)\nBug: 137364733\nBug: 133140750\nChange-Id: If9ddb5a597eea3606342c3625dcdb3bcf5d19041\n"
    },
    {
      "commit": "31b3ffa32d4efc3868806917ca3f2c82847478c7",
      "tree": "60a421d346615fd0f1b3171fa5d3820d01ae0867",
      "parents": [
        "cce414f8b46de709250af49398083e99f96b6161"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Oct 14 10:27:00 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 16 15:39:42 2019 +0000"
      },
      "message": "Remove temporary CPPLINT.cfg files\n\nTemporary CPPLINT.cfg files were introduced when move libnativeloader\nand libnativebridge under art/.\n\nBug: 141749154\nTest: mm cpplint-art-all\nChange-Id: I85e75180138a512aef025f1e5275e20d8d1d14b0\n"
    },
    {
      "commit": "c78860b91ae07eed92f86876e7a03132adea6fcd",
      "tree": "820f338333010f4d6e4b543ffea47e9ff7d2dd3f",
      "parents": [
        "b9a8541380c2bdb9685e16d8d4b2ba034ddbf870"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Oct 11 11:30:01 2019 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Oct 14 07:49:45 2019 +0000"
      },
      "message": "Remove temporary soong visibility workarounds\n\nRemoves temporary unrestricted visibility for libnativeloader and\nlibnativebridge.\n\nBug: 137364733\nTest: m nothing\nChange-Id: I32d871b639deddd664c42e9962f6826ab798862f\n"
    },
    {
      "commit": "4346499223589f53293a68a0af4c42202461fdd4",
      "tree": "409316ba96c8c623947ba197b5240911388a76e6",
      "parents": [
        "0d192d2c08116cab8244a6eb229aa784bc6cfefa"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Oct 11 11:10:03 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 11 15:59:27 2019 +0000"
      },
      "message": "libnativeloader: add a clarifying comment to Android.bp\n\nFollow up to https://r.android.com/1136402\n\nBug: 137364733\nTest: m nothing\nChange-Id: Id78fd50d9f5e1a4cc9b17532c920f56033b7a45b\n"
    },
    {
      "commit": "9b16e344b246096d228dd4b41ff711884bcfcb3e",
      "tree": "ff93f416fcc59fb831202e80b5fb8c8ede99d500",
      "parents": [
        "e828ea0553b3106598071239e8215fca63b15c9b"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Oct 09 13:29:16 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 11 09:57:02 2019 +0000"
      },
      "message": "Move libnative{bridge,loader} to art/\n\nThis change moves system/core/libnative{bridge,loader} under art/.\n\nBug: 137364733\nTest: m\nChange-Id: I9be7333d00fcd3f36cd80520e50a30ea840187ad\n"
    }
  ]
}
