)]}'
{
  "log": [
    {
      "commit": "01545e8f6e7e4ecdcbec8482f46d520619025dab",
      "tree": "f338bc498859648564a2c2ad15228bd25afc7da1",
      "parents": [
        "19444a693ad87be31bb9fb00e310122f6d1bb67a"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Sep 07 13:02:36 2021 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Sep 07 22:39:56 2021 +0000"
      },
      "message": "Reboot device before running eng-prod gtests\n\nEnsure that we start the tests in clean state.\n\nTest: atest ArtGtestsTargetChroot\nBug: 198965788\nChange-Id: Ie8df18f3824569e1b809ff80f5b7caa4fbf136af\n"
    },
    {
      "commit": "19444a693ad87be31bb9fb00e310122f6d1bb67a",
      "tree": "2f3174aec601651633c4864191c4b89945e5643c",
      "parents": [
        "18c72c6f62f9d8e2675a3da452a97b46c4bd2182"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 06 18:26:13 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Sep 07 17:16:58 2021 +0000"
      },
      "message": "It\u0027s a hard failure if return types cannot match.\n\nRemove unused CanAssignArray method.\n\nTest: test.py\nBug: 28313047\nChange-Id: I5b172b65d262f81a85a899e169c248a722d1e4cf\n"
    },
    {
      "commit": "18c72c6f62f9d8e2675a3da452a97b46c4bd2182",
      "tree": "c88386e68e4110622bd2f835923d081f86e8881a",
      "parents": [
        "b05bf89967e904fcde3da871704b0bed3a012958"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 06 15:02:47 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Sep 07 14:24:29 2021 +0000"
      },
      "message": "Change soft failure into more precise missing method.\n\nTest: test.py\nBug: 28313047\nChange-Id: I82563f15266dc8c225f41cae47523d6bc8a2f832\n"
    },
    {
      "commit": "b05bf89967e904fcde3da871704b0bed3a012958",
      "tree": "b535087be5ce6c080803c358c33f7ed8134484ea",
      "parents": [
        "d8c0ac264f606bf0c69781388ca6048eb0a4b55f"
      ],
      "author": {
        "name": "Nikita Iashchenko",
        "email": "nikitai@google.com",
        "time": "Mon Sep 06 23:48:36 2021 +0100"
      },
      "committer": {
        "name": "Nikita Iashchenko",
        "email": "nikitai@google.com",
        "time": "Tue Sep 07 14:22:49 2021 +0000"
      },
      "message": "OpenJDK 11: Move math classes from sun.misc.* to jdk.internal.math\n\nThis is part of merging upstream changes from OpenJDK 11.28. This CL\nupdates tests for FloatingDecimal that was moved from sun.misc to\njdk.internal.math.\n\nBug: 199067710\nTest: m droid\nChange-Id: Ic5d0888029fbdd0e4b3605fa8a99f7f674d204a1\n"
    },
    {
      "commit": "d8c0ac264f606bf0c69781388ca6048eb0a4b55f",
      "tree": "65a85eba1d1b47f837c7b8941252d7128187d83a",
      "parents": [
        "ebefce33baed0dccd5ab703bff37cb14c3da8572"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Sep 07 00:26:17 2021 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Sep 07 13:27:57 2021 +0000"
      },
      "message": "Better isolate standalone ART gtests on device.\n\nStandalone ART gtests used to be installed in the same directory on\ndevice (`/data/local/tmp/nativetest`), which could be a race\ncondition. In particular, some ART gtests are run as root\n(e.g. `art_standalone_dexoptanalyzer_tests`) and create the\n`/data/local/tmp/nativetest` directory with `root`\nownership/permissions, preventing any subsequent ART gtest not run as\nroot (e.g. `art_standalone_cmdline_tests`) from installing its\nartifacts in that directory.\n\nTo prevent these issues, use a different directory on device (under\n`/data/local/tmp`) per standalone ART gtest.\n\nTest: atest art_standalone_dexoptanalyzer_tests \\\n        \u0026\u0026 atest art_standalone_cmdline_tests\nTest: atest art_standalone_\\*_tests\nBug: 194403904\nBug: 162834439\nChange-Id: I141c1676382b078c1441e5782b3dc77affafa3fc\n"
    },
    {
      "commit": "ebefce33baed0dccd5ab703bff37cb14c3da8572",
      "tree": "8535e9d6029adcea0f9d1fda0ca1da798edbe5ca",
      "parents": [
        "adc11b1350658af7acef4b72af785ae1ec3ae2bf"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 06 14:47:17 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Sep 07 12:43:32 2021 +0000"
      },
      "message": "Make it a hard failure if we could not find a catch clause.\n\nTest: test.py\nBug: 28313047\nChange-Id: Ib80c771cc9d730909d00792c1f1d28b9c46f1a24\n"
    },
    {
      "commit": "adc11b1350658af7acef4b72af785ae1ec3ae2bf",
      "tree": "5823847a964d586a47240de5bdb571afa45a5882",
      "parents": [
        "87565852303a0c807f2ee6cdd33cef02a80b72bd"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 06 14:19:28 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Sep 07 10:36:37 2021 +0000"
      },
      "message": "Turn unconditional soft failure into a hard failure.\n\nThe failure isn\u0027t going to change at runtime.\n\nTest: test.py\nBug: 28313047\nChange-Id: I15fa1b4d85fc3742e2b1d643779a4f6ac005d97f\n"
    },
    {
      "commit": "87565852303a0c807f2ee6cdd33cef02a80b72bd",
      "tree": "d9d80eb4c889d23753540857c91a0cabbc8843ce",
      "parents": [
        "1728bb7791ce6c0da95a31932e83cf4a462a7cd6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 23 17:54:43 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Sep 07 08:03:38 2021 +0000"
      },
      "message": "verifier: the throw bytecode must have a throwable class as input.\n\nOtherwise it\u0027s a hard failure.\n\nRemove soft failure test as soft failures are going away.\n\nTest: test.py\nBug: 28313047\nChange-Id: Ifb49b9d966dc2eff5b1f8eb7ade15d402f6ef5f1\n"
    },
    {
      "commit": "1728bb7791ce6c0da95a31932e83cf4a462a7cd6",
      "tree": "0907395952b28b896a69dc14083a93e5df40d51f",
      "parents": [
        "3a8dfcf7915cbfb479c9d296ebd3354a3e96baba"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 06 14:54:02 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 06 17:25:51 2021 +0000"
      },
      "message": "Turn soft failure into hard failure.\n\nIf we cannot guarantee the assignability at compile-time, neither can we\nat runtime.\n\nTest: test.py\nBug: 28313047\nChange-Id: I42070a523a003f067370e739f1d808610dfefbaa\n"
    },
    {
      "commit": "3a8dfcf7915cbfb479c9d296ebd3354a3e96baba",
      "tree": "a8d3d466d90c5bb5322823a8bdc69f40e7bb216d",
      "parents": [
        "e172a80e18f5c4db7aad1b0ff2cc5ae04983c234"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 06 14:29:39 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 06 17:05:20 2021 +0000"
      },
      "message": "Catch clauses should only have throwable types.\n\nTest: test.py\nBug: 28313047\nChange-Id: I48bc06b408e4f80cc52293e0c71331d2e15f753d\n"
    },
    {
      "commit": "e172a80e18f5c4db7aad1b0ff2cc5ae04983c234",
      "tree": "8a53a6b1eb5a058ef57f8aac9b8cde8d87d34c4d",
      "parents": [
        "59193a6871c3f55190362742b5e495372a28f47d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 06 14:24:13 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 06 14:24:13 2021 +0000"
      },
      "message": "Revert \"Cleanup return type checks with arrays.\"\n\nThis reverts commit 59193a6871c3f55190362742b5e495372a28f47d.\n\nBug: 28313047\nBug: 199056476\n\nReason for revert: Braino, missing hard failure.\n\nChange-Id: I6b8e4ce1dfa4f4a7d5eb44dfd496ac1a92ce6f85\n"
    },
    {
      "commit": "59193a6871c3f55190362742b5e495372a28f47d",
      "tree": "160f0b95000ffdaa35151877065fe472177572ae",
      "parents": [
        "f6fe36332a339c4e0ea8281f8bb41cbc384bca96"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 23 17:48:20 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 06 10:33:34 2021 +0000"
      },
      "message": "Cleanup return type checks with arrays.\n\nIt\u0027s always a hard fail if array classes are not assignable.\n\nTest: test.py\nBug: 28313047\nChange-Id: Ia471681cac531b53d1dc29111a6d04b1fd5b61ad\n"
    },
    {
      "commit": "f6fe36332a339c4e0ea8281f8bb41cbc384bca96",
      "tree": "8a53a6b1eb5a058ef57f8aac9b8cde8d87d34c4d",
      "parents": [
        "0700b69cb0c81c3590726be7fbe5b98531cec76b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 23 17:43:53 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 06 10:15:52 2021 +0000"
      },
      "message": "Relax failure on return type for unresolved types.\n\nBe consistent and don\u0027t make it a hard failure, but an unresolved\ntype check that will execute at runtime.\n\nTest: test.py\nBug: 28313047\nChange-Id: Ifdc78c2a7113e7afbf2ad44184b48b3c716036d6\n"
    },
    {
      "commit": "0700b69cb0c81c3590726be7fbe5b98531cec76b",
      "tree": "9699ae3c78a2c7546918ba03aa43b0306d4f48a5",
      "parents": [
        "6194403a984dd814f01e6f7c6b270342d760388d"
      ],
      "author": {
        "name": "Raphael Gault",
        "email": "raphael.gault@linaro.org",
        "time": "Wed Sep 30 08:33:10 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 06 08:58:50 2021 +0000"
      },
      "message": "SVE: Extract Intermediate Address for SVE Vector Memory Operations\n\nThis patch introduces an optimization that extracts and factorizes\nthe \"base + offset\" common part for the address computation when\nperforming an SVE vector memory operation (VecStore/VecLoad).\n\nWith SVE enabled by default:\n\nTest: ./art/test.py --simulate-arm64 --run-test --optimizing \\\n(With the VIXL simulator patch)\n\nTest: ./art/test.py --target --64 --optimizing \\\n(On Arm FVP with SVE - See steps in test/README.arm_fvp.md)\n\nTest: 527-checker-array-access, 655-checker-simd-arm.\n\nChange-Id: Icd49e57d5550d1530445a94e5d49e217a999d06d\n"
    },
    {
      "commit": "6194403a984dd814f01e6f7c6b270342d760388d",
      "tree": "2d4dde78a1e053c05df4185b536fc4ba9bc36891",
      "parents": [
        "380f967dc72e15aff1ebb34db79dc718c9797a6f"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Sep 02 18:41:05 2021 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Sun Sep 05 17:33:08 2021 +0000"
      },
      "message": "Exclude `com.android.org.conscrypt.NativeCryptoArgTest` from ART MTS.\n\nThis test requires an updated Conscrypt Module (which may not be\navailable on some test configurations) to run properly and is not\nreally relevant to ART Module testing. Exclude it from ART MTS for\nnow, as this is deemed simpler than the alternative (installing an\nup-to-date Conscrypt Module as a prerequisite to running ART Module\ntests).\n\nTest: m mts \u0026\u0026 mts-tradefed run commandAndExit mts-art\nTest: m mts \u0026\u0026 mts-tradefed run commandAndExit mts-art-shard-01\nBug: b/198606382\nChange-Id: I74a0f05a59bda789a11d3e08dfb5bd53906e3cf0\n"
    },
    {
      "commit": "380f967dc72e15aff1ebb34db79dc718c9797a6f",
      "tree": "b97bd025251283307fc88489327c208c6633ce5a",
      "parents": [
        "ecbdc07474cf8be4837f40a12a5b6b82579df99a"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Sep 02 18:31:01 2021 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Sun Sep 05 17:20:14 2021 +0000"
      },
      "message": "Regenerate ART test files (2021-09-02).\n\nDisable new run-test `826-infinite-loop` as it is currently failing\nwhen run with the `ArtRunTest` TradeFed test runner.\n\nOutput of `art/test/utils/regen-test-files`:\n\n  $ art/test/utils/regen-test-files\n  Generated Blueprint files for 627 ART run-tests out of 933 (67%).\n  Generated TEST_MAPPING entries for 376 ART run-tests out of 933 (40%):\n    376 ART run-tests (100%) in `mainline-presubmit` test group.\n     19 ART gtests (100%) in `mainline-presubmit` test group.\n    376 ART run-tests (100%) in `presubmit` test group.\n     19 ART gtests (100%) in `presubmit` test group.\n      0 ART run-tests (0%) in `postsubmit` test group.\n\nTest: atest --test-mapping art:presubmit\nChange-Id: Ic27e058f602a99a3e0d7a3fff97afabc80c1e344\n"
    },
    {
      "commit": "ecbdc07474cf8be4837f40a12a5b6b82579df99a",
      "tree": "f09293f8d14dc4ee655710d21fbd305d14b97805",
      "parents": [
        "3676b36e832961426b285ec6a58e2b4c5a4b7816"
      ],
      "author": {
        "name": "Usama Arif",
        "email": "usama.arif@linaro.org",
        "time": "Wed Nov 13 13:32:54 2019 +0000"
      },
      "committer": {
        "name": "Joel Goddard",
        "email": "joel.goddard@linaro.org",
        "time": "Fri Sep 03 15:29:45 2021 +0100"
      },
      "message": "ARM64: FP16.compare() intrinsic for ARMv8\n\nThis CL implements an intrinsic for compare() method with\nARMv8.2 FP16 instructions.\n\nThe performance improvements using timeCompareFP16 FP16Intrinsic\nmicro intrinsic benchmark on pixel4:\n- Java implementation libcore.util.FP16.compare:\n    - big cluster only: 742\n    - little cluster only: 2286\n- arm64 compare Intrinisic implementation:\n    - big cluster only: 492 (~34% faster)\n    - little cluster only: 1535 (~33% faster)\nThe benchmark can be found in the following patch:\nhttps://android-review.linaro.org/c/linaro/art-testing/+/21039\n\nAuthors: Usama Arif, Edward Pickup, Joel Goddard\n\nTest: 580-checker-fp16\nTest: art/test/testrunner/run_build_test_target.py -j80 art-test-javac\n\nChange-Id: Idbe9f56f964f044e6d725bd696459fb04d2ac76c\n"
    },
    {
      "commit": "3676b36e832961426b285ec6a58e2b4c5a4b7816",
      "tree": "758da9350ed0db2ae0caf956971fb68c53ad2021",
      "parents": [
        "315cf0c115ad34f5f7e7b63cf80cf40009b6ee15"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Thu Sep 02 16:13:51 2021 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Sep 02 17:17:22 2021 +0000"
      },
      "message": "Clean up compile time null checks for VarHandle intrinsics.\n\nA few small changes:\n\n- In the instruction simplifier, re-do the `object-\u003eIsNullConstant()`\n  check as this might have changed after the inliner.\n\n- Make `CanEnsureNotNullAt()` a static member: it is used locally and\n  should have local visibility, which was accidentally changed.\n\nBug: 191765508\nTest: art/test.py --host -r\nChange-Id: Ib7d88ded4cd73543f66cae75117679a40021c84c\n"
    },
    {
      "commit": "315cf0c115ad34f5f7e7b63cf80cf40009b6ee15",
      "tree": "38af02a794db244870d197d7209b395e03a7f236",
      "parents": [
        "305679269e36d9d7dfa0c314984bbf7fb157a11e"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Aug 26 21:34:52 2021 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Sep 01 20:46:21 2021 +0100"
      },
      "message": "Allow visibility on libdexfile for all libdexfile_support users (reland).\n\nAlso add a note that libdexfile_support users also need to depend on\nlibdexfile.\n\nRelanded with the corresponding visibility changes in\nprebuilts/module_sdk/art (b/198352910).\n\nTest: m droid\nBug: 197856821\nBug: 169779783\nChange-Id: I59b0ae555e86f69f54c3e77fabd8013177e27d2b\n"
    },
    {
      "commit": "305679269e36d9d7dfa0c314984bbf7fb157a11e",
      "tree": "e9afe360af6c93052035d44f9237b7963f0d8ad8",
      "parents": [
        "4ae09d45271f1646b54c8f50859bcd88b7e844f7"
      ],
      "author": {
        "name": "Rex Lin",
        "email": "rexcylin@google.com",
        "time": "Wed Sep 01 01:57:17 2021 +0000"
      },
      "committer": {
        "name": "Rex Lin",
        "email": "rexcylin@google.com",
        "time": "Wed Sep 01 06:03:47 2021 +0000"
      },
      "message": "Revert \"Allow visibility on libdexfile for all libdexfile_suppor...\"\n\nRevert \"Add libdexfile runtime dependency of libdexfile_support.\"\n\nRevert \"Add libdexfile runtime dependency of libdexfile_support.\"\n\nRevert submission 1810760-libdexfile-runtime-2\n\nReason for revert: DroidMonitor: Potential culprit for Bug 198352910 - verifying through Forrest before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.\nReverted Changes:\nIf4da968e4:Add libdexfile runtime dependency of libdexfile_su...\nI80162942a:Allow visibility on libdexfile for all libdexfile_...\nIab18abc8e:Add libdexfile runtime dependency of libdexfile_su...\nI473d146d8:Add libdexfile runtime dependency of libdexfile_su...\n\nChange-Id: I495684a5dfe0190d2b00936830b1f24eef89a4f8\n"
    },
    {
      "commit": "4ae09d45271f1646b54c8f50859bcd88b7e844f7",
      "tree": "38af02a794db244870d197d7209b395e03a7f236",
      "parents": [
        "17af7a80b8ef2ddeef8d29eeb7349107d4ff3ff1"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Fri Aug 27 15:01:26 2021 +0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 01 04:43:58 2021 +0000"
      },
      "message": "Fix unused collector_type_ variable\n\nTest: build\nBug: 197240255\nChange-Id: I321f47b1a037da61df2bef1c4b08bdbe23efec0d\n"
    },
    {
      "commit": "17af7a80b8ef2ddeef8d29eeb7349107d4ff3ff1",
      "tree": "161f00a16bb8261cb2c98e1072352eafcc911e14",
      "parents": [
        "3c137bfbdde0a36a3869b6e33f0cfa23dca0b074"
      ],
      "author": {
        "name": "LaMont Jones",
        "email": "lamontjones@google.com",
        "time": "Mon Aug 30 23:20:01 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 31 20:26:39 2021 +0000"
      },
      "message": "Stop using `group_static_libs` property\n\nThis property is now ignored, so there is no need to set it.\nFor more details, see the bug and/or \"Effecient archive file handling\"\nin https://lld.llvm.org/NewLLD.html#key-concepts\n\nBug: 189475744\nTest: Manual build succeeds\nChange-Id: I24879f7f88f83b8826bc15979f2264fa8eb856a3\n"
    },
    {
      "commit": "3c137bfbdde0a36a3869b6e33f0cfa23dca0b074",
      "tree": "1f3f112651cba0c253d651bb82592ba84b1d9e41",
      "parents": [
        "0f803ce0869ffcdc20a8cf9575cfcb2662f862ec"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Aug 26 21:34:52 2021 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Aug 31 19:10:37 2021 +0000"
      },
      "message": "Allow visibility on libdexfile for all libdexfile_support users.\n\nAlso add a note that libdexfile_support users also need to depend on\nlibdexfile.\n\nTest: m droid\nBug: 197856821\nBug: 169779783\nChange-Id: I80162942a6557b0309ccde28c058cdf66c1fa250\n"
    },
    {
      "commit": "0f803ce0869ffcdc20a8cf9575cfcb2662f862ec",
      "tree": "7904714523c72e6b622ef964acf171debc90e8d9",
      "parents": [
        "611d71c6710613a69698a80d60de9725a513703d"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Aug 31 13:57:24 2021 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Aug 31 18:00:18 2021 +0000"
      },
      "message": "find_api_violations.pl: sync strings with hiddenapi_flags.h\n\nFollows names described in go/hiddenapi-list-renaming.\n\nFix: 161336379\nTest: N/A\nChange-Id: I76503c32bd654983ae514a59159cefe22377c04f\n"
    },
    {
      "commit": "611d71c6710613a69698a80d60de9725a513703d",
      "tree": "080fec2740d793fc8cf61a5607c31ed51cec1b97",
      "parents": [
        "98f01d1deac3a938e49f0725c58798e38ef59277"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Aug 27 17:00:10 2021 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Aug 31 18:00:18 2021 +0000"
      },
      "message": "Fix a few non-inclusive terms\n\nLargely based on go/hiddenapi-list-renaming\n\nBug: 161336379\nTest: TH\nChange-Id: Iaa06eed26ab0cb9bb4e2995a148f3251386ad33d\n"
    },
    {
      "commit": "98f01d1deac3a938e49f0725c58798e38ef59277",
      "tree": "dcbf841ef87fdb1baf21f231e20cc9bd9f3cb0df",
      "parents": [
        "96dadefd24331f6808cb287048269ba772423c33"
      ],
      "author": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Wed Jul 28 14:33:34 2021 +0000"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Tue Aug 31 16:13:39 2021 +0000"
      },
      "message": "Revert^2 \"Compile time null checks for VarHandle intrinsics.\"\n\nThis reverts commit 4a889b7f1e58368f0ffd795eaa24f2f493ccab8d.\n\nReason for revert: relanding the original change after fixing the\n  baseline compiler.\n\nStatic checks for VarHandle intrinsics are now done in two places:\n\n 1) Simple static checks are done for both baseline and optimizing\n    compilers in `HInstructionBuilder::BuildInvokePolymorphic`.\n\n 2) More complex checks are done in instruction simplifier only for the\n    optimizing compiler. They can use information provided by preceding\n    optimization passes.\n\nBug: 191765508\nTest: art/test.py --host -r\nChange-Id: I92932f6fcf408c700e6db0101fe2fb1e8300a54a\n"
    },
    {
      "commit": "96dadefd24331f6808cb287048269ba772423c33",
      "tree": "5780533c94b5d46f86fb372fc1516f35f78d2048",
      "parents": [
        "12dd6fc8d125e594376fdca306da315d01f12069"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Aug 29 16:51:55 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Aug 31 12:53:59 2021 +0000"
      },
      "message": "Partial LSE: handle all kinds of infinite loops.\n\nA subgraph could also have an infinite loop.\n\nTest: 826-inifinite-loop\nBug: 196246395\nChange-Id: Ifd1e1ae0f42dfe2cc156386fc166101c20748fc9\n"
    },
    {
      "commit": "12dd6fc8d125e594376fdca306da315d01f12069",
      "tree": "61923814fd7c505a7d96d8bb54c5fedc2a8dc713",
      "parents": [
        "d44add98a69ac112c44423bced92b37cc495da86"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Aug 27 18:41:47 2021 +0000"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Mon Aug 30 18:35:19 2021 +0000"
      },
      "message": "Reland \"Trigger fewer GCs during startup\"\"\n\nThis reverts commit da90ab4ebb233a0f38f7bb226892244c048ae275.\n\nPS1 is identical to aosp/1653767 :\n\nInstead of explicitly triggering a GC after two seconds, gradually\nreduce the GC triggering threshold. In particular, a small process\nthat almost immediately goes into the background should GC only\nas part of the transition to background.\n\nEnsure that the first collection is a full (technically \"partial\",\nnon-sticky) gc, that tries to collect everything but zygote space.\nThere should be very few allocated objects except in zygote space.\n\nClarify the concurrency rules for accessing concurrent_start_bytes_\nin the process.\n\nPS2:\nAdds code to explicitly trigger a GC if none has been triggered\nin the first 30 seconds or so. For AOSP, this happens in seven\nprocesses.\n\nNo longer condition any of this on the CC collector. I don\u0027t see\nwhy that should matter.\n\nTrigger the low-allocation GC above even in low memory mode. I think\nwe want to especially do it in that case. We were previously not doing\nthat, probably it was tied to increasing the heap size.\n\nTest: Build and boot AOSP.\nTest: Manual log inspection with extra logging.\nBug: 181351667\nBug: 197780496\n\nChange-Id: I822224bef3e97c2ab1f803eafe97bcdd21b9cd4e\n"
    },
    {
      "commit": "d44add98a69ac112c44423bced92b37cc495da86",
      "tree": "14d621a776ad035e177ea91c5c6892756dd0a066",
      "parents": [
        "059210dd634396b9a8d8b2cefb8637791894cb3c"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Wed Aug 25 09:47:30 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Aug 30 16:31:01 2021 +0000"
      },
      "message": "odrefresh: Allow extra 30s for subprocesses in VM\n\nThe test is still flaky (9.2% on aosp-master, cuttlefish on GCE) due to\nthe timeout. Give it extra time to see if it helps.\n\nBug: 197275229\nTest: TH\nChange-Id: I850cc14103599a0a6c141834d1deb166f0cee597\n"
    },
    {
      "commit": "059210dd634396b9a8d8b2cefb8637791894cb3c",
      "tree": "267dd5cf3c0cced92e8d98573b66eaf0360bfafe",
      "parents": [
        "95bb995004cb8241196390ba1680811b7a428770"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Aug 26 20:52:44 2021 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sun Aug 29 11:44:21 2021 +0000"
      },
      "message": "Make smali compilations deterministic\n\nThe smali compilation in run-tests are non-deterministic.\nHowever, we don\u0027t observe that much, as most tests are\ndex-merged by D8 which normalize it back to deterministic.\n\nThe non-determinism is only observed for few tests where\nwell-intended short-cut bypasses the dex merger.  Let\u0027s\nremove that short-cut to get deterministic build output.\n\nAlso pass the proper test\u0027s API level to the dex merger.\nThis avoids bumping dex file version to maximum as side\neffect of the no-op merge.  It also avoids excessive log\nspam as the previous input was invalid.  And it avoids\nbumping the dex file version to max for tests that need\nmerge, which gives us more version variety for tests.\n\nBug: 147814778\nTest: test.py --host\nChange-Id: I4af262aef3305a90d8cb8d14d87f7c52b9dd734a\n"
    },
    {
      "commit": "95bb995004cb8241196390ba1680811b7a428770",
      "tree": "bed1979bd75cb8c18fe28b7733739cee1f144d2c",
      "parents": [
        "f68f9182acacc387f82a16d003c8e00e927b1a72"
      ],
      "author": {
        "name": "Jared Duke",
        "email": "jdduke@google.com",
        "time": "Wed Aug 11 15:07:25 2021 -0700"
      },
      "committer": {
        "name": "Jared Duke",
        "email": "jdduke@google.com",
        "time": "Fri Aug 27 18:03:53 2021 +0000"
      },
      "message": "Remove unused MadviseState hints\n\nThe only MadviseState enum value that is used is MadviseStateAtLoad.\nRemove the enum entirely in favor of explicit load semantics for the\nOatDexFile::MadviseDexFile call.\n\nFollow-up work will address some of the existing madvise behavior for\nlow-RAM devices, particularly as it relates to the more recently added\nmadvise knobs like dalvik.vm.madvise.vdexfile.size.\n\nBug: 196052575\nTest: test-art-host\nChange-Id: I88211efce9193dc4c45274957898ce7b94eb330c\n"
    },
    {
      "commit": "f68f9182acacc387f82a16d003c8e00e927b1a72",
      "tree": "ef66ff32d0a0275bf6c7820ac31e39d953728282",
      "parents": [
        "da90ab4ebb233a0f38f7bb226892244c048ae275"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Aug 26 12:05:43 2021 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Aug 27 15:55:28 2021 +0000"
      },
      "message": "Document restriction on checkpoint code\n\nAdd explicit restriction on mutexes (and thus Java monitors) acquired\nin checkpoint code.\n\nTest: retext --preview\nBug: 195724468\nChange-Id: Ice883ee34fcbe1e00935363bff23b1417da9a183\n"
    },
    {
      "commit": "da90ab4ebb233a0f38f7bb226892244c048ae275",
      "tree": "1e3023bb7bc78e1211657a909981f7b801c1c267",
      "parents": [
        "f1865b3e0c03d40eb38df227603a3418fee41da5"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Aug 27 04:20:10 2021 +0000"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Aug 27 15:38:02 2021 +0000"
      },
      "message": "Revert \"Trigger fewer GCs during startup\"\n\nThis reverts commit 7d992f714a69c94c95ee7f1ae7e96acb30a9a682.\n\nReason for revert: See b/197780496. We end up with some processes retaining their startup garbage for a long time. I think that\u0027s easy to fix.\n\nChange-Id: Icb95322c7c994b1d90d07662d1a82055dacda8ea\n"
    },
    {
      "commit": "f1865b3e0c03d40eb38df227603a3418fee41da5",
      "tree": "a1c97651c5970a7a67f461baecd1899b93d8f338",
      "parents": [
        "4fba66c84245be79b1b32cbfa1584cfc5a87f053"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Aug 24 18:33:45 2021 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Aug 27 14:36:13 2021 +0000"
      },
      "message": "odrefresh: minor diagnostic improvements\n\nFix potentially unchecked access to the value of a std::optional\nfield.\n\nLog the ART APEX version when checking artifacts. Useful for issues\nwithout a bugreport.\n\nBug: 197489543\nTest: boot \u0026 check logcat, manually test with broken xml derived C++\nChange-Id: I7691d9eaa52206b125760e414f065be9d0358009\n"
    },
    {
      "commit": "4fba66c84245be79b1b32cbfa1584cfc5a87f053",
      "tree": "84dc54b5f50146e99449bae6da2cfa979e399297",
      "parents": [
        "4bd6795677dad1e4856b6fe458725adbefb57c94"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Aug 26 18:49:04 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Aug 27 14:00:13 2021 +0000"
      },
      "message": "Inline caches: be more robust in the presence of framework change.\n\nWhat used to be a class could be changed into an interface. Test for\nthat case as well.\n\nTest: test.py\nBug: 194817322\nChange-Id: I4c225640b45c529d440faa701ed29f978b7cbd28\n"
    },
    {
      "commit": "4bd6795677dad1e4856b6fe458725adbefb57c94",
      "tree": "6916163e451f70dff7909693d56c29cee04f70b2",
      "parents": [
        "3a014e3110d292828b8300afbee0d2f5d053f447"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Aug 25 13:32:23 2021 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Aug 26 17:53:57 2021 +0000"
      },
      "message": "More run-test build determinism tweaks (part 2)\n\nAlso fix couple issues in host and jvm builds.\n\nNon-determinism smali and d8 itself is the only remaining issue.\n\nBug: 147814778\nTest: test.py --host\nChange-Id: Icd5722600d9addf7c8a325cdf4a839882da8c302\n"
    },
    {
      "commit": "3a014e3110d292828b8300afbee0d2f5d053f447",
      "tree": "d4293406298e76757c2ccf7a84973ddfa78dd9fb",
      "parents": [
        "3b0914011b918c52ef963db2387d888eef034265"
      ],
      "author": {
        "name": "Stelios Ioannou",
        "email": "stelios.ioannou@linaro.org",
        "time": "Fri Jun 25 15:15:32 2021 +0100"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Wed Aug 25 14:40:32 2021 +0000"
      },
      "message": "ART: Change error-reporting of run-test-jar\n\nIn the run-test-jar script used by the host and target test scripts,\ncertain error-exit messages are displayed. When running the host and\ntarget test scripts, these error-exit messages are easy to miss.\n\nThe error-exit messages are now passed to a new function called\n\"error_msg()\" to be displayed in bold and red to make them easier\nto spot. Additionally, the exit statement is called within the function\nto avoid code duplication.\n\nTest: ./art/test/run-test --gdb --gdbserver --host 491-current-method\n\nChange-Id: I6929aaa971f48e04918152042596f3aaa988c609\n"
    },
    {
      "commit": "3b0914011b918c52ef963db2387d888eef034265",
      "tree": "7c1867568e7ba54ec2438863589916c060871488",
      "parents": [
        "7d992f714a69c94c95ee7f1ae7e96acb30a9a682"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Aug 25 13:42:27 2021 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Aug 25 13:42:27 2021 +0100"
      },
      "message": "Remove art_chroot build target.\n\nArtGtestsTargetChroot depends on the ART apex directly now,\nand the rest of apexes is unused. We switched to using the\ndevice apexes for other modules (i.e. not updating them).\n\nBug: 196361021\nBug: 187416712\nTest: atest ArtGtestsTargetChroot\nChange-Id: I6705224ec4821997dc1546fcf734ca19a1e265dd\n"
    },
    {
      "commit": "7d992f714a69c94c95ee7f1ae7e96acb30a9a682",
      "tree": "6fb1f280a29b2f731e6de0105173bb4e3d21ab39",
      "parents": [
        "9d642a84fbf39c65895ccd25c2b104b4917e43e8"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Mon Mar 15 11:19:33 2021 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Aug 25 01:39:17 2021 +0000"
      },
      "message": "Trigger fewer GCs during startup\n\nInstead of explicitly triggering a GC after two seconds, gradually\nreduce the GC triggering threshold. In particular, a small process\nthat almost immediately goes into the background should GC only\nas part of the transition to background.\n\nEnsure that the first collection is a full (technically \"partial\",\nnon-sticky) gc, that tries to collect everything but zygote space.\nThere should be very few allocated objects except in zygote space.\n\nClarify the concurrency rules for accessing concurrent_start_bytes_\nin the process.\n\nTest: Build and boot AOSP\nBug: 181351667\nChange-Id: Id85d7e405b9305a70ba751a82ab7c2226eb83308\n"
    },
    {
      "commit": "9d642a84fbf39c65895ccd25c2b104b4917e43e8",
      "tree": "ec5e9f9a6d8b86b7af9b686c7ff1148087a5a1a7",
      "parents": [
        "eba362de5efc844f3b97901564f4861b3f6a9e2b"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Thu Aug 19 13:16:00 2021 -0700"
      },
      "committer": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Tue Aug 24 19:08:27 2021 +0000"
      },
      "message": "dex2oat: Avoid an open from /proc/self/fd\n\nReadCommentedInputStream reads a text file by line, filters out empty or\ncommented line, then send the line to a callback. The original\nimplementation uses ifstream and std::getline.\n\naosp/1734115 added a way to read the text file by FD. Since there\ndoesn\u0027t seem to be a way in C++ to convert the FD to an input stream,\nit creates one by opening /proc/self/fd/43.\n\nIn the context of Comp OS, this requires giving dex2oat a special open\nprivilege to \"authfs\".\n\nThis change replaces ifstream/std::getline with f(d)open/getline(3).\n\nBug: 196404749\nTest: TH\nTest: Disallow open for dex2oat in microdroid, ComposHostTestCases still\n      pass\nIgnore-AOSP-First: merge conflict resolution\nMerged-In: I257f471b2afc80b6f1e1f8fa25248abc7ff5a3d5\nChange-Id: I257f471b2afc80b6f1e1f8fa25248abc7ff5a3d5\n"
    },
    {
      "commit": "eba362de5efc844f3b97901564f4861b3f6a9e2b",
      "tree": "ae8d8005f4014899da660075506e44e368d9db39",
      "parents": [
        "2a7b69d0991ce2095c73c22ffbb08a11762b68af"
      ],
      "author": {
        "name": "Andrii Shyshkalov",
        "email": "tandrii@google.com",
        "time": "Tue Aug 24 14:33:26 2021 +0200"
      },
      "committer": {
        "name": "Andrii Shyshkalov",
        "email": "tandrii@google.com",
        "time": "Tue Aug 24 14:33:26 2021 +0200"
      },
      "message": "[luci][realms] use LUCI realms on all ART builds.\n\nR\u003dngeoffray\n\nBug: chromium:1232009\nBug: https://crbug.com/1232009\nChange-Id: I5f971fcd5991249dc7c41bf7769d84fdc8e41706"
    },
    {
      "commit": "2a7b69d0991ce2095c73c22ffbb08a11762b68af",
      "tree": "b0eb4868d36f74b40cf096a915425f1b391d12e6",
      "parents": [
        "3326fcea1ead5d5d360a053704faad27b6dd8c40"
      ],
      "author": {
        "name": "Andrii Shyshkalov",
        "email": "tandrii@google.com",
        "time": "Tue Aug 24 14:33:16 2021 +0200"
      },
      "committer": {
        "name": "Andrii Shyshkalov",
        "email": "tandrii@google.com",
        "time": "Tue Aug 24 14:33:16 2021 +0200"
      },
      "message": "[luci][realms] use LUCI realms on 20% of builds.\n\nR\u003dngeoffray\n\nBug: chromium:1232009\nBug: https://crbug.com/1232009\nChange-Id: Id0dca67777b8d363be7ab25df59e2b5d9c1ab54b"
    },
    {
      "commit": "3326fcea1ead5d5d360a053704faad27b6dd8c40",
      "tree": "5e7925762a883b4d208bcbe1fb3b87ccc5088313",
      "parents": [
        "ccbcfb17c9eabee791d674b794e696da10b1b28b"
      ],
      "author": {
        "name": "Hu Wang",
        "email": "hu.wang@mediatek.com",
        "time": "Mon Aug 23 17:41:57 2021 +0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 24 09:49:43 2021 +0000"
      },
      "message": "Fix android.security.cts.FileDescriptorTest#testCLOEXEC\n\nWhen ART is mainline, it will create memFd boot-image-methods.art\nwithout MFD_CLOEXEC.\nAdd MFD_CLOEXEC flag when create boot-image-methods.art memFd.\n\nBug: 197498527\nTest: run cts CtsSecurityTestCases pass\n\nChange-Id: If941c036f7adb598d67ec2b2c5bc4cb24994e3a1\n"
    },
    {
      "commit": "ccbcfb17c9eabee791d674b794e696da10b1b28b",
      "tree": "75393520dd83f976246d5152ae4f97613691b56d",
      "parents": [
        "a7e7426a89bb5d1255a0a6f90cc3efb0a83d9195"
      ],
      "author": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Mon Aug 23 15:10:35 2021 +0000"
      },
      "committer": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Tue Aug 24 03:31:06 2021 +0000"
      },
      "message": "Revert^2 \"Add unit tests for odrefresh - step 2\"\n\nThis reverts commit b89649bd95cffec48f6f6746054553f71ab3e807.\n\nReason for revert: Fixed the fugu build breakage\n\nThe test failed on fugu because fugu is running Android O, while the\ntest depends on a system property introduced in S. Since the whole\nodrefresh program is for S and later, we don\u0027t need to run the test on\nolder platforms. This failure is fixed by adding a check on the API\nlevel and skipping the test if the API level is below S.\n\nBug: 196188549\nTest: atest art_standalone_odrefresh_tests\n\nChange-Id: I484696d065d715da65ae262a5aa8b3e1b30ffdcf\n"
    },
    {
      "commit": "a7e7426a89bb5d1255a0a6f90cc3efb0a83d9195",
      "tree": "3885cabe7032e514f21d4d58f02c94aab062f2ba",
      "parents": [
        "9bbecd08cccaae45cee9d87e72faeacb6b9ffe5b"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Fri Aug 20 09:25:37 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Aug 23 19:14:01 2021 +0000"
      },
      "message": "Give extra time for odrefresh subprocess in VM\n\nBug: 197275229\nTest: run test on cuttlefish for several times\nChange-Id: I380c6f9a1aaeafc726bfb0257d46c8531fe090d6\n"
    },
    {
      "commit": "9bbecd08cccaae45cee9d87e72faeacb6b9ffe5b",
      "tree": "ef5134ec07aec16cdd22685ce4d9f8d1ce8a1c1a",
      "parents": [
        "f912a1fcb7838eef1963d429585f852d56ae94fb"
      ],
      "author": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Wed Aug 11 15:59:22 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Aug 23 18:47:01 2021 +0000"
      },
      "message": "Suppress OptionalOfRedundantMethod error\n\nErrorprone is being updated from 2.7.1 -\u003e 2.8.1, which\nadds a OptionalOfRedundantMethod check, which has default\nseverity level ERROR.\n\nSuppress it here as it\u0027s part of a test of Optional.\n\nBug: 190944875\nTest: Patch aosp/1792988, then `m RUN_ERROR_PRONE\u003dtrue javac-check`\nChange-Id: I8a7152be0e2ac24eda5d377ef5cfef102487a5dc\n"
    },
    {
      "commit": "f912a1fcb7838eef1963d429585f852d56ae94fb",
      "tree": "2ed692d61ce20be9c017c8eafda48425876ec86e",
      "parents": [
        "e261356db98dc27bcec4048b3eaf9834864169aa"
      ],
      "author": {
        "name": "Joel Goddard",
        "email": "joel.goddard@linaro.org",
        "time": "Mon Aug 02 14:12:11 2021 +0100"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Mon Aug 23 15:55:31 2021 +0000"
      },
      "message": "Renamed test/580-fp16 to test/580-checker-fp16\n\nPrepare for checker tests to be added to this testfolder in upcoming\ncommits by renaming folder.\n\nTest: 580-checker-fp16\n\nChange-Id: I74c50a8464f86ea93b42af6aaa20c0f02b603636\n"
    },
    {
      "commit": "e261356db98dc27bcec4048b3eaf9834864169aa",
      "tree": "7b6aa115ccf3dbbc646e625ee714289eb1b1076b",
      "parents": [
        "b89649bd95cffec48f6f6746054553f71ab3e807"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 18 22:46:32 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Aug 23 12:42:44 2021 +0000"
      },
      "message": "Add a lock contention palette hook.\n\nBug: 196334695\nTest: m\nChange-Id: Id87cfc30957baa5e575947fc69d6f307e843dcf8\n"
    },
    {
      "commit": "b89649bd95cffec48f6f6746054553f71ab3e807",
      "tree": "faaff2611b018e4864b29d1f5df47b2d0187b8d2",
      "parents": [
        "054c8008272861c4c2a845424a3be6705f884d93"
      ],
      "author": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Mon Aug 23 10:48:17 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Aug 23 12:26:31 2021 +0000"
      },
      "message": "Revert \"Add unit tests for odrefresh - step 2\"\n\nThis reverts commit b91dad2b98e8c562aed7c4471615d7c325756c08.\n\nReason for revert: breaks builds on fugu.\n\nBug: 196188549\nChange-Id: Iec08674c2ed53b8e6048c044d5e72fdd26518a83\n"
    },
    {
      "commit": "054c8008272861c4c2a845424a3be6705f884d93",
      "tree": "1ff9f5ca393947efcf9d36a3ad91307bcbfec075",
      "parents": [
        "b91dad2b98e8c562aed7c4471615d7c325756c08"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Aug 13 12:41:57 2021 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Aug 20 15:43:08 2021 +0100"
      },
      "message": "More run-test build determinism tweaks\n\nEnsure 089 build script \"passes\" (i.e. expected error is seen).\nThis was the only (intentionally) failing test.\n\nUse more of prebuilt tools rather than system tools.\n\nBug: 147814778\nTest: test.py --host\nChange-Id: I1401edb363312105ecc0da5a5ec41b8be5420798\n"
    },
    {
      "commit": "b91dad2b98e8c562aed7c4471615d7c325756c08",
      "tree": "85f1d6092a86116555f785a4f906b5f852aa1fca",
      "parents": [
        "3bc03531d1ae5cbe5b0a7ac34c10d5c51f20f233"
      ],
      "author": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Mon Aug 16 03:20:07 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 20 12:59:57 2021 +0000"
      },
      "message": "Add unit tests for odrefresh - step 2\n\n- Define MockableExecUtils, which is a wrapper class to make exec_utils\nmockable.\n- Add another constructor to the OnDeviceRefresh class to support\ninjections.\n- Update OdrConfig to support overriding the staging directory.\n- Add a unit test to verify that odrefresh sets compiler filter based on\n\"dalvik.vm.systemservercompilerfilter\".\n\nBug: 196188549\nTest: atest art_standalone_odrefresh_tests\nTest: atest odsign_e2e_tests\nChange-Id: Ia7b4347bba6873878490a513b8a5ff6642122d71\n"
    },
    {
      "commit": "3bc03531d1ae5cbe5b0a7ac34c10d5c51f20f233",
      "tree": "e591b077ebbe9040a109d49cc9fad06cdad877c9",
      "parents": [
        "1e6be713904fb24db9e9cd1d38694309e03e5f29"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Aug 19 13:55:30 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Aug 19 13:55:30 2021 +0100"
      },
      "message": "Fix missing MsToNs in profile saver.\n\nTest: test.py\nBug: 194880260\nChange-Id: I30b5608ef891805754986a0e00207e017280a97e\n"
    },
    {
      "commit": "1e6be713904fb24db9e9cd1d38694309e03e5f29",
      "tree": "3981019976b3ae296c91b38da3738c834eddc2b3",
      "parents": [
        "0529cfa3efd0f6f7a167aa833fce99d6cf29a518"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Aug 18 16:28:06 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Aug 19 08:14:35 2021 +0000"
      },
      "message": "Disable errorprone builds for art runtests\n\nThe individual art runtests were disabling errorprone checks, but\nnow Soong supports disabling errorprone builds completely.\n\nAlso disable errorprone for art_cts_jvmti_test_library, which also\ncontains some of the same problematic java files.\n\nBug: 197157393\nTest: m RUN_ERROR_PRONE\u003d1 javac-check\nChange-Id: Ia7f9e30962a96f6f751229109f9c4bc0eb8ad711\n"
    },
    {
      "commit": "0529cfa3efd0f6f7a167aa833fce99d6cf29a518",
      "tree": "e0079b2b55ecb84f11582eb65387d92cc36e570c",
      "parents": [
        "555eefef9a27995ef341cdf44ed60c61953e2e3f"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Mon Aug 16 16:50:28 2021 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Aug 18 17:14:17 2021 +0000"
      },
      "message": "Add GC deadlock discussion\n\nOnly comment and markdown changes.\n\nBug: 195336624\nBug: 195261575\nTest: Treehugger\nChange-Id: I3118ab4009c7f31006b62714ee36b5287f33aa3f\n"
    },
    {
      "commit": "555eefef9a27995ef341cdf44ed60c61953e2e3f",
      "tree": "4f8ee1eb27d9b559ea85ff54a80d9e5e4aaff9ca",
      "parents": [
        "59033773f2fc900c7be96b4e513bee62ad3342af"
      ],
      "author": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Tue Aug 17 15:55:40 2021 -0700"
      },
      "committer": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Wed Aug 18 16:58:57 2021 +0000"
      },
      "message": "Replace weak-ref access disable checkpoint with STW pause\n\nDisabling weak-ref access in ConcurrentCopying collector can lead to\ndeadlocks. For instance, if mutator M1 acquires W1 mutex and then\nparticipates in the checkpoint and then gets blocked in getReferent(),\nwaiting for the gc-thread to finish reference processing. Mutator M2\nwaits for M1 to release W1 so that it can acquire the mutex before\nparticipating in the checkpoint. On the other hand, GC-thread waits\nfor M2 to finish checkpoint.\nA STW pause avoids the deadlock by ensuring that mutators are not\nblocked on weak-ref access before the pause, and GC-thread can make\nprogress after the pause in reference processing.\n\nBug: 195336624\nBug: 195261575\nTest: art/test/testrunner/testrunner.py\nChange-Id: I03d6bcd4d53f37ec84064edd8292951d30f48eaf\n"
    },
    {
      "commit": "59033773f2fc900c7be96b4e513bee62ad3342af",
      "tree": "440901273cde56e25d8bb9ce6ac9294684edcbbf",
      "parents": [
        "da106a9998d951118c26cb326906817fe1528a4b"
      ],
      "author": {
        "name": "Andrii Shyshkalov",
        "email": "tandrii@google.com",
        "time": "Mon Aug 16 12:31:30 2021 +0200"
      },
      "committer": {
        "name": "Andrii Shyshkalov",
        "email": "tandrii@google.com",
        "time": "Wed Aug 18 16:31:23 2021 +0000"
      },
      "message": "[luci][realms] configure LUCI realms.\n\nMotivation: this is a migration to more hardened security ACLs inside\nLUCI. Most notably, the end goal is better isolation between projects\nusing LUCI.\n\nR\u003dngeoffray\n\nBug: chromium:1232009\nBug: https://crbug.com/1232009\nChange-Id: Ie680943ab0ab380c458cf951cc8a4c761e9506c9\n"
    },
    {
      "commit": "da106a9998d951118c26cb326906817fe1528a4b",
      "tree": "1dbbd36d5dce96fa515d0bc3a7f98df01d908fd1",
      "parents": [
        "32f8b06742a651e3d674831a18970a7d8d34a31b"
      ],
      "author": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Wed Aug 18 05:48:12 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Aug 18 15:37:00 2021 +0000"
      },
      "message": "Fix odsign_e2e_tests to accurately get file modified time in ms.\n\nBefore this change, we were using \"stat -c \u0027%.3Y\u0027\" to get file modified\ntime in ms. However, the Toybox\u0027s `stat` implementation truncates to\ntimestamp to seconds, making the timestamp not accurate enough, and\ncauses the test to be flaky. Flakes observed when odrefresh compiles\nartifacts right after a boot in a test, where the compilation time and\nthe boot time only differ in milliseconds.\n\nThis change fixes the problem by using \"stat -c \u0027%y\u0027\" and converting the\nformatted time into timestamp in Java.\n\nBug: 193616266\nTest: atest odsign_e2e_tests\nChange-Id: I36c571e9cafc2b4e99ae20f196a138834d7f57e0\n"
    },
    {
      "commit": "32f8b06742a651e3d674831a18970a7d8d34a31b",
      "tree": "7be683461716782254b17fa80743fccb67a18e4f",
      "parents": [
        "496e837a3a4cdddc95f87c6bdf5ea455015f63d0"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Aug 02 14:35:49 2021 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Aug 18 14:40:28 2021 +0000"
      },
      "message": "Remove direct uses of C++ compiler from run-test build\n\nAvoid calling the system compiler as part of run-tests.\nThese uses are making porting to soong build tricky.\n\nIt would be possible to build the generators in soong,\nbut it is much simpler to just rewrite them in python.\nThis is in line with what majority of other run-tests do.\n\nBug: 147814778\nTest: test.py --host\nChange-Id: I97cd54c85db81d70795bd5321a452c3306f06b72\n"
    },
    {
      "commit": "496e837a3a4cdddc95f87c6bdf5ea455015f63d0",
      "tree": "47b1d16d3c6c4a2987831454ad8a502bbff753a2",
      "parents": [
        "8d3d64f57da1cd501405d1e5588cdf18ac1894ee"
      ],
      "author": {
        "name": "sunny.kuo",
        "email": "sunny.kuo@mediatek.com",
        "time": "Wed Aug 18 10:32:48 2021 +0800"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Aug 18 13:09:19 2021 +0000"
      },
      "message": "sigchain: print ucontext in fatal error log\n\nBecause it\u0027s hard to debug when ucontext is optimized,\nto print ucontext in fatal error log.\n\ngdb log:\n #1  0xa98b52be in art::SignalChain::Handler (signo\u003d11, siginfo\u003d0xae4cec88, ucontext_raw\u003d\u003coptimized out\u003e)\n    at art/sigchainlib/sigchain.cc:408\n\nTest: trigger fatal error by sending signal 11 to a process\nChange-Id: I204c308e5d1d0b8d12ab15045a7426e64ccd8e2e\nBug: 197044435\n"
    },
    {
      "commit": "8d3d64f57da1cd501405d1e5588cdf18ac1894ee",
      "tree": "7daa104b4868bea797e80f83b901d89a00faace3",
      "parents": [
        "a0e10b1691aca250f390704c73b18810b89302e1"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Jul 29 15:46:48 2021 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 17 19:50:05 2021 +0000"
      },
      "message": "Make run-test build scripts more deterministic\n\nUse soong_zip instead of system zip to make the build deterministic.\nThis is guaranteed to be same on all machines and removes timestamp.\n\nFix helper utility which generated java source code with functions\nin random order for some tests.\n\nThere is still some non-determinism left caused by the smali\ncompiler generating non-deterministic dex output files.\n\nBug: 147814778\nTest: test.py --host\nChange-Id: Ibd1187e7cda840b647d3f13ad158952f235716bf\n"
    },
    {
      "commit": "a0e10b1691aca250f390704c73b18810b89302e1",
      "tree": "fdfdadd710d2be165885cd4bf9f897d453072071",
      "parents": [
        "bbd13da29ec2712d7ad664f1a65baa6d1823f480"
      ],
      "author": {
        "name": "Sorin Basca",
        "email": "sorinbasca@google.com",
        "time": "Wed Aug 11 16:00:13 2021 +0000"
      },
      "committer": {
        "name": "Sorin Basca",
        "email": "sorinbasca@google.com",
        "time": "Tue Aug 17 13:17:04 2021 +0000"
      },
      "message": "Have counter pre-initialized in ParallelGC test\n\nBug: 94471075\nTest: testrunner.py --target --verbose --ndebug --gcstress --optimizing --debuggable -t 114-ParallelGC\nChange-Id: Id0b3640bc4e21caf187fd886d153e00761b9ba15\n"
    },
    {
      "commit": "bbd13da29ec2712d7ad664f1a65baa6d1823f480",
      "tree": "37acb592ae703bcd7bca79e8a688db8a2dcb7020",
      "parents": [
        "a21b58476a530d47532af28c0f909fb9a3aedcbf"
      ],
      "author": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Tue Aug 17 19:07:32 2021 +0900"
      },
      "committer": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Tue Aug 17 19:12:42 2021 +0900"
      },
      "message": "Read public.libraries-\u003ccompany\u003e.txt from product/etc/\n\nEven in the case of unbundled product partition, extending the public\nlibraries must follow the existing policy. Read\npublic.libraries-\u003ccompany\u003e.txt from the product partition instead of\npublic.libraries.txt in any cases.\n\nBug: 186055799\nTest: pm list libraries\n      atest libnativeloader_test\nChange-Id: I1c9fd182fa902cf750a9644bf9a3c1ffcfa01340\n"
    },
    {
      "commit": "a21b58476a530d47532af28c0f909fb9a3aedcbf",
      "tree": "6ec0af4828245affb1556ce8e5249e56d3f5ded9",
      "parents": [
        "fb3ad7201bf2d9154862e347e960df376ac04c3c"
      ],
      "author": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Tue Aug 10 14:05:49 2021 +0900"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 17 00:49:38 2021 +0000"
      },
      "message": "Define product public libraries\n\nWhen /product is unbundled from the /system, /product/etc/ may not\nhave \u0027public.libraries-\u003ccompanyname\u003e.txt\u0027 to extend public libraries.\nInstead, /product/etc/public.library.txt can provide public libraries\nfrom /product.\n\nBug: 186055799\nTest: atest libnativeloader_test\nChange-Id: I8994649826657f59ac1dac655205b9704a2c67c9\n"
    },
    {
      "commit": "fb3ad7201bf2d9154862e347e960df376ac04c3c",
      "tree": "5f341409b0ec998fb26049efc988b81f5e6a946b",
      "parents": [
        "e84ad2c045f3439b9e20b977d74c7e4e394417a2"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Mon Aug 16 16:53:17 2021 +0000"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Aug 17 00:48:26 2021 +0000"
      },
      "message": "Revert \"Make ClassLinker::DumpForSigQuit exclude gc\"\n\nThis reverts commit 825e82972fe46fdb0419c42bd7df102df1989ff9.\n\nReason for revert: Not clear it fixed anything. See b/195261575 .\n\nChange-Id: I6fd0d10b5134037d2df399abbbaa3302454f0e4f\n"
    },
    {
      "commit": "e84ad2c045f3439b9e20b977d74c7e4e394417a2",
      "tree": "61a2e0602b2ee9b9f8a3e92b9bc7e8deb30d0784",
      "parents": [
        "3ba3edfee2592edeea4a4cf06336577178bf2b12"
      ],
      "author": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Mon Aug 16 03:19:18 2021 +0000"
      },
      "committer": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Mon Aug 16 08:41:11 2021 +0000"
      },
      "message": "Fix OnDeviceSigningHostTest to correctly get mapped artifacts.\n\nWe use `pidof` to get the pid of a process, in order to get the mapped\nfiles of the process from `/proc/\u003cpid\u003e/maps`. However, `pidof` may\noutput multiple pids in some cases, separated by spaces, which leads to\nweird errors because the test cannot handle such output. After this\nchange, only the first pid is taken.\n\nBug: 189467174\nTest: atest odsign_e2e_tests\nChange-Id: I6e137819fa032611636f92fdd2b6c9faf58acd25\n"
    },
    {
      "commit": "3ba3edfee2592edeea4a4cf06336577178bf2b12",
      "tree": "e06356064d47310651e5f65f8449d3716aea05c4",
      "parents": [
        "70aa29e2d93ba66e71a8ff88c9210719efae1c31"
      ],
      "author": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Wed Aug 11 08:25:40 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Aug 16 08:38:52 2021 +0000"
      },
      "message": "Add unit tests for odrefresh - step 1\n\n- Define `class OnDeviceRefresh` in the header file and expose some\npublic methods.\n- Changed the ordering of functions. (Function bodies are\nnot changed.)\n- Move static functions to the anonymous namespace, outside of the\nclass.\n- Cleanup \"static\" keywords inside the anonymous namespace.\n- Move the `main` function and related functions about argument parsing\nand usage help to a separate file `odrefresh_main.cc`.\n- Move `Concatenate` and `QuotePath` to separate files\n`odr_common.h`/`odr_common.cc`.\n\nBug: 196188549\nTest: m odrefresh\nTest: m odrefreshd\nTest: atest odsign_e2e_tests\nChange-Id: I0ae1cf34181ae2edf7fd2728ec90b842470d729e\n"
    },
    {
      "commit": "70aa29e2d93ba66e71a8ff88c9210719efae1c31",
      "tree": "f095ddc5ecc6f699422dbddce6e937047f407915",
      "parents": [
        "7de49d88a1fded45a20209b5335464dd84c3ea03"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Aug 11 12:11:19 2021 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Aug 13 16:34:20 2021 +0000"
      },
      "message": "Do not acquire runtime_shutdown_lock_ in Abort()\n\nAbort can be called, particularly in OOM situations, when we already\nhold the lock. Abort() should minimize the locks it acquires.\n\nThis is intended to be a minimal, low-risk change. Generated code\nshould be essentially unchanged, except in Abort(). This does not\naddress the question of whether IsShuttingDown really needs to\nlock at all.\n\nTest: Build and boot AOSP.\nBug: 195884830\nChange-Id: I0ee4a7ca7348153436fec0fecc1d1f2ca1f7a30c\n"
    },
    {
      "commit": "7de49d88a1fded45a20209b5335464dd84c3ea03",
      "tree": "e70608fd9d970418cc74e5fd8bcba55959c1ac63",
      "parents": [
        "668daf892a2b81b1acc09c354d705774daa17958"
      ],
      "author": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Wed Jul 14 11:09:49 2021 +0800"
      },
      "committer": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Wed Aug 11 00:21:46 2021 +0000"
      },
      "message": "Update on-device AOT compilation to cover all cases.\n\nAfter the change, odrefresh can properly determine whether to do\ncompilation when:\n1. There is a mainline update (either a normal one or a samegrade one) that updates the ART module.\n2. There is a mainline update (either a normal one or a samegrade one) that updates a module other than ART.\n3. There is an OTA that updates a boot classpath jar.\n4. There is an OTA that updates a system server jar.\n5. There is no change since the last run.\n\nTest: manual - 1. Install a mainline module without changing its\ncontents.\n    2. Reboot the device.\n    3. See if system_server components are recompiled.\nTest: manual - 1. Do nothing and reboot the device.\n    2. See if nothing is recompiled.\nTest: atest odsign_e2e_tests\nTest: atest art_odrefresh_tests\nBug: 189467174\n\nChange-Id: I43dea5380fcd221d5d4e34753d64d46be4dbc27e\n"
    },
    {
      "commit": "668daf892a2b81b1acc09c354d705774daa17958",
      "tree": "42b291279d36ebefead5f0a2625d2b0e1ea81601",
      "parents": [
        "5503a8aef8019e536b9702326eccdc92e7be7644"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Aug 10 15:42:10 2021 +0000"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Aug 10 19:22:14 2021 +0000"
      },
      "message": "Revert^2 \"Adjust test for compiler update.\"\n\n855cc35a2212d51de19d1daaefe6577223882fd6\n\nChange-Id: Ife32e570d5367f0237137f300d5ebf063a7555b3\n"
    },
    {
      "commit": "5503a8aef8019e536b9702326eccdc92e7be7644",
      "tree": "377cd41fc2ea30dd2f3eb50e4426808ad1ee626c",
      "parents": [
        "b09a983e8dab0477b2546ed56544d31f575c5d2a"
      ],
      "author": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Tue Aug 10 08:07:12 2021 +0000"
      },
      "committer": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Tue Aug 10 11:46:45 2021 +0000"
      },
      "message": "odrefresh: Respect \"dalvik.vm.systemservercompilerfilter\".\n\nIf the property is set, we should use whatever specified in the\nproperty, rather than always using \"speed\".\n\nThis is brought up by bdc@. The change that merges into sc-dev is\nalready fixed. We need this fix in AOSP as well.\n\nBug: 195653499\nTest: adb shell setprop dalvik.vm.systemservercompilerfilter verify \u0026\u0026 adb shell odrefresh --force-compile\n    (Found \"/apex/com.android.art/bin/dex2oat64\n    --dex-file\u003d/system/framework/services.jar\n    ...\n    --compiler-filter\u003dverify\" in logcat)\nTest: atest odsign_e2e_tests\n\nChange-Id: Icb57ed5eb6b8976ecf6ac88bf8c278bbe144b450\n"
    },
    {
      "commit": "b09a983e8dab0477b2546ed56544d31f575c5d2a",
      "tree": "7fa0b67a5d8d03aa1205d9cfbc5edc96edda17ec",
      "parents": [
        "855cc35a2212d51de19d1daaefe6577223882fd6"
      ],
      "author": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Mon Aug 09 03:49:33 2021 +0000"
      },
      "committer": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Tue Aug 10 05:34:48 2021 +0000"
      },
      "message": "odrefresh: Defaults to using \"speed\" for compiling system_server.\n\nMost device builds use the speed configuration for system_server preopt,\nunless \"dalvik.vm.systemservercompilerfilter\" is set to \"speed-profile\".\nodrefresh should not change this behavior.\n\nBug: 195653499\nTest: adb shell odrefresh --force-compile\n    (Found \"/apex/com.android.art/bin/dex2oat64\n    --dex-file\u003d/system/framework/services.jar\n    ...\n    --compiler-filter\u003dspeed\" in logcat)\nTest: adb shell setprop dalvik.vm.systemservercompilerfilter speed-profile \u0026\u0026 adb shell odrefresh --force-compile\n    (Found \"/apex/com.android.art/bin/dex2oat64\n    --dex-file\u003d/system/framework/services.jar\n    ...\n    --profile-file-fd\u003d...\n    --compiler-filter\u003dspeed-profile\" in logcat)\nTest: atest odsign_e2e_tests\n\nChange-Id: I85feeceef4c1410451765274bd02c634d7d8051f\n"
    },
    {
      "commit": "855cc35a2212d51de19d1daaefe6577223882fd6",
      "tree": "9f81ffa70d28a9021209bf508a052023e7495e2a",
      "parents": [
        "1f0a1547d31aaa44e6667dbd0ada228f4b2e2d8a"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Sun Aug 08 20:59:59 2021 +0000"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Sun Aug 08 20:59:59 2021 +0000"
      },
      "message": "Revert \"Adjust test for compiler update.\"\n\nRevert \"Switch to clang r428724 13.0.1.\"\n\nRevert submission 1743633-switch-to-clang-r428724\n\nReason for revert: fix build\nReverted Changes:\nI824f3bc1c:Update bazel\u0027s clang version to clang-r428724\nI6c4c26267:Adjust test for compiler update.\nI94ab1f2dc:Switch to clang r428724 13.0.1.\n\nChange-Id: Ic9b7921f530566a6ebe7e3d4304c2242ffdfecc1\n"
    },
    {
      "commit": "1f0a1547d31aaa44e6667dbd0ada228f4b2e2d8a",
      "tree": "6d8ef6f4e434690d9164e11f88f4bfeabe00f5c5",
      "parents": [
        "f955425d11ed4b8f6dc02530f0f5ab69edecd8d2"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Jun 29 13:59:51 2021 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Sun Aug 08 18:20:19 2021 +0000"
      },
      "message": "Adjust test for compiler update.\n\nBug: 192012848\nTest: run test-art-host-gtest-art_compiler_host_tests\nChange-Id: I6c4c26267c3bcfafc22c391f99cdadcde473445e\n"
    },
    {
      "commit": "f955425d11ed4b8f6dc02530f0f5ab69edecd8d2",
      "tree": "9f81ffa70d28a9021209bf508a052023e7495e2a",
      "parents": [
        "0c3cc6350749a441fd54f8f3f67b7c69775000c8"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Sat Aug 07 19:44:20 2021 +0000"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Sat Aug 07 19:44:20 2021 +0000"
      },
      "message": "Revert \"Handle suspend requests in getReferent()\"\n\nThis reverts commit 0c3cc6350749a441fd54f8f3f67b7c69775000c8.\n\nReason for revert: Seems to break tests, e.g. https://ci.chromium.org/ui/p/art/builders/ci/host-x86-cms/6824/overview\n\nChange-Id: Id75641d28be218055eca07c99ab2e1bfd579fe71\n"
    },
    {
      "commit": "0c3cc6350749a441fd54f8f3f67b7c69775000c8",
      "tree": "b1269dfa3f20f2abee25a880df1ad36884ff3f56",
      "parents": [
        "825e82972fe46fdb0419c42bd7df102df1989ff9"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Aug 05 18:30:08 2021 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Sat Aug 07 15:16:49 2021 +0000"
      },
      "message": "Handle suspend requests in getReferent()\n\nWhen waiting in getReferent or the like, use a TimedWait, so we\ncan occasionally check for suspend requests, thus avoiding deadlocks\nthat can arise from blocking indefinitely in a runnable state.\n\nThis is not particularly clean, and may introduce short delays\nwhen we would otherwise deadlock. It\u0027s also a bit risky because\nwe are now releasing the mutator lock in code that previously didn\u0027t.\n\nThis is a hopefully more correct replacement for aosp/1784003, which\noverlooked some of the complications here.\n\nThis does not handle a similar problem in the JNI weak reference code.\nEach additional use context adds risk here, due to the mutator\nlock release.\n\nBug: 195336624\nBug: 195664026\nTest: Build and boot AOSP with much shorter timeouts.\nTest: Confirm that the timeout code is invoked.\nChange-Id: I0ffb2ffd105bed9dcb8664f92b17cfbcf756a6e0\n"
    },
    {
      "commit": "825e82972fe46fdb0419c42bd7df102df1989ff9",
      "tree": "9f81ffa70d28a9021209bf508a052023e7495e2a",
      "parents": [
        "2d2a27fe91e0a5bb2a047b472ef8d5de9c5a6c73"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Mon Aug 02 17:12:29 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Aug 07 01:03:51 2021 +0000"
      },
      "message": "Make ClassLinker::DumpForSigQuit exclude gc\n\nOtherwise we can get into a deadlock because we hold a critical lock\nwhile waiting for weak reference access, thus potentially preventing\nother threads from suspending properly to reenable weak reference\naccess.\n\nBug: 195261575\nTest: TreeHugger\nChange-Id: Ideb6199f597c4e06741c79bb2812661d88a42669\n"
    },
    {
      "commit": "2d2a27fe91e0a5bb2a047b472ef8d5de9c5a6c73",
      "tree": "dfa2139bf0b1b1efefd05244720cfe8f8305b8a7",
      "parents": [
        "1d9d3587dafb7078082b4d4058eea753c13ef94f"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Aug 04 22:58:32 2021 +0000"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Aug 04 22:58:32 2021 +0000"
      },
      "message": "Revert \"Don\u0027t block while runnable in getReferent()\"\n\nThis reverts commit 1d9d3587dafb7078082b4d4058eea753c13ef94f.\n\nReason for revert: Likely cause of build failures like https://android-build.googleplex.com/builds/submitted/7611067/art-jit/latest/logs\n\nChange-Id: I008de0d4b3976b8380935cd9a389c77e3b396274\n"
    },
    {
      "commit": "1d9d3587dafb7078082b4d4058eea753c13ef94f",
      "tree": "a131a7f29aa142b9d472e034143a6c7c4ad373da",
      "parents": [
        "0e8585342b1b26a0ec33421f9d4ab16cb9851ce4"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Aug 03 17:24:31 2021 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Aug 04 15:18:34 2021 +0000"
      },
      "message": "Don\u0027t block while runnable in getReferent()\n\nChange state before waiting on the GC, so that we can safely be\nsuspended, thus avoiding surprisingly obscure deadlocks.\n\nBug: 195336624\nTest: Treehugger\nChange-Id: I7c7dff8030be962195b7521aac320e90d81defd9\n"
    },
    {
      "commit": "0e8585342b1b26a0ec33421f9d4ab16cb9851ce4",
      "tree": "dfa2139bf0b1b1efefd05244720cfe8f8305b8a7",
      "parents": [
        "18bea3d9059f9dfe4a339e1b03a5755ec147dbee"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Aug 02 21:16:05 2021 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Aug 03 15:06:19 2021 +0100"
      },
      "message": "ART Apex: prefer \"first\" to \"prefer32\" multilib option for tools\n\nThis makes the tools in a 32/64-bit APEX into 64-bit binaries when\npreviously they were 32-bit.\n\nThis change is to support 64-bit only devices. We currently build two\nflavors of the ART APEX: a 32-bit only variant and a combined\n32/64-bit variant. Devices using latter support 64-bit.\n\nThe size impact on the uncompressed APEXes is:\n\n+------------+-----------------+-----------------+-----------------+\n| ISA Family | Old size, bytes | New size, bytes |     Change      |\n+------------+-----------------+-----------------+-----------------+\n|     Arm    |    58,212,352   |   58,339,328    | 126,976 (+0.2%) |\n|    Intel   |    72,073,216   |   72,073,216    |       0 (+0.0%) |\n+------------+-----------------+-----------------+-----------------+\n\nBug: 194800665\nTest: art/build/apex/runtests.sh\nTest: odsign_e2e_tests\nChange-Id: If23ea3bc3f14c948c032bb3726a125dfdd8069f4\n"
    },
    {
      "commit": "18bea3d9059f9dfe4a339e1b03a5755ec147dbee",
      "tree": "6937aa71f1d80f029dcd90107b87b052d8597a3a",
      "parents": [
        "58bfbad8fd812aeec7da141bbb4c8c8558763814"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Aug 02 12:26:15 2021 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Aug 02 12:26:15 2021 +0100"
      },
      "message": "Document standalone ART gtests on device in `test/README.atest.md`.\n\nTest: Render `README.chroot.md` as HTML and check the output manually\nBug: 147820692\nChange-Id: I66831344e502c2df92d40ee74406c0ce5f93bbc6\n"
    },
    {
      "commit": "58bfbad8fd812aeec7da141bbb4c8c8558763814",
      "tree": "104df89de9b9f549cdbafb730ffa02fa9355995a",
      "parents": [
        "cbd809bc76184d274a5999f44669850877433f3c"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Jul 29 10:22:29 2021 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Jul 30 15:44:16 2021 +0000"
      },
      "message": "Relax 053-wait-some sucess criteria\n\nDrop constraint on total extra delay. Shorten maximum wait time.\n\nBut then only only require success in 2 out of 3 runs.\n\nSwitch timing to use nanoTime() to get a monotonic clock. This might\nhave contributed to a few of the observed failures.\n\nBug: 175435088\n\nTest: Prun-test --host 053-wait-some\nTest: Retest with sleepy.wait(delay * 3/2); on line 66.\nTest: Retest with timing set to true in code.\nChange-Id: Ic8e392340ba1d70782f2a5303bfebf1d7251a86b\n"
    },
    {
      "commit": "cbd809bc76184d274a5999f44669850877433f3c",
      "tree": "e2a27f8ccb84f8f048bc071ebeefe2ac01b31577",
      "parents": [
        "de54ddda0d5b2cd3e396eb4e42ef04bb3e667609"
      ],
      "author": {
        "name": "Liz Kammer",
        "email": "eakammer@google.com",
        "time": "Wed Jul 21 09:28:44 2021 -0400"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 29 21:05:22 2021 +0000"
      },
      "message": "Correct enum comparison to reenable -Wenum-compare\n\nTest: m \u0026\u0026 TH\nChange-Id: I3130b46feba9611806e3fc4f1f509dca6c51ac5c\n"
    },
    {
      "commit": "de54ddda0d5b2cd3e396eb4e42ef04bb3e667609",
      "tree": "c66fd9615deff45c0e1693e83feb8618ffd21815",
      "parents": [
        "7d398b070dcbe3d79718b04882aa3989717f6dba"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Jul 28 20:02:04 2021 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Jul 28 20:17:28 2021 +0100"
      },
      "message": "Add support for gtest options to `tools/run-gtests.sh`.\n\nHave `tools/run-gtests.sh` accept gtest options after `--` on the\ncommand line, and pass them verbatim to each executed gtest\nbinary.\n\nAlso document the use of gtest options with `tools/run-gtests.sh`\nin `test/README.chroot.md`.\n\nTest: art/tools/run-gtests.sh -- --gtest_list_tests\nTest: art/tools/run-gtests.sh \\\n        /apex/com.android.art/bin/art/arm64/art_cmdline_tests \\\n        -- --gtest_list_tests\nTest: Render `README.chroot.md` as HTML and check the output manually\nBug: 34729697\nChange-Id: If41181666eb52750444b1b40dfab0629f802b7b5\n"
    },
    {
      "commit": "7d398b070dcbe3d79718b04882aa3989717f6dba",
      "tree": "da1d1dccaf23c7c3d84696c427ed63d09cf15b7c",
      "parents": [
        "dc00c3aef3561f97ac0ffda60aee1254c6d5fb74"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jul 16 19:27:45 2021 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Jul 28 11:21:28 2021 +0000"
      },
      "message": "Add OkHttp tests to the generated ART MTS definition.\n\nAdd `MtsLibcoreOkHttpTestCases` to the generated ART MTS definition.\n\nAdd this test module to the existing ART MTS shard 02.\n\nTest: m mts \u0026\u0026 mts-tradefed run commandAndExit mts-art\nTest: m mts \u0026\u0026 mts-tradefed run commandAndExit mts-art-shard-02\nBug: 167385698\nChange-Id: I7c0abf96a9e2a5b9bab0add638a3b51f51083dd4\n"
    },
    {
      "commit": "dc00c3aef3561f97ac0ffda60aee1254c6d5fb74",
      "tree": "b676f79954a3347de1447308962e35717d1b1e41",
      "parents": [
        "ce9b902a161b86eb2d5ef9fe4442305e25828d0a"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Mon Jul 26 18:16:30 2021 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Jul 27 20:27:48 2021 +0000"
      },
      "message": "Retry more carefully\n\nWhen we notice that notifications ran too quickly, start over from\nthe beginning. Just retrying the notiofications was ineffective,\npresumably because we already triggered a GC. but it somehow\ncompleted before we looked for blocking behavior.\n\nTest: Treehugger, some manual testing with code changes.\nBug: 190148586\nChange-Id: Ic4689165c5f37535b6ba0e05f03584cdc1d04c40\n"
    },
    {
      "commit": "ce9b902a161b86eb2d5ef9fe4442305e25828d0a",
      "tree": "3108d6315b779816b076b220870748631235e2ea",
      "parents": [
        "a8f858e4eddeede8c465cc5b9fb40733e4649aed"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Wed Jul 21 10:44:06 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 27 16:56:08 2021 +0000"
      },
      "message": "Reland: Support pass BCP art/vdex/oat files by FD\n\nThe original implementation in odrefresh generated inconsistent number\nof files between jars and other files. The code is reworked.\n\nOriginal description:\n\nThis is currently used by odrefresh.\n\nMain runtime changes are:\n\n1. When reading the image header, also tries to read from the FD if\n   provided.\n\n2. Initialize the art/vdex/odex FDs in the boot image chunk if provided.\n   This allows them to be opened (in case if the file is not accessible\n   by path) in LoadComponents.\n\n3. OpenBootDexFiles: accept BCP JARs passed as FD, in case if the file\n   is not accessible by path.\n\n4. The new FDs are passed from new runtime args,\n   -Xbootclasspath{art,vdex,oat}fds.\n\nIt is used in odrefresh to pass the previous output of BCP extensions to\nbe used in the next phase, system server compilation.\n\nBug: 193720426\nTest: odrefresh --use-compilation-os\u003d10 --force-compile # exit 80\n      odrefresh --verify # exit 0 (was 79 previosly)\nTest: Verify the checksum of output files are the same, with\n      --use-compilation-os or not, i.e. regardless where the compilation\n      happens\nTest: mma in art/\nTest: odsign_e2e_tests\nChange-Id: Ie3ae48c7d70a2779cfbd80b307199a0f327c895c\n"
    },
    {
      "commit": "a8f858e4eddeede8c465cc5b9fb40733e4649aed",
      "tree": "871974880c9348440ee5a10c3776df5579f45688",
      "parents": [
        "4aebd580c9c9de348b8fefed6353b86621cceb53"
      ],
      "author": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Tue Jul 27 05:41:31 2021 +0000"
      },
      "committer": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Tue Jul 27 07:34:20 2021 +0000"
      },
      "message": "Verify that artifacts can still be loaded after a reboot.\n\nBefore this change, odsign_e2e_tests only verified that artifacts are loaded right after being generated. This change increases the test coverage.\n\nTest: atest odsign_e2e_tests\nBug: 194754733\nChange-Id: Icf7e630bbe31eddf2b442bb84bdff8d06943d1fc\n"
    },
    {
      "commit": "4aebd580c9c9de348b8fefed6353b86621cceb53",
      "tree": "47f07ff4173534c92ff9673d6d423c4df13bbe6e",
      "parents": [
        "d7a4da1f357e089c5d150559d8d2f2ddb7c4958a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 23 15:27:31 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 23 16:09:23 2021 +0000"
      },
      "message": "Add some null checks in case of OOME.\n\nTest: test.py\nBug: 194471075\nChange-Id: Ib02845636af4d3944a96f001e5ad728a94832285\n"
    },
    {
      "commit": "d7a4da1f357e089c5d150559d8d2f2ddb7c4958a",
      "tree": "bde88500eac9eda86031cfe8536241dfc79e12d2",
      "parents": [
        "2cb2527d4136f681b8e79352c546e65431ceb10c"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Jul 23 15:05:49 2021 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Jul 23 14:16:27 2021 +0000"
      },
      "message": "Revert \"Support pass BCP art/vdex/oat files by FD\"\n\nThis reverts commit b1adfc2a0570f52d74b8a4acdd578efc1790995b.\n\nReason: reports from Realtime Stability Insights (RTSI) infra.\n\nBug: 193720426\nFix: 194481664\nFix: 194475273\nFix: 194478073\nTest: TH\nChange-Id: I421d0b4a613de5ac8fb2830fa27206edb5428374\n"
    },
    {
      "commit": "2cb2527d4136f681b8e79352c546e65431ceb10c",
      "tree": "2e6429eff103ac8006f564238e381f4ec6e0a841",
      "parents": [
        "f7e4c3d58d3ce7f38e4591acb9928513928c39c4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jul 15 14:24:29 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 23 13:32:32 2021 +0000"
      },
      "message": "verifier: Remove support for precise constants and RegisterTrackingMode.\n\nThese features were used when we were creating GC maps and\ndeoptimization information with the quick compiler. Quick compiler has\nbeen removed, so we can remove these features.\n\nTest: test.py\nChange-Id: I633a7ada761b280b90e2d7c53cd5fbf2ae1d701d\n"
    },
    {
      "commit": "f7e4c3d58d3ce7f38e4591acb9928513928c39c4",
      "tree": "8e37537c183681b641fb099501330fbd958f8f1d",
      "parents": [
        "310b4e26593f6c1b89659d00275b55fa1a3c07b7"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Jul 23 00:17:36 2021 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 23 12:03:59 2021 +0000"
      },
      "message": "Set MODULE_BUILD_FROM_SOURCE to disable module prebuilts when building linux_bionic targets.\n\nThey can otherwise cause duplicate install rules in Soong in\n--skip-make mode.\n\nCherry-picked from http://ag/15361752.\n\nTest: env DIST_DIR\u003dout/linux_bionic ./art/tools/dist_linux_bionic.sh \\\n        -j40 com.android.art.host com.android.support.apexer\nBug: 194171329\nChange-Id: I91d31e258ddad255344fbde111ed8b1ac1423921\nMerged-In: I91d31e258ddad255344fbde111ed8b1ac1423921\n"
    },
    {
      "commit": "310b4e26593f6c1b89659d00275b55fa1a3c07b7",
      "tree": "d4527871a5f6a86f6ecee96177f21c63397e67ba",
      "parents": [
        "a0dd228837fbbacb3d29445bdf027649567f94fb"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Wed Jul 21 16:02:06 2021 +0100"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Fri Jul 23 11:56:43 2021 +0000"
      },
      "message": "x86_64: Implement VarHandle.getAndBitwise{And,Or,Xor} for fields.\n\nBenchmarks improvements (using benchmarks provided by\nhttps://android-review.googlesource.com/1420959):\n\n  benchmark                              before   after\n  -----------------------------------------------------\n  GetAndBitwiseOrStaticFieldInt          2.346    0.012\n  GetAndBitwiseOrFieldInt                2.615    0.010\n  GetAndBitwiseOrAcquireStaticFieldInt   2.340    0.008\n  GetAndBitwiseOrAcquireFieldInt         2.616    0.008\n  GetAndBitwiseOrReleaseStaticFieldInt   2.349    0.008\n  GetAndBitwiseOrReleaseFieldInt         2.614    0.008\n  GetAndBitwiseXorStaticFieldInt         2.336    0.010\n  GetAndBitwiseXorFieldInt               2.611    0.010\n  GetAndBitwiseXorAcquireStaticFieldInt  2.332    0.008\n  GetAndBitwiseXorAcquireFieldInt        2.613    0.008\n  GetAndBitwiseXorReleaseStaticFieldInt  2.335    0.008\n  GetAndBitwiseXorReleaseFieldInt        2.617    0.008\n  GetAndBitwiseAndStaticFieldInt         2.341    0.010\n  GetAndBitwiseAndFieldInt               2.619    0.010\n  GetAndBitwiseAndAcquireStaticFieldInt  2.345    0.008\n  GetAndBitwiseAndAcquireFieldInt        2.610    0.009\n  GetAndBitwiseAndReleaseStaticFieldInt  2.343    0.008\n  GetAndBitwiseAndReleaseFieldInt        2.616    0.008\n\nBug: 71781600\nTest: lunch aosp_cf_x86_64_phone-userdebug \\\n  \u0026\u0026 art/test.py --host -r -t 712-varhandle-invocations --64\nTest: Repeat with ART_USE_READ_BARRIER\u003dfalse.\nTest: Repeat with ART_HEAP_POISONING\u003dtrue.\nChange-Id: Ied3ae34aaad24e1b2cd8237fed4ac64aa9ae10ae\n"
    },
    {
      "commit": "a0dd228837fbbacb3d29445bdf027649567f94fb",
      "tree": "f7f8c1c4fce0a752b27734c21b80ce38391fac36",
      "parents": [
        "017aae426873d57e260d5ae52fd5ce2ed2bddb1c"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Jul 22 21:09:46 2021 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Jul 23 11:40:07 2021 +0000"
      },
      "message": "odsign_e2e_tests: do not assume time monotonicity across reboots\n\nBug: 194365586\nTest: atest --iterations 10 com.android.tests.odsign.OnDeviceSigningHostTest\nChange-Id: I824da7fb9bfc0c455c852f99d2564e89728170ea\n"
    },
    {
      "commit": "017aae426873d57e260d5ae52fd5ce2ed2bddb1c",
      "tree": "6129e7bc94b4a63231e6e99ccb57a2b583f1cc3f",
      "parents": [
        "b1adfc2a0570f52d74b8a4acdd578efc1790995b"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Tue Jul 20 17:56:01 2021 +0100"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Fri Jul 23 10:06:13 2021 +0000"
      },
      "message": "x86_64: Implement VarHandle.getAndAdd for fields.\n\nThe implementation is based on XADD instruction, so it cannot be reused\nfor other getAnd* methods.\n\nBenchmarks improvements (using benchmarks provided by\nhttps://android-review.googlesource.com/1420959):\n\n  benchmark                           before   after\n  --------------------------------------------------\n  GetAndAddStaticFieldInt             2.338    0.012\n  GetAndAddFieldInt                   2.614    0.012\n  GetAndAddStaticFieldFloat           2.338    0.010\n  GetAndAddFieldFloat                 2.612    0.010\n  GetAndAddAcquireStaticFieldInt      2.337    0.007\n  GetAndAddAcquireFieldInt            2.617    0.007\n  GetAndAddAcquireStaticFieldFloat    2.337    0.010\n  GetAndAddAcquireFieldFloat          2.610    0.010\n  GetAndAddReleaseStaticFieldInt      2.336    0.007\n  GetAndAddReleaseFieldInt            2.615    0.007\n  GetAndAddReleaseStaticFieldFloat    2.334    0.010\n  GetAndAddReleaseFieldFloat          2.613    0.010\n\nBug: 71781600\nTest: lunch aosp_cf_x86_64_phone-userdebug \\\n  \u0026\u0026 art/test.py --host -r -t 712-varhandle-invocations --64\nTest: Repeat with ART_USE_READ_BARRIER\u003dfalse.\nTest: Repeat with ART_HEAP_POISONING\u003dtrue.\nChange-Id: If41fd01b7e444a7157478999640f45d64bbf17f1\n"
    },
    {
      "commit": "b1adfc2a0570f52d74b8a4acdd578efc1790995b",
      "tree": "c5058390901f2abbb0e281d8403be2b8db02c337",
      "parents": [
        "71f763399e95676d665e071623bccb714acf88b4"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Wed Jul 21 10:44:06 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 23 01:47:27 2021 +0000"
      },
      "message": "Support pass BCP art/vdex/oat files by FD\n\nThis is currently used by odrefresh.\n\nMain runtime changes are:\n\n1. When reading the image header, also tries to read from the FD if\n   provided.\n\n2. Initialize the art/vdex/odex FDs in the boot image chunk if provided.\n   This allows them to be opened (in case if the file is not accessible\n   by path) in LoadComponents.\n\n3. OpenBootDexFiles: accept BCP JARs passed as FD, in case if the file\n   is not accessible by path.\n\n4. The new FDs are passed from new runtime args,\n   -Xbootclasspath{art,vdex,oat}fds.\n\nIt is used in odrefresh to pass the previous output of BCP extensions to\nbe used in the next phase, system server compilation.\n\nBug: 193720426\nTest: odrefresh --use-compilation-os\u003d10 --force-compile # exit 80\n      odrefresh --verify # exit 0 (was 79 previosly)\nTest: Verify the checksum of output files are the same, with\n      --use-compilation-os or not, i.e. regardless where the compilation\n      happens\nTest: mma in art/\nChange-Id: I209085f047c42823ff20415804f65a9b32378b40\n"
    },
    {
      "commit": "71f763399e95676d665e071623bccb714acf88b4",
      "tree": "442dbbe8745d5269cf5ed13307700ba41d0c8866",
      "parents": [
        "c9acd230431acf786b5597cbbc2da57e88eb0435"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jul 20 11:57:48 2021 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jul 23 00:07:00 2021 +0000"
      },
      "message": "Use config.BuildOS instead of android.BuildOs\n\nandroid.BuildOs is being replaced with config.BuildOS so that it\ncan vary based on the product configuration.\n\nBug: 190084016\nTest: m checkbuild\nChange-Id: Ic660bd9a34faf323a1458bb88f07b1bc8db7d460\n"
    },
    {
      "commit": "c9acd230431acf786b5597cbbc2da57e88eb0435",
      "tree": "383869b7275bbd2b16b7481f507c6ce1e6bc679d",
      "parents": [
        "09bfdf1700feeedf85c4a53502d3c14b4d3f41fd"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Jul 21 17:51:32 2021 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Jul 22 21:15:14 2021 +0000"
      },
      "message": "Delete almost correct CHECK\n\nThe bytes_allocated + freed_bytes \u003e\u003d bytes_allocated_before_gc\nCHECK could fail if we expand space use as a result of copying,\nand perhaps for other reasons. Delete it, and have the later code\ndeal with the fact that it may not hold.\n\nTest: Build and boot AOSP.\nBug: 194263989\nChange-Id: I9188a7cd13661c16b1b69a90d1f03d60548db217\n"
    },
    {
      "commit": "09bfdf1700feeedf85c4a53502d3c14b4d3f41fd",
      "tree": "bf6c232234d4c41697a78868e51b7dc07eabb011",
      "parents": [
        "1b621225a8869f930d530e4855157a444971aca1"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 19 12:17:20 2021 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 22 14:09:53 2021 +0000"
      },
      "message": "Rewrite UTF-8 encoding.\n\nCreate a templated implementation to serve all the UTF-8\nrelated encodings. Use it for `CharsetUtils.toUtf8Bytes()`\nand the JNI `GetStringUTFChars()`. Do not use it yet for\nthe internal `ConvertUtf16ToModifiedUtf8()` which shall be\nswitched to actual Modified UTF-8 in a separate change.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: atest CtsLibcoreTestCases:libcore.java.lang.StringTest\nBug: 192935764\nChange-Id: Id3ec3a0bc2638becdf4181d9c2b6794c91a75314\n"
    },
    {
      "commit": "1b621225a8869f930d530e4855157a444971aca1",
      "tree": "9885c16405db986e26419e4d0e001ab0c5fd48b1",
      "parents": [
        "fc42ce1a2b013059b7868ffc69d35fade6c5b743"
      ],
      "author": {
        "name": "Stelios Ioannou",
        "email": "stelios.ioannou@linaro.org",
        "time": "Thu Jun 17 14:15:45 2021 +0100"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Thu Jul 22 13:07:21 2021 +0000"
      },
      "message": "ART: Implements a test option of forced generation of .cfg\n\nThis patch introduces the option to dump .cfg for any type of test. If\nthe \"--dump-cfg \u003cpath/graph.cfg\u003e option\" is present, then it generates\na .cfg following the same logic used for the \"checker\" tests but\nforcing it for any type of test. This option works for both host and\ntarget.\n\nBefore the artifacts are wiped, the generated .cfg file is copied to\nthe specified host path.\n\nNote that it will only dump a .cfg if the compiler type is set to\n\"optimizing\". Otherwise, it will throw a warning.\n\nTest: ./art/test/run-test  --host --simulate-arm64  --optimizing \\\n--dump-cfg \u003cpath\u003e/graph.cfg  \u003ctest\u003e\n\nChange-Id: I034b13b401bd1dee8d871297da8d09e807a35fd1\n"
    },
    {
      "commit": "fc42ce1a2b013059b7868ffc69d35fade6c5b743",
      "tree": "c82efa8fa290af716eb02e1389379c724ed04ab5",
      "parents": [
        "a6f8a6a7a1e4e639b393261fc46abe046cd59b63"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 21 15:51:35 2021 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 22 09:45:56 2021 +0000"
      },
      "message": "Fix `GetDataTypeFromShorty()` for inlined VarHandle intrinsics.\n\nTest: testrunner.py --host --optimizing --jit\nBug: 188889082\nChange-Id: Ide335dc408f5bd2c9256d4cac5ba66d2d390f69b\n"
    }
  ],
  "next": "a6f8a6a7a1e4e639b393261fc46abe046cd59b63"
}
