)]}'
{
  "log": [
    {
      "commit": "f5ceaacef619543932a5afb459aebe876170cce0",
      "tree": "f50487a820a634d53f4c798ff88f7a82faf6ca81",
      "parents": [
        "409d1db74af9605cb8361b1487dd829820473f0f"
      ],
      "author": {
        "name": "Santiago Aboy Solanes",
        "email": "solanes@google.com",
        "time": "Mon Nov 15 11:38:37 2021 +0000"
      },
      "committer": {
        "name": "Santiago Aboy Solanes",
        "email": "solanes@google.com",
        "time": "Mon Nov 15 18:10:16 2021 +0000"
      },
      "message": "Removed comment talking about a removed parameter\n\nQuickCompilerCallbacks used to have a `verification_results` parameter,\nwhich got removed in https://android-review.googlesource.com/439821\n\nChange-Id: I9dc891425662bc753a50860a9d8112f24072c367\n"
    },
    {
      "commit": "483c41a99b8f0b63cbdcac9f1cd1f2dcb5756b0c",
      "tree": "0607ab807d82679a1097a24461a955909ba61dfe",
      "parents": [
        "9575c124c3d77e9f07e8c101571776ac9270af83"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 12 12:45:23 2021 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Nov 15 09:53:15 2021 +0000"
      },
      "message": "ART: Use core image to speed up some gtests.\n\nHost timing of\n  art_compiler_tests --no_isolate --gtest_filter\u003d\u0027\u003cpattern\u003e\u0027\nfor different patterns:\n  \"ms total\"                    before after\n  LoadStoreEliminationTest*      16945  4750\n  LoadStoreAnalysisTest*          2647   689\n  ReferenceTypePropagationTest*  13542  3929\n  InstructionSimplifierTest*      1452   406\n\nHost timing of\n  art_runtime_tests --no_isolate --gtest_filter\u003d\u0027\u003cpattern\u003e\u0027\nfor different patterns:\n  \"ms total\"                    before after\n  RegType*Test*                   2976  1675\n  DexCacheTest*                    265    74\n  JavaVmExtTest*                   785   230\n\nHost timing of\n  art_libartbase_tests --no_isolate --gtest_filter\u003d\u0027\u003cpattern\u003e\u0027\nfor different patterns:\n  \"ms total\"                    before after\n  FlagsTests*                      691   214\n\nHost timing of\n  art_dex2oat_tests --no_isolate --gtest_filter\u003d\u0027\u003cpattern\u003e\u0027\nfor different patterns:\n  \"ms total\"                    before after\n  VerifierDepsTest*               3567   874\n\nTest: m test-art-host-gtest\nChange-Id: I20df90e3d38aaa286e22ba070c7845bcb09e3bca\n"
    },
    {
      "commit": "219f81f52477d22ad9618e111b356193bce616de",
      "tree": "6b05fc2b748db3eba21ac65e16a2475cf6c6b924",
      "parents": [
        "cb8f8c12872d36304dbac80fbd08d8400a757fe5"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Nov 10 19:48:08 2021 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Nov 11 21:37:16 2021 +0000"
      },
      "message": "Fix potential lint errors\n\nBug: 200914293\nTest: m cpplint-art (using tools/repo-hooks/tools/cpplint.py)\nTest: treehugger\nChange-Id: I8ec57527ad7ce94b26c4f65727f536a5ebbbd6aa\n"
    },
    {
      "commit": "a0232ad060c65d0ac3e022c9f721b41c02fd0b71",
      "tree": "7fcc4bcac3d271342262e03e69cac6dd1deb7a88",
      "parents": [
        "6806d3c9e41e0e8b187d5e4c76d48ea6cc90b613"
      ],
      "author": {
        "name": "Santiago Aboy Solanes",
        "email": "solanes@google.com",
        "time": "Mon Nov 08 17:00:06 2021 +0000"
      },
      "committer": {
        "name": "Santiago Aboy Solanes",
        "email": "solanes@google.com",
        "time": "Thu Nov 11 09:12:07 2021 +0000"
      },
      "message": "Add .bss support for inlining across dexfiles within Oat\n\nWe can safely reference other dexfiles within the same oat file for cross-dex inlining.\n\nThis CL makes the OptStat#NotInlinedBss drop to less than 1% of the not-inlining cases.\n\nTest: ART tests\nChange-Id: I676d48d973abf7a6f8412cf3b7bb73afd7747f31\n"
    },
    {
      "commit": "9dca919ad219bcc093821ec30c14a6df1ef7ede5",
      "tree": "570e0dac7340464a3738eedcc03bf533ca565981",
      "parents": [
        "b747b7aa66e41160e5811ab824f93a38b2bf4ef3"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Oct 28 03:01:13 2021 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Nov 09 15:30:21 2021 +0000"
      },
      "message": "Make art_debug_defaults inherit art_defaults.\n\nTo take art_defaults closer to a true global defaults used by\neverything in the ART module. This also means we unify the compiler\nflags for various debug-only things that didn\u0027t inherit art_defaults\nexplicitly.\n\n#codehealth\n\nTest: Run-tests, gtests, libcore tests and libjdwp tests for host and\n  device on master-art\nBug: 204364566\nChange-Id: Ic76093f104169fc9178c6b6acca6db23d643f9ec\n"
    },
    {
      "commit": "5097f83c4719a76fdfab1044ab745273841aca45",
      "tree": "adca5e53b3ef1807aa7dd9c3465ac3305fedc4fd",
      "parents": [
        "d1e6bea2c502a72dc5d0c3d16deb591ba61c9d76"
      ],
      "author": {
        "name": "Mythri Alle",
        "email": "mythria@google.com",
        "time": "Tue Nov 02 14:52:30 2021 +0000"
      },
      "committer": {
        "name": "Mythri Alle",
        "email": "mythria@google.com",
        "time": "Tue Nov 09 14:22:50 2021 +0000"
      },
      "message": "Revert^2 \"Add support for calling entry / exit hooks directly from JIT code\"\"\n\nThis reverts commit 72be14ed06b76cd0e83392145cec9025ff43d174.\n\nReason for revert: A reland of\ncommit 2d4feeb67912d64b9e980e6687794826a5c22f9d with a fix for no-image\ntests\n\nChange-Id: I79f719f0d4d9b903db301a1636fde5689da35a29\n"
    },
    {
      "commit": "46a8910372da2976c4e74273bacce17924b00d7a",
      "tree": "d94f0ca575a9539a69efd6e09613279dd90bc2fa",
      "parents": [
        "fa66389fbeeb2b4a6e1e1f5805653222f424a9bf"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Oct 21 13:05:46 2021 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 02 10:12:57 2021 +0000"
      },
      "message": "Revert^2 \"JNI: Remove `JniMethodFast{Start,End}()`.\"\n\nThis reverts commit 2ca0900e98d826644960eefeb8a21c84850c9e04.\n\nReason for revert: Fixed instrumentation for suspend check\nfrom JNI stub, added a commented-out DCHECK() and a test.\nThe commented-out DCHECK() was correctly catching the bug\nwith the original submission but it also exposed deeper\nissues with the instrumentation framework, so we cannot\nfully enable it - bug 204766614 has been filed for this.\n\nOriginal message:\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\nTest: testrunner.py --host --jit --no-image\nTest: testrunner.py --host --optimizing --debuggable -t 2005\nBug: 172332525\nBug: 204766614\nChange-Id: I9cc7583fc11c457a53fe2d1a24a8befc0f36410d\n"
    },
    {
      "commit": "72be14ed06b76cd0e83392145cec9025ff43d174",
      "tree": "aa186f70ea70011d428ab91a1f4a3fb0c2e39de5",
      "parents": [
        "667584d95926af5f0f6e392ab2dc575cc2906c51"
      ],
      "author": {
        "name": "Mythri Alle",
        "email": "mythria@google.com",
        "time": "Mon Nov 01 11:48:06 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 01 14:31:37 2021 +0000"
      },
      "message": "Revert \"Add support for calling entry / exit hooks directly from JIT code\"\n\nThis reverts commit 2d4feeb67912d64b9e980e6687794826a5c22f9d.\n\nReason for revert: This breaks no-image tests. Example failure: https://android-build.googleplex.com/builds/submitted/7871904/art-no-image/latest/view/logs/build_error.log\n\nChange-Id: I0f97c672c2d48f125931171ee1041a7c1cf20127\n"
    },
    {
      "commit": "2d4feeb67912d64b9e980e6687794826a5c22f9d",
      "tree": "7ab2071bbf5d5907d205b8e2a092ea9869974ba1",
      "parents": [
        "60abdd9c89525a277d75df19ff2792614651e1ff"
      ],
      "author": {
        "name": "Mythri Alle",
        "email": "mythria@google.com",
        "time": "Wed Oct 13 15:39:37 2021 +0000"
      },
      "committer": {
        "name": "Mythri Alle",
        "email": "mythria@google.com",
        "time": "Mon Nov 01 08:31:54 2021 +0000"
      },
      "message": "Add support for calling entry / exit hooks directly from JIT code\n\nThe idea of this CL is to avoid maintaining the instrumentation stack\nand manipulating the return addresses on the stack to call the entry /\nexit hooks. This Cl only addresses this for JITed code. In follow up\nCLs, we will extend this to others (native, nterp). Once we have\neverything in place we could remove the complexity of instrumentation\nstack.\n\nThis CL introduces new nodes (HMethodEntry / HMethodExit(Void)) that\ngenerate code to call the trace entry / exit hooks when\ninstrumentation_stubs are installed. Currently these are introduced for\nJITed code in debuggable mode. The entry / exit hooks roughly do the\nsame this as instrumentation entry / exit points.\nWe also extend the JITed frame slots by adding a ShouldDeoptimize slot.\nThis will be used to force deoptimization of frames when requested by\njvmti (for ex: structural re-definition).\n\nTest: art/testrunner.py\nChange-Id: Id4aa439731d214a8d2b820a67e75415ca1d5424e\n"
    },
    {
      "commit": "60abdd9c89525a277d75df19ff2792614651e1ff",
      "tree": "f9addcf0c5b9f1218144bd8179c0518baf4d1789",
      "parents": [
        "6f6929aab4b9601a45100b64204c1ba44624f905"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Oct 28 17:53:38 2021 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Sat Oct 30 16:17:51 2021 +0000"
      },
      "message": "Display the timeout value of `dex2oat`\u0027s watchdog in milliseconds.\n\nThe value of this timeout is internally represented in milliseconds\nand is set as a duration in milliseconds with `dex2oat`\u0027s option\n`--watchdog-timeout`. However, it used to be reported in seconds in\nerror messages, which would misrepresents small values; change error\nreporting to display this value in seconds for clarity.\n\nTest: atest art_standalone_dex2oat_tests\nBug: 200251675\nChange-Id: I7f83e923fafc0b35e3efdd6ec71eb8bb9c460c69\n"
    },
    {
      "commit": "6f6929aab4b9601a45100b64204c1ba44624f905",
      "tree": "9dabaa58750859e533cbc17d29891e19bc97a72b",
      "parents": [
        "0a42f1e85d989476c1be2acb5615ca61a1c0f65a"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Oct 28 17:46:21 2021 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Sat Oct 30 16:17:51 2021 +0000"
      },
      "message": "Fix the documentation of `dex2oat`\u0027s option `--watchdog-timeout`.\n\nThis option\u0027s argument is expected to be a duration expressed in\nmilliseconds, but the documentation says it should be a value\nexpressed in seconds. Adjust the latter to match the former.\n\nTest: atest art_standalone_dex2oat_tests\nBug: 200251675\nChange-Id: Ib6a9fa23d4e8241f93aa180e143090b58b3bbe5c\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": "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": "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": "8d12ed67ba98bd0dce58bcebddf89cdb10fe3106",
      "tree": "c6f1a427139772aafd541dfacc48070a0e730db5",
      "parents": [
        "381e66a768c5100c5efc085d0e74d2e37fe6b7a4"
      ],
      "author": {
        "name": "Sorin Basca",
        "email": "sorinbasca@google.com",
        "time": "Tue Oct 12 16:17:37 2021 +0000"
      },
      "committer": {
        "name": "Sorin Basca",
        "email": "sorinbasca@google.com",
        "time": "Tue Oct 12 16:17:37 2021 +0000"
      },
      "message": "Revert \"Implement another OdrDexopt to use new CompOS API\"\n\nThis reverts commit 381e66a768c5100c5efc085d0e74d2e37fe6b7a4.\n\nReason for revert: Build break\n\nBug: 202843353\nChange-Id: I48299a90f17d9ad8ff9260ebc618ac915b24e6a7\n"
    },
    {
      "commit": "381e66a768c5100c5efc085d0e74d2e37fe6b7a4",
      "tree": "7762353c8990e448917cfa4f336adaca6ad6b740",
      "parents": [
        "dc744e552a489c0b9e01112a065e5c4f56077006"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Fri Oct 01 12:05:35 2021 -0700"
      },
      "committer": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Tue Oct 12 15:48:35 2021 +0000"
      },
      "message": "Implement another OdrDexopt to use new CompOS API\n\nThe old OdrDexoptCompilationOS (now renamed) is still active (currently\ncontrolled by a constant in the code) until everything is in place.\n\nThe new OdrDexoptCompilationOS put DexoptBcpExtArgs or\nDexoptSystemServerArgs into ExtendableParcelable with TaskType.\nThe ExtendableParcelable and TaskType makes it easy for ART to add other\ntask types to run in CompOS.\n\nBug: 193668901\nTest: atest ComposHostTestCases (with other changes)\n\nChange-Id: I7fc76942e38c50c12f5819e5114e48911f77d08b\n"
    },
    {
      "commit": "79b74d715a7c9960afe758f36c383dd9978ed25d",
      "tree": "68753fe0d63f612f501d70bd9ee0124ffe361c55",
      "parents": [
        "1558048c31b90ff5b3baf611d4dd70c1a003adfb"
      ],
      "author": {
        "name": "Santiago Aboy Solanes",
        "email": "solanes@google.com",
        "time": "Tue Oct 12 13:17:46 2021 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 12 14:21:33 2021 +0000"
      },
      "message": "Do not release the driver_ if we are dumping stats\n\nWhen using the --dump-stats option, we get those stats logged when the optimizing compiler gets destroyed. If we release the driver_, the destructor will never be called.\n\nChange-Id: I04c4c808627f0eb96d5f5f67ff123c678287c8a5\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": "983c21762de318f0991a8fc2074c81438b1e4f17",
      "tree": "cae4170c9856d4acaf1a84d4178bc8d6a3eace85",
      "parents": [
        "33df0e3e47adc053c34a0ad3f4bb78ee3dd40e7f",
        "7f4f4eb3b28aeede536cf0ba2852dab6b7ece113"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Thu Oct 07 23:48:13 2021 +0000"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Thu Oct 07 23:48:13 2021 +0000"
      },
      "message": "Merge \"Merge Android 12\""
    },
    {
      "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": "0e802db6f4d49f0928be3f62c265e6e014bc4523",
      "tree": "74a20849fa03993f2bfc0456207304c43a82a6c8",
      "parents": [
        "cbc0f7670754e28c45058f5737912912bde6f9d4",
        "6fbcc2915949d0680e6e9578a5836ee8dcbc467f"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Oct 05 13:24:28 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Oct 05 13:24:28 2021 +0000"
      },
      "message": "Change ClassLinker::dex_caches_ from list to unordered_map. am: 6fbcc29159\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1603475\n\nChange-Id: Ib933be35211869dbc5d668f9657ad0ee566fa165\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": "9d7d5c4b90fd7530d77b21149d005fbcdf2950a3",
      "tree": "0adf58d804320cd5bf682ff8755a4d3d09afe552",
      "parents": [
        "13a0e728dfaf2b66de9bfc1b62726410c7c8561d",
        "4b0c9b91de2731675b6121a33c192585ba988992"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Oct 04 13:29:13 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Oct 04 13:29:13 2021 +0000"
      },
      "message": "Remove the notion of soft failure within the verifier. am: 4b0c9b91de\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1842426\n\nChange-Id: Ib8d155a400e448bbb257feccc0433f66408746a9\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": "587180c98e5f7de804508eb88e98e0e87b571119",
      "tree": "aebd9ea5dca412c046ef85684d31e0db5a5d4564",
      "parents": [
        "8112f1ec467743ed00117113663b24464c674656",
        "8473a5bf11d82f88f3e9a47965ed43411d29a377"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Sep 30 10:06:42 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Sep 30 10:06:42 2021 +0000"
      },
      "message": "Revert \"Revert^2 \"Lazily allocate DexCache arrays.\"\" am: 8473a5bf11\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1841294\n\nChange-Id: I1f909d92b89c7c16d12f788f3808fc373d4204da\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": "561ddaeb58e4036bf90e19c78e0e762a6ed16dc8",
      "tree": "62530b98a8f68fe9fd8652b6424097813a1b74cf",
      "parents": [
        "a889e9b51bd1cb9a270a7a980c5a72df65331eef",
        "e153a62e8e8a2c42f86d2db87c8188cd0d7bef6b"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Sep 28 12:50:06 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Sep 28 12:50:06 2021 +0000"
      },
      "message": "Revert^2 \"Lazily allocate DexCache arrays.\" am: e153a62e8e\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1613119\n\nChange-Id: I61fca6c5c1a0294ade1a68e76c1f6c50b370786e\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": "16a9b90b22b4a2f59f6f234a7a836f80bef8ccb5",
      "tree": "6500a6beba405e129ca9da640ceb8d1f6524f6d6",
      "parents": [
        "8df96916c39235f5b6a18327cd0559417f0cb899",
        "03ce70a18e860abe5ab2e2198cb928e43a732e9c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Sep 28 07:30:39 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Sep 28 07:30:39 2021 +0000"
      },
      "message": "Better handling of unresolved fields in VerifyISFieldAccess. am: 03ce70a18e\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1837415\n\nChange-Id: I44202ece4a83911d05126b28c4c5208c131e24ac\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": "bb682b3be8abf0bc03ea9d20929aa5942a347953",
      "tree": "e881fb2bae3fc802aec12278549c7b48ef6471c1",
      "parents": [
        "07f1e8297bbf7238e7dba11bbfad74817f7a2e12",
        "dc26639f11ef2a97bc9aa9d9f4a8b8cbf9791481"
      ],
      "author": {
        "name": "Yuri Lin",
        "email": "yurilin@google.com",
        "time": "Wed Sep 22 18:26:47 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Sep 22 18:26:47 2021 +0000"
      },
      "message": "Revert \"Revert^2 \"Use cpplint.py from repohooks\"\" am: dc26639f11\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1833633\n\nChange-Id: I511cc8064242a940ac5e6f948d0763c43ffb583a\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": "a31843976a48771982ef59fcb81192e9aea8f2ea",
      "tree": "93a7b52ea11cf9ccfc6b32e20b2feb5f0f34ee57",
      "parents": [
        "afa617be5c2379f5720486fb532f68fa59f05e5c",
        "c178495c22b0ea5541e173dd2f319ccbf8b05dd5"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Sep 22 15:34:49 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Sep 22 15:34:49 2021 +0000"
      },
      "message": "Revert^2 \"Use cpplint.py from repohooks\" am: c178495c22\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1833453\n\nChange-Id: Iae124e007f10e0301a290aa1ef46c4d31fa20c20\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": "b65b083d314aebcb4288625ce799420b8b45ec4b",
      "tree": "4170a49d3a6f4dcda6c9af367067f0ac50412e2d",
      "parents": [
        "26b2436bde87bfc877cdd70e20399acee064e360",
        "af5fc456b0d6f4ab587dbc3f57e55488eb5912ea"
      ],
      "author": {
        "name": "Paul Hadfield",
        "email": "hadfieldp@google.com",
        "time": "Wed Sep 22 11:19:58 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Sep 22 11:19:58 2021 +0000"
      },
      "message": "Revert \"Use cpplint.py from repohooks\" am: af5fc456b0\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1832311\n\nChange-Id: Ib276ce8abee6921e0d6bb8d5661bb12e4ef414fb\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": "bd4df72c749ab4eda0657dd2b112863f82857c42",
      "tree": "10ed5135fbbe55123c0f93475f7ea87ecf3e517e",
      "parents": [
        "93fc289dce3eb9f143031f4f729d3a7bb0fdbed5",
        "145f96954680bd24f2c8bbc63b9e199343ba0401"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Sep 22 08:35:04 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Sep 22 08:35:04 2021 +0000"
      },
      "message": "Use cpplint.py from repohooks am: 145f969546\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1832734\n\nChange-Id: I2aedf7d012aea5aa05563fc646d14ecea8add904\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": "3d12fad7ee6d45bebd2ee09b034f90a4ad667a14",
      "tree": "4886b2bca4849771bdf80192df6626f760bd85f8",
      "parents": [
        "aacd556c4a39e18893984566edbf7e72ce68d3a8",
        "d8c0ac264f606bf0c69781388ca6048eb0a4b55f"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Sep 07 13:43:38 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Sep 07 13:43:38 2021 +0000"
      },
      "message": "Better isolate standalone ART gtests on device. am: d8c0ac264f\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1819835\n\nChange-Id: Icc545d753985c708f6507a04431337a3c9940877\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": "c55316e97d8efc6f99d22cea93d147650d02b216",
      "tree": "27489489bae2719d90014d7bfc058c61deba7887",
      "parents": [
        "9801e6ec4769aff1111e06f2f51a0a1ff43c8f60",
        "87565852303a0c807f2ee6cdd33cef02a80b72bd"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Sep 07 08:19:24 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Sep 07 08:19:24 2021 +0000"
      },
      "message": "verifier: the throw bytecode must have a throwable class as input. am: 8756585230\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1776232\n\nChange-Id: Ia02c1f8f71f5890a33350cf2c66261ef01c78fc2\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": "9d642a84fbf39c65895ccd25c2b104b4917e43e8",
      "tree": "ec5e9f9a6d8b86b7af9b686c7ff1148087a5a1a7",
      "parents": [
        "eba362de5efc844f3b97901564f4861b3f6a9e2b"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Thu Aug 19 13:16:00 2021 -0700"
      },
      "committer": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Tue Aug 24 19:08:27 2021 +0000"
      },
      "message": "dex2oat: Avoid an open from /proc/self/fd\n\nReadCommentedInputStream reads a text file by line, filters out empty or\ncommented line, then send the line to a callback. The original\nimplementation uses ifstream and std::getline.\n\naosp/1734115 added a way to read the text file by FD. Since there\ndoesn\u0027t seem to be a way in C++ to convert the FD to an input stream,\nit creates one by opening /proc/self/fd/43.\n\nIn the context of Comp OS, this requires giving dex2oat a special open\nprivilege to \"authfs\".\n\nThis change replaces ifstream/std::getline with f(d)open/getline(3).\n\nBug: 196404749\nTest: TH\nTest: Disallow open for dex2oat in microdroid, ComposHostTestCases still\n      pass\nIgnore-AOSP-First: merge conflict resolution\nMerged-In: I257f471b2afc80b6f1e1f8fa25248abc7ff5a3d5\nChange-Id: I257f471b2afc80b6f1e1f8fa25248abc7ff5a3d5\n"
    },
    {
      "commit": "2bac049599e327888800a82fd90a2139c91fd093",
      "tree": "4dc87a48ca7faeae872ca350611a854380092a0c",
      "parents": [
        "fc5a008a3f198d4caa62a4b9fca4feca49222da9"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Thu Aug 19 13:16:00 2021 -0700"
      },
      "committer": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 24 13:55:15 2021 +0000"
      },
      "message": "dex2oat: Avoid an open from /proc/self/fd\n\nReadCommentedInputStream reads a text file by line, filters out empty or\ncommented line, then send the line to a callback. The original\nimplementation uses ifstream and std::getline.\n\naosp/1734115 added a way to read the text file by FD. Since there\ndoesn\u0027t seem to be a way in C++ to convert the FD to an input stream,\nit creates one by opening /proc/self/fd/43.\n\nIn the context of Comp OS, this requires giving dex2oat a special open\nprivilege to \"authfs\".\n\nThis change replaces ifstream/std::getline with f(d)open/getline(3).\n\nBug: 196404749\nTest: TH\nTest: Disallow open for dex2oat in microdroid, ComposHostTestCases still\n      pass\nIgnore-AOSP-First: merge conflict resolution\nChange-Id: I257f471b2afc80b6f1e1f8fa25248abc7ff5a3d5\n(cherry picked from commit b81cc515d96f38286662e470bc38a0f6bb12ea57)\n"
    },
    {
      "commit": "87d555ad5660b9cf2a0717d59f9e5e602edebb52",
      "tree": "11274d54bb817dc51491135187cefc5500b8eb30",
      "parents": [
        "8ed68290ed679c3da2d1989d44edb9c51475866b",
        "a0da1f8a5e6cd20df544acdbc091a6f5c90d6314"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Tue Jul 27 17:31:02 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jul 27 17:31:02 2021 +0000"
      },
      "message": "Reland: Support pass BCP art/vdex/oat files by FD am: ce9b902a16 am: a0da1f8a5e\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1776825\n\nChange-Id: I513be67c3cb1b017cea28546c91e041649b7ffe2\n"
    },
    {
      "commit": "ce9b902a161b86eb2d5ef9fe4442305e25828d0a",
      "tree": "3108d6315b779816b076b220870748631235e2ea",
      "parents": [
        "a8f858e4eddeede8c465cc5b9fb40733e4649aed"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Wed Jul 21 10:44:06 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 27 16:56:08 2021 +0000"
      },
      "message": "Reland: Support pass BCP art/vdex/oat files by FD\n\nThe original implementation in odrefresh generated inconsistent number\nof files between jars and other files. The code is reworked.\n\nOriginal description:\n\nThis is currently used by odrefresh.\n\nMain runtime changes are:\n\n1. When reading the image header, also tries to read from the FD if\n   provided.\n\n2. Initialize the art/vdex/odex FDs in the boot image chunk if provided.\n   This allows them to be opened (in case if the file is not accessible\n   by path) in LoadComponents.\n\n3. OpenBootDexFiles: accept BCP JARs passed as FD, in case if the file\n   is not accessible by path.\n\n4. The new FDs are passed from new runtime args,\n   -Xbootclasspath{art,vdex,oat}fds.\n\nIt is used in odrefresh to pass the previous output of BCP extensions to\nbe used in the next phase, system server compilation.\n\nBug: 193720426\nTest: odrefresh --use-compilation-os\u003d10 --force-compile # exit 80\n      odrefresh --verify # exit 0 (was 79 previosly)\nTest: Verify the checksum of output files are the same, with\n      --use-compilation-os or not, i.e. regardless where the compilation\n      happens\nTest: mma in art/\nTest: odsign_e2e_tests\nChange-Id: Ie3ae48c7d70a2779cfbd80b307199a0f327c895c\n"
    },
    {
      "commit": "32098cf4a8096fafff3044fb004a654344bd36ea",
      "tree": "2c60d56944f276524c42e1c3a324482d53e7d3b4",
      "parents": [
        "2b1aee25b273739890d155aef704b167f92b3598",
        "db2b75001db7e9d6d7038dc77c873ebca7d98763"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Jul 23 15:03:57 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jul 23 15:03:57 2021 +0000"
      },
      "message": "Revert \"Support pass BCP art/vdex/oat files by FD\" am: d7a4da1f35 am: db2b75001d\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1776227\n\nChange-Id: I53f45064b6bc31e52045b8cc1df647b6d01a784b\n"
    },
    {
      "commit": "d7a4da1f357e089c5d150559d8d2f2ddb7c4958a",
      "tree": "bde88500eac9eda86031cfe8536241dfc79e12d2",
      "parents": [
        "2cb2527d4136f681b8e79352c546e65431ceb10c"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Jul 23 15:05:49 2021 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Jul 23 14:16:27 2021 +0000"
      },
      "message": "Revert \"Support pass BCP art/vdex/oat files by FD\"\n\nThis reverts commit b1adfc2a0570f52d74b8a4acdd578efc1790995b.\n\nReason: reports from Realtime Stability Insights (RTSI) infra.\n\nBug: 193720426\nFix: 194481664\nFix: 194475273\nFix: 194478073\nTest: TH\nChange-Id: I421d0b4a613de5ac8fb2830fa27206edb5428374\n"
    },
    {
      "commit": "2b1aee25b273739890d155aef704b167f92b3598",
      "tree": "59a53ea74f7be05c62a6ed4c3e40469927a1ee62",
      "parents": [
        "556cbed18e71ea1db2769bde41588b576ae48a51",
        "c403996b1102a925dd16961d74b8d72d14f132f1"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 23 14:07:10 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jul 23 14:07:10 2021 +0000"
      },
      "message": "verifier: Remove support for precise constants and RegisterTrackingMode. am: 2cb2527d41 am: c403996b11\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1761446\n\nChange-Id: I61cc928682514b8d22e0a2f8cb766d5aa382ab70\n"
    },
    {
      "commit": "2cb2527d4136f681b8e79352c546e65431ceb10c",
      "tree": "2e6429eff103ac8006f564238e381f4ec6e0a841",
      "parents": [
        "f7e4c3d58d3ce7f38e4591acb9928513928c39c4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jul 15 14:24:29 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 23 13:32:32 2021 +0000"
      },
      "message": "verifier: Remove support for precise constants and RegisterTrackingMode.\n\nThese features were used when we were creating GC maps and\ndeoptimization information with the quick compiler. Quick compiler has\nbeen removed, so we can remove these features.\n\nTest: test.py\nChange-Id: I633a7ada761b280b90e2d7c53cd5fbf2ae1d701d\n"
    },
    {
      "commit": "2a7ae937ce7649972c153006f03e0305acadd72f",
      "tree": "6efb71f6443e1672b7b10580f5f20298c5ced3a6",
      "parents": [
        "8746548e0fc6efd1fae56a86be1f2bb0ea771e07",
        "78ab7b0d0a08a2a7df5db593aefbafae9d3411c6"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Fri Jul 23 02:19:55 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jul 23 02:19:55 2021 +0000"
      },
      "message": "Support pass BCP art/vdex/oat files by FD am: b1adfc2a05 am: 78ab7b0d0a\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1773152\n\nChange-Id: I655acf69e810a35d9907bd1cbda2603bcf4b24d5\n"
    },
    {
      "commit": "b1adfc2a0570f52d74b8a4acdd578efc1790995b",
      "tree": "c5058390901f2abbb0e281d8403be2b8db02c337",
      "parents": [
        "71f763399e95676d665e071623bccb714acf88b4"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Wed Jul 21 10:44:06 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 23 01:47:27 2021 +0000"
      },
      "message": "Support pass BCP art/vdex/oat files by FD\n\nThis is currently used by odrefresh.\n\nMain runtime changes are:\n\n1. When reading the image header, also tries to read from the FD if\n   provided.\n\n2. Initialize the art/vdex/odex FDs in the boot image chunk if provided.\n   This allows them to be opened (in case if the file is not accessible\n   by path) in LoadComponents.\n\n3. OpenBootDexFiles: accept BCP JARs passed as FD, in case if the file\n   is not accessible by path.\n\n4. The new FDs are passed from new runtime args,\n   -Xbootclasspath{art,vdex,oat}fds.\n\nIt is used in odrefresh to pass the previous output of BCP extensions to\nbe used in the next phase, system server compilation.\n\nBug: 193720426\nTest: odrefresh --use-compilation-os\u003d10 --force-compile # exit 80\n      odrefresh --verify # exit 0 (was 79 previosly)\nTest: Verify the checksum of output files are the same, with\n      --use-compilation-os or not, i.e. regardless where the compilation\n      happens\nTest: mma in art/\nChange-Id: I209085f047c42823ff20415804f65a9b32378b40\n"
    },
    {
      "commit": "88a1d495a0bdcb000d20c5a65b2b119186bf11cb",
      "tree": "5bbc67eaf3a7712c91f721c9b43cc398b2a5b81f",
      "parents": [
        "1b4cf1d2accef932a58817999790953cdfae0453",
        "3d3d335155308c1139c37d3eb929b7069f887892"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jul 15 14:41:30 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jul 15 14:41:30 2021 +0000"
      },
      "message": "Clean up ClassLinker::VerifyClass. am: 66934efcab am: 3d3d335155\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1757395\n\nChange-Id: Ic5678d9fe3f177a33550787ff0c730ff9bf043fd\n"
    },
    {
      "commit": "66934efcabd2b75fd84b3cc0a8665f4ecc136727",
      "tree": "b55d836b7df49dcc73126cbcded7a0e64451ba39",
      "parents": [
        "cf74ae7eae39affc8886b4bce5294aceebb908c3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 07 14:56:23 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jul 15 14:26:13 2021 +0000"
      },
      "message": "Clean up ClassLinker::VerifyClass.\n\nAnd drop kAccWasVerificationAttempted. It\u0027s not needed and duplicates\nlogic already present in the compiler and the class status.\n\nThis CL also enables nterp running methods with soft failures.\n\nTest: test.py\nBug: 28313047\nChange-Id: I853a6f00b9e0c38091d86fcd77167c92ff5b383c\n"
    },
    {
      "commit": "374eae5fc606c2591db8f17bdd3cc935ebefcda2",
      "tree": "be59ca3a7b7ac3650727b75e56de39295f625b8d",
      "parents": [
        "19bb15c6b2bd97b1a84fa6ad260a19c71d7758fc",
        "0daecd8702b28167bd8d729d78a886df03e0be89"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 14 17:49:57 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jul 14 17:49:57 2021 +0000"
      },
      "message": "Remove the need of VerifiedMethod in the compiler. am: 9e050ab1a0 am: 0daecd8702\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1759931\n\nChange-Id: Ia26a492057716ead1889e6835a73e12c66beeb50\n"
    },
    {
      "commit": "9e050ab1a061d9660eb0c1daa01a823ad75b0f05",
      "tree": "714f2ba3b11406310416e85357f45450634846b2",
      "parents": [
        "4f990714b13e0b4446305a5411648a1a9ae42a7a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 14 14:59:25 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 14 17:13:08 2021 +0000"
      },
      "message": "Remove the need of VerifiedMethod in the compiler.\n\nThe compiler only needs to know if a method is compilable or not. So\njust record a set of uncompilable methods (in some cases, we cannot have\nan ArtMethod, but the method can still be compiled).\n\nTest: test.py\nBug: 28313047\nChange-Id: Ic4235bc8160ec91daa5ebf6504741089b43e99cb\n"
    },
    {
      "commit": "77bec565c3ea5082844534c443284d8aa8bc6cdd",
      "tree": "207d177f7447365905641dd6177f0c0712853bb2",
      "parents": [
        "97b1dfbb28d96a1bc79a9ab4cb8d3169273265b0",
        "f5f127e98a8e16af9700063a50de29652cb67563"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 14 15:44:48 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jul 14 15:44:48 2021 +0000"
      },
      "message": "Modernize typedefs with `using`. am: 4f990714b1 am: f5f127e98a\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1765891\n\nChange-Id: Idc1180d28f7ef5eec5c48ca7b1af19b7b69ac658\n"
    },
    {
      "commit": "4f990714b13e0b4446305a5411648a1a9ae42a7a",
      "tree": "4568386e3e6f3c98c819851f6573e2c7cbc184fb",
      "parents": [
        "7744b69abf073101b09b9043f0f0eb109768fcfe"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 14 12:45:13 2021 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 14 15:18:36 2021 +0000"
      },
      "message": "Modernize typedefs with `using`.\n\nReplace many occurences of `typedef` with `using`. For now,\ndo not update typedefs for function types and aligned types\nand do not touch some parts such as jvmti or dmtracedump.\n\nTest: m\nChange-Id: Ie97ecbc5abf7e7109ef4b01f208752e2dc26c36d\n"
    },
    {
      "commit": "639f1ef3a51172387f4d4e2cb5d50ac4afab3626",
      "tree": "ff0c6abdca38d2cb84a08b8c35f2a5305270c6b8",
      "parents": [
        "1b7197c45d578f1d5221bf026aadbf13bc23279e",
        "6896634d0b340229b70bfbad7a8b6394670a3f2d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 14 13:44:17 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jul 14 13:44:17 2021 +0000"
      },
      "message": "Remove dual verification in RedefineClasses. am: 7744b69abf am: 6896634d0b\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1757389\n\nChange-Id: Ic2eddc6d545222253466a671e06dfc9823f94b9b\n"
    },
    {
      "commit": "7744b69abf073101b09b9043f0f0eb109768fcfe",
      "tree": "6598234dc0a9b2327729705cf61f836e3e777d58",
      "parents": [
        "eacf044aae6d7d515ac988dceedaadbf53916b60"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jul 06 16:19:32 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 14 13:17:09 2021 +0000"
      },
      "message": "Remove dual verification in RedefineClasses.\n\nAlso clean up the ClassVerifier interface with now just one method and\nthe removal of VerifierCallbacks.\n\nTest: test.py\nBug: 28313047\nChange-Id: I1a87dd1757cfdeec0d482f82dacd7cac43545964\n"
    },
    {
      "commit": "46518211bd348f381a292c8785951a2c728f5b91",
      "tree": "666625a3a0a14f3679b22e29c56c12cd1bf42025",
      "parents": [
        "ab0f97f0ce3bed175923bfea7be2dbc32cdc4dde",
        "c8cdc711301d72e68b040ae2f99818add62dd2aa"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 09 12:29:49 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jul 09 12:29:49 2021 +0000"
      },
      "message": "Clean up verifier interface. am: 2ec38232c6 am: c8cdc71130\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1754274\n\nChange-Id: Ibd7a2f807a5da4303b6122bd34c3f81eef4e5919\n"
    },
    {
      "commit": "2ec38232c632a2c7f3069f02d5c4d7036f14575b",
      "tree": "2500a6189a53a6bccb1b475d7e8a45ce4acd01ec",
      "parents": [
        "81909865f1d82314b72d09d1ad1f4545efd809e7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 02 16:36:29 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 09 11:55:11 2021 +0000"
      },
      "message": "Clean up verifier interface.\n\nRemove verifier_callbacks and ArtMethod as argument. The verifier can\noperate without them.\n\nThis allows removing the bogus DexCache::SetResolvedType in ti_redefine.\n\nAlso turn runtime throw failures into VerifyError, for cleaner interface\nwith users of the verifier.\n\nTest: test.py\nBug: 28313047\nChange-Id: I9ba1300f198aaf482ed43061465daea789ea732b\n"
    },
    {
      "commit": "1292aa7427a201a6e101646568c1c6c1ae4edbf1",
      "tree": "86578c7c6144ec052a949392d6248fc185e81dd9",
      "parents": [
        "a274bfabc8361c6f2835b2107849ff6f632f0527",
        "c82efe3e6bf24f1b2b9d5fa3a6244092391881a7"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Jul 08 17:24:53 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jul 08 17:24:53 2021 +0000"
      },
      "message": "Add support for standalone ART gtests to MTS. am: 6a2e689329 am: c82efe3e6b\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1753224\n\nChange-Id: I823433b28b8f709bad750cf130373e656bd9faf7\n"
    },
    {
      "commit": "6a2e6893290eac83f59dac4ec5bc10abf985ae10",
      "tree": "ee7f59774da19363bb867df9c0e9dc4f35f01fa2",
      "parents": [
        "592bceac0c030794175ae41d9c7e2ca092739d2e"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Sun Jul 04 14:21:07 2021 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Jul 08 16:56:35 2021 +0000"
      },
      "message": "Add support for standalone ART gtests to MTS.\n\nThis change:\n- adds standalone ART gtests to test suite `mts-art`;\n- adds `MainlineTestModuleController` support to standalone ART\n  gtests. This in order to have these tests run in a Mainline context\n  only when the ART Module (either `com.google.android.art` or\n  `com.android.art`) is installed on the test device.\n\nTest: m mts \u0026\u0026 mts-tradefed run commandAndExit mts-art\nTest: m mts \u0026\u0026 mts-tradefed run commandAndExit mts-art-shard-00\nBug: 167385698\nChange-Id: I97d9c00b7c10debff8c63e4ae75f90da02be271c\n"
    },
    {
      "commit": "7df33c7bf1c4bc46180c6c28307e45dde4b1db56",
      "tree": "7fb8d17427885eee2b01fb737b25e8adfbe611b4",
      "parents": [
        "15afb622fc5c8f3d66be301d632a974bb40806a6",
        "7b9c2143e753c985e0660bae25c47729bbd2d3ff"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 07 15:59:31 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jul 07 15:59:31 2021 +0000"
      },
      "message": "Support field VarHandle objects in boot image. am: 7209da0a46 am: 7b9c2143e7\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1757394\n\nChange-Id: Ifa6d11c0f901e19daa80f53dd52a69b39e6cf3c3\n"
    },
    {
      "commit": "7209da0a46dd96ae5b9d73124ef09b4b0fe9ac25",
      "tree": "7a3227751b4eb8b8eef10eecf58c63d046bbbe62",
      "parents": [
        "6f244fa1658e216512cf6ef15a6301defaf0f5b0"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jun 28 17:50:38 2021 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 07 15:31:36 2021 +0000"
      },
      "message": "Support field VarHandle objects in boot image.\n\nTest: Build with WIP changes to implement AtomicInteger with\n      VarHandle. Build succeeds.\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 191765508\nChange-Id: I084ab7b3cd082570a090f3470fdfb792b80f4505\n"
    },
    {
      "commit": "f50da4c9dc19e1d2ed8be2423ebb28415ff97daf",
      "tree": "a3046b20db3214ac488227b733189b309c01def8",
      "parents": [
        "588af50062557c5926ba4adcf002e16a5449d8a9",
        "1dfc1b6f33d8dffeddfe89db5ab83edab4060145"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 07 07:50:23 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jul 07 07:50:23 2021 +0000"
      },
      "message": "Don\u0027t wrap VerifyError into NoClassDefFoundError. am: 4dc6589f39 am: 1dfc1b6f33\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1756609\n\nChange-Id: Ifc780685a9e43c828515be288f6f8524dec6bf01\n"
    },
    {
      "commit": "4dc6589f392d46800a3b64625245bdfe4bbbfc2f",
      "tree": "b159262fd300a650ab89277667641ebe7e13d357",
      "parents": [
        "e0386f10d4591afa9823658099e4f2ac7a693255"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 05 17:43:35 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 07 07:13:01 2021 +0000"
      },
      "message": "Don\u0027t wrap VerifyError into NoClassDefFoundError.\n\nFollow RI behavior by returning the VerifyError. NoClassDefFoundError\nonly wraps initializer errors.\n\nAlso rename the field in ClassExt from verifyError to\nerroneousStateError for better clarity.\n\nAnd remove now unused feature of storing a class in the verifyError\nfield.\n\nTest: test.py\nTest: 824-verification-rethrow\nBug: 28313047\nChange-Id: I19383f7b74f22a62ab1e0b8a13bea75a14c7b33f\n"
    },
    {
      "commit": "a897d87f0655bed22cdce82d7046245575e9cdae",
      "tree": "71e6d43afc008ad06c09e1f4be78a2f08fa64b8f",
      "parents": [
        "06f847e0bb391a6dc36705a70bf2beab840a2bf2",
        "942c09c77c5b0d202b537d5619f7db6faa7ca5d3"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jul 06 12:03:51 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jul 06 12:03:51 2021 +0000"
      },
      "message": "Uncouple ART gtests from the ART APEX. am: f040914a12 am: 942c09c77c\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1749282\n\nChange-Id: I5e814d7d6019704c0a78c7dca0494042c6d2cecc\n"
    },
    {
      "commit": "f040914a122be86e280efe5e31af1168f2b7c72e",
      "tree": "8ea3fa76be8f215d36977477015ed7f9f3a2f65c",
      "parents": [
        "b4bd92f27fb143135870d07b459ea52637afcfa5"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Mar 22 15:45:03 2021 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jul 06 10:52:35 2021 +0000"
      },
      "message": "Uncouple ART gtests from the ART APEX.\n\nIntroduce standalone versions of ART gtests on target, not bundled\nwith the ART APEX.\n\nSo far ART gtests have always been built as debug artifacts (and\nlinked against ART debug libraries). Make some adjustments in some of\nthese tests so that they can also work as non-debug artifacts and be\nused with the Release ART APEX (which contains only non-debug\nartifacts).\n\nNewly added tests:\n* `art_standalone_cmdline_tests`\n* `art_standalone_compiler_tests`\n* `art_standalone_dex2oat_tests`\n* `art_standalone_dexdump_tests`\n* `art_standalone_dexlist_tests`\n* `art_standalone_dexoptanalyzer_tests`\n  * Note: Requires root access to the device.\n* `art_standalone_libartbase_tests`\n* `art_standalone_libartpalette_tests`\n* `art_standalone_libartservice_tests`\n* `art_standalone_libarttools_tests`\n* `art_standalone_libdexfile_support_tests`\n* `art_standalone_libdexfile_tests`\n* `art_standalone_libprofile_tests`\n* `art_standalone_oatdump_tests`\n* `art_standalone_odrefresh_tests`\n* `art_standalone_profman_tests`\n  * Note: Requires root access to the device.\n  * Note: Some tests (2 out of 37) are failing in multi-ABI\n    contexts and have been temporarily disabled.\n* `art_standalone_runtime_compiler_tests`\n* `art_standalone_runtime_tests`\n  * Note: Some tests (16 out of 686) are failing and have been\n    temporarily disabled.\n  * Note: Some tests (4 out of 686) are failing in multi-ABI\n    contexts and have been temporarily disabled.\n* `art_standalone_sigchain_tests`\n\nTests not added:\n* `art_standalone_dexanalyze_tests`\n  * Reason: ART binary `dexanalyze` is not part of the Release ART APEX.\n* `art_standalone_dexdiag_tests`\n  * Reason: ART binary `dexdiag` is not part of the Release ART APEX.\n* `art_standalone_dexlayout_tests`\n  * Reason: ART binary `dexlayout` is not part of the Release ART APEX.\n* `art_standalone_imgdiag_tests`\n  * Reason: ART binary `imgdiag` is not part of the Release ART APEX.\n\nTest: atest -a art_standalone_cmdline_tests\nTest: atest -a art_standalone_compiler_tests\nTest: atest -a art_standalone_dex2oat_tests\nTest: atest -a art_standalone_dexdump_tests\nTest: atest -a art_standalone_dexlist_tests\nTest: atest -a art_standalone_dexoptanalyzer_tests\nTest: atest -a art_standalone_libartbase_tests\nTest: atest -a art_standalone_libartpalette_tests\nTest: atest -a art_standalone_libartservice_tests\nTest: atest -a art_standalone_libarttools_tests\nTest: atest -a art_standalone_libdexfile_support_tests\nTest: atest -a art_standalone_libdexfile_tests\nTest: atest -a art_standalone_libprofile_tests\nTest: atest -a art_standalone_oatdump_tests\nTest: atest -a art_standalone_odrefresh_tests\nTest: atest -a art_standalone_profman_tests\nTest: atest -a art_standalone_runtime_compiler_tests\nTest: atest -a art_standalone_runtime_tests\nTest: atest -a art_standalone_sigchain_tests\nTest: atest -a art_standalone_\\*_tests\nTest: m art_chroot \u0026\u0026 atest ArtGtestsTargetChroot\nBug: 162834439\nBug: 162734417\nChange-Id: I8beda9159d48c4ca495698357dc3bd95e3ff84d5\n"
    },
    {
      "commit": "712d5c599b006a601657b3058380ab1e903267f1",
      "tree": "4f1a36d6c1e52cfdf74a86100d830e4a600d423a",
      "parents": [
        "7e074c34adab53811b08d2ecbb6969f61ee8a45c",
        "2419fe4538611aabbc8e752e5f0297215d7abf6e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 05 07:59:59 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Jul 05 07:59:59 2021 +0000"
      },
      "message": "dex2oat: Faster retrieval of profile data. am: ea936c0270 am: 2419fe4538\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1754189\n\nChange-Id: I3820969a3fcf51b944eba2bb6f43f01a14a65736\n"
    },
    {
      "commit": "ea936c02701dc7ac773f5c2272dafde5e1967ea0",
      "tree": "2327327eff2fa2844fb71af8d9ee8a0f48dc7a74",
      "parents": [
        "8d5d58554519ffc673760ba932a77e113f68c5fe"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jun 25 17:10:49 2021 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 05 07:33:20 2021 +0000"
      },
      "message": "dex2oat: Faster retrieval of profile data.\n\nAvoid the slow `ProfileCompilationInfo::GetMethodHotness()`.\nCache profile index to avoid repeating the `DexFileData`\nsearch and use new specialized functions that retrieve only\nthe required information instead of full `MethodHotness`.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 181943478\nChange-Id: Iaf8486a5e5b12f114c8abb9cfdedf6fc4ed62e20\n"
    },
    {
      "commit": "c94ab92f6e61b9ea9d90bdb3d72c4d4e2aab9db5",
      "tree": "b3159ecd96135c7a58999ae1bbcf4c625ee774fb",
      "parents": [
        "bf097b7f6354e7e1e8c0a7b97fb728744136e271"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Jul 01 18:50:43 2021 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Sun Jul 04 17:30:34 2021 +0000"
      },
      "message": "Add `liblog` as a dependency of `dex2oat` Soong modules.\n\nThis is in order to reduce differences in ART between AOSP and the\ninternal tree.\n\n(partly cherry picked from commit bdd9d71101edf4fd8220c18e28a7dccf8a72afda)\n\nTest: mmma art\nChange-Id: Ie00f630d1bbc6c196616b1f781b1eda4ae64b39f\nMerged-In: Ifeacba4cccf048e437b1906cf1592b8c2608cce4\n"
    },
    {
      "commit": "d35ad79d352c85622c17171b74982d281083a676",
      "tree": "82a0059ef56e442c8a59c5f7db5930cd0b14fe95",
      "parents": [
        "2a7ebe6093d9f23e7ef81fe9cd66070623d71a99",
        "3359147e0b65a78145edbab4995831086a0006b1"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Jul 02 10:44:29 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jul 02 10:44:29 2021 +0000"
      },
      "message": "runtime: add -Xdeny-art-apex-data-files am: 971068dcaf am: 3359147e0b\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1754081\n\nChange-Id: Ic9a7e810d78a3ceef24a4d62009da4e1444efa79\n"
    },
    {
      "commit": "971068dcaf5955634679dbfaf7b562ed52aff772",
      "tree": "3e76f60e7136f53ca0d19a23914721515e8b2725",
      "parents": [
        "3d12876bd9782831ad5c907f1f9dc94d10867f3d"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jun 30 21:17:53 2021 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Jul 02 10:19:42 2021 +0000"
      },
      "message": "runtime: add -Xdeny-art-apex-data-files\n\nThis option prevents the runtime from loading AOT artifacts installed\nin /data/misc/apexdata/com.android.art.\n\nBug: 192049377\nTest: manually adding option and running odsign_e2e_tests\nTest: adding option and looking at proc/maps for system_server and zygote\n\nChange-Id: I56c7ce55b64de72faf39a06238089fe4b6b84b88\n"
    },
    {
      "commit": "3563d6a134be347910ff2035128bff7f1d1a147d",
      "tree": "3d6f55ea9e77b920b284087fd91d5992f7a1ff00",
      "parents": [
        "5729bc55dbe66b049b9e77ab76061f4ba772699b",
        "bf44f606854fe66fdc381cdb759d725e2af65b5e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 30 12:42:21 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jun 30 12:42:21 2021 +0000"
      },
      "message": "Remove experimental flag in verifier. am: f8b5288ab5 am: bf44f60685\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1748080\n\nChange-Id: I185b8fe0faaabefce0522d8bb958c636dacd4b8f\n"
    },
    {
      "commit": "f8b5288ab53fa3dbc95ddc22264c53165fdefbdd",
      "tree": "2fdee1be7012bc73d6776d508619f8c0ef4feeaa",
      "parents": [
        "d7b416118ab6820fb1fbe93ca194c4a748b9fa59"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 25 17:00:30 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 30 12:14:25 2021 +0000"
      },
      "message": "Remove experimental flag in verifier.\n\nWe don\u0027t use it anymore. If we add new opcodes in the future, we can\ntest by disabling the verifier (something which was hard to do at the\ntime).\n\nTest: test.py\nBug: 28313047\nChange-Id: Idce9a520995d12fdfc3bd314bc06b542492a0ab8\n"
    },
    {
      "commit": "e9d5c9667742fe3aca41f6a53d2f3a17d748d9d9",
      "tree": "800c2fd77c2e5d6492db4789cd6e594e4ed302e2",
      "parents": [
        "f10989825b43e4edd810e5be060b1e8a9b00104f",
        "692850fdcefbff6576fe5ae3ca0c362ed4f53c4c"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Jun 28 12:06:56 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Jun 28 12:06:56 2021 +0000"
      },
      "message": "Rename some ART gtest related Soong modules. am: 55ffe7fa9e am: 692850fdce\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1749281\n\nChange-Id: Iffc723ec09992f3643f387f1a809081a0deddac3\n"
    },
    {
      "commit": "55ffe7fa9ead8b501a756bb53f2571e3e7602f5e",
      "tree": "c4f63e30679b3e11d65268e52bf7548416f26792",
      "parents": [
        "8bf1da992a15a79ae76bcf53e9a2909912fbe96a"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Jun 14 15:18:54 2021 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Jun 28 11:40:15 2021 +0000"
      },
      "message": "Rename some ART gtest related Soong modules.\n\nART gtests currently link with the debug (\"d\") versions of ART\nlibraries. The gtests themselves and their libraries are compiled as\ndebug artifacts. For the sake of consistency, perform the following\nrenaming of ART gtest related Soong modules:\n\n* `libart-compiler-gtest` -\u003e `libartd-compiler-gtest`\n* `libart-dex2oat-gtest`  -\u003e `libartd-dex2oat-gtest`\n* `libart-gtest-defaults` -\u003e `libartd-gtest-defaults`\n* `libart-gtest`          -\u003e `libartd-gtest`\n* `libart-runtime-gtest`  -\u003e `libartd-runtime-gtest`\n* `libartbase-art-gtest`  -\u003e `libartbased-art-gtest`\n\nAs we plan to introduce non-debug (\"non-d\"), standalone versions of\nART gtests in the context of uncoupling ART (target) gtests from the\nART APEX (b/162834439), this renaming will help us, as we\u0027ll be able\nto use the old names of a \"d\" module for the corresponding \"non-d\"\nversion.\n\nTest: mmma art\nTest: Run ART gtests on host and target\nTest: env OVERRIDE_TARGET_FLATTEN_APEX\u003dfalse art/build/apex/runtests.sh\nTest: env OVERRIDE_TARGET_FLATTEN_APEX\u003dtrue  art/build/apex/runtests.sh\nBug: b/162834439\nChange-Id: I4ca27a7f445a760398f41a9e60a7008d77294505\n"
    },
    {
      "commit": "02d6c6427381f8224d29a5bffae35c762d4db1a0",
      "tree": "08ca017c0196f2615d9f65efc3a088eb5818b6cb",
      "parents": [
        "f04fed517efeaa3caff055f5d868a0c6610e1c94",
        "71cc9bcfc8a419e0df113a35c2b619703d9a3689"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jun 23 09:04:35 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jun 23 09:04:35 2021 +0000"
      },
      "message": "dex2oat: Avoid unnecessary field/method resolution. am: a508249643 am: 71cc9bcfc8\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1742373\n\nChange-Id: I0ce875137a6c5470e7f822f65b1c0811b78e1749\n"
    },
    {
      "commit": "a5082496431781271a0b363a567e6de793c3ec0c",
      "tree": "86dd85f0abb41a5bf823742fe18e76b775a3035d",
      "parents": [
        "ec11cf1e4a7400af1befae3a5194206f16a58047"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jun 21 11:14:27 2021 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jun 23 08:23:49 2021 +0000"
      },
      "message": "dex2oat: Avoid unnecessary field/method resolution.\n\nThere is no reason to resolve fields and methods of a class\nwe have just resolved, so remove that code. Refactor type\nresolution and avoid resolving classes twice for boot image.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 181943478\nChange-Id: I01f182a5fdfd000819fa9d9b8926d5cb320c1e0c\n"
    },
    {
      "commit": "cc0caedd41b680f4c32e51a9239a9f1b1c638a09",
      "tree": "ca3114e4333ff6ab6df2d8a553d1660083e4dc40",
      "parents": [
        "aefdc9e8a997d4a1a7371c2e0eef6a7f1a30ba8a",
        "850832b63cf264562b0f4d468876ffff5c7c2c77"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Tue Jun 22 08:44:30 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jun 22 08:44:30 2021 +0000"
      },
      "message": "dex2oat: don\u0027t prune dex if passed as FD am: 59edf4b8f0 am: 850832b63c\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1740256\n\nChange-Id: Ic381f8cfd683d8f447f5783f7f87b6a962111040\n"
    },
    {
      "commit": "59edf4b8f09d02c10fa87831573151c6b99c3149",
      "tree": "b735be53783cb6945f281516c251212cfd7e26aa",
      "parents": [
        "156a8618372cda12eaff321c545d9126df225c0d"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Thu Jun 17 12:48:18 2021 -0700"
      },
      "committer": {
        "name": "Alan Stokes",
        "email": "alanstokes@google.com",
        "time": "Tue Jun 22 08:13:48 2021 +0000"
      },
      "message": "dex2oat: don\u0027t prune dex if passed as FD\n\ndex2oat prunes a dex file from its internal record if the file does not\nexist on the file path. This change avoids the pruning in case if the\ndex is passed as FD.\n\nBug: 186132447\nTest: odrefresh --use-compilation-os\u003d10 --force-compile\n      # complete successfully with other changes\nTest: TH\nChange-Id: I7dd2f0d1e100e465c2424eb36cb2d94da1e69001\n"
    },
    {
      "commit": "192d2abae44f2e58429453011f5b76d138a4bca2",
      "tree": "59879b33c3a2c6f72d727f559d8d005f70f03e54",
      "parents": [
        "7504eb20bdb97d54e8d63533165921e3a96aaea3",
        "ee503e28f35c2d083ef558f5f17193a999116bf4"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Jun 21 15:03:02 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Jun 21 15:03:02 2021 +0000"
      },
      "message": "Only enable isolated compilation if requested am: c893d1597b am: ee503e28f3\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1740163\n\nChange-Id: I970ec7c141f1332030c727e2d67a283913ff01c5\n"
    },
    {
      "commit": "c893d1597b2e653659e0bc73cc2640590d01e8b0",
      "tree": "e2cb7ac8379875e7ac23d8d5683a96f57dbe4551",
      "parents": [
        "5da0507fd2d2b6342a9b87f4cce5ebbfa2c67dd3"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Jun 17 15:40:52 2021 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Jun 21 14:27:16 2021 +0000"
      },
      "message": "Only enable isolated compilation if requested\n\nIsolated compilation saves memory but takes much longer,\nso enable it only if requested.\n\nTest: adb install\nBug: 190277710\nChange-Id: Ia1bffb37ff25f80f7b6173fd42e6bd6ffff68e45\n"
    },
    {
      "commit": "4a7137436f0bcc2e0074f4fc4e9022f7f1094f7d",
      "tree": "0616c599b850e841a1b9af245dbc8b606d1df7de",
      "parents": [
        "2d06d7a0ebd0e5f95a1f34f106d526528d4d207a",
        "3e3b3052384b45cdb275153929cf67d72d5deee9"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jun 14 18:31:28 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Jun 14 18:31:28 2021 +0000"
      },
      "message": "Rewrite static/instance field search by index. am: 4026117163 am: 3e3b305238\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1736295\n\nChange-Id: Icc4994da4e1d47b6f91282e38c936af9d1289090\n"
    },
    {
      "commit": "40261171630159bfd46043c996be8521c453fee1",
      "tree": "3cae9dfcfd5f745b61da630d031eff4f67fe9185",
      "parents": [
        "af5d304844cd8e39fcc31ca4e07e3e887d2f0bd9"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jun 14 10:59:51 2021 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jun 14 17:55:51 2021 +0000"
      },
      "message": "Rewrite static/instance field search by index.\n\nThe old search was looking for a field with the given field\nindex in the class as well as superclasses and, for static\nfields, all interfaces. This was useless as as a field index\ncan match only in the declaring class. So, if the field was\nnot found in the declaring class we would have unnecessarily\nsearched wrong classes before resorting to string search.\n\nReuse the optimized `Class::FindField` by turning it into\na template implementation that can skip unnecessary static\nor instance field searches. Implementing the static and\ninstance field search this way allows ClassLinker to call\nonly one overload of `Class::Find{Static,Instance}Field`\nand helps avoid string searches in more cases.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing --interpreter\nBug: 181943478\nChange-Id: I23309c87c3702d98812adfec0279c483c9037f2c\n"
    },
    {
      "commit": "0a86e9321398e3fa97d18ba20a47408953ebca53",
      "tree": "9f37690ec1329142363c71ec05988b8f8ab3e6fb",
      "parents": [
        "f12764814d508e9f9176eaefd386f80927a60668",
        "a778b16bc31341ee0d8c6f3d6bdd15a69daef432"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Mon Jun 14 15:39:40 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Jun 14 15:39:40 2021 +0000"
      },
      "message": "Add --dirty-image-objects-fd and --updatable-bcp-packages-fd am: 4ab592315e am: a778b16bc3\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1734115\n\nChange-Id: I3fcf7cf611eedb93affef101b9ba84cfb148daa9\n"
    },
    {
      "commit": "4ab592315e766876d2ae96f28f05bab9ae46c160",
      "tree": "70434b91f12a6fe7d52581446ce879732ea07900",
      "parents": [
        "b10668cb6a34398eb720f9a6305ff9a51b3ebfd4"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Thu Jun 10 12:24:02 2021 -0700"
      },
      "committer": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Mon Jun 14 15:08:21 2021 +0000"
      },
      "message": "Add --dirty-image-objects-fd and --updatable-bcp-packages-fd\n\nAlso, let odrefresh pass the files as FD to dex2oat.\n\nReadCommentedInputFromZip is removed since it\u0027s not used at all.\n\nBug: 187327262\nTest: odrefresh --force-compile\nChange-Id: Ie9247362eebaf46ef473f84effeb6e66830d077e\n"
    },
    {
      "commit": "550446fbf148a08d018289c2e6df9d178f3b2a5c",
      "tree": "168e72f7fa93f305c43abfd7120ab4c43ac134ae",
      "parents": [
        "93115f36ebf2b34ce11f266d20f7d0d5d0295b82",
        "769c81aebb0c5c3f64543eb5fc71c3688ed4d740"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jun 14 13:18:00 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Jun 14 13:18:00 2021 +0000"
      },
      "message": "Clean up Class::GetDirectInterface(). am: b10668cb6a am: 769c81aebb\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1733592\n\nChange-Id: Ie7f5b4d7edd3b2332925450cc5e4bbd1fe1e8c46\n"
    },
    {
      "commit": "b10668cb6a34398eb720f9a6305ff9a51b3ebfd4",
      "tree": "ab155a0ae3c2966c20a3de68dbf53e6fe2ced86a",
      "parents": [
        "893e2edbd5aa14ab2ccb1800ccd3154f21a2d8a7"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jun 10 09:52:53 2021 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jun 14 12:51:59 2021 +0000"
      },
      "message": "Clean up Class::GetDirectInterface().\n\nFetch array interfaces from the `IfTable`. This removes the\nonly use of the `Thread* self` argument, so we can remove\nthat argument. We also make the function non-static to avoid\nthe explicit `klass` argument. Similarly clean up arguments\nof `Class::FindClass()` and `Class::FindStaticClass()`.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 181943478\nChange-Id: Id639b675b4eb331a777cf318eb61bd19e05de4f0\n"
    },
    {
      "commit": "8e3bf4cdc1428a1863ab3e6396678d26a3e0787d",
      "tree": "277471f81483573895a95d3c2e1f85b25786b3a6",
      "parents": [
        "b4fd1bb182682de9333bfdfc617eba0387fea672",
        "236f7d421817f347d3adb6f014f2c03f2392a27b"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Thu Jun 10 16:05:58 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jun 10 16:05:58 2021 +0000"
      },
      "message": "Add runtime option -Xbootclasspathfds: for pre-opened fds am: a09d8b7d4c am: 236f7d4218\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1721606\n\nChange-Id: Iddeb57350b7ca93385133bd7e63827b8a6d973d9\n"
    },
    {
      "commit": "a09d8b7d4cb6f35f12f2bd2ed4e04a0eb129eeea",
      "tree": "79587d30dda7acb00545333067596dfcfa11bdb6",
      "parents": [
        "e300c4e4eabe3388b730efe35561e54f1c306710"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Mon May 24 14:21:55 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 10 15:22:02 2021 +0000"
      },
      "message": "Add runtime option -Xbootclasspathfds: for pre-opened fds\n\nThe new option allows the client to pass a pre-opened fds to the\nruntime. The number of elements must match the number of BCP jars\nspecified in -Xbootclasspath. An fd of negative number is a valid\noption, in such case the runtime will still open the jar in the\ncorresponding path in -Xbootclasspath.\n\nExample: -Xbootclasspathfds:10:11:-1:12\n\nThe option is currently only used in \"unstarted runtime\", but will also\nbe used elsewhere in the follow-up changes.\n\nBug: 187327262\nTest: patch odrefresh to use the option, no longer seeing such openat(2)\nTest: m test-art-host-gtest\n\nChange-Id: I1bebbd80136419c03ac1309a8cb8229a0fd69838\n"
    },
    {
      "commit": "6fd59b6025befc66dd1e5ff2312c2faba8e9a3be",
      "tree": "96e82844b492fa5bf5c9447e660b27afeb5779bc",
      "parents": [
        "8a644e30b26be549f6d3bc526281828cee5e3e17",
        "c0db4a5fe5d90ecac2219751065eca78ea92e89c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 09 11:43:24 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jun 09 11:43:24 2021 +0000"
      },
      "message": "Remove palette hooks. am: 4f6bb446f8 am: c0db4a5fe5\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1724637\n\nChange-Id: Iecf83d65bd6ed93981619469e3377914339b956f\n"
    },
    {
      "commit": "4f6bb446f8fbaa192f4e5b69734414c66d5e1bae",
      "tree": "c07c8cf278137c14fda476ed682968ee3c01c65f",
      "parents": [
        "beb9f2012587035a5c30d0eca8af458b2ad659b7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 02 18:05:51 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 09 11:03:12 2021 +0000"
      },
      "message": "Remove palette hooks.\n\nMake the method be part of the official palette API.\n\nBug: 186016399\nBug: 185778652\nChange-Id: I3dc9e879c647fd63f5826091813613fd97e25c0d\n"
    },
    {
      "commit": "d462d1ca0419346d097802364ef2a7824be557af",
      "tree": "0035ecf0c9ebbbca91aa90c580dd9cc11de72c6d",
      "parents": [
        "0d85f9f53e1f48a8eeddffbcd06d22d0e7cd580b",
        "719ac37d4bb980bf69e7d2db472c2bca0f10b1f5"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu May 27 22:41:18 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu May 27 22:41:18 2021 +0000"
      },
      "message": "Use verify when speed-profile gets an empty profile am: 028c7efaf7 am: 719ac37d4b\n\nOriginal change: https://android-review.googlesource.com/c/platform/art/+/1719833\n\nChange-Id: I86b9ca2d76efd79a9172194c1491143c685a6da4\n"
    },
    {
      "commit": "028c7efaf7321a1e253fb4d9dcc5d85e8a9e6d68",
      "tree": "27631b722b16cc7a71de86e847fe023ccf01a384",
      "parents": [
        "e8efdaa09b7ff36d5a986f0320f29ac4a7563896"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed May 26 15:37:00 2021 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu May 27 19:42:00 2021 +0000"
      },
      "message": "Use verify when speed-profile gets an empty profile\n\nChange the compiler filter to verify if we need to compile\nspeed-profile but we don\u0027t get a profile, or the profile is empty.\nThis will improve the clarity and the precision of the telemetry\ndata which usually expects speed-profile to outperform verify.\n\nTest: gtest\nBug: 188655918\nChange-Id: I215552e0001d56df0e0d676721f0a741ef2573be\n"
    }
  ],
  "next": "f6c49c4e40a4ac715506ec055114f3637023b358"
}
