)]}'
{
  "log": [
    {
      "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": "685c84775f7dfe23197b080e4730435fd80e6d27",
      "tree": "55bcbf10fc620bf4c914a40f25b199787068b328",
      "parents": [
        "8103e479d8f8447584582b2b70752029f7087776"
      ],
      "author": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Wed May 06 22:26:23 2020 +0000"
      },
      "committer": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Thu May 07 18:30:22 2020 +0000"
      },
      "message": "Revert \"Revert^2 \"Handle OOM situation in java-heap more aggressively\"\"\n\nThis reverts commit 04a46f9ea4639b070fb9541810d11bc731862284.\n\nReason for revert: art-tests still failing\n\nChange-Id: If1c1096319efcfe2031cde38669f3fb1679d597d\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": "6a8f8c52da06de506b75fa524a56a30794849261",
      "tree": "a314fe4ef644c6872082d05f9d2ca783308440ce",
      "parents": [
        "d20e51dcd0fc4b2b229c5b6a5e9b500ae042bc61"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Thu May 07 13:35:08 2020 +0100"
      },
      "committer": {
        "name": "vichang",
        "email": "vichang@google.com",
        "time": "Thu May 07 13:03:08 2020 +0000"
      },
      "message": "Set build dependecy on hostdex explicity from ahat hprof dump\n\nApparently, the build order of \"m checkbuild\" is different on\ndifferent builds.\n\nBug: 155966029\nTest: m checkbuild\nTest: rm out/host/linux-x86/framework/core-icu4j-hostdex.jar \u0026\u0026 m out/target/common/obj/JAVA_LIBRARIES/ahat-test-dump_intermediates/test-dump.hprof\nTest: rm out/host/linux-x86/framework/core-icu4j-hostdex.jar \u0026\u0026 m out/target/common/obj/JAVA_LIBRARIES/ahat-test-dump_intermediates/test-dump-base.hprof\nChange-Id: I736d4a6c298a9a66032b018d6106c28a49cc2c07\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": "a6653d304faa3bbd981507570a4ac1107760c6a7",
      "tree": "6dc333f6f19b932c0fd739b4862c3800b3a51b45",
      "parents": [
        "4d0f795aaa9abd1b36e2704b3851b2cc39c70cdd"
      ],
      "author": {
        "name": "Evgeny Astigeevich",
        "email": "evgeny.astigeevich@linaro.org",
        "time": "Tue May 05 16:30:24 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 07 09:04:21 2020 +0000"
      },
      "message": "ART: Refactor InstructionCodeGeneratorARM64::GenerateDivRemWithAnyConstant\n\nInstructionCodeGeneratorARM64::GenerateDivRemWithAnyConstant handles\nboth Int32 and Int64 cases. However Int32 cases can have additional\noptimizations. Having them in GenerateDivRemWithAnyConstant makes code\ndifficult to read.\n\nThis CL splits the code of GenerateDivRemWithAnyConstant to:\n* GenerateInt32DivRemWithAnyConstant\n* GenerateInt64DivRemWithAnyConstant\n* GenerateResultDivRemWithAnyConstant\n\nTest: test.py --host --optimizing --jit\nTest: test.py --target --optimizing --jit\nChange-Id: I267331c026e87d6a233b593586f1b74759382896\n"
    },
    {
      "commit": "4d0f795aaa9abd1b36e2704b3851b2cc39c70cdd",
      "tree": "ba3163ab1c172959e3e93d5be103a769e2efdb62",
      "parents": [
        "04a46f9ea4639b070fb9541810d11bc731862284"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed May 06 13:02:19 2020 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu May 07 08:31:19 2020 +0000"
      },
      "message": "Fix unintended sign-extension.\n\nTest: New test in object_test.\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: aosp_taimen-userdebug boots.\nBug: 155780442\nChange-Id: I3a6139b228db56e57460a411a32c495963645a7f\n"
    },
    {
      "commit": "04a46f9ea4639b070fb9541810d11bc731862284",
      "tree": "4daf23a3e51fc02669610b78e8ecbf89aad92505",
      "parents": [
        "e6afa957bc0d6f089c4954e48455bd102a7ec240"
      ],
      "author": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Wed Apr 29 17:30:38 2020 +0000"
      },
      "committer": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Wed May 06 17:00:43 2020 +0000"
      },
      "message": "Revert^2 \"Handle OOM situation in java-heap more aggressively\"\n\nThis reverts commit 95545423bf0982c28a23260d359ae6b1e1012dd6.\n\nReason for revert: Took care of the issues that this change could\ncause to ART tests\n(https://android-review.googlesource.com/c/platform/art/+/1298073).\n\nBug: 144525957\nTest: art/test/testrunner/testrunner.py\nChange-Id: I4e8d22fff3dff15ffd1385be2c6b0c648acd2229\n"
    },
    {
      "commit": "e6afa957bc0d6f089c4954e48455bd102a7ec240",
      "tree": "055ae7a056c1603bdb47bf39b25000746927d632",
      "parents": [
        "6621013ee43ae5c8ec3ab5e35530fe2c732da85b"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Apr 09 00:13:45 2020 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed May 06 10:35:33 2020 +0000"
      },
      "message": "Bionic and kernel system include paths are no longer implicit.\n\nTest: Build and boot\nBug: 153590472\nChange-Id: I1755d6648e467e8a1edb613278ed756888a6fc3a\n"
    },
    {
      "commit": "6621013ee43ae5c8ec3ab5e35530fe2c732da85b",
      "tree": "ccb518cd35e44e2d2376b803175d4a3f6ec14993",
      "parents": [
        "9e4b42ad325ee8583b3c98550010516a3a127527"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 05 14:29:30 2020 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed May 06 08:10:01 2020 +0000"
      },
      "message": "Allow unresolved exception classes in boot image.\n\nAnd incorporate dex2oat_image_test changes from\n    https://android-review.googlesource.com/1302586\nto test that this works.\n\nTest: m test-art-host-gtest\nBug: 153648261\nChange-Id: I810de9c84973156c06a2c871bf2e0921c80a3fa4\n"
    },
    {
      "commit": "9e4b42ad325ee8583b3c98550010516a3a127527",
      "tree": "d9b2dcb265434d03aacbd1fe5e4b96c8217c018c",
      "parents": [
        "5477b8e55f01a58fac188f272818b38a19c50d4e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Apr 28 12:28:21 2020 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed May 06 08:05:59 2020 +0000"
      },
      "message": "Refactor vdex file writing.\n\nInstead of unzipping dex files to the vdex file using a file\ndescriptor, reserve space in the vdex file and mmap it to\nmemory and unzip dex files to memory. Postpone any flushes\nuntil after we have finalized the contents, then flush the\ncontents without header, then store and flush the header.\n\nTesting with a certain big app on aosp_taimen-userdebug and\nusing --dump-timings to show the timing for different phases\nof compilation shows significant improvements. The time of\n\"Write Dex files\" goes from ~1s down to ~0.3s and also the\n\"OpenDexFiles\" is reduced from ~0.3s to ~0.2s. The latter is\npresumably caused by having the memory pages already filled\nwith data because this change does not touch that code. The\n\"dex2oat Write VDEX\" phase time does not significantly\nchange but it has an impact on the time of the enclosing\n\"dex2oat Oat\" phase, increasing it by up to ~0.2s.\n\nThis change also prepares for future improvements, such as\ndoing the dex file extraction on multiple threads (one task\nper dex file, helping with multi-dex), or tuning when we\nflush the vdex file contents (dex file data could be\nflushed with an msync() on a separate thread while we\u0027re\nrunning the \"dex2oat Compile\" phase but that could be\ncounter-productive for dex-to-dex compilation as we would\npotentially write the bytecode twice).\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: aosp_taimen-userdebug boots.\nBug: 34201138\nChange-Id: I9dbc2b0b4e3bf1e3b2cbf78957356e1d4ca23f66\n"
    },
    {
      "commit": "5477b8e55f01a58fac188f272818b38a19c50d4e",
      "tree": "e6e345925412d7bd3f6f1e46d9c47833c23bdb40",
      "parents": [
        "ed2895678203365b2024c742f51d34791729900b"
      ],
      "author": {
        "name": "Chris Gross",
        "email": "chrisgross@google.com",
        "time": "Fri Apr 24 09:36:45 2020 -0700"
      },
      "committer": {
        "name": "Chris Gross",
        "email": "chrisgross@google.com",
        "time": "Tue May 05 21:12:37 2020 +0000"
      },
      "message": "Allow bootjars in system_ext.\n\nBug: 148385042\nTest: Built and booted Pixel 3a both with and without a boot jar in system_ext.\nTest: m test-art-host-gtest-hidden_api_test32\nTest: m test-art-host-gtest-hidden_api_test64\nChange-Id: I10ef0340b92aa60579ff39f888cb556dc2953f2a\n"
    },
    {
      "commit": "ed2895678203365b2024c742f51d34791729900b",
      "tree": "66e8f4b3a31aa6bf512f3efbd26a0f5b327d16db",
      "parents": [
        "d34b73b4ac478462acc03c4cd42ae7568c832eb8"
      ],
      "author": {
        "name": "Shawn Lin",
        "email": "shawnlin@google.com",
        "time": "Tue May 05 08:49:58 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 05 16:52:25 2020 +0000"
      },
      "message": "Revert \"Update art sdk/module_exports to support conscrypt\"\n\nThis reverts commit 0c66e678a0562846449a424e297211a1aa70694d.\n\nReason for revert: Droidcop: Potential culprit for Bug 155720025 - verifying through Forrest before revert submission\n\nBug: 155720025\nChange-Id: I59d49dbe995524e9fe77d6c5a5010e91f6aad159\n"
    },
    {
      "commit": "d34b73b4ac478462acc03c4cd42ae7568c832eb8",
      "tree": "27f1c4599178ba57451c29d0156c232768711b6d",
      "parents": [
        "4a48775376a4c0b180a7d32ad2cdf00bd0dca140"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 05 10:07:59 2020 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 05 13:34:31 2020 +0000"
      },
      "message": "Clean up internal stack trace construction.\n\nSimplify the code by ignoring active transactions. Writing\nto fields of a newly allocated object does not need to be\nrecorded as aborting the transaction removes all references\nto the new object and it\u0027s unnecessary to roll back writes\nto unreachable object\u0027s fields.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: aosp_taimen-userdebug boots.\nChange-Id: Ia91d3274398b0ca0f5b0040dcf323921d915b657\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": "b5146a3b70b9bf15532d25d3b876354938976bc9",
      "tree": "dca0a5f4cd30c2882e404532eb06691a19624306",
      "parents": [
        "50f89ba3237da01adfdbc65abc330d1c8d5af07e"
      ],
      "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 \"Calling @IntraCoreApi from core-icu4j should not cause \"...\"\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: Ica8f978af397a5ef84847246c89f724b3f8e7d6e\n"
    },
    {
      "commit": "50f89ba3237da01adfdbc65abc330d1c8d5af07e",
      "tree": "98e9d52845a6b7114529628144cd9c51b56904c2",
      "parents": [
        "8419b82fa8d46362eb1369ec1876ee2d3c4bc29d"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Thu Apr 30 18:53:43 2020 +0100"
      },
      "committer": {
        "name": "vichang",
        "email": "vichang@google.com",
        "time": "Tue May 05 08:52:20 2020 +0000"
      },
      "message": "Calling @IntraCoreApi from core-icu4j should not cause \"Core platform API violation\"\n\nTreat I18n APEX as the same domain as ART and Conscrypt APEX.\n\nRemove unused varaiable isJavaDebuggable because it causes the\nNoSuchMethodError for an unknown reason:\njava.lang.NoSuchMethodError: No virtual method isJavaDebuggable()Z in class Ldalvik/system/VMRuntime; or its super classes (declaration of \u0027dalvik.system.VMRuntime\u0027 appears in /apex/com.android.art/javalib/core-libart.jar)\n\nBug: 138994281\nTest: art/test/run-test --chroot $ART_TEST_CHROOT 674-hiddenapi\nChange-Id: Icb7e98b5cd7143c06c05dd4377af0c96ba75bca7\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": "b6f4c79b06bb97651a7be1ac828d18ed18356603",
      "tree": "ef0bbb1281f6d4785e60f26cb420646c83eb6f6d",
      "parents": [
        "3971661c74a9b4635d9744f72f3b053c820067c9"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon May 04 15:37:29 2020 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 05 08:05:24 2020 +0000"
      },
      "message": "Clean up Constructor/Method/Field construction.\n\nSimplify the code by ignoring active transactions. Writing\nto fields of a newly allocated object does not need to be\nrecorded as aborting the transaction removes all references\nto the new object and it\u0027s unnecessary to roll back writes\nto unreachable object\u0027s fields.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: aosp_taimen-userdebug boots.\nChange-Id: Ib5cd60c003d2ad3e6a246ff86d6b9288428c60ee\n"
    },
    {
      "commit": "3971661c74a9b4635d9744f72f3b053c820067c9",
      "tree": "af6946a5cbe1a29553e06802e86803bebf2716b2",
      "parents": [
        "71f661c294156f2ebe10600368a23a35d882c67b"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Mon May 04 11:31:16 2020 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Mon May 04 22:54:03 2020 +0000"
      },
      "message": "Relax 2033-shutdown-mechanics result comparison\n\nIt appears the daemon thread often ends up hanging early during\nshutdown, truncating the output. We actually want daemon threads\nto hang at some point during this process, so it\u0027s not clear this\nis bad. Consider any prefix of the expected output to be correct.\n\nIt would still be nice to better understand what\u0027s going on here.\n\nBug: 155098113\nTest: testrunner.py --host -b 2033-shutdown-mechanics\nChange-Id: Ib0f510af7cf69202ab8151d637a41be2f6869ff2\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": "0c66e678a0562846449a424e297211a1aa70694d",
      "tree": "44edc541f9763fd525164c5a30dada6117bf8304",
      "parents": [
        "c010c0ee3d422af5781d68d18fe244826e83af7b"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Mar 05 08:30:16 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 04 09:57:08 2020 +0000"
      },
      "message": "Update art sdk/module_exports to support conscrypt\n\nProvides the prebuilts necessary for conscrypt to build against a\nsnapshot of the art sdk/module_exports.\n\nSome of the exported modules should not actually be exported as they\nare internal implementation details of other exported modules which is\nnot something that the sdk/module_exports currently supports. Bug#\n155372760 tracks the follow up work to remove those.\n\nTested as follows:\n\nBuilt art sdk and module_exports using:\n  m art-module-sdk art-module-host-exports art-module-test-exports\n\nThen in separate work tree with limited manifest the 3 snapshots were\nunpacked using the following (where SDK_BUILD_TOP is the path to the\nwork tree where the art sdk and module_exports were built). It has to\nunpack the zips in the same directory, rename each Android.bp to\na unique name and then generated an Android.bp that includes those.\nThis is to work around an issue with visibility where one snapshot\nreferences prebuilts provided by another snapshot which are not visible\nto it.\n\n  SDK_BUILD_TOP\u003d/home/paulduffin/android/aosp/master\n  rm -fr art-module \u0026\u0026\n    mkdir -p art-module \u0026\u0026\n    unzip -d art-module /usr/local/google${SDK_BUILD_TOP}/out/soong/.intermediates/art/build/sdk/art-module-sdk/common_os/art-module-sdk-current.zip \u0026\u0026\n    mv art-module/Android.bp art-module/sdk.bp \u0026\u0026\n    unzip -d art-module /usr/local/google${SDK_BUILD_TOP}/out/soong/.intermediates/art/build/sdk/art-module-test-exports/common_os/art-module-test-exports-current.zip \u0026\u0026\n    mv art-module/Android.bp art-module/test.bp \u0026\u0026\n    unzip -d art-module /usr/local/google${SDK_BUILD_TOP}/out/soong/.intermediates/art/build/sdk/art-module-host-exports/common_os/art-module-host-exports-current.zip \u0026\u0026\n    mv art-module/Android.bp art-module/host.bp \u0026\u0026 echo \"build \u003d [\\\"sdk.bp\\\",\\\"test.bp\\\",\\\"host.bp\\\"]\" \u003e art-module/Android.bp\n\nOnce the snapshots have been unpacked then all targets under\nexternal/conscrypt were built with the following:\n  ALLOW_MISSING_DEPENDENCIES\u003dtrue mmm external/conscrypt/\n\nALLOW_MISSING_DEPENDENCIES\u003dtrue is needed because there are many\nrepositories that contain dependencies needed by conscrypt but which\nalso depend on things that need conscrypt, e.g. frameworks/base.\n\nBug: 142935992\nBug: 155372760\nTest: m art-module-sdk art-module-host-exports art-module-test-exports\n      As above\nChange-Id: I8ce735ab6890a341a4deda7dcc027eca3c149d2b\n"
    },
    {
      "commit": "c010c0ee3d422af5781d68d18fe244826e83af7b",
      "tree": "c1cff50e70ca35fe2b23788d906a54a08ba587b7",
      "parents": [
        "fb41d421d302f0d391bb16f9dc63a38cd003cc4b"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Sat May 02 01:55:11 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 04 09:38:05 2020 +0000"
      },
      "message": "Remove TEMPORARY_DISABLE_PATH_RESTRICTIONS\n\nThis was needed for luci\u0027s vpython:\n\nhttps://android-review.googlesource.com/c/platform/art/+/789951\n\nbut we have python2/3 prebuilts now, so this shouldn\u0027t be necessary (and is being removed)\n\nChange-Id: Idfd0bfc2662234034f9cee2620e907527b79d6f1\nTest: treehugger\n"
    },
    {
      "commit": "fb41d421d302f0d391bb16f9dc63a38cd003cc4b",
      "tree": "09fe1b2d2490808905973357393d57b3f409c1be",
      "parents": [
        "1a719e4de83532a1dcd9ddfad2c92d4130f28ea9"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Thu Apr 30 11:04:23 2020 +0100"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Mon May 04 08:57:45 2020 +0000"
      },
      "message": "Use two-column format for ART_APEX_JARS components.\n\nThis is to unify ART_APEX_JARS format with the new 2-column\nPRODUCT_BOOT_JARS format. The first component is the ART apex name.\nThis is a prerequisite change for moving core-icu4j to a separate\ncom.android.i18n apex.\n\nTest: aosp_walleye-userdebug boots\nBug: 138994281\nChange-Id: I7159260d1f46094857de52b21335defd352ca9b7\n"
    },
    {
      "commit": "1a719e4de83532a1dcd9ddfad2c92d4130f28ea9",
      "tree": "445026effb3298ca8e962701ee01f65785be6fe6",
      "parents": [
        "e33dca6d44463606168330d2f84bc616e8c147f6"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Thu Jul 18 14:24:55 2019 +0100"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Mon May 04 08:19:17 2020 +0000"
      },
      "message": "RFC: ARM64: Split arm64 codegen into scalar and vector (SVE and NEON).\n\nThis is a first CL in the series of introducing arm64 SVE support\nin ART. The patch splits the codegen functionality into scalar and\nvector ones and for the latter introduces NEON and SVE\nimplementations. SVE one currently is an exact copy of NEON one -\nfor the sake of testing and an easy diff when the next CL comes\nwith an actual SVE instructions support.\n\nThe patch effectively doesn\u0027t change any behavior; NEON mode is\nused for vector instructions, tests pass.\n\nTest: test-art-target.\nChange-Id: I5f7f2c8218330998e5a733a56f42473526cd58e6\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": "315f1b21a51a67e5d9c9ec3a04f1887931061e10",
      "tree": "4d736d750c5839395aac65a48bd3935a9831cdbc",
      "parents": [
        "0f5b2bf1aee7e08ce3b0dbf91ee528eb846d372f"
      ],
      "author": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Wed Feb 12 18:10:32 2020 -0800"
      },
      "committer": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Fri May 01 18:22:13 2020 +0000"
      },
      "message": "Use MADV_FREE to reclaim pages of freed regions\n\nIn order to release memory consumed by freed regions back to kernel we\nuse madvise(MADV_DONTNEED) syscall, which synchronously takes away all\nthe pages of the given memory range. As a side-effect, this also\nprovides us clean (zeroed-out) pages the next time region is used by\nan application thread as a TLAB. The downside is overhead of\nMADV_DONTNEED (it has to manipulate all the corresponding page-table\nentries). Furthermore, the application thread gets page fault each\ntime it moves from one page to the next while consuming the TLAB.\n\nMADV_FREE is another madvise option that also advises kernel to take\naway the pages, but only when there is memory pressure. It is a much\nmore light-weight operation than MADV_DONTNEED. Also, the application\nthread doesn\u0027t get the page fault overhead, if the page is not already\nreclaimed. However, a page which is not reclaimed by the kernel will\nhave stale data on it.\n\nThis change uses MADV_FREE for region-space\u0027s reclamation and ensures\nthat pages about to be used for new allocations are properly cleared.\n\nBug: 74447417\nBug: 140130889\nTest: Golem, mpts/greenday tests\nChange-Id: I1e4a75abed51844d5062685bf77871f609af5a65\n"
    },
    {
      "commit": "0f5b2bf1aee7e08ce3b0dbf91ee528eb846d372f",
      "tree": "98a84fb54c5d0a8e44fd159c7cd031e6dda84036",
      "parents": [
        "3bae04718647f92d40e8b4c75fb71195a51fa4bd"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Wed Oct 23 14:07:41 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri May 01 13:43:49 2020 +0000"
      },
      "message": "ART: Introduce Loop Versioning in SuberblockCloner.\n\nSupport Loop Versioning in SuberblockCloner as a tool to\nenable further optimization (e.g. Dynamic Loop Unrolling).\nThe patch brings the feature in without enabling it.\n\nReplace std::cout with LOG(INFO) for debug dumps.\n\nTest: superblock_cloner_test.\nTest: test-art-target.\n\nChange-Id: I303cabfb752b8c3c8597abfc0ac261e8616e8cee\n"
    },
    {
      "commit": "3bae04718647f92d40e8b4c75fb71195a51fa4bd",
      "tree": "5e1844834cf1f9905d64f22ce2d0e44aadd54592",
      "parents": [
        "256c0f68191cb9dec3cf9ef0b3741bac0362ae6b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Apr 30 15:47:00 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri May 01 08:52:53 2020 +0000"
      },
      "message": "Couple of runtime fixes for nterp.\n\n- Use unsigned for vregs to not get sign extension\n- Don\u0027t enqueue a compilation if JIT is disabled\n- Add no suspend assertions.\n\nBug: 155224562\nTest: test.py\nChange-Id: I77ec1c5a2f3c2774021e9cfa8e43c8c03b26a57c\n"
    },
    {
      "commit": "256c0f68191cb9dec3cf9ef0b3741bac0362ae6b",
      "tree": "9d5e7f58f2afa525a47b99b5442e450be2ef5c10",
      "parents": [
        "7e678d3c0f564e44638e27c411b2cc0ef8ee145a"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Tue Apr 28 15:51:44 2020 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 30 20:23:55 2020 +0000"
      },
      "message": "art script: generate app image for profile filters\n\nWe recently started requiring app images to load an OAT file that was\ncompiled using --compiler-filter\u003dspeed-profile or\n--compiler-filter\u003deverything-profile.  The CL that introduced this\nbehavior change is https://r.android.com/1290475\n\nUnfortunately, this led to large regressions in Golem because we were\nnot generating app images there. This change adjusts the art script to\ngenerate app images when the compiler filter is speed-profile or\neverything-profile, which should fix the regressions.\n\nBug: 38313278\nTest: Run CaffeineFloat, observe that performance improves\nChange-Id: I020d451bc6f3ea4399bc39157398eb35929bfddd\n"
    },
    {
      "commit": "7e678d3c0f564e44638e27c411b2cc0ef8ee145a",
      "tree": "82789a1653ecfaabea517a56c2cba4fd59ca9203",
      "parents": [
        "bb3560d58538d7172b058853d471a876ddd86467"
      ],
      "author": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Tue Apr 28 16:17:49 2020 -0700"
      },
      "committer": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Thu Apr 30 20:22:39 2020 +0000"
      },
      "message": "Assert allocator-type is known on OOME\n\nWe should always be using a known allocator-type. So instead of being\nconditional about this, assert it.\n\nThis change also simplifies updation of alloc entrypoints for CC\ncollector. Earlier we used to choose TLAB allocator on x86_64 targets\nto avoid a read-barrier in allocation path. Now that it\u0027s not there, we\ncan simplify to always use RegionTLAB allocator for CC.\n\nTest: art/test/testrunner/testrunner.py -t 004-ThreadStress\nBug: 154100060\nChange-Id: Ic692794c3dab80a67c2c4b3274adf00f879ad21b\n"
    },
    {
      "commit": "bb3560d58538d7172b058853d471a876ddd86467",
      "tree": "c2c305bbefd5560daf6438fd1fced57e8dc687db",
      "parents": [
        "3e076810bab2ff46689e6e79b4026d5c1e7d98cb"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Apr 30 11:14:11 2020 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Apr 30 19:10:31 2020 +0000"
      },
      "message": "dex2oat: Fix vdex file invalidation.\n\nWe erroneously stored the invalid vdex magic \"wdex\" after\nthe header because we already read the header and did not\nseek back to the start of the file.\n\n(cherry picked from commit 4b62522c9d7d5cb4177d337b9a162df9471f4aff)\n\nTest: Updated dex2oat_test#RunUnquickenMultiDex.\nTest: m test-art-host-gtest\nBug: 155366778\nMerged-In: Ie369a8822d08be731b8d272fa8556c3939aeb66f\nChange-Id: I8f7a0d06dbb9cedd319b9c0d7c340107ce88e56c\n"
    },
    {
      "commit": "3e076810bab2ff46689e6e79b4026d5c1e7d98cb",
      "tree": "01747bfff7f6198cd1e68d796d4724243671060a",
      "parents": [
        "d5c1d8a72b9855d62943b6a8fedcaf1ce2d4cb87"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Apr 30 16:02:16 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Apr 30 16:02:16 2020 +0100"
      },
      "message": "Use -f instead of -e.\n\nTest: art script\nChange-Id: I6e16df301d41e50aead9ed529361a990d3ee4630\n"
    },
    {
      "commit": "d5c1d8a72b9855d62943b6a8fedcaf1ce2d4cb87",
      "tree": "3687ac4c54c5c689212389606bcdeab30a0f9972",
      "parents": [
        "2a84650a73a0a5fb3d5311539342a02bcf1321d3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Apr 29 11:10:13 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Apr 30 14:54:29 2020 +0000"
      },
      "message": "Fix art script and golem builds with conscrypt.\n\n1) When no bootclasspath is given to the art script, also add conscrypt to\nthe list.\n2) Have build-art-target-golem deapex the prebuilt conscrypt apex.\n\nBug: 154074847\nTest: build-art-target-golem\nChange-Id: I648c23e05ad7d8f3387293c287fee3ba8380f1fb\n"
    },
    {
      "commit": "2a84650a73a0a5fb3d5311539342a02bcf1321d3",
      "tree": "d87062368efa3e637724e27f0b5db089527a0533",
      "parents": [
        "b6ea8bbab6173b9fc0a5496417842a63a25986fd"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Apr 28 15:11:21 2020 -0700"
      },
      "committer": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Wed Apr 29 17:28:46 2020 +0000"
      },
      "message": "Make tests robust against GCs failing early\n\n044-proxy, 064-field-access, 080-oom-throw, and 617-clinit-oome\nall intentionally run out of memory, and then try to run a\ntest with a full heap. In the presence of aosp/1286274, this can fail\nif we initially had some empty space in the heap. A GC may recover\n\u003c 1% of space, in which case we return OOME. But later allocations\nmay still succeed.\n\nThe fix is to make sure there is no empty space in the heap when\nwe start. If we end up performing a forced GC, the heap was completely\nfull. Since no memory is dropped during this process, the heap will\nstill be full when we finish.\n\nTest: testrunner.py --host -t 044-proxy \u0026\nTest: testrunner.py --host -t 080-oom-throw\nChange-Id: I10e3f77cd16d25af96751d039e2e498e1cb43315\n"
    },
    {
      "commit": "b6ea8bbab6173b9fc0a5496417842a63a25986fd",
      "tree": "d21aa199fcfd22593ea41c53702dc7287341d6a4",
      "parents": [
        "40082b6382046470f01c11ac05d76e1cdb20d0a9"
      ],
      "author": {
        "name": "Alessio Balsini",
        "email": "balsini@google.com",
        "time": "Wed Apr 29 14:21:22 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 29 16:54:07 2020 +0000"
      },
      "message": "Revert \"Disable ART run-test 2231-oat-require-app-image on the RI.\"\n\nThis reverts commit d898624e53f8e61ba523403791421df6cdeb4781.\n\nReason for revert: It is probably depending on aosp/1298633, that we are trying to revert\n\nBug: 154802847\nChange-Id: I701c91d5b5b76f4796e1bfc2444638a3ab2913f3\n"
    },
    {
      "commit": "40082b6382046470f01c11ac05d76e1cdb20d0a9",
      "tree": "1f6e6e2ab22522591a68d1ce4e508f898594f8cc",
      "parents": [
        "3f04ae5552f713c05f12b080f9a2efc5b3210c9d"
      ],
      "author": {
        "name": "Louis Chang",
        "email": "louischang@google.com",
        "time": "Wed Apr 29 08:19:12 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 29 16:54:07 2020 +0000"
      },
      "message": "Revert \"Reject OAT file in speed-profile if app image is rejected\"\n\nThis reverts commit 7c25b09f62eb87b72bd8a98a31ea10fd97050f82.\n\nReason for revert: b/155218105\n\nBug: 38313278\nChange-Id: Ic5cda4c7546b01aeef73278338fea434ba176e60\n"
    },
    {
      "commit": "3f04ae5552f713c05f12b080f9a2efc5b3210c9d",
      "tree": "331fc4ea68193fe375c3b0c98217aabba7c5ba6f",
      "parents": [
        "196eabfaa34f42c425a9aaa092efe2c209f3db8e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Apr 24 17:19:51 2020 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 29 15:12:19 2020 +0000"
      },
      "message": "Split nterp frame alignment.\n\nMake sure the dex PC pointer and caller FP are stored at\na pointer-aligned address.\n\nTest: testrunner.py --host --interpreter\nChange-Id: I7fe1be01b46558d871db24ce6cc08e35b68ec3fa\n"
    },
    {
      "commit": "196eabfaa34f42c425a9aaa092efe2c209f3db8e",
      "tree": "0fa20b62da7460670a081925cd98d0d4e72ed8cd",
      "parents": [
        "dac9c97ef809214e7ca7c68d6bf7e2dd8d502ace"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Tue Apr 28 14:03:43 2020 +0100"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Wed Apr 29 12:02:07 2020 +0000"
      },
      "message": "Rework 2034-spaces-in-SimpleName to run on RI.\n\nThis test uses a manually constructed Java class file. Previously a\ncustom build script transformed the class file into a DEX file using DX.\nThis broke the test on RI (as RI doesn\u0027t know about DEX files). Instead\nof constructing the DEX file simply use the class file as test input.\n\nTest: art/test/run-test --host       2034-spaces-in-SimpleName\nTest: art/test/run-test --host --jvm 2034-spaces-in-SimpleName\nBug: 155151138\nBug: 154802847\nChange-Id: I8d9e9b4622e279b2ee449b6ae063020192148884\n"
    },
    {
      "commit": "dac9c97ef809214e7ca7c68d6bf7e2dd8d502ace",
      "tree": "e723e46c27020c4fbee15e1b43f2b5fee4e29e24",
      "parents": [
        "b3bfa18ff912d164f3dba83929c6f1b06598253f"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Tue Apr 28 13:59:05 2020 +0100"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Wed Apr 29 12:02:07 2020 +0000"
      },
      "message": "Rename test to avoid number clash with another test.\n\nTest: art/test/run-test --host 2034-spaces-in-SimpleName\nChange-Id: Ia8cb75c29acd479e40d2495b250cffd577e55366\n"
    },
    {
      "commit": "b3bfa18ff912d164f3dba83929c6f1b06598253f",
      "tree": "8051e31c2e01d0869e8a102815669e1e73fe9aba",
      "parents": [
        "8552cb98304f816326bce1aa696abfea448c42db"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Apr 29 10:42:03 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Apr 29 10:42:03 2020 +0100"
      },
      "message": "Fix braino in creating the link.\n\nThe paths were given in the wrong order.\n\nTest: build-art-target-golem\nBug: 154074847\nChange-Id: Idac065bf8fd587b411edfd269d93c88c06fa28c3\n"
    },
    {
      "commit": "8552cb98304f816326bce1aa696abfea448c42db",
      "tree": "a072ed5fd63f9b2661dce2b20da9f8a1eb9e93b0",
      "parents": [
        "076141924de11466aad8dcd845630605fd1963e1"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Mon Apr 27 20:49:18 2020 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 29 08:31:55 2020 +0000"
      },
      "message": "Add METADATA to art: contains GPL is RESTRICTED\n\nBug: 68860345\nBug: 69058154\nBug: 151953481\n\nTest: no code changes\nChange-Id: I4e2b27ec2a4a7524c15b6ba44d2f9d35726e4846\n"
    },
    {
      "commit": "076141924de11466aad8dcd845630605fd1963e1",
      "tree": "19635dcb100295b4f4ede9425e511e52e20d1254",
      "parents": [
        "7cf15213a53f3e9e8e35b4cf0e12c3298fb8ddb6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Apr 28 17:31:31 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Apr 29 08:27:16 2020 +0000"
      },
      "message": "Handle the situation we could not load the class.\n\nThis happens with the JIT thread through custom class loaders.\n\nTest: test.py\nBug: 73760543\nChange-Id: Ic27a9f8ddd02ba1408963d3cb00ef1ef4da3c063\n"
    },
    {
      "commit": "7cf15213a53f3e9e8e35b4cf0e12c3298fb8ddb6",
      "tree": "e89a3d64dfd0b4331b83607a37ff831140b133f9",
      "parents": [
        "95545423bf0982c28a23260d359ae6b1e1012dd6"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Apr 28 15:19:13 2020 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 29 00:17:28 2020 +0000"
      },
      "message": "Use .KATI_IMPLICIT_OUTPUTS\n\nThis makes it so the build graph properly describes which action creates\nan output file.\n\nI\u0027m discovering these with new kati checks:\nhttps://github.com/google/kati/pull/189\n\nTest: treehugger\nChange-Id: I369918360d9c0412f44ce8b2fb0c50d2e6c47801\n"
    },
    {
      "commit": "95545423bf0982c28a23260d359ae6b1e1012dd6",
      "tree": "dfb166523d36beedb486314a5f43c07c6823b302",
      "parents": [
        "9bbed3c7d892c59606a729c56752fe782b1d8c48"
      ],
      "author": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Tue Apr 28 19:04:34 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 28 20:35:00 2020 +0000"
      },
      "message": "Revert \"Handle OOM situation in java-heap more aggressively\"\n\nThis reverts commit a698102d622e1cff97a30428878c8075059f396c.\n\nReason for revert: Causing ART-test failures. We need to take care of those tests before resubmitting. Revert will also help in tracking down b/154100060 (OOME in ThreadStress), which started occurring before this CL was merged.\n\nChange-Id: Ieb37d38f3c756a5252cc7f30d60cf82a7f95c49c\n"
    },
    {
      "commit": "9bbed3c7d892c59606a729c56752fe782b1d8c48",
      "tree": "e34d0778135cdd0a77c547980146f676cec3c0e0",
      "parents": [
        "ec64f202c6ab6dd825cd5bb9dd98a0fb37570dba"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed May 18 12:35:11 2016 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Apr 28 18:13:04 2020 +0000"
      },
      "message": "Checker: Rename assertions to statements\n\nCredits: this patch was originally written by David Brazdil\n(dbrazdil@google.com) and remained untouched.\n\nAuthor:    Fabio Rinaldi\nCommitter: Artem Serov\n\nBug: 147876827\nTest: art/tools/checker/run_unit_tests.py\nChange-Id: Ib166fe4160508fc8c9ff0dbf0590ecd89b94c247\n"
    },
    {
      "commit": "ec64f202c6ab6dd825cd5bb9dd98a0fb37570dba",
      "tree": "38713c0a692ca1382bec604e9fb0b1ee7ad3525e",
      "parents": [
        "9c674ca2a44bd0e0d1ce3fee29320938847a8caf"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Apr 20 15:05:54 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Apr 28 17:56:59 2020 +0000"
      },
      "message": "Cleanup build rules for faster golem builds.\n\nBug: 149682808\nTest: m build-art-target-golem\nChange-Id: Ie6da8dd5aae7fa19f9a5ef1dd6b2f0038bd8467a\n"
    },
    {
      "commit": "9c674ca2a44bd0e0d1ce3fee29320938847a8caf",
      "tree": "4279e1cc467d648073324ab86da42643923ceecf",
      "parents": [
        "d898624e53f8e61ba523403791421df6cdeb4781"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Mon Apr 27 19:28:16 2020 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Apr 28 17:36:46 2020 +0000"
      },
      "message": "Explicitly flush stdout in 2033-shutdown-mechanics\n\nWe might have been losing output before. And this can\u0027t hurt.\n\nBug: 155098113\nTest: testrunner.py --host -b -t 2033-shutdown-mechanics\nChange-Id: I883ce778664856110caf66c20f0ccefac137b156\n"
    },
    {
      "commit": "d898624e53f8e61ba523403791421df6cdeb4781",
      "tree": "3064e2ae47d0571ca0fea3d6458f4fa059a33ace",
      "parents": [
        "c2a769d4821dd26291653dda51a8a98418410bb5"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Apr 28 11:33:21 2020 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Apr 28 11:33:21 2020 +0100"
      },
      "message": "Disable ART run-test 2231-oat-require-app-image on the RI.\n\nThis new test was added after commit\ncc82f79174c0afb3c1974d7926678b2cfef0835f\n(https://android-review.googlesource.com/c/platform/art/+/1294079) was\nmerged. Disable it for now, in order to unblock testing with the RI.\n\nTest: art/test/testrunner/testrunner.py --jvm\nBug: 154802847\nChange-Id: Ida594f4be92041b6abd869be65627ecb9443382d\n"
    },
    {
      "commit": "c2a769d4821dd26291653dda51a8a98418410bb5",
      "tree": "5811f4928cf5a3ca512b7d8fa57a40025a2796b0",
      "parents": [
        "bf10f659d032564575366d55d82dabc5ffcb5eaf"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Apr 21 18:06:43 2020 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 28 10:15:53 2020 +0000"
      },
      "message": "Refactor builder intrinsic tests.\n\nMove tests for building HIR for intrinsics in instruction\nbuilder to a single test. Remove duplicate rotate tests.\n\nEnable these tests on the RI (some were disabled in the\nknown failures, some by using src-art, some were enabled).\n\nDrop the unnecessary `--experimental method-handles`-passing\nbuild script that used to be in 709-checker-varhandles.\n\nTest: testrunner.py --host --optimizing --jvm\n      (Ignore pre-existing --jvm failures.)\nChange-Id: Iee799c5f5daa6b1ba711e834fb93156c5e5e8fa8\n"
    },
    {
      "commit": "bf10f659d032564575366d55d82dabc5ffcb5eaf",
      "tree": "823c8df0fba7b1f7eccd14904be0c88dda7c9b89",
      "parents": [
        "06c0d175ef915b71e31b83bc2461e1cb9f09c9e4"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Apr 27 10:09:43 2020 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 27 23:53:49 2020 +0000"
      },
      "message": "Move skips for --jvm 2009, 2011, and 2012 to appropriate block\n\nTests 2009, 2011, and 2012 all cannot be run on --jvm due to them\ndirectly testing either structural redefinition (2009), internals of\nstructural redefinition (2012), or internals of art (2011). Since none\nof these are shared by the RI these tests cannot run on it. Move the\nskips to the group that explicitly notes this in the description.\n\nBug: 154802847\nTest: ./test.py --jvm\nChange-Id: Id80aca148a4f5527594e617826b5f0dbd22174c8\n"
    },
    {
      "commit": "06c0d175ef915b71e31b83bc2461e1cb9f09c9e4",
      "tree": "efaa12e1c80d75534e7c786d328e28211776ba82",
      "parents": [
        "7c25b09f62eb87b72bd8a98a31ea10fd97050f82"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Apr 27 10:00:31 2020 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 27 23:53:49 2020 +0000"
      },
      "message": "Fix tests 1953, 1954, 1955 and, 1956 on --jvm\n\nThese tests check the behavior of pop-frame and should run\nsuccessfully on the RI. Unfortunately in the time since they were\nadded the RI changed some of its behavior around using PopFrame with\nNotifyFramePopped, now crashing when this combination of behaviors is\nexercised. Make the test skip these cases when running on RI.\n\nBug: 154802847\nTest: ./test/run-test --host --jvm 1953\nChange-Id: Ia375cc9d13ca67a9512aa1b279fbcff1ec2feeec\n"
    },
    {
      "commit": "7c25b09f62eb87b72bd8a98a31ea10fd97050f82",
      "tree": "b7a933b717ecee9a3243ec85bc176e05d16a1a60",
      "parents": [
        "a698102d622e1cff97a30428878c8075059f396c"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Mon Apr 20 08:47:13 2020 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 27 22:31:29 2020 +0000"
      },
      "message": "Reject OAT file in speed-profile if app image is rejected\n\nSpeed profile should always have an app image available. This change\nmakes ART refuse to load OAT files compiled with the speed-profile\ncompiler filter if the app image cannot be loaded. This will enable the\ncompiler to assume the existence of an app image and generate better\ncode in some cases.\n\nBug: 38313278\nTest: ./test/run-test --host 2231-oat-require-app-image\nChange-Id: I2ee6fa7c7dc1d42d1fe1511fc60a7c0542237bfa\n"
    },
    {
      "commit": "a698102d622e1cff97a30428878c8075059f396c",
      "tree": "afeb8a0b82a19dc36d9a36d2c62c863aa2cd89bc",
      "parents": [
        "0240d2ba620e42d68fa9b6a6ca4ff01a0c79b8e3"
      ],
      "author": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Tue Apr 14 22:32:26 2020 -0700"
      },
      "committer": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Mon Apr 27 19:56:18 2020 +0000"
      },
      "message": "Handle OOM situation in java-heap more aggressively\n\nCurrently we perform several rounds of GCs before throwing out-of-memory\nexception. Furthermore, even if a small amount of memory is reclaimed,\nwe call it success. This leads to janky app behavior and timeouts\nduring finalization.\nIn this change we perform the next GC type, and if that doesn\u0027t reclaim a\nminimum amount of free space, then perform a final GC cycle, which is\nfull-heap, including soft-references and evacuates all regions to be\nthorough. If that also failes, then we throw OOME.\n\nBug: 144525957\nTest: art/test/testrunner/testrunner.py\nChange-Id: I34af2250661f886c8c2ba32637ee37886e2021d7\n"
    },
    {
      "commit": "0240d2ba620e42d68fa9b6a6ca4ff01a0c79b8e3",
      "tree": "bbe6c4c965b06f9d5d724d1d1a52739ba8fd1852",
      "parents": [
        "aafe432776279e32215272890db236e0fb412d98"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Thu Apr 23 15:45:22 2020 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Mon Apr 27 16:03:44 2020 +0000"
      },
      "message": "Move the logging line interleave lock from libbase to ART\n\nlibbase will now print up to 4k chunks of data to logd at once and\nit will print the full log message to stderr at once, so there is no\nneed for a majority of users to hold a lock during logging to prevent\nother threads from interleaving log messages between lines of an\nindividual log message.\n\nART is historically the only user of libbase that strongly cared to\nhave this lock to prevent the interleaving in all cases, thus this\nlock is moved to ART only.\n\nBug: 65062446\nBug: 153824050\nTest: logging unit tests\nChange-Id: I4b9e13fcc8996c419cb7472f545589f860a3e510\n"
    },
    {
      "commit": "aafe432776279e32215272890db236e0fb412d98",
      "tree": "8b5ac3d38e1d808a1eff3ebdaac4a5ae14eb598b",
      "parents": [
        "7ca8b67c21513d3cd236f47332afdd1be1cb1569"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Apr 21 10:38:04 2020 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Apr 27 14:26:21 2020 +0000"
      },
      "message": "Move some checker tests from smali to Java.\n\nThese tests were converted to smali when we moved from\njack to javac+dx but a slightly different code style can\nbe used to push javac+dx to generate the same bytecode.\n\nAlso drop a duplicate test (Java+smali) and the obsolete\n`doThrow` pattern previously used to prevent inlining.\n\nTest: testrunner.py --host --optimizing\nBug: 62950048\nChange-Id: I6b645124cd65ef4da69c0e7b2a5e9b5e7003b3fe\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": "5c25e537f59c2f87a57097ad3eb2f70d8c54de23",
      "tree": "441b43f9a6accb38de3c3811622f673b841064cd",
      "parents": [
        "4a1e4dd1a763fc67e6f505b516a28ddfd0da2963"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Apr 22 15:21:09 2020 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Apr 24 16:26:29 2020 +0000"
      },
      "message": "Add an agent to enable VLOG options\n\nWe added the ability to manipulate the \u0027VLOG\u0027 (-verbose:...) options\nat runtime a while ago. This adds an agent which can be loaded to\nchange these after starting an app. This can be useful for debugging.\n\nTest: m libenablevlogs\n      adb push $ANDROID_PRODUCT_OUT/system/lib/libenablevlogs.so /data/local/tmp\n      adb shell run-as com.antonioleiva.bandhookkotlin cp /data/local/tmp/libenablevlogs.so ./code_cache\n      adb shell cmd activity attach-agent com.antonioleiva.bandhookkotlin /data/data/com.antonioleiva.bandhookkotlin/code_cache/libenablevlogs.so\u003dclass,jit\n      adb logcat\nChange-Id: I80a97684b19ffc81f6e1181fc15f24cf3b53c31b\n"
    },
    {
      "commit": "4a1e4dd1a763fc67e6f505b516a28ddfd0da2963",
      "tree": "1d0dbd77a45b946f9297456517c57b3c54b37bdf",
      "parents": [
        "b69312dbce2e0ee31db01263262d6f08324af7d5"
      ],
      "author": {
        "name": "Artur Satayev",
        "email": "satayev@google.com",
        "time": "Thu Apr 23 22:28:59 2020 +0100"
      },
      "committer": {
        "name": "satayev",
        "email": "satayev@google.com",
        "time": "Fri Apr 24 16:04:05 2020 +0000"
      },
      "message": "Add exemption list for hiddenapi warnings.\n\nBug: 154851649\nTest: m\nChange-Id: If8eb30b9e1284c2e0580e806541e2e5c41b8cad6\n"
    },
    {
      "commit": "b69312dbce2e0ee31db01263262d6f08324af7d5",
      "tree": "31d8c047666bde5b1ea8f01d28c8a3bb8f4f534c",
      "parents": [
        "afa69cd7985a7e438077deffb46b2ac2cf52770d"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Apr 22 14:30:33 2020 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Apr 24 13:03:49 2020 +0000"
      },
      "message": "nterp: Address old x86-64 comments.\n\nFollow-up to\n    https://android-review.googlesource.com/1185416 ,\n    https://android-review.googlesource.com/1180627 .\n\nTest: testrunner.py --host --interpreter\nChange-Id: I4ee8825593cf11d673fcaf8e1172d00405cc7abc\n"
    },
    {
      "commit": "afa69cd7985a7e438077deffb46b2ac2cf52770d",
      "tree": "6872330bc41b84e1ea7841e893e23f344f1f06f9",
      "parents": [
        "9b78924a29f9eedc8eaf4d3b173d4f0567cb7504"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Apr 21 14:01:44 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 24 10:29:22 2020 +0000"
      },
      "message": "Add another DCHECK that an exception isn\u0027t pending.\n\nThe code assumes there should not be any - it\u0027s unclear if that\u0027s the\ncase, but add a DCHECK to diagnose.\n\nTest: test.py\nBug: 73760543\nChange-Id: If9c89261f1f1dfc4d4966ea89474d8a2ee224452\n"
    },
    {
      "commit": "9b78924a29f9eedc8eaf4d3b173d4f0567cb7504",
      "tree": "8b67f20d8bc8f4a2c68692a735465e4c9d9ca830",
      "parents": [
        "cc82f79174c0afb3c1974d7926678b2cfef0835f"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Apr 21 19:06:51 2020 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Apr 23 20:59:17 2020 +0000"
      },
      "message": "Fix execution with RI in ART `testrunner.py` script.\n\nBefore this change, when the `art/test/testrunner/testrunner.py`\nscript was invoked only with option `--jvm`, no test would be run.\n\nTest: art/test/testrunner/testrunner.py --jvm\nBug: 129406631\nChange-Id: I92c85f5131d547fa9e3c6c47c82aa533a62a3f3e\n"
    },
    {
      "commit": "cc82f79174c0afb3c1974d7926678b2cfef0835f",
      "tree": "9322fc35e5f9d22e50a43c8dec98e58b85312d0c",
      "parents": [
        "30ac39834fbd7ea276f4dd497f158be03da86249"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Apr 23 13:29:01 2020 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Apr 23 20:59:17 2020 +0000"
      },
      "message": "Disable ART run-tests newly failing on the RI.\n\nSome of those tests (178-app-image-native-method,\n689-zygote-jit-deopt, 2033-shutdown-mechanics) cannot run on the RI by\ndesign. Others need futher investigation. Disable them for now, in\norder to unblock testing with the RI.\n\nTest: art/test/testrunner/testrunner.py --jvm\nBug: 154802847\nChange-Id: Ic0a3aaa33db472ef38c01da9fc56faa93fed2011\n"
    },
    {
      "commit": "30ac39834fbd7ea276f4dd497f158be03da86249",
      "tree": "3a4fe97f7ab7bad1501b9d583641f582b4c1d81c",
      "parents": [
        "6127ace4619f735a7f9555947329edddb9e627f9"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 21 12:48:53 2020 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 23 20:01:08 2020 +0000"
      },
      "message": "Improve printing for heap verification failures\n\nAvoid printing proc maps since they are already printed in the\ntombstone. Printing them again may cause truncated output.\n\nChange ordering to put important data first since the latter lines\nare more likely to get truncated.\n\nTest: test-art-host-gtest\nBug: 139805154\n\nChange-Id: I27a2da4831643fd2eb42f39900f3e3ed98acd04d\n"
    },
    {
      "commit": "6127ace4619f735a7f9555947329edddb9e627f9",
      "tree": "89d84565e05a45884d6caacd734eeb1a94b66550",
      "parents": [
        "2816cfcf7766c22f287ffe86d378c5f4509d3eee"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Apr 21 20:38:14 2020 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Apr 23 18:15:50 2020 +0000"
      },
      "message": "Increase shutdown time constants\n\nWait longer before and after setting runtime deleted flag. This gives\ndaemons a longer time to reach an idle state, and\n2033-shutdown-mechanics a better opportunity to observe changes during\nthe shutdown process. Slows down \"normal\" shutdowns with running user\ndaemons. That shouldn\u0027t normally occur in production and is rare during\ntesting.\n\nIn 2033-shutdown-mechanics, wait longer to make sure the child thread\nis ready and waiting when we shut down.\n\nTest: Ran 2033-shutdown-mechanics a few times.\nChange-Id: I2b5b420cf8dfc37fa154c4624bcdc66acb78258d\n"
    },
    {
      "commit": "2816cfcf7766c22f287ffe86d378c5f4509d3eee",
      "tree": "198c5701c9c27821d4518a8ed55c9fff742d4585",
      "parents": [
        "347323ce0e978d9095259a40a0ffb217ae739271"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Wed Apr 22 21:00:23 2020 +0100"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Thu Apr 23 09:56:37 2020 +0000"
      },
      "message": "Remove unnecessary droiddoc args\n\n- tag_name does nothing anymore\n- api filenames are irrelevant with the check_api clause\n\nBug: 152479829\nTest: m\nChange-Id: I73ae2e7c1a7d26110138dc655007ac7a8ec388f7\nMerged-In: I73ae2e7c1a7d26110138dc655007ac7a8ec388f7\n(cherry picked from commit 271b53e7d90314950f29e8248138d6f4df53ee2d)\n"
    },
    {
      "commit": "347323ce0e978d9095259a40a0ffb217ae739271",
      "tree": "df66cbaa6f9a2583227ec455b818ac5a25814697",
      "parents": [
        "aa636cbb252479cd35eed84d263dd7408b9bf808"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Apr 22 22:55:23 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Apr 22 22:55:23 2020 +0100"
      },
      "message": "Explicitly pass debugfs to deapexer.\n\nIn case it helps the bots.\n\nTest: buildbot-build.sh\nChange-Id: I905a969d2f3563d6a1b4abf59008798013b39698\n"
    },
    {
      "commit": "aa636cbb252479cd35eed84d263dd7408b9bf808",
      "tree": "5da59985ed58000e22943737dfcc4016462728eb",
      "parents": [
        "5055e66c9a5a13c15a27fe446af862aaee972846"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Apr 22 22:41:02 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Apr 22 22:41:02 2020 +0100"
      },
      "message": "Add more logging to the script to debug buildbot issues.\n\nTest: buildbot-build.sh\nChange-Id: Iff3334647d14d4983217023d99fcf91b88969107\n"
    },
    {
      "commit": "5055e66c9a5a13c15a27fe446af862aaee972846",
      "tree": "89bb9cbb1a2f4674a4ad10c2e90e06bad60487eb",
      "parents": [
        "81673f0ec4ced5d9180efcb1e0b116dcc6327f7c"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Apr 22 11:49:06 2020 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Apr 22 21:21:43 2020 +0000"
      },
      "message": "Fix bootclasspath setup for target in tools/art script.\n\nThis fixes one of the issues on golem.\n\nThis code path got accidentally lost in CL/1263040.\n\nBug: 154074847\nTest: Check that golem can load bootclasspath on target.\nChange-Id: I9de03521c8c13fb104734259d3e90453ed2cb706\n"
    },
    {
      "commit": "81673f0ec4ced5d9180efcb1e0b116dcc6327f7c",
      "tree": "1fc9f1aa664466e76fca8b751fe6b6c86930920b",
      "parents": [
        "80892049dfcfafc41338d48f18cf148019a53dde"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Apr 22 16:43:54 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Apr 22 17:14:24 2020 +0000"
      },
      "message": "Add a sanity check on the conscrypt contents.\n\nTo diagnose current buildbot issues.\n\nTest: buildbot-build.sh\nChange-Id: I3aba09cfd1feda49e785f16931905e120327afa8\n"
    },
    {
      "commit": "80892049dfcfafc41338d48f18cf148019a53dde",
      "tree": "1a80248fba41906e936731c2e820991c99e78e15",
      "parents": [
        "5eee73ba273a21d514dc8a40294d30a2774eb2a0"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Apr 21 00:39:00 2020 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 22 16:54:25 2020 +0000"
      },
      "message": "Use runtime_libs for the libdexfile_external dependency from\nlibdexfile_support.\n\nIt\u0027s a better specified dependency, and in particular it makes\nlinkerconfig pick it up and autogenerate the necessary links to the\ncom_android_art namespace where libdexfile_support is used.\n\nTest: Build and boot, then check that\n  /linkerconfig/com.android.runtime/ld.config.txt contains\n  \"namespace.default.link.com_android_art.shared_libs \u003d\n  libdexfile_external.so\", which is necessary for\n  /apex/com.android.runtime/bin/crash_dump{32,64} to find it.\nBug: 153996928\nChange-Id: Ia56d7b85512369b0d642354c92540ba94c1debb1\n"
    },
    {
      "commit": "5eee73ba273a21d514dc8a40294d30a2774eb2a0",
      "tree": "88d6f1ccb631e9f6b95b5b57c1606ecad3f61608",
      "parents": [
        "b7724c4a8bf6ad8f3609463b3c614a4a9289e0c0"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Apr 21 21:27:26 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Apr 22 10:07:27 2020 +0000"
      },
      "message": "Use double quotes instead of single.\n\nTo get the out_dir expansion.\n\nChange-Id: I04e973db39610858fd2314a13a87a51a80bbbc87\n"
    },
    {
      "commit": "b7724c4a8bf6ad8f3609463b3c614a4a9289e0c0",
      "tree": "809617f6c03306660e1af23c361cff51c2383d90",
      "parents": [
        "e67fd203b3e94b552a66b52efbfc806c8041fd79"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Apr 21 16:51:54 2020 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Apr 22 08:44:55 2020 +0000"
      },
      "message": "Fix execution with RI in ART `run-test-jar` script.\n\nWhen using the RI, make sure that:\n- ART-specific (runtime) flags are not used;\n- `adb` is not invoked (via `art/test/utils/get-device-isa`).\n\nTest: art/test/run-test --jvm 001-HelloWorld\nTest: art/test/testrunner/testrunner.py --host --optimizing\nBug: 147817558\nBug: 121117762\nChange-Id: I2d9a8d250f60c2fa14cb0afc0906dd4efe2a1793\n"
    },
    {
      "commit": "e67fd203b3e94b552a66b52efbfc806c8041fd79",
      "tree": "cdf950cb19a4c9ff015254510b17ed2ce19044dd",
      "parents": [
        "75c3ff378636c844cb9715c18c2996619790281f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Apr 21 15:56:52 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Apr 21 20:19:31 2020 +0000"
      },
      "message": "Use ANDROID_HOST_OUT/bin/deapexer instead of just deapexer.\n\nTest: buildbot-build.sh\nChange-Id: Ib6c057f38842396bcefd94c2e7a6a21e27722425\n"
    },
    {
      "commit": "75c3ff378636c844cb9715c18c2996619790281f",
      "tree": "1769419eb71666ca138f4d737d3451d8df41801d",
      "parents": [
        "745e45d44462af1e58a120f4886ea5c307b66a2e"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Mon Apr 20 16:44:27 2020 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Apr 21 16:08:19 2020 +0000"
      },
      "message": "Better instrument 067-preemptive-unpark\n\nWe\u0027re seeing mysterious failures. It would be nice to understand the\ntiming of various events. Print them on failure.\n\nBug: 22242462\nTest: .../testrunner.py --host -b -t 067-premptive-unpark\nChange-Id: I89e9efa9639e742cb7755f478909787dd7629e23\n"
    },
    {
      "commit": "745e45d44462af1e58a120f4886ea5c307b66a2e",
      "tree": "0da77fb9f8895d91dc22965edbd09502e06c09d0",
      "parents": [
        "f48a705f257d9352bb38ddc5db737aa45fb69ca4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Apr 21 14:09:58 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Apr 21 15:00:21 2020 +0000"
      },
      "message": "By default, don\u0027t use a bitness suffix for ART.\n\nThis will make it pick up the symlink. Only if the bitness is passed\nthrough the command line will we add it to the path.\n\nTest: dalvik/dx/tests/run-all-tests\nChange-Id: I8a26f9f38fa589cad0b1b83041181f7637060861\n"
    },
    {
      "commit": "f48a705f257d9352bb38ddc5db737aa45fb69ca4",
      "tree": "fddd6a23682e814115bc1e103deaa9c3b11787f2",
      "parents": [
        "63ba6477e76278d949f382e9babb146b13732878"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Apr 21 09:45:57 2020 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Apr 21 12:06:50 2020 +0100"
      },
      "message": "Minor error reporting clean up in DexFileVerifier.\n\nTest: m\nChange-Id: If768098425d626ecac664531f1a532cf0d40e6d6\n"
    },
    {
      "commit": "63ba6477e76278d949f382e9babb146b13732878",
      "tree": "7bcaeb4679ee2cf2ef2c69fa9db173aa50f0bf3c",
      "parents": [
        "050e2153774fa3d58c1c47dbb6fbdb437bd58229"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Apr 15 15:35:16 2020 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Apr 21 10:38:10 2020 +0000"
      },
      "message": "Faster dex file verification.\n\nSpeed up DexFileVerifier by introducing a \"map\" from type\nindex to class definition index, implemented as vector\u003c\u003e.\n\nRefactor the verification for correctness, moving checks\nagainst the header into the CheckIntraSection() phase and\nchecks that rely on other sections to CheckInterSection().\nThis also allows us to remove some unnecessary checks in\nthe latter phase.\n\nImproves the \"OpenDexFile\" time from --dump-timings output\nby over 2x for one tested huge apk.\n\n(cherry picked from commit eae30815293d9cacb4bf9f48d7dfdce8a436b426)\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing.\nBug: 153966283\nMerged-In: Iae423b8f463648360276130c8b21ab6057cf73a7\nChange-Id: Ie5a525bd1975c39e014c86b4386d5402c8bef420\n"
    },
    {
      "commit": "050e2153774fa3d58c1c47dbb6fbdb437bd58229",
      "tree": "f62d1a5cda0ef4c4829a22606eede7e541ada341",
      "parents": [
        "b0c6cb59ed8f8999d035ea0cabe3c1cd226507f8"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Apr 20 19:16:52 2020 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Apr 21 07:39:45 2020 +0000"
      },
      "message": "Fix typo in name of ART run-test `941-recurive-obsolete-jit`.\n\nThis is to please the AOSP linter.\n\nTest: Rely on the AOSP linter.\nChange-Id: Iabc7e9af303260e46e84a7d590f515ec033081fc\n"
    },
    {
      "commit": "b0c6cb59ed8f8999d035ea0cabe3c1cd226507f8",
      "tree": "abd03ec069784888c251d988d6233a6ce73201a2",
      "parents": [
        "2842ac186022e90323e4ed8ad4cb2c8b154d31b2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Apr 20 15:12:42 2020 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Apr 20 20:42:30 2020 +0000"
      },
      "message": "Fix logic to find dex2oat.\n\nOn device, we now have dex2oat64/dex2oat32 with no symlinks, so be\nexplicit on the bitness when trying to find the executable.\n\nBug: 153380900\nTest: run-gtests.sh, testrunner.py, run-libcore-tests, run-libjdwp-tests\nChange-Id: I796eedc84d75aaa2a525d3ed2cbcbe157e5220fb\n"
    },
    {
      "commit": "2842ac186022e90323e4ed8ad4cb2c8b154d31b2",
      "tree": "5fc34563113270f7b1312b5e658ec71cbdbdffb2",
      "parents": [
        "28aaf24b59931d40945413772f89aeef8637c014"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Apr 16 23:49:39 2020 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon Apr 20 19:29:50 2020 +0000"
      },
      "message": "Move version scripts to app_process, where they are used.\n\nThis is a temporary measure to avoid exporting filegroups in the SDK\nsnapshots. The version scripts will go away when libsigchain can be a\nshared lib.\n\nTest: Build and boot\nBug: 153338107\nBug: 142944043\nChange-Id: Ia043ced745fa41113a48b7724dafbb8c6b03e6d5\n"
    },
    {
      "commit": "28aaf24b59931d40945413772f89aeef8637c014",
      "tree": "f0609b2f06944627469a62e22574d7a00025ae25",
      "parents": [
        "d68580ee6508bd9d5aa6bbdef33f79b8c2cbcf85"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Apr 17 17:46:48 2020 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Mon Apr 20 19:00:44 2020 +0000"
      },
      "message": "Call SetRuntimeDeleted() unconditionally\n\nWe were failing to call it when thread suspension attempts timed out.\nWe should call it even then. We\u0027re occasionally seeing suspension\ntimeouts because daemon threads already wedged themselves because\nwe\u0027re already in a partially shutdown state. In particular any dameon\nmaking a JNI call from a fastnative call will prematurely enter\nSleepForever and not respond.\n\nBug: 147804269\nTest: .../testrunner.py --host -b --64\nChange-Id: I84f35476e678a71529f10d9836669cd4f785c750\n"
    },
    {
      "commit": "d68580ee6508bd9d5aa6bbdef33f79b8c2cbcf85",
      "tree": "b62294c5f8bed42c0ab5bc6e94ef5a2a4cfa627f",
      "parents": [
        "672295a9e3b7481f79186b0ca7ba410e6c8eb10f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Apr 15 16:52:32 2020 +0100"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Mon Apr 20 04:08:23 2020 +0000"
      },
      "message": "Put dex2oat32 and dex2oat64 in the ART apex.\n\nRequired to move to dex2oat64 on some devices.\n\nTest: m \u0026\u0026 art_apex_test\nTest: art/build/apex/runtests.sh\nBug: 153380900\nChange-Id: Ie4a75d72a8be3c1252c6b49b29d680dc641b6b61\n"
    },
    {
      "commit": "672295a9e3b7481f79186b0ca7ba410e6c8eb10f",
      "tree": "9894a94a24a02b05c3375f245c962479fa43ccc4",
      "parents": [
        "5f84607854775be67a8eb2437ce1071af7d477d2"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Apr 16 21:31:17 2020 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Sat Apr 18 04:15:29 2020 +0000"
      },
      "message": "Add test for JNI env modifications on shutdown\n\nBug: 147804269\nTest: .../testrunner.py --host -b --64 -t 2033-shutdown-mechanics\nChange-Id: Ie8bc12b94709e38dd043c644cdde3e02d96dedf1\n"
    },
    {
      "commit": "5f84607854775be67a8eb2437ce1071af7d477d2",
      "tree": "4d28da38b7170fad07ce08878cedb239f51279da",
      "parents": [
        "c8150b5def82058c23df377a5006a78e7668afeb"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Apr 09 13:20:11 2020 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Apr 17 15:43:48 2020 +0000"
      },
      "message": "Optimizing: Construct intrinsic HIR in builder.\n\nTo help baseline compiler emit better code, construct\nintermediate representation for intrinsics that have\ncorresponding HIR classes in the instruction builder,\ninstead of doing it in the instruction simplifier.\n\nNote: The generated code is sometimes different than\nbefore because GVN uses instruction ids for input\nordering for commutative operations.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: aosp_taimen-userdebug boots.\nChange-Id: Ifa3a5774f8f3fbff4e3ca359c38eceee993d62cd\n"
    },
    {
      "commit": "c8150b5def82058c23df377a5006a78e7668afeb",
      "tree": "8f0e15b91cd55b978ca7f152206f0a550353810a",
      "parents": [
        "b2028739a2db03623ed76f5028ede1333c48f4c9"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Wed Jul 31 18:28:00 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 17 10:35:45 2020 +0000"
      },
      "message": "ART: Refactor SIMD slots and regs size processing.\n\nART vectorizer assumes that there is single size of SIMD\nregister used for the whole program. Make this assumption explicit\nand refactor the code.\n\nNote: This is a base for the future introduction of SIMD slots of\nsize other than 8 or 16 bytes.\n\nTest: test-art-target, test-art-host.\nChange-Id: Id699d5e3590ca8c655ecd9f9ed4e63f49e3c4f9c\n"
    },
    {
      "commit": "b2028739a2db03623ed76f5028ede1333c48f4c9",
      "tree": "2093c86d2f4a00bd0ddd058530e686302e2867ad",
      "parents": [
        "07c3da75fa4379497e15a371ffd40e54b97b0877"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Apr 08 15:41:41 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Apr 16 13:32:32 2020 +0000"
      },
      "message": "Run Java verification of mainline modules at boot time.\n\nTo avoid doing it at app startup time.\n\nMemory impact after boot (walleye rvc-dev)\n- zygote64 RSS: 116184K -\u003e 116828K (+642K)\n- zygote64 PSS: 20218K -\u003e 20612K (+394K)\n- zygote32 RSS: 103712K -\u003e 104276K (+564K)\n- zygote32 PSS: 34509K -\u003e 34598K (+89K)\n\nBoot time impact (walleye rvc-dev)\n- TOTAL_BOOT_TIME: 16622.9 -\u003e 15769ms (in the normal deviation)\n- Verified 1345 classes from mainline modules in 162ms (finishes\nbefore preloading classes finish)\n\nBoot time impact (blueline rvc-dev)\n- TOTAL_BOOT_TIME: 16984.1 -\u003e 17213ms (looks like in the normal\ndeviation)\n- Verified 1345 classes from mainline modules in 168.928ms (finishes\nbefore preloading classes finish)\n\nBug: 152552491\nTest: boot\nChange-Id: Ifa4ffe9da1ef66bbd5b3e20f737c85e79b520538\nMerged-In: Ifa4ffe9da1ef66bbd5b3e20f737c85e79b520538\n(cherry picked from commit 405b0970a267ce08194a1537010250d21208f2f2)\n"
    },
    {
      "commit": "07c3da75fa4379497e15a371ffd40e54b97b0877",
      "tree": "7ac5b6f63f3f4db5d7e48439a936e1684a922b2a",
      "parents": [
        "76bc8333d6255897a0dcab9705b13dc5b6439012"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Mar 31 16:29:49 2020 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Apr 16 12:44:34 2020 +0100"
      },
      "message": "Reland \"Remove platform availability from internal libs that make up\nlibdexfile_support_static.\"\n\nReland of https://r.android.com/1273016 after fixing internal branch in\nag/11063995.\n\ninit and debuggerd no longer depends on libunwindstack with DEX support\n(https://r.android.com/1149620), and with the fix for NOTICE targets on\nstatic libs (https://r.android.com/1274763) it is not needed for\nsimpleperf_ndk either.\n\nTest: Build \u0026 boot\nTest:\n  $ m libdexfile libartbase libartpalette\n  $ find out/target/product/*/system -name libdexfile.so -o -name libartbase.so -o -name libartpalette.so\n  (no hits found)\nBug: 151466650\nBug: 142944931\nBug: 154165728\nChange-Id: I5be00be19f3b9719e220c655aa25581d28c47245\n"
    },
    {
      "commit": "76bc8333d6255897a0dcab9705b13dc5b6439012",
      "tree": "a3494bba070aebd61b9d946b25c0f4216a973333",
      "parents": [
        "02e6a6ffa2ea384e13d179f237fb329b0b495682"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Sat Apr 11 18:21:45 2020 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Apr 16 09:13:29 2020 +0100"
      },
      "message": "Bundle jni_headers with libopenjdkjvmti_headers\n\nPreparation for removing implicit include paths for jni.h from soong.\n\nBug: 152482542\nTest: m checkbuild\nChange-Id: Ie8218b61c1e394cae2cdbfc468076b86b433f95c\n"
    },
    {
      "commit": "02e6a6ffa2ea384e13d179f237fb329b0b495682",
      "tree": "d0ff9a95a6988beda4177db727eccf192b5e4660",
      "parents": [
        "030f548d006b8f2d819d7a62cc8ebd8fe08c6483"
      ],
      "author": {
        "name": "Ady Abraham",
        "email": "adyabr@google.com",
        "time": "Thu Apr 16 00:21:57 2020 +0000"
      },
      "committer": {
        "name": "Ady Abraham",
        "email": "adyabr@google.com",
        "time": "Thu Apr 16 00:21:57 2020 +0000"
      },
      "message": "Revert \"Remove platform availability from internal libs that make up\"\n\nThis reverts commit 030f548d006b8f2d819d7a62cc8ebd8fe08c6483.\n\nReason for revert: Droidcop: Potential culprit for b/154165728 - verifying through Forrest before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.\n\nChange-Id: Id1faeba61ff1ba667fc36d14547d8d99a392ba73\n"
    },
    {
      "commit": "030f548d006b8f2d819d7a62cc8ebd8fe08c6483",
      "tree": "9e005fdd44d19142b659dec3d200c1223fe05514",
      "parents": [
        "72d7e965f8f70d79fa1c4d5f09ae59652c9c24de"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Mar 31 16:29:49 2020 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 15 23:01:07 2020 +0000"
      },
      "message": "Remove platform availability from internal libs that make up\nlibdexfile_support_static.\n\ninit and debuggerd no longer depends on libunwindstack with DEX support\n(https://r.android.com/1149620), and with the fix for NOTICE targets on\nstatic libs (https://r.android.com/1274763) it is not needed for\nsimpleperf_ndk either.\n\nTest: Build \u0026 boot\nTest:\n  $ m libdexfile libartbase libartpalette\n  $ find out/target/product/*/system -name libdexfile.so -o -name libartbase.so -o -name libartpalette.so\n  (no hits found)\nBug: 151466650\nBug: 142944931\nChange-Id: I159f6180bdbd8d50e2cb8d32049cc283f0a04467\n"
    },
    {
      "commit": "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": "9a625b53532db4c05d2a97e55c3a62f7dfbe385d",
      "tree": "d51efac52fac8c78ae42bcf3df05a290800acadf",
      "parents": [
        "f823f0eeec8c69d956b665adc7da3b6038a969d1"
      ],
      "author": {
        "name": "Rock.Yeh",
        "email": "rock.yeh@mediatek.com",
        "time": "Mon Jan 06 10:53:02 2020 +0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 15 19:05:04 2020 +0000"
      },
      "message": "Fix mmap leakage for ASAN build\n\nWhen address_sanitizer is enable, mmap size will be added an extra\nredzone_size. We need to add back to prevent a leakage.\n\nBug: 147272193\nTest: boot\nTest: adb shell pm compile -m speed-profile package_name\nTest: art/test/testrunner/run_build_test_target.py -j32 art-asan\nChange-Id: I5c0792ec779b2efa02e969889ebc54f0c2e7d6e3\n"
    },
    {
      "commit": "f823f0eeec8c69d956b665adc7da3b6038a969d1",
      "tree": "951e298570e95e7be8938c255bc038687a5f2c25",
      "parents": [
        "b04b30c90d7fd6d313335f1b9fc926d5a134bbe0"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Apr 14 13:56:28 2020 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Apr 15 16:11:49 2020 +0000"
      },
      "message": "Fix deadlock bug in test 2005\n\nTest 2005 checks that redefinition is possible even when some of the\nthreads involved are suspended. It does this by spawning a bunch of\nthreads, suspending all of them, redefining a class those threads are\nusing, and then check that the results of the threads calculations are\nconsistent. This could cause a problem since (due to the structure of\nthe code) a test thread could be responsible for initializing the\nclass being redefined. If this is still ongoing when all threads are\nsuspended then the main test thread will get deadlocked waiting for\nthe class to finish initializing (since the class must have either not\nstarted or already finished initialization for redefinition to be\npossible).\n\nTo fix this issue we just force the class to be initialized before\nrunning the main test code.\n\nBug: 148341959\nTest: ./test.py --host\nChange-Id: Ic1bf59ffd760b97b3e173ee48d3ce7ad9bb6c3ce\n"
    },
    {
      "commit": "b04b30c90d7fd6d313335f1b9fc926d5a134bbe0",
      "tree": "1a960b0974998751282f82fdd8720d3105c3cd30",
      "parents": [
        "c390879443dea479fb5b317237ee455d76136be2"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Mon Apr 06 11:00:45 2020 +0200"
      },
      "committer": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Wed Apr 15 14:08:47 2020 +0000"
      },
      "message": "Only allow extra_guardrails for domains that can connect to heapprofd.\n\nAlways load perfetto_hprof plugin for system server, as it does not have\na manifest. The android_mallopt call marking it as profileable comes too\nlate for plugin initialization, so we have to hardcode here.\n\nTest: flash user device\n      allow systemui to use central heapprofd\n      make system_server perfetto producer\n      profile systemui with extra guardrails -\u003e success\n      profile sys_srv without extra guardrails -\u003e success\n      profile sys_srv with extra guardrails -\u003e rejected\nBug: 151140716\nChange-Id: Icb8b70139eabca19838f0b122cc62af6b7c5a6ab\n"
    },
    {
      "commit": "c390879443dea479fb5b317237ee455d76136be2",
      "tree": "931674a0c3c6a2db7ae82d44477724c55d623afb",
      "parents": [
        "b47b978486572492140b63b0c8c5daa58dc28d41"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Apr 06 14:52:04 2020 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Apr 15 08:10:37 2020 +0000"
      },
      "message": "Do not crash for broken stored VerifierDeps.\n\nPropagate the error to the callers. Also avoid filling in\nunused data structures when we want only verified classes.\n\nTest: aosp_taimen-userdebug boots.\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 151220989\nChange-Id: I3ad0d725251037006128c1f631e6bd6dcec3a592\n"
    },
    {
      "commit": "b47b978486572492140b63b0c8c5daa58dc28d41",
      "tree": "546c065d9396ef25bbd08b02d5ef4f6d269babfc",
      "parents": [
        "e778fa6ead79e9cb26810d484c5a594e9612de9b"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Wed Dec 04 21:02:09 2019 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 14 10:26:59 2020 +0000"
      },
      "message": "ART: Fix vectorizer HalvingAdd idiom.\n\nIsAddConst2 function tried to extract addition chains\nfor the halving add idiom: (A + B) \u003e\u003e 1. The problem\nwas that regular shift right (x \u003e\u003e 1) was accepted for the\nidiom (with {A: x, B: 0}) and not processed as a shift - which\nbroke the assumptions on shifts right and operand signedness.\nThis CL fixes that.\n\nTest: 646-checker-simd-hadd.\nTest: test-art-target.\n\nChange-Id: Icf71e1a8e8c54e68114d7d5d6c4aa8a47ea5234d\n"
    },
    {
      "commit": "e778fa6ead79e9cb26810d484c5a594e9612de9b",
      "tree": "f615de89eff741c5bb2c4ea8d04ccd097223092f",
      "parents": [
        "27d2bfc603a7e25ec6132ab598ecb3319f089e03"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Apr 07 17:52:16 2020 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Apr 14 08:25:40 2020 +0000"
      },
      "message": "Reduce cache memory use of libdexfile.\n\nIt is excessive to cache all methods of all open dex files.\n\nCache only methods that have been looked up by dex offset.\nCreate class lookup table to keep method lookup efficient\n(linear search, but only within the methods of the class).\n\nThis reduces memory use by over 10x.\n\nBug: 152976928\nTest: ./art/test.py -r -b --host -t 137\nTest: libunwindstack_unit_test\nChange-Id: I0aee3d9a1060bf254b156836c428a17e6f1ee70c\n"
    },
    {
      "commit": "27d2bfc603a7e25ec6132ab598ecb3319f089e03",
      "tree": "948023e67be2b885e35e2b246d33c5356791988c",
      "parents": [
        "36896be3815ce0db8dd5f23accfbee24492d7f8a"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Thu Apr 09 13:51:24 2020 +0200"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 13 21:50:18 2020 +0000"
      },
      "message": "Remove dependency on protobuf.\n\nThe perfetto client library no longer has this dependency.\n\nChange-Id: I3e9ebaad9238074d968feb631e505d26f088a077\n"
    },
    {
      "commit": "36896be3815ce0db8dd5f23accfbee24492d7f8a",
      "tree": "fa9c3af4dc45508efa1fe557c9e8d8c65afd9753",
      "parents": [
        "69847caf009afebbc299e24a3cba890adb23750e"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Mon Mar 09 14:23:23 2020 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Mon Apr 13 20:44:56 2020 +0000"
      },
      "message": "Don\u0027t call exit() while threads may be running\n\nIt\u0027s unsafe to call exit() in C++ while there are running threads.\nThe remaining threads would race with static destructors, including\nthose for the standard library. Call _exit instead.\n\nBug: 150176543\nTest: Boot AOSP, TreeHugger\nChange-Id: Ieabf68f43e8b520714643e5ec36a8ca72cc83254\n"
    }
  ],
  "next": "69847caf009afebbc299e24a3cba890adb23750e"
}
