)]}'
{
  "log": [
    {
      "commit": "7cd509c6d0cf3b2aa45cb8074b8c6ea674a7482f",
      "tree": "f787b7ce5b8a2378befc4df29d9ba1eae3e2f263",
      "parents": [
        "4ed28fbf6910203336c65095bc18fc47743e01c4"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Oct 28 16:27:16 2021 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 29 11:58:58 2021 +0000"
      },
      "message": "Include BuildId in native stack dump.\n\nThis is needed to symbolize stack for the ART apex,\nsince the compile apex path does not have to match\nthe runtime apex path.\n\nBug: 171980804\nTest: symbolize stack dump from logcat\nChange-Id: If778bfe6ea257f51c52aab615f41f28fe92bffd0\n"
    },
    {
      "commit": "4dcac3629ea5925e47b522073f3c49420e998911",
      "tree": "51219b64e869c15149a7397c8ab1eac2dc4e3cd4",
      "parents": [
        "48fb9f43a81fa0cab09ed4a4f3d478c1a0ecbe9e"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Sep 23 12:26:04 2021 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Oct 27 20:05:43 2021 +0000"
      },
      "message": "Initially allocate smaller local IRT\n\nIntroduce a separate small object allocator to allocate tables for\nthe initial local indirect reference tables, so they don\u0027t each\noccupy a full page. This seemed to be easier than using linear_alloc,\nsince these allocations are done from multiple threads. This also\nhas the advantage that GC roots are concentrated on separate\npages, that could be protected as before, but there are many fewer of\nthen than before.\n\nAs discussed with Lokesh, it might eventually be better to allocate\nthese in the Java heap. But doing that cleanly seems to require a\nmajor refactoring to split IrtEntrys into two separate components,\nwhich complicates iteration, etc. And that has locality disadvantages\nduring lookup. Or we need to either drop the serial number of merge\nit into the GcRoot, neither of which is ideal either.\n\nDrive-by-fix: When trimming, don\u0027t call madvise on empty address ranges.\n\nTest: Build and boot AOSP.\nTest: art/test/testrunner/testrunner.py --host -b --64\nBug: 184847225\nChange-Id: I297646acbdd9dbeab4af47461849fffa2fee23b1\n"
    },
    {
      "commit": "48fb9f43a81fa0cab09ed4a4f3d478c1a0ecbe9e",
      "tree": "efb8c5b83a8c2dddf88590fab45680108b9efb95",
      "parents": [
        "58ebded1817e4d95a3006c3274f2fb589207748c"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Oct 26 14:12:40 2021 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Oct 27 09:31:23 2021 +0000"
      },
      "message": "Revert \"OpenJDK 11: Add String.repeat()\"\n\nThis reverts commit d1da3ae0aa3ddde0b129364b5e1c6073f7bdb7b7.\n\nReason for revert: breakage in b/203790937\nBug: 203790937\nBug: 202962059\nTest: treehugger\n\nChange-Id: I07b6fbfe79a599abd9aa98a1dcab918a74d4b816\n"
    },
    {
      "commit": "ce131feb7c60ffdf28c315c5d67f9cac33a077ce",
      "tree": "c0d95161dc6ba2ed5cad0fc5cc4c131c3eed15d0",
      "parents": [
        "9c924e89e5f52da9faadd1e4e60c73eaed6bc9d1"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 26 20:03:35 2021 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Oct 26 22:56:55 2021 +0000"
      },
      "message": "Revert \"Change hotness counting.\"\n\nThis reverts commit c86869ab894c05e3181e7d15eb1893fa8a3fcd47.\n\nReason for revert: App startup performance regression.\n\nBug: 203810169\nChange-Id: Ie816969fffd7740fcdfa330aeb645399f5351865\n"
    },
    {
      "commit": "9c924e89e5f52da9faadd1e4e60c73eaed6bc9d1",
      "tree": "8ffdc7f0c144cb392b50144a9ae9cb4ac4d3cca7",
      "parents": [
        "d690f8ae8f8e2675bc52089a83ac18c749f8e6d2"
      ],
      "author": {
        "name": "Brad Stenning",
        "email": "stenning@google.com",
        "time": "Mon Oct 11 19:09:00 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 26 17:36:32 2021 +0000"
      },
      "message": "Add support to place shared libraries after the dex path\n\nThis allows for a shared library to overriden by content in the dex path\n\nBug: 179429740\n\nTest: m test-art-host-gtest-art_runtime_tests32\n\nChange-Id: I5f69c7bf32b7bd389eff8bdbb21616ba89ed9e87\n"
    },
    {
      "commit": "d690f8ae8f8e2675bc52089a83ac18c749f8e6d2",
      "tree": "dac10b65d901cad87d6dbb7b48453f6da214a76f",
      "parents": [
        "e91a954ee350cbc0b311f342c90697191e1ae495"
      ],
      "author": {
        "name": "Santiago Aboy Solanes",
        "email": "solanes@google.com",
        "time": "Fri Oct 01 09:26:56 2021 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 26 13:51:31 2021 +0000"
      },
      "message": "Inline across dex files for bootclaspath\u0027s methods\n\nWe can relax a bit the restriction for not inlining across dexfiles when\nwe are AoT compiling and we need an environment. There\u0027s an added new\nrestriction related to BSS entries. We could potentially inline across\ndex files for those cases too but are left to be solved in follow-up\nCLs.\n\nBug: 154012332\nTest: ART tests\nChange-Id: I5122b26c79b3e30d2643c0ccc05d595a0047953e\n"
    },
    {
      "commit": "fd846c5c2e9bc63b250c2bce271c2d6b8905f79d",
      "tree": "a0bd1a1c2fcdc58a4acc0531b0d6e79ce5d65313",
      "parents": [
        "0a746a7a7e2a57679adf2830a9c62f569bff9513"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 19 07:54:13 2021 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 25 16:30:24 2021 +0000"
      },
      "message": "Remove all support for Brooks read barrier.\n\nTest: m\nBug: 177048505\nChange-Id: Ifb16927455b98996c61f0b6370bae9a114bf8018\n"
    },
    {
      "commit": "3ff922309ac7d96f572c57152216cd564f775bf3",
      "tree": "6165382ee2a277620d895f13b4a71ebcc9fb8c39",
      "parents": [
        "c498a1de3de1b36baebfd7b69b0af7fb4947d58e"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Oct 21 13:49:29 2021 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Oct 21 13:51:19 2021 +0000"
      },
      "message": "Revert \"Revert^4 \"Use cpplint.py from repohooks\"\"\n\nThis reverts commit 0a12631fd5364d5908d59ea476bea075019ebecd.\n\nReason for revert: breaks on git_sc-dev-plus-aosp\nBug: 200914293\nBug: 203764182\n\nChange-Id: I66c00e1c77ea339182d3b457dbf18afd0c70dfe8\n"
    },
    {
      "commit": "0a12631fd5364d5908d59ea476bea075019ebecd",
      "tree": "4272a2d9b29e42fcf422f83db9726b2d2dc44507",
      "parents": [
        "970183997b6dd09ea5e21984095dec9ec44c9618"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Oct 19 08:23:42 2021 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Oct 21 12:20:53 2021 +0000"
      },
      "message": "Revert^4 \"Use cpplint.py from repohooks\"\n\nThis reverts commit dc26639f11ef2a97bc9aa9d9f4a8b8cbf9791481.\n\nReason for revert: repohooks now in sync across branches\n                   (thanks to tavila@).\nBug: 200914293\nTest: Treehugger\nTest: m cpplint-art\n\nChange-Id: I55cf52db799e7d99dde488ff0bfbc7b3dc158a59\n"
    },
    {
      "commit": "c86869ab894c05e3181e7d15eb1893fa8a3fcd47",
      "tree": "a0a000eea11bddba4c822d4e30e06456c12ccaa4",
      "parents": [
        "d1da3ae0aa3ddde0b129364b5e1c6073f7bdb7b7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 01 12:15:08 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 20 17:32:57 2021 +0000"
      },
      "message": "Change hotness counting.\n\nDecrement instead of increment to:\n- Simplify nterp\n- Support better future optimizations on memory savings.\n\nAlso clean up Jit::AddSamples which is now only used for the C++\ninterpreter.\n\nTest: test.py\nChange-Id: I2edcee3affc3e5205e253fc7824ccdc862565931\n"
    },
    {
      "commit": "d1da3ae0aa3ddde0b129364b5e1c6073f7bdb7b7",
      "tree": "a55c36452f8f6b28c40f6c72c435dd788b29b5dc",
      "parents": [
        "91a16c9d16178428fdbf405fb62fc953e9a28fa3"
      ],
      "author": {
        "name": "Nikita Iashchenko",
        "email": "nikitai@google.com",
        "time": "Mon Oct 18 16:44:11 2021 +0100"
      },
      "committer": {
        "name": "Nikita Iashchenko",
        "email": "nikitai@google.com",
        "time": "Wed Oct 20 11:20:50 2021 +0000"
      },
      "message": "OpenJDK 11: Add String.repeat()\n\nAdd native implementation for java.lang.String#repeat().\n\nThis implementation is 4.7-40.9 times faster (depending on how large\nresult string is) than naive StringBuilder implementation.\n\n| Test             | Java, ns   | ART, ns    |  Gain |\n|------------------+------------+------------+-------|\n| len:1  reps:1m   | 15,553,793 | 379,730    | 40.96 |\n| len:13 reps:10   | 724        | 154        |   4.7 |\n| len:13 reps:100k | 7,099,111  | 553,559 ns | 12.82 |\n\nBug: 202962059\nTest: atest CtsLibcoreOjTestCases:test.java.lang.String.StringRepeat\nTest: atest LibcoreBenchmarkTests:libcore.benchmark.StringTest\nChange-Id: I6535bb9201c14c455f0b13988e034919049e1222\n"
    },
    {
      "commit": "8c63ce27d4d3e87f535769976e9b9185fa372b9b",
      "tree": "aa6967108b075529dc102eb76f150f506ef96013",
      "parents": [
        "327cfcf2dfe281de4ac8178da69e1e562881870d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 19 17:14:04 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 20 08:00:43 2021 +0000"
      },
      "message": "Allow PROT_EXEC on the zygote mappings when falling back to ashmem\n\nBecause we now protect the mappings before creating the executable one,\nwe need to also allow PROT_EXEC on an ashmem region.\n\nTest: manually change code to use ashmem, build, see that JIT is\ncreated.\nBug: 202999239\n\nChange-Id: I9f2944c45f4ff607c7e341552c82138bfe13cca4\n"
    },
    {
      "commit": "327cfcf2dfe281de4ac8178da69e1e562881870d",
      "tree": "7655b166c3b46d38077ef84f02234e3a122eb403",
      "parents": [
        "685d0ef479966811ec103340ef9696f056649285"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 12 14:13:25 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 20 07:59:43 2021 +0000"
      },
      "message": "Use the .dm file at runtime for verification.\n\nBug: 112284845\nTest: 674-HelloWorld-Dm\nChange-Id: Icd07f86cfb2b5428186a4c086f042890eaad249b\n"
    },
    {
      "commit": "2ca0900e98d826644960eefeb8a21c84850c9e04",
      "tree": "ba8a25622f6bee25817be41880ea01c345d9a2b1",
      "parents": [
        "44101a388089b4e23b284e1794eb475938a2f7ed"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 19 16:19:34 2021 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 19 16:23:58 2021 +0000"
      },
      "message": "Revert \"JNI: Remove `JniMethodFast{Start,End}()`.\"\n\nThis reverts commit 64d6e187f19ed670429652020561887e6b220216.\n\nReason for revert: Breaks no-image JIT run tests (flaky).\n\nBug: 172332525\nChange-Id: I7813d89283eff0f6266318d3fb02d1257471798d\n"
    },
    {
      "commit": "64d6e187f19ed670429652020561887e6b220216",
      "tree": "0b7d39fd7d0a155786d84f23364313a7f63542a7",
      "parents": [
        "b37da9d4ffbc5ab42c41fcd60dc0dac6357ea13b"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Oct 14 09:32:01 2021 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 19 13:25:55 2021 +0000"
      },
      "message": "JNI: Remove `JniMethodFast{Start,End}()`.\n\nInline suspend check from `GoToRunnableFast()` to JNI stubs.\nThe only remaining code in `JniMethodFast{Start,End}()` is a\ndebug mode check that the method is @FastNative, so remove\nthe call altogether as we prefer better performance over the\ndebug mode check. Replace `JniMethodFastEndWithReference()`\nwith a simple `JniDecodeReferenceResult()`.\n\nGolem results for art-opt-cc (higher is better):\nlinux-ia32                     before after\nNativeDowncallStaticFast       149.00 226.77 (+52.20%)\nNativeDowncallStaticFast6      107.39 140.29 (+30.63%)\nNativeDowncallStaticFastRefs6  104.50 130.54 (+24.92%)\nNativeDowncallVirtualFast      147.28 207.09 (+40.61%)\nNativeDowncallVirtualFast6     106.39 136.93 (+28.70%)\nNativeDowncallVirtualFastRefs6 104.50 130.54 (+24.92%)\nlinux-x64                      before after\nNativeDowncallStaticFast       133.10 173.50 (+30.35%)\nNativeDowncallStaticFast6      109.12 135.73 (+24.39%)\nNativeDowncallStaticFastRefs6  105.29 127.18 (+20.79%)\nNativeDowncallVirtualFast      127.74 167.66 (+31.25%)\nNativeDowncallVirtualFast6     106.39 128.12 (+20.42%)\nNativeDowncallVirtualFastRefs6 105.29 127.18 (+20.79%)\nlinux-armv7                    before after\nNativeDowncallStaticFast       18.058 21.622 (+19.74%)\nNativeDowncallStaticFast6      14.903 17.057 (+14.45%)\nNativeDowncallStaticFastRefs6  13.006 14.620 (+12.41%)\nNativeDowncallVirtualFast      17.848 21.027 (+17.81%)\nNativeDowncallVirtualFast6     15.196 17.439 (+14.76%)\nNativeDowncallVirtualFastRefs6 12.897 14.764 (+14.48%)\nlinux-armv8                    before after\nNativeDowncallStaticFast       19.183 23.610 (+23.08%)\nNativeDowncallStaticFast6      16.161 19.183 (+18.71%)\nNativeDowncallStaticFastRefs6  13.235 15.041 (+13.64%)\nNativeDowncallVirtualFast      17.839 20.741 (+16.26%)\nNativeDowncallVirtualFast6     15.500 18.272 (+17.88%)\nNativeDowncallVirtualFastRefs6 12.481 14.209 (+13.84%)\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: run-gtests.sh\nTest: testrunner.py --target --optimizing\nBug: 172332525\nChange-Id: I680aaeaa0c1a55796271328180e9d4ed7d89c0b8\n"
    },
    {
      "commit": "bf19869f9a3e49eed27c30cd86344d72fc0366cd",
      "tree": "569f1af745b9c847f3aefc6519773fdaf6f7cfb6",
      "parents": [
        "954b995c8cf3d3809d534353396225c9a29e6a42"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Oct 11 14:31:55 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Oct 18 08:02:51 2021 +0000"
      },
      "message": "Tolerate not having access or failing to read apex-info-list.xml.\n\nBe more lenient when we fail to read the file, and start executing. The\nconsequences are likely being unable to load .odex files.\n\nTest: test.py\nChange-Id: Ibe9d55db1a086ff966d60ca7c1a4ce0383accd32\n"
    },
    {
      "commit": "ebf496f245dec69af6abfa115aa0e5872aee93d1",
      "tree": "4d90ed1ea13dc04c364e1f75de45098cc1b2333b",
      "parents": [
        "0d0d91a2acd58696366021982279bacc6638b123"
      ],
      "author": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Mon Oct 11 05:04:34 2021 +0000"
      },
      "committer": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Fri Oct 15 13:03:49 2021 +0000"
      },
      "message": "Deprecate --updatable-bcp-packages-fd and --updatable-bcp-packages-file\n\nThese flags are no longer needed and therefore deprecated. They are\nstill kept for compatibility, but they do not take any effect now.\n\nBug: 200241946\nTest: Presubmits\n\nChange-Id: I17b937e382cd3fe6eb20f2a686a638492c93d58e\n"
    },
    {
      "commit": "0d0d91a2acd58696366021982279bacc6638b123",
      "tree": "594ef419aacd6d34e18f2812f31f0bd8b8956231",
      "parents": [
        "fcef77b426e74d726bf87bba6574b097ba5b97aa"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Oct 14 14:40:09 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 15 13:00:35 2021 +0000"
      },
      "message": "Remove unneeded checks.\n\nTest: test.py\nBug: 28313047\nChange-Id: I94d19c235c69361bf9611eb6fcf5d1d31bfcdf17\n"
    },
    {
      "commit": "fcef77b426e74d726bf87bba6574b097ba5b97aa",
      "tree": "c56b3b2099bb6b6c1047f33701a5952eb051bf55",
      "parents": [
        "099acf8eee6dfa50a0958fe3dc95e7a3ae6c6664"
      ],
      "author": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Wed Oct 13 11:17:36 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 15 13:00:13 2021 +0000"
      },
      "message": "Add debug printing for MTE signal codes.\n\nKernel headers on the host may not be up to date, so we are hardcoding\nthe actual values. These are kernel ABI constants, they are not going to\nchange.\n\nBug: 201492782\nTest: none needed\nChange-Id: I0348679427fbe595cdad63b7a08d8f97e8c096c3\n"
    },
    {
      "commit": "0651ccc57b9aa178304546f8913cb66ceafd55bb",
      "tree": "9ee66272c7b9c9aec1b5ed182823c25d05d4a7a5",
      "parents": [
        "c29b49ee7dc9a9ee2526e45423232d36faf3468d"
      ],
      "author": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Wed Oct 13 11:08:22 2021 -0700"
      },
      "committer": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Thu Oct 14 22:18:14 2021 +0000"
      },
      "message": "Ignore PC/SP contents in SEGV_MTEAERR faults.\n\nSEGV_MTEAERR (Async MTE fault) is delivered at an arbitrary point\nafter the actual fault. Register contents, including PC and SP, are\nunrelated to the fault and can only confuse ART signal handlers.\n\nTo be more precise, SEGV_MTEAERR is delivered at the nearest kernel\nentry after the invalid memory access. It is normally a system call, but\ncan also be a random process scheduling event.\n\nI could not reproduce the problem locally, but it is apparently\npossible to crash with \"Check failed: found_virtual Didn\u0027t find oat\nmethod index for virtual method:\" if the garbage PC value passes all the\nsanity checks in FaultManager::HandleFault, with a stack trace like\nthis:\n  art::FindOatMethodFor\n  art::ArtMethod::GetOatQuickMethodHeader\n  art::FaultManager::IsInGeneratedCode\n  art::FaultManager::HandleFault\n\nBug: 201492782\nTest: none\n\nChange-Id: I028067f1350574ea002f3e98a94babe2b10c2559\n"
    },
    {
      "commit": "c29b49ee7dc9a9ee2526e45423232d36faf3468d",
      "tree": "31e32bcc91a7679fe825790894bc01fa4a377f98",
      "parents": [
        "ae96c828a4ca0a688203e3b46abfb28a7b79600d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 13 15:37:55 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Oct 14 20:53:17 2021 +0000"
      },
      "message": "Do not run background verification on unknown class loaders.\n\nThere can be races between the Java threads and the background\nverification thread when verifying classes. The Java threads are allowed\nto load classes while verifying, but the background verification thread\ncannot. Which means we can be in situations where the background\nverification sees, for example, a concrete j.l.Integer but an unresolved\nj.l.Number.\n\nTest: 833-background-verification\nBug: 202463489\nChange-Id: I5aadb9d5ee79003b3d8200571cecd0819e13bd64\n"
    },
    {
      "commit": "d816eab05365106bd2ee83767a280b9abb231b2a",
      "tree": "bb233750a7bf3015eb5fa40c379fab35b1454e70",
      "parents": [
        "aaa220e7cb929e8fc54b3ae89c98cb9019c33d1a"
      ],
      "author": {
        "name": "Fujiang Wang",
        "email": "wangfujiang@oppo.corp-partner.google.com",
        "time": "Fri Oct 01 07:32:13 2021 +0000"
      },
      "committer": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Tue Oct 12 23:41:03 2021 +0000"
      },
      "message": "Fix calculation of bytes allocated since last gc\n\nThe GC freebytes calculation does not include LargeObject freebytes.\n\nChange-Id: I9cee7b1c8a0a15c13056c9c5bd00160671bee339\n"
    },
    {
      "commit": "a8d998fa443b125d8a0461f59070b6d54c386f78",
      "tree": "f743f004871666ec7873e43fb9dc1092440dfd81",
      "parents": [
        "bc6944b88b5eba676b2385ce41d75feb18b09da6"
      ],
      "author": {
        "name": "Yang Tianping",
        "email": "yangtianping@oppo.com",
        "time": "Sat Oct 09 15:05:49 2021 +0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 12 09:30:45 2021 +0000"
      },
      "message": "fix the redundant dependencies validation in fast verify\n\nWhen in isolated compilation, the fast verify will validate dependencies\nof all dex files when compile every single dex file, which lead to fast\nverify not so \"fast\" when do isolated compilation.\n\nBug: 202563833\nChange-Id: Ib62fe2a87ae973017ba4934511c5d2223fb1ad83\n"
    },
    {
      "commit": "bc6944b88b5eba676b2385ce41d75feb18b09da6",
      "tree": "f411e87c063d5ab688790208a0111a1d313c8c8a",
      "parents": [
        "9104d670935067b42675ec95e60c79fde90a5679"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Oct 11 13:54:23 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 12 08:01:47 2021 +0000"
      },
      "message": "Remove useless test.\n\nWe know at this point either adjusted_type is unresolved, or it\u0027s\nresolved and res_method_class must also be resolved to pass the\nIsAssignableFrom check.\n\nTest: test.py\nBug: 28313047\nChange-Id: Ic5c17ac1110f5c766d6a362c8f1e4d97c9ea0655\n"
    },
    {
      "commit": "633ac3cb89bcd23f982b7c8cb6b3667c1051a935",
      "tree": "30d19b63541e014334e4b1bcf515abccfd60db92",
      "parents": [
        "eb270e4cf873acc6097da5647931cbfd67879864"
      ],
      "author": {
        "name": "Sorin Basca",
        "email": "sorinbasca@google.com",
        "time": "Wed Oct 06 14:00:29 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 11 19:42:14 2021 +0000"
      },
      "message": "Adding Class.getDeclaredFields to unstarted runtime\n\nAs part of the update of java.util.concurrent to 11+28, it is\nneeded to have Class.getDeclaredFields() called from the\nunstarted runtime.\n\nTest: m\nBug: 188889082\nChange-Id: I0ad4629ba1f55165c6c4a14cad823735c9f8cd02\n"
    },
    {
      "commit": "492649b718eed0c5834766b8a49ccbe9d86cf49a",
      "tree": "2b315da249ff97180569b9ea66b9bc1e395ffafe",
      "parents": [
        "2fc400421d6c1c16142338a70b091676730822e4"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 11 14:21:22 2021 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 11 15:04:32 2021 +0000"
      },
      "message": "Clean up #includes in `hidden_api.h`.\n\nMove one template function `ShouldDenyAccessToMember()` to\nthe .cc file and reduce the amount of code included by .h.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nChange-Id: Ic969902cd0fa3b57e11eb9d8a8413f4f71a6d28b\n"
    },
    {
      "commit": "d95a1f2ecf322d21ae98bfb7affe0070ddb9bc08",
      "tree": "8fc5fe8370ec051289a34cde7bf3dc5fc7a1ca7f",
      "parents": [
        "507a729e51588f7fa4eac7579d54ce7c96804349"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 23 16:32:52 2021 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 11 11:56:59 2021 +0000"
      },
      "message": "Inline IRT frame push/pop into JNI stubs.\n\nGolem results for art-opt-cc (higher is better):\nlinux-ia32                       before after\nNativeDowncallStaticNormal       25.704 26.839 (+4.414%)\nNativeDowncallStaticNormal6      23.857 25.086 (+5.152%)\nNativeDowncallStaticNormalRefs6  23.704 25.248 (+6.513%)\nNativeDowncallVirtualNormal      25.578 27.000 (+5.560%)\nNativeDowncallVirtualNormal6     23.704 24.925 (+5.153%)\nNativeDowncallVirtualNormalRefs6 23.704 25.074 (+5.870%)\nNativeDowncallStaticFast         100.65 149.13 (+48.17%)\nNativeDowncallStaticFast6        78.304 107.39 (+37.71%)\nNativeDowncallStaticFastRefs6    76.962 104.45 (+35.71%)\nNativeDowncallVirtualFast        100.40 147.28 (+46.69%)\nNativeDowncallVirtualFast6       79.302 106.34 (+34.10%)\nNativeDowncallVirtualFastRef26   76.617 103.29 (+34.82%)\nlinux-x64                        before after\nNativeDowncallStaticNormal       26.083 26.987 (+3.465%)\nNativeDowncallStaticNormal6      24.606 25.411 (+3.271%)\nNativeDowncallStaticNormalRefs6  24.150 25.086 (+3.877%)\nNativeDowncallVirtualNormal      25.743 26.812 (+4.156%)\nNativeDowncallVirtualNormal6     24.294 25.248 (+3.927%)\nNativeDowncallVirtualNormalRefs6 23.857 25.086 (+5.152%)\nNativeDowncallStaticFast         109.95 133.10 (+21.06%)\nNativeDowncallStaticFast6        90.274 109.12 (+20.87%)\nNativeDowncallStaticFastRefs6    87.282 105.29 (+20.63%)\nNativeDowncallVirtualFast        104.00 127.55 (+22.65%)\nNativeDowncallVirtualFast6       88.191 106.73 (+21.02%)\nNativeDowncallVirtualFastRef26   85.530 102.09 (+19.36%)\nlinux-armv7                      before after\nNativeDowncallStaticNormal       6.1148 6.3694 (+4.316%)\nNativeDowncallStaticNormal6      5.6845 5.9026 (+3.837%)\nNativeDowncallStaticNormalRefs6  5.4054 5.6022 (+3.641%)\nNativeDowncallVirtualNormal      5.4726 5.7088 (+4.316%)\nNativeDowncallVirtualNormal6     5.1789 5.3685 (+3.660%)\nNativeDowncallVirtualNormalRefs6 4.9140 5.0902 (+3.586%)\nNativeDowncallStaticFast         16.683 18.058 (+8.239%)\nNativeDowncallStaticFast6        13.951 14.896 (+6.770%)\nNativeDowncallStaticFastRefs6    12.279 13.006 (+5.919%)\nNativeDowncallVirtualFast        16.161 17.848 (+10.44%)\nNativeDowncallVirtualFast6       14.085 15.196 (+7.892%)\nNativeDowncallVirtualFastRef26   12.089 12.897 (+6.683%)\nlinux-armv8                      before after\nNativeDowncallStaticNormal       6.0663 6.4229 (+5.879%)\nNativeDowncallStaticNormal6      5.7252 6.0437 (+5.563%)\nNativeDowncallStaticNormalRefs6  5.3114 5.5814 (+5.082%)\nNativeDowncallVirtualNormal      5.8795 6.2651 (+6.558%)\nNativeDowncallVirtualNormal6     5.6232 5.9494 (+5.801%)\nNativeDowncallVirtualNormalRefs6 5.1862 5.4429 (+4.948%)\nNativeDowncallStaticFast         17.638 19.183 (+8.760%)\nNativeDowncallStaticFast6        14.903 16.161 (+8.438%)\nNativeDowncallStaticFastRefs6    12.475 13.235 (+6.094%)\nNativeDowncallVirtualFast        15.826 17.848 (+12.78%)\nNativeDowncallVirtualFast6       14.064 15.504 (+10.24%)\nNativeDowncallVirtualFastRef26   11.628 12.475 (+7.285%)\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: run-gtests.sh\nTest: testrunner.py --target --optimizing\nBug: 172332525\nChange-Id: I5ecfa7a661f08ab63dd2a75d666e1c1b9121935f\n"
    },
    {
      "commit": "b0cc5923bf0b0315fa181542c765bfa8b8083cad",
      "tree": "e603f603debced1bdff10f3aed90d8d33456fe20",
      "parents": [
        "73c4f79b14492a930903f15553969a4e7ecbefed"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Sep 28 15:27:55 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Oct 11 07:22:31 2021 +0000"
      },
      "message": "With mainline, classes in the boot classpath that hard fail can happen.\n\nSpotted while reviewing code on verifier.\n\nThis is to not abort the runtime for a scenario like:\nNew code in T, not executed in S (but still shipping on S through a\nmainline update), relies on the fact a class that was present in S\nmoved from \u0027final\u0027 to \u0027non-final\u0027. When verifying on S, this could\nlead to hard failures. But given the class is not supposed to execute,\nthat\u0027s OK.\n\nTest: device booting\nChange-Id: I68512858e9085dd45c4f9b77ac3f9dea788d3fa4\n"
    },
    {
      "commit": "507cf9052116f8052c45a08586a356d00daba563",
      "tree": "8723a6303ec4dcdc39480bf84fa35e2de0e7e77a",
      "parents": [
        "a32d2d8b5ac9bda0aa1a7d12790b7ed3e5750b4a"
      ],
      "author": {
        "name": "Sorin Basca",
        "email": "sorinbasca@google.com",
        "time": "Wed Oct 06 12:04:56 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 08 17:34:31 2021 +0000"
      },
      "message": "Adding get/put and compare-and-set methods to Unsafe\n\nAs they are needed for the update of java.util.concurrent to\n11+28, the native implementation and intrinsics for the following methods have\nbeen added to jdk.internal.misc.Unsafe:\n\tjdk.internal.misc.Unsafe.compareAndSetLong\n\tjdk.internal.misc.Unsafe.compareAndSetObject\n\tjdk.internal.misc.Unsafe.getLongAcquire\n\tjdk.internal.misc.Unsafe.putLongRelease\n\tjdk.internal.misc.Unsafe.getObjectAcquire\n\tjdk.internal.misc.Unsafe.putObjectRelease\n\nTest: m\nTest: art/test/testrunner/testrunner.py -t 2235-JdkUnsafeTest\nBug: 188889082\nBug: 190791083\nChange-Id: Iacd39ea1750c92a828d99241bff6b609acadb025\n"
    },
    {
      "commit": "4d29efcc54c2d98e70e2221b66c04f309d64c398",
      "tree": "80ac62421103eecfaa8760b7f8507801b97cd2b1",
      "parents": [
        "f9e82e5cae2c31f439ecbc505c2dcac81356405e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Oct 07 15:15:08 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 08 10:27:29 2021 +0000"
      },
      "message": "Remove unused fields in Thread.\n\nTest: test.py\nChange-Id: Iafc0be23eec86102844b127622be564f69c55eda\n"
    },
    {
      "commit": "f9e82e5cae2c31f439ecbc505c2dcac81356405e",
      "tree": "a0d93b3e813115bc1ba57a9b5194e3419bf39aa3",
      "parents": [
        "983c21762de318f0991a8fc2074c81438b1e4f17"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Oct 06 08:34:40 2021 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Oct 08 07:57:11 2021 +0000"
      },
      "message": "Loosen class status check after resolving.\n\nIf `ClassLinker::LinkClass()` creates a new `Class` object,\nit takes an `ObjectLock` on that object but releases that\nlock when it returns to the `ClassLinker::DefineClass()`.\nTherefore another thread can try and fail to verify the\nclass and mark it as resolved erroneous. The `CHECK()` that\nthe class is not resolved erroneous was therefore wrong\nand we remove that part.\n\nAlso dump the class status if the remaining `CHECK()` fails.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 202091046\nChange-Id: Ida9c0d45478fbae913fcaabcc237048d28a4dd3d\n"
    },
    {
      "commit": "33df0e3e47adc053c34a0ad3f4bb78ee3dd40e7f",
      "tree": "401957f10b116a082e7c4ed58bb86bff3c4e2615",
      "parents": [
        "ce8198e1e826142a5dc032f22a60e2c41eaeff96"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Sep 30 14:36:32 2021 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Oct 07 12:10:32 2021 +0000"
      },
      "message": "Revert^4 \"Lazily allocate DexCache arrays.\"\n\nWe rarely need the DexCache for compiled code.\nDelay the allocation in hope we never need it.\nThis reduces DexCache memory usage by ~25% at startup.\n\nBug: b/181097963\nTest: test.py -b --host\nChange-Id: I1f654aeb538dfed013705a61b1955af1f6b94fe7\n"
    },
    {
      "commit": "ce8198e1e826142a5dc032f22a60e2c41eaeff96",
      "tree": "4423f80eaf2eaefa156535b7aa63a2ac7db55c94",
      "parents": [
        "4af07cd8efc146503e75cc85dfbbb8f10951be9f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 05 15:07:37 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Oct 07 07:38:46 2021 +0000"
      },
      "message": "Pass which profile the method expects.\n\nWith the CL:\nhttps://android-review.googlesource.com/c/platform/art/+/1671710\n\nWe made the requirement that callers need to be explicit on whether\nthey\u0027re reading a boot image profile or not.\n\nUpdate CompileMethodsFromProfile to pass that information.\n\nTest: manually checking JIT zygote works as intended, will follow-up\n      on having continuous tests.\nChange-Id: I3c9d367e8ce69b7c0e3205be4c379208f88d3b3e\n"
    },
    {
      "commit": "4af07cd8efc146503e75cc85dfbbb8f10951be9f",
      "tree": "76798ba7c6318e46de6ea440c86cdaf8b40d1654",
      "parents": [
        "271d57234ea8b2707a6cc15d8e3c9d7508f37c49"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Oct 06 15:00:56 2021 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Oct 06 17:22:16 2021 +0000"
      },
      "message": "DexCache: Remove pre-resolved string dead code.\n\nPre-resolved strings are no longer used,\nso remove some of the dead methods.\n\nTest: ./art/test.py -b -r --host --64\nChange-Id: I02974b1910a8b455f787f9a791fb06de2b3c229a\n"
    },
    {
      "commit": "6fbcc2915949d0680e6e9578a5836ee8dcbc467f",
      "tree": "b5dfdf2ab21f693ca2d702345263bcefa9448291",
      "parents": [
        "0069ad7ddb159a8d368e0f6a289d0335238ae6c4"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Feb 23 01:05:32 2021 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Oct 05 13:12:20 2021 +0000"
      },
      "message": "Change ClassLinker::dex_caches_ from list to unordered_map.\n\nMove the DexFile* pointer from struct field out to map key.\nThis makes it easy and fast to find DexCache from DexFile.\n\nAdd check that given DexFile* is registered only once.\n\nTest: test.py -b -r --host --64\nTest: generated images are identical as before\nChange-Id: I84a6d6cbf963af2408abe5bb5e4c99d0ca11df78\n"
    },
    {
      "commit": "0069ad7ddb159a8d368e0f6a289d0335238ae6c4",
      "tree": "02735717a696c0704d97526fcab0060d8d1ceae0",
      "parents": [
        "520c9b7649cdfcc12e1df414055c383335f54b69"
      ],
      "author": {
        "name": "Sorin Basca",
        "email": "sorinbasca@google.com",
        "time": "Fri Sep 17 17:33:09 2021 +0000"
      },
      "committer": {
        "name": "Sorin Basca",
        "email": "sorinbasca@google.com",
        "time": "Tue Oct 05 12:34:42 2021 +0000"
      },
      "message": "OpenJDK 11: Adding Unsafe new intrinsics for AtomicIntegerFieldUpdater\n\nAdding native implementation for:\njdk.internal.misc.Unsafe.compareAndSetInt\n\nAdding intrinsics for:\njdk.internal.misc.Unsafe.compareAndSetInt\njdk.internal.misc.Unsafe.getIntAcquire\njdk.internal.misc.Unsafe.putIntRelease\n\nTest: m\nTest: art/test/testrunner/testrunner.py -t 2235-JdkUnsafeTest\nBug: 188889082\nBug: 190791083\nChange-Id: Iba4a66d29ad27e269a7be0d5d5c8397755040784\n"
    },
    {
      "commit": "520c9b7649cdfcc12e1df414055c383335f54b69",
      "tree": "4549853d6508804f86763418d51778351eb0ab74",
      "parents": [
        "f9795d1ebd30105a91089815068b512ff63b8ae5"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 04 16:31:53 2021 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 05 11:50:36 2021 +0000"
      },
      "message": "verifier: Clean up `RegisterLine::SetRegisterType*()`.\n\nIn `RegisterLine::SetRegisterTypeWide()`, replace the pair\ncheck with a DCHECK() as all callers pass valid pairs.\n\nIn `RegisterLine::SetRegisterType()`, the non-pair check was\nneeded only by a single caller (the only one that checked\nthe return value), so move the check to that caller and use\na DCHECK() instead.\n\nRemove the now unnecessary `verifier` argument from these two\nfunctions and change return type to `void`.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 28313047\nChange-Id: Iabeb6fdb61d3bf2713bf7c5a72288fff54a35754\n"
    },
    {
      "commit": "f9795d1ebd30105a91089815068b512ff63b8ae5",
      "tree": "0a1ca029b29fce0315759ac8ea8ee2529309665f",
      "parents": [
        "7cf6c58ed90d827dd9b85020219eced5d8c8ae78"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Oct 04 16:28:54 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 05 11:14:43 2021 +0000"
      },
      "message": "Remove mterp_current_ibase.\n\nMterp has been removed.\n\nTest: test.py\nChange-Id: Iebad6fb337846e3945dcfd8ece6fae7c85afe25b\n"
    },
    {
      "commit": "d4e07aac5b8774545d848b2907664a01ae00568f",
      "tree": "19f03a8975b825599edb0f8151087df9c44fdf69",
      "parents": [
        "4b0c9b91de2731675b6121a33c192585ba988992"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 04 12:56:13 2021 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 05 07:34:46 2021 +0000"
      },
      "message": "Do not resolve name strings in `ArtMethod::GetDeclaredMethodInternal()`.\n\nAvoid unnecessary interned strings which are never GC\u0027d.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 192658894\nChange-Id: I05902a484a99dabccff433749601845cbdef6700\n"
    },
    {
      "commit": "4b0c9b91de2731675b6121a33c192585ba988992",
      "tree": "ad34b290f6b0b74fc7cad1a68bd9bb3384b0f645",
      "parents": [
        "dae0c24dc2fcee41121609987ef0757112a4271c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Sep 29 15:58:44 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Oct 04 13:09:16 2021 +0000"
      },
      "message": "Remove the notion of soft failure within the verifier.\n\nBug: 28313047\nTest: test.py\nChange-Id: I58b9fb74161f24e095ae049f3c2886713f3213d5\n"
    },
    {
      "commit": "55dace0763f8b0e26e2380fe1e11bd0e22f5a078",
      "tree": "89affca755b51ae0d416a2646e0d3cb8496ab4e8",
      "parents": [
        "c27fb3db6b4a267521a5f392014a8316adff87ed"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 01 08:27:53 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 01 10:38:25 2021 +0000"
      },
      "message": "Revert \"Change order of creation of JIT mappings.\"\n\nThis reverts commit 145fce1b7bdee2bfc205b767d558b4ef09bbde22.\n\nReason for revert: b/200284993\n\nChange-Id: Ifcdfc5eb04b9f3e8cd799b5a1423ab64d9357c21\n"
    },
    {
      "commit": "8473a5bf11d82f88f3e9a47965ed43411d29a377",
      "tree": "e9c0f6453d2c217016ab2f1785a960c1eea77261",
      "parents": [
        "3dcd844cccf35dc8d66117bd77de16fc68c86e4b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Sep 30 07:47:29 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Sep 30 09:54:05 2021 +0000"
      },
      "message": "Revert \"Revert^2 \"Lazily allocate DexCache arrays.\"\"\n\nThis reverts commit e153a62e8e8a2c42f86d2db87c8188cd0d7bef6b.\n\nBug: b/181097963\n\nReason for revert: Crashes seen on bots.\n\nChange-Id: I1b452d4a15adf42dd7170d77d1b79260d78400a3\n"
    },
    {
      "commit": "3dcd844cccf35dc8d66117bd77de16fc68c86e4b",
      "tree": "76584fcaa03d6927765bbaaf06e7ed86b9ab970b",
      "parents": [
        "145fce1b7bdee2bfc205b767d558b4ef09bbde22"
      ],
      "author": {
        "name": "zengkaifa",
        "email": "zengkaifa@oppo.com",
        "time": "Fri Sep 17 09:51:57 2021 +0800"
      },
      "committer": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Wed Sep 29 19:45:48 2021 +0000"
      },
      "message": "optimization of gc load, reduce gc in some scenarios\n\n1.NativeAlloc GC,Increase the count of the number of small native\nmemory allocations.\n\n2.CollectTransition GC,App\u0027s allocations (since last GC) more than the threshold then do GC\nwhen the app was in background. If not then don\u0027t do GC.\n\nExpert in charge of ART, please evaluate this CL\nand hope to merge it in master branch.\n\nBug:200116730\nChange-Id: Id2977f05eb249691326955e6f2424d4e5e08b417\n"
    },
    {
      "commit": "145fce1b7bdee2bfc205b767d558b4ef09bbde22",
      "tree": "0e37a01b8b91cb862dce5f3c362a97772a029bc1",
      "parents": [
        "4b1609f8571ca01fbb1cd5f6d81ae9d556464e5f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 27 14:19:38 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Sep 29 14:59:44 2021 +0000"
      },
      "message": "Change order of creation of JIT mappings.\n\nTo ensure we don\u0027t create mappings that can later be turned into\nwritable mappings.\n\nTest: jit_memory_region_test\nTest: decive booting\nBug: 200284993\nChange-Id: I1da75943fb0526bdb875da25147cfd3ded20fdc6\n"
    },
    {
      "commit": "4b1609f8571ca01fbb1cd5f6d81ae9d556464e5f",
      "tree": "cf11394bc6655bf2b6884b6e84291bdab9de7de0",
      "parents": [
        "a95a6ea27e76ef8e324a14e8f7f847c02eb3c44f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Sep 28 14:49:57 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Sep 29 14:41:26 2021 +0000"
      },
      "message": "Hard fail on type assignment check.\n\nWe know the type assignment will also fail at runtime.\n\nTest: test.py\nBug: 28313047\nChange-Id: I046855bb5e29cf010638deabab601b8468d54c27\n"
    },
    {
      "commit": "f3c5bbb742c9cd1bf8a67aadd656a5c5f45a3f6f",
      "tree": "70cfd3fb951af62ad7157905d1a35cf9cf7a51ce",
      "parents": [
        "e153a62e8e8a2c42f86d2db87c8188cd0d7bef6b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Sep 28 14:47:41 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Sep 28 14:47:41 2021 +0100"
      },
      "message": "An invalid wide pair will remain invalid at runtime.\n\nSo mark the failure as a hard failure.\n\nTest: test.py\nBug: 28313047\nChange-Id: Ifae36b1f6a9b179b659df6d0d123fdde72219d22\n"
    },
    {
      "commit": "e153a62e8e8a2c42f86d2db87c8188cd0d7bef6b",
      "tree": "254fbf33dea442d711ffa4a62bbcf2a4fd392424",
      "parents": [
        "282795ca98d955697823aea6fd9c6b3f51780045"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Mar 02 15:07:26 2021 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Sep 28 12:36:00 2021 +0000"
      },
      "message": "Revert^2 \"Lazily allocate DexCache arrays.\"\n\nWe rarely need the DexCache for compiled code.\nDelay the allocation in hope we never need it.\nThis reduces DexCache memory usage by ~25% at startup.\n\nThis reverts commit b9b7d91f5ceb0b738e1774992fd6fe205c6091e9.\n\nBug: b/181097963\nTest: test.py -b --host\nTest: run previously failing go/ab build in forrest\nChange-Id: I818ad8f75d2d5387891a96edec49bc7933cd171f\n"
    },
    {
      "commit": "03ce70a18e860abe5ab2e2198cb928e43a732e9c",
      "tree": "ae45bc5d0e976582985f29f63c5703f1a4f643da",
      "parents": [
        "2a973fcbea04cfb871ae9e412df2301e1d24214c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 27 14:44:03 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Sep 28 07:15:59 2021 +0000"
      },
      "message": "Better handling of unresolved fields in VerifyISFieldAccess.\n\nEven if we cannot resolve a class / field, we know we can look in the\ndex file for finding a field of the class being verified.\n\nTest: 831-unresolved-field\nBug: 28313047\nChange-Id: Ie6c3e05c8df064becc3dae913b82859875d171ef\n"
    },
    {
      "commit": "762ee9240089b1361cc67f3cc2f4c6432cdb098a",
      "tree": "464d78f486a807a1343f51c30955a89d6308fdf7",
      "parents": [
        "617c6abeff925b55808df8c8f01888545cd3908c"
      ],
      "author": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Mon Sep 27 13:41:16 2021 +0000"
      },
      "committer": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Mon Sep 27 13:41:16 2021 +0000"
      },
      "message": "Improve the logging of BCP checksum mismatch.\n\nLog the filename of the BCP JAR when a checksum mismatch happens.\n\nBug: 201278968\nTest: Presubmits\nChange-Id: I328448158189475404f9adcbfadf2c5f4863f897\n"
    },
    {
      "commit": "f8dea01f3801a90f09bf156e33ba2daa4c186809",
      "tree": "4e01dac9078afef2460ece05b63523390e431079",
      "parents": [
        "e8445e579a4a99d3d48714bda475f2c6f1fdda80"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Sep 22 13:28:35 2021 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Sep 24 22:20:41 2021 +0000"
      },
      "message": "Simplify IRTEntry\n\nWe previously stored the last several object references associated\nwith indirect reference table entry. The old entries might once have\nbeen used to provide more informatio about stale entries. But with a\ncopying collector, they were not even getting updated during GCs,\nand we could not identify any purpose for them. Keep just the current\nentry instead.\n\nWe keep the serial number from before to continue to check for stale\nreferences.\n\nThis should save nearly half the space (both used and reserved) in\nindirect reference tables, while slightly speeding up accesses.\nIt implements the most basic option suggested in the bug. If this\npays off in a noticable way, we should do more here.\n\nTest: Build and boot AOSP\nBug: 184847225\nChange-Id: If563bcfcf7a01e4551326f06a2894bd906947025\n"
    },
    {
      "commit": "e8445e579a4a99d3d48714bda475f2c6f1fdda80",
      "tree": "d6bbf17def41de82ed22b7fe881eb5a927e7ae03",
      "parents": [
        "d7506309377250d7eb3202c2b01711a94b4aa989"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Sep 23 14:10:05 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Sep 24 17:22:53 2021 +0000"
      },
      "message": "Always check for an exception after a class lookup.\n\nThis means we need to stop the lookup, as an exception is pending.\n\nTest: 831-unverified-bcp\nBug: 195766785\nChange-Id: I8aa65f6bbaae83eff0be7ca5d82e0c0a548b5b60\n"
    },
    {
      "commit": "2f01e8ed55663b73787e079955d890e1ffd2983e",
      "tree": "804c2a605a0aed384f10ff809d3967afaca568ec",
      "parents": [
        "33a312992c86bdc718783496a9d42a18d7b342b0"
      ],
      "author": {
        "name": "Sorin Basca",
        "email": "sorinbasca@google.com",
        "time": "Fri Jun 18 06:44:07 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 24 10:21:16 2021 +0000"
      },
      "message": "Copying sun.misc.Unsafe to jdk.internal.misc\n\nFrom OpenJDK 10 onward, sun.misc.Unsafe has been moved to\njdk.internal.misc. Trying to merge in changes from OpenJDK 11\ndepends on having jdk.internal.misc.Unsafe available. As\nsun.misc.Unsafe is still used throughout libcore code, it cannot\nbe changed yet, so a copy is made to jdk.internal.misc.Unsafe for\nnow.\n\nAs OpenJDK 11 is merged in and sun.misc.Unsafe references will\ndisappear, it can be deprecated and eventually made to call into\njdk.internal.misc.Unsafe.\n\nTest: m\nTest: art/test/testrunner/testrunner.py -t 004-UnsafeTest\nTest: art/test/testrunner/testrunner.py -t 2235-JdkUnsafeTest\nBug: 190470684\nChange-Id: I472a9778a1001fbd7c3ecce0dfa58ea6d632f158\n"
    },
    {
      "commit": "9cc65df0146e05bda535991290f53b795a61a025",
      "tree": "b1ea41c26c54984a031c17abbc0c85e1195e4ca2",
      "parents": [
        "08a37a09da7992dde879cabb6a8deb3c9e78115c"
      ],
      "author": {
        "name": "Mythri Alle",
        "email": "mythria@google.com",
        "time": "Tue Sep 21 15:09:58 2021 +0000"
      },
      "committer": {
        "name": "Mythri Alle",
        "email": "mythria@google.com",
        "time": "Fri Sep 24 09:23:34 2021 +0000"
      },
      "message": "Drop unused arguments for MethodEntered function\n\nthis_object and dex_pc aren\u0027t used in MethodEntered listener.\n\nTest: art/test/run-test\nChange-Id: I158f962befe1015d21d08c757d4c415fe7865d16\n"
    },
    {
      "commit": "dc26639f11ef2a97bc9aa9d9f4a8b8cbf9791481",
      "tree": "c748d7bc7f61cc291929f877c0a7588319ca44a7",
      "parents": [
        "7ea9270c2d0b2cf500e91877d4ef2c51a9dceec2"
      ],
      "author": {
        "name": "Yuri Lin",
        "email": "yurilin@google.com",
        "time": "Wed Sep 22 17:42:16 2021 +0000"
      },
      "committer": {
        "name": "Yuri Lin",
        "email": "yurilin@google.com",
        "time": "Wed Sep 22 18:14:15 2021 +0000"
      },
      "message": "Revert \"Revert^2 \"Use cpplint.py from repohooks\"\"\n\nThis reverts commit c178495c22b0ea5541e173dd2f319ccbf8b05dd5.\n\nReason for revert: DroidMonitor-triggered revert due to breakage https://android-build.googleplex.com/builds/quarterdeck?branch\u003dgit_sc-dev-plus-aosp\u0026target\u003daosp_crosshatch-userdebug\u0026lkgb\u003d7755813\u0026lkbb\u003d7756178\u0026fkbb\u003d7755871 (one of a few branches breaking), bug b/200807714.\n\nChange-Id: If41be2cd7ea9440351fa78c50da2358f49ab2e93\n"
    },
    {
      "commit": "c178495c22b0ea5541e173dd2f319ccbf8b05dd5",
      "tree": "6e5e3c27b2a46cfee4048600d527b31d3e429f98",
      "parents": [
        "ea55f3de90fb3822c41b6f8715ba6adf6cba2bd4"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Sep 22 12:29:37 2021 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 22 15:24:14 2021 +0000"
      },
      "message": "Revert^2 \"Use cpplint.py from repohooks\"\n\nIssue leading to revert was fixed in commit\nb1d903587248775b526adf379478575f0713ac76\n(https://r.android.com/1833355).\n\nTest: m cpplint-art\nTest: m\nBug: 200771958\n\nThis reverts commit af5fc456b0d6f4ab587dbc3f57e55488eb5912ea.\n\nChange-Id: Iff07960fd1503031418183f747f8d42b4c1d132f\n"
    },
    {
      "commit": "ea55f3de90fb3822c41b6f8715ba6adf6cba2bd4",
      "tree": "2c5a92cf99bce02e06c60efa683e816aa9d9d10a",
      "parents": [
        "52818b0769b697aea537402abb4f7b1d234b6d9e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Sep 07 12:16:56 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Sep 22 12:23:47 2021 +0000"
      },
      "message": "Change only_use_system_oat_files_ logic.\n\nIf we\u0027re creating a process which is a zygote, set it to true. Change it\nto false on non-system-server fork.\n\nThis makes sure that zygote doesn\u0027t load oat files from /data, which\nwould then make system server abort at startup.\n\nTest: 677-fsi, 677-fsi2\nBug: 198531508\nChange-Id: I367fcf79f2e60a32457829ddc88b680fc2d00099\n"
    },
    {
      "commit": "af5fc456b0d6f4ab587dbc3f57e55488eb5912ea",
      "tree": "ad09541d23515ce4a216ff0c19439909ff552aad",
      "parents": [
        "7cbd0e8b3faf18e75ba02af3677973ab0c2cac19"
      ],
      "author": {
        "name": "Paul Hadfield",
        "email": "hadfieldp@google.com",
        "time": "Wed Sep 22 10:12:48 2021 +0000"
      },
      "committer": {
        "name": "Paul Hadfield",
        "email": "hadfieldp@google.com",
        "time": "Wed Sep 22 11:19:10 2021 +0000"
      },
      "message": "Revert \"Use cpplint.py from repohooks\"\n\nThis reverts commit 145f96954680bd24f2c8bbc63b9e199343ba0401.\n\nReason for revert: DroidMonitor-triggered revert due to breakage https://android-build.googleplex.com/builds/quarterdeck?branch\u003daosp-master\u0026target\u003daosp_x86_64-userdebug\u0026lkgb\u003d7754422\u0026lkbb\u003d7754941\u0026fkbb\u003d7754782, bug b/200771958\n\nBUG: 200771958\n\nChange-Id: Ie8ca21d5f14d6e1dcda4d0a2f730f4590f7ce108\n"
    },
    {
      "commit": "d726cb1f9c607fc2f640ec595286cadd155af68e",
      "tree": "0242b98413e81ad06591a160099e58185dad83df",
      "parents": [
        "145f96954680bd24f2c8bbc63b9e199343ba0401"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Sep 21 17:20:14 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Sep 22 09:44:00 2021 +0000"
      },
      "message": "Fix missing suspend check in nterp for goto32 +0\n\nTest: 830-goto-zero\nBug: 200660605\nChange-Id: I2267fa3d2842cc84e2e5b3ee8cf04989cd423a50\n"
    },
    {
      "commit": "145f96954680bd24f2c8bbc63b9e199343ba0401",
      "tree": "7d6bb8b6ae8f2b20448503c43f4d0c9b77d8bda5",
      "parents": [
        "e684fc5975d448d761a2123a79f8be9d30089e15"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Sep 21 14:18:11 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 22 08:33:03 2021 +0000"
      },
      "message": "Use cpplint.py from repohooks\n\nThe cpplint.py in external/google-styleguide is out of date and doesn\u0027t\nsupport python 3.  Switch to the one in tools/repohooks/tools to match\nthe preupload configuration.  Also fix some lint issues caught by the\nnew version.\n\nTest: m cpplint-art\nChange-Id: Ie8c307388362c03c6f33cda6d4ec95c244481adf\n"
    },
    {
      "commit": "e684fc5975d448d761a2123a79f8be9d30089e15",
      "tree": "7632c1ce85c0969f3a657429525a1d5208e16edc",
      "parents": [
        "4e6cc7384f7c52d2fd9e13414696338c289d63f9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 20 09:30:35 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Sep 22 08:20:28 2021 +0000"
      },
      "message": "Add kryo785 as known variant.\n\nTest: m\nBug: 199569303\nChange-Id: I4c91bd1e8d5646ee1c46dc8dec8aa1a3ab602136\n"
    },
    {
      "commit": "7fa70866414df11ef0c9d8eca3e6c23788e8c9d8",
      "tree": "2220f0057661852e53239319156f4161730096b5",
      "parents": [
        "e3e01845d2643916699f1ee15149ed360b14ebeb"
      ],
      "author": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Wed Sep 15 08:56:56 2021 +0000"
      },
      "committer": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Wed Sep 22 05:30:53 2021 +0000"
      },
      "message": "Update ART runtime to recognize artifacts on /system for APEX.\n\nContext: go/location-for-compilation-artifacts-of-apex-jars\n\nThis change enables ART runtime to use the artifacts generated by\naosp/1821984.\n\nBug: 194150908\nTest: atest art_standalone_libartbase_tests\nTest: manual - 1. Patch aosp/1828115.\n  2. Build a system image and flash it into a device.\n  3. adb root \u0026\u0026 adb shell grep \"/system/framework/oat\" /proc/`adb shell pidof system_server`/maps\n  4. See \"/system/framework/oat/x86_64/apex@...\" in the output.\nChange-Id: I74cb21433d63b1f3ed4d096ab0c86f09bced4b97\n"
    },
    {
      "commit": "9f98fc31900571e701dc02c5749f9f192f997d47",
      "tree": "4ec53000edaa61d8e9bef5a1b02473be554a6a8e",
      "parents": [
        "ad0daef0da6be2cb613b879437d607c7b2ff2dbe"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Sep 21 10:47:59 2021 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 21 13:53:53 2021 +0000"
      },
      "message": "Add couple DexCache read-barriers.\n\nI intend to make some of the fields mutable in the next CL,\nwhich means we cannot skip the read-barrier any more.\n\nSplit this into own CL to make it easier to check if\nthere are any significant performance changes.\n\nBug: 182072259\nTest: test.py -b -r --host --64\nChange-Id: Ia20a3ba8285eb56ae6ff9e7fa5c0a62b14d88b65\n"
    },
    {
      "commit": "ad0daef0da6be2cb613b879437d607c7b2ff2dbe",
      "tree": "c9518484309538d093e2ebc935080ef10937ed23",
      "parents": [
        "39e2979b92c25fc825944bda346216395d326395"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 20 14:58:58 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Sep 21 10:27:23 2021 +0000"
      },
      "message": "An incompatible field type assignment is always an error.\n\nEither make it conditional type check for unresolved types, or a fatal\nerror.\n\nTest: test.py\nBug: 28313047\nChange-Id: Iec06306d6d2c89bc6c871b03e1469de0cf2b8ebb\n"
    },
    {
      "commit": "39e2979b92c25fc825944bda346216395d326395",
      "tree": "76ebdb27bce5ab57139b3e805f2f9119eda068f2",
      "parents": [
        "816b0da3ef7a2fffeda087917353646b3d48fd62"
      ],
      "author": {
        "name": "Usama Arif",
        "email": "usama.arif@linaro.org",
        "time": "Fri Nov 15 10:53:29 2019 +0000"
      },
      "committer": {
        "name": "Joel Goddard",
        "email": "joel.goddard@linaro.org",
        "time": "Mon Sep 20 15:13:57 2021 +0100"
      },
      "message": "ARM64: FP16 min and max intrinsic for ARMv8\n\nThis CL implements intrinsics for min and max method with\nARMv8.2 FP16 instructions.\n\nAlso refactors the location builders for FP16 Compare\noperations to use new helper FP16ComparisonLocations.\n\nThe performance improvements using timeMinFP16 FP16Intrinsic\nmicro intrinsic benchmark on pixel4:\n- Java implementation libcore.util.FP16.min:\n    - big cluster only: 935\n    - little cluster only: 2373\n- arm64 min Intrinisic implementation:\n    - big cluster only: 495 (~47% faster)\n    - little cluster only: 1521 (~36% faster)\n\nThe performance improvements using timeMaxFP16 FP16Intrinsic\nmicro intrinsic benchmark on pixel4:\n- Java implementation libcore.util.FP16.max():\n    - big cluster only: 1067\n    - little cluster only: 2383\n- arm64 max Intrinisic implementation:\n    - big cluster only: 496 (~53% faster)\n    - little cluster only: 1508 (~37% faster)\n\nTest: 580-checker-fp16\nTest: art/test/testrunner/run_build_test_target.py -j80 art-test-javac\nChange-Id: I6ecbc96ef7fa7fcb67f5855de3a6f551c247566e\n"
    },
    {
      "commit": "236f7bf20509e82e33404932689ef4feaf73e762",
      "tree": "92332d9af7c7149e82ba9e555a490857dce015fe",
      "parents": [
        "073885cca8f9c52cc11629f9933ef97b6686bcfa"
      ],
      "author": {
        "name": "Nikita Iashchenko",
        "email": "nikitai@google.com",
        "time": "Wed Sep 15 17:36:39 2021 +0100"
      },
      "committer": {
        "name": "Nikita Iashchenko",
        "email": "nikitai@google.com",
        "time": "Sun Sep 19 14:46:19 2021 +0000"
      },
      "message": "OpenJDK 11: replace Thread#init() with constructors\n\nUpdate expected stack trace for UnstartedRuntime tests as\njava.lang.Thread was refactored from using internal init() function to\nconstructors.\n\nBug: 199751232\nTest: art/test.py --host -g\nChange-Id: I4973457cce96ab2e8684198c486e70a63fd24ddb\n"
    },
    {
      "commit": "073885cca8f9c52cc11629f9933ef97b6686bcfa",
      "tree": "33a4a90eb66e0536fb037f3492cb6255d3c845a4",
      "parents": [
        "96d8f4f3cf969ba8ab61abfb813b47969fe73bcc"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Sep 14 14:35:15 2021 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Sep 17 22:54:50 2021 +0000"
      },
      "message": "Fix art compiling against musl\n\nFix various issues when compling art against musl:\n\nCheck for ANDROID_HOST_MUSL when defining strlcpy and sig*64.\n\nRemove error.h, its not used and doesn\u0027t exist in musl.\n\nInclude time.h that was being included transitively in glibc but\nnot in musl.\n\nAdd the musl libc library name to the list.\n\npthread_sigqueue takes a sigval, not a sigval_t.\n\nBug: 190084016\nTest: m USE_HOST_MUSL\u003dtrue\nChange-Id: I2548ef0013234c42efded411c733450c19434855\n"
    },
    {
      "commit": "f740be5efcc31826b29e5a23aa9a46a1d53d824d",
      "tree": "aad23d44c68daf27f16d3f2d4127394ebd12912f",
      "parents": [
        "7a3ccd0082aae9dad53733549e5d414af1de00d6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Sep 16 14:07:37 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Sep 16 16:57:39 2021 +0000"
      },
      "message": "Handle the case the enclosing class is missing.\n\nFix a crash in ART when Class.getEnclosingClass was hitting a missing\nclass.\n\nTest: 829-unresolved-enclosing\nBug: 195604858\nChange-Id: I12cb8fbcc55f8f011303ffd6fe61537dd0b0f7f4\n"
    },
    {
      "commit": "8214de1bb682b2d0fc4968943ecddd9415d6b75f",
      "tree": "09bafde31364bc02c87386da974526ae07956898",
      "parents": [
        "53395f0b6846b121a935e2944a2b884999c2f878"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Sep 07 17:17:22 2021 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Sep 15 16:22:46 2021 +0000"
      },
      "message": "Do not mark large objects for evacuation\n\nWe previously copied entire page-aligned regions containing a single\nlarge object under certain unlikely conditions. Aside from occasionally\ncausing us to run out of memory in the GC under even less likely\nconditions, this generally appears to be wasted effort. The copy\nis allocated before deallocating from-space regions, so there is\nno reason to believe it will reduce fragmentation at the region\nlevel, which seems to be its only plausible benefit.\n\nRemove the code to copy such objects, since that situation no\nlonger arises.\n\nHave the space flip clear live_bytes, fixing an earlier bug that\notherwise causes this CL to break. (Thanks to lokeshgidra@ for this\npiece.)\n\nAdd a large comment to live_bytes_ better explaining its use.\n\nDrive-by-fix: Remove \"temporary\" output for b/116087961 that has\nbeen closed for 2 years.\n\nTest: Build and boot AOSP. Run test from bug repeatedly.\nBug: 191912426\nChange-Id: I1603cd898aedcbcdd75fe019770213f0eae506d3\n"
    },
    {
      "commit": "8c3b33fe9878b008143ce80dc59c6dccda99b4b2",
      "tree": "3e8fb9db8e5abb9cbf2822160b2acf16f18a01eb",
      "parents": [
        "8be663808b0bdab63ebdea2f0175f6a49b331a2c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Sep 14 14:53:30 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Sep 15 09:58:37 2021 +0000"
      },
      "message": "Skip version 199.\n\nIt is used internally, so to ensure we don\u0027t conflict, bump the version\nagain.\n\nTest: test.py\nChange-Id: I9503573d4eeebfe4b45f6e167d8d7dd2c96d5fcb\n"
    },
    {
      "commit": "ab91eefc875956752c20e47f5e23715597b41511",
      "tree": "f651ffdf07197b50c3dbbfd6880d3a75940140f1",
      "parents": [
        "e8a822d2209a644f30fc1b6db3c70ec5faf2b79a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Sep 14 09:48:51 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Sep 14 13:49:58 2021 +0000"
      },
      "message": "Address review comments on method resolution.\n\nFollow-up after:\nhttps://android-review.googlesource.com/c/platform/art/+/1825135\n\nTest: 827-resolve-method\nBug: 199246839\nChange-Id: I085348040308d70730bd7f90bd3aa8ded5113087\n"
    },
    {
      "commit": "76a943abedf97ebfc36a826edd447ee411345aa2",
      "tree": "b2f5804ce4eeac90504d158abe2429ff928f426e",
      "parents": [
        "6e458174b331e5acfc67792b571fccc5bbcd2f50"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 13 17:28:00 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Sep 14 08:39:34 2021 +0000"
      },
      "message": "Update .oat version after disabling partial LSE.\n\nThis will ensure we don\u0027t take any .oat file that has the bogus\ngenerated code.\n\nTest: test.py\nBug: 197981962\nChange-Id: Ic14d18d310bdcd408c1f6e2777ef53a041fb2f12\n"
    },
    {
      "commit": "6e458174b331e5acfc67792b571fccc5bbcd2f50",
      "tree": "fa6d23c214e8ba2187143e593b30c26934edbbc9",
      "parents": [
        "3de02fb67de386368c9fe39ab5a0133afcf1d785"
      ],
      "author": {
        "name": "Sekyeong Heo",
        "email": "sekyeong.heo@samsung.com",
        "time": "Wed Aug 25 20:26:58 2021 +0900"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Mon Sep 13 21:50:08 2021 +0000"
      },
      "message": "[art] Add GetPreOomeGcCount API\n\nIt\u0027s difficult to analyze sluggish issue due to excessive GC.\nSo, I would like to add API for GC status check.\n\nGetPreOomeGcCount\n  Return the count of Pre OOME(Out-Of-Memory-Exception) GC.\n  When process almost ran out of heap, so just before throw OOME,\n  this GC will be performed.\n  How to use : Debug.getRuntimeStat(\"art.gc.pre-oome-gc-count\")\n\nThis must be submitted with the libcore code.\n\nTest: check value using Debug.getRuntimeStat()\nChange-Id: I00885c3c60a28e606f22e93c774805b5acc7c3e7\n"
    },
    {
      "commit": "248d5c41b7245c1b42ce2921c8d83291bd17b3bf",
      "tree": "46668cc75ef94dd1675966f6537597e565ddb311",
      "parents": [
        "8dea9c4f6495c7c5477cb368b45a7cb77a87dbf6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 13 09:53:10 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 13 12:42:40 2021 +0000"
      },
      "message": "Add an obsolete stub check in ArtMethod::GetOatQuickMethodHeader.\n\nSuch stub doesn\u0027t have a method header, so we should not enter this\npath. Also add a DCHECK that we don\u0027t request a method header for a\nstub.\n\nTest: test.py\nBug: 199044437\nChange-Id: I47c22f266d26e08985238a2c130af092334c1acc\n"
    },
    {
      "commit": "c07f48875c60d88205283c979898ce31df2a2026",
      "tree": "d161f50a0b964468879ca14e4601fd1f6c029ae0",
      "parents": [
        "7fae86c62a9ffeb94a7c11f1660c94873368dcec"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 13 09:20:33 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 13 10:47:54 2021 +0000"
      },
      "message": "Add a test and consistency checks in method / field resolution.\n\nAlways use the associated class loader of a dex cache.\n\nTest: test.py\nBug: 199246839\nChange-Id: Ib512126915cac4af229a5a206a8b4d9d73bdf02a\n"
    },
    {
      "commit": "1c494e36f246a982070e125dec3c1139f9289c6e",
      "tree": "94696cb9f59fb4bd54015797a98b90b0990cf3d3",
      "parents": [
        "9a10f5b5b4ef47eed7e5f5cccb1554079acb7455"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Sep 10 13:28:19 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Sep 10 16:42:14 2021 +0000"
      },
      "message": "Use the right class loader for ResolvedMethodAccessTest.\n\nThe method_id is relative to the current class and its dex cache.\n\nTest: test.py\nBug: 199246839\nChange-Id: Ic9b29bda22d2dc1781e3e2daac57f55ba69c7e2d\n"
    },
    {
      "commit": "a74a7071490e47e1b5590cc19726f1620fd0ee43",
      "tree": "a0e9077dc89370dd1f8d39e3df9af09e36e13aeb",
      "parents": [
        "0de8c022aa60c4774247b90ebe6bef33f6844752"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Sep 09 17:06:46 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Sep 10 11:01:26 2021 +0000"
      },
      "message": "vdex: add checks in the event of file corruption.\n\nIt\u0027s unclear yet why the vdex files are being corrupted. But system\nserver, which is reading these vdex files should be robust to any vdex\ncorruption.\n\nBug: 199309980\nBug: 199395272\nTest: test.py\nChange-Id: Ia85ab8b23a0be4069cfa058a86fdf561f1ceb432\n"
    },
    {
      "commit": "2999759192712340f60364ac428e7b4497bd76db",
      "tree": "349647d343e3d278472ce3d2c81e2d99dd1e1a1f",
      "parents": [
        "1126d74e2a60e2ede9336717df217c5d2cb473fe"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Fri Aug 27 17:31:20 2021 +0800"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Fri Sep 10 04:21:51 2021 +0000"
      },
      "message": "Suppress three counts of compiler warnings for frame size limit exceeded\n\n-Wframe-larger-than\u003d was not enforced when LTO is enabled, until the\nupcoming compiler update. Suppress the warnings for now to unblock the\nupdate process, and then the ART team can reproduce the breakage.\n\nBug: 197647048\nTest: build\nChange-Id: Ief1d999efaff4e92a1e44b81d56afec87ee43e72\n"
    },
    {
      "commit": "1126d74e2a60e2ede9336717df217c5d2cb473fe",
      "tree": "2ff48321ec20114ecb8082e743a535ea61e824f6",
      "parents": [
        "d6576ef342ec4bd279adb09ac1e7589cf2485455"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Sep 09 15:02:37 2021 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Sep 09 15:11:59 2021 +0100"
      },
      "message": "Expand error message in ResolvedMethodAccessTest\n\nBug: 199246839\nTest: Print the error message even when check passes.\nChange-Id: I224d76a316c4ec05152e69d28cb17cbbc38a111f\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": "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": "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": "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": "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": "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": "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": "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"
    }
  ],
  "next": "e261356db98dc27bcec4048b3eaf9834864169aa"
}
