)]}'
{
  "log": [
    {
      "commit": "90fe2d0adde4d18aac2eae642d8618026446c942",
      "tree": "9e80210bb66689c1f4d0642ee3807a1dfc5ca6a3",
      "parents": [
        "b35f2a2d436a8d091bc297f2365c7a870e2e2657"
      ],
      "author": {
        "name": "Alan Stokes",
        "email": "alanstokes@google.com",
        "time": "Tue Nov 16 11:56:53 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 16 14:41:24 2021 +0000"
      },
      "message": "Fix timeouts.\n\nDue to a typo we were capping total execution time to 90s not\n300s. This fixes the typo.\n\nTest: Run odrefresh, check the timeouts logged\nTest: Run odrefresh in a VM, see it succeed after \u003e 90s\nChange-Id: I919ff469ab63dd80058ff170f496605303f8f04d\n"
    },
    {
      "commit": "b35f2a2d436a8d091bc297f2365c7a870e2e2657",
      "tree": "44fafc5ee1a1c1f9b921cb4b1b34a56f66ea78b2",
      "parents": [
        "f5ceaacef619543932a5afb459aebe876170cce0"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Fri Nov 12 17:27:53 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 16 13:43:49 2021 +0000"
      },
      "message": "x86_64: Implement VarHandle.compareAnd* for arrays and byte array views.\n\nBenchmarks improvements (using benchmarks provided by\nhttps://android-review.googlesource.com/1420959):\n\n  benchmark                                   before   after\n  ----------------------------------------------------------\n  CompareAndSetArrayElementInt                2.870    0.007\n  CompareAndSetArrayElementString             3.447    0.008\n  CompareAndExchangeArrayElementInt           2.826    0.007\n  CompareAndExchangeArrayElementString        3.437    0.009\n  CompareAndSetByteArrayViewInt               2.929    0.007\n  CompareAndExchangeByteArrayViewInt          2.878    0.007\n  CompareAndSetByteArrayViewBigEndianInt      2.930    0.007\n  CompareAndExchangeByteArrayViewBigEndianInt 2.875    0.007\n\nBug: 71781600\nTest: lunch aosp_cf_x86_64_phone-userdebug \\\n  \u0026\u0026 art/test.py --host -r -t 712-varhandle-invocations --64\nTest: Repeat with ART_USE_READ_BARRIER\u003dfalse.\nTest: Repeat with ART_HEAP_POISONING\u003dtrue.\nChange-Id: I48fb24ff53b7badfe55ee9d6f394d99ae59efb39\n"
    },
    {
      "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": "409d1db74af9605cb8361b1487dd829820473f0f",
      "tree": "0d4592801e4f42e2699812a25be7ff95b30f1388",
      "parents": [
        "44a1dc73ad352cb19853cd59b709df82e259cdce"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 12 16:27:10 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 15 13:05:59 2021 +0000"
      },
      "message": "Add more checks in FaultHandler.\n\nMake the code more robust when thinking it is dealing with an implicit\nnull check.\n\nTest: test.py\nBug: 170587281\nChange-Id: I5e1177377fb2dcee687a9f84693831f7d2de4b67\n"
    },
    {
      "commit": "44a1dc73ad352cb19853cd59b709df82e259cdce",
      "tree": "a8924c1c051738461fb7a916081d11a77f9f98ee",
      "parents": [
        "c14f47dcc7e458d82799e7852d179c1a9ba3c7c1"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Tue Nov 02 15:38:03 2021 +0000"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Mon Nov 15 10:43:46 2021 +0000"
      },
      "message": "Clean up VarHandles.set*() for arrays and byte array views.\n\nThis CL is a clean up for https://r.android.com/1875684. Changes:\n\n- Use setters instead of constructor arguments.\n\n- Rerun benchmarks and add improvements for arrays to commit message\n  (as aosp/1875684 forgot to mention changes for arrays).\n\n- Do BSWAP at compile time if the argument is a constant value.\n  `HandleFieldSet` now can optionally perform byte swap. The function\n  is rewritten so that constant and non-constant values are handled in\n  separate branches, which makes both cases simpler.\n\n- Add helper function `CodeGeneratorX86_64::GetInstructionCodegen` to\n  reduce boilerplate.\n\nBenchmarks improvements (using benchmarks provided by\nhttps://android-review.googlesource.com/1420959):\n\n  benchmark                             before aosp/1875684   now\n  ----------------------------------------------------------------\n  VarHandleSetArrayElementInt                   2.79         0.002\n  VarHandleSetArrayElementString                3.09         0.003\n  VarHandleSetByteArrayViewInt                  2.89         0.004\n  VarHandleSetByteArrayViewBigEndianInt         2.89         0.004\n\nBug: 71781600\nTest: lunch aosp_cf_x86_64_phone-userdebug \\\n  \u0026\u0026 art/test.py --host -r -t 712-varhandle-invocations --64\nTest: Repeat with ART_USE_READ_BARRIER\u003dfalse.\nTest: Repeat with ART_HEAP_POISONING\u003dtrue.\nChange-Id: I8cc37321228ffb2833a1158a75ced65f18af968e\n"
    },
    {
      "commit": "c14f47dcc7e458d82799e7852d179c1a9ba3c7c1",
      "tree": "fdbcd363a26823b2305a7237ee3444a2736bc3c7",
      "parents": [
        "483c41a99b8f0b63cbdcac9f1cd1f2dcb5756b0c"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 10 13:51:12 2021 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Nov 15 10:34:30 2021 +0000"
      },
      "message": "JNI: Improve argument passing for normal native.\n\nSpill outgoing stack arguments directly to their stack slots\n(except for `this` on x86) and convert such references to\n`jobject` while spilling. Use the `MoveArguments()` call for\nboth argument spilling and loading regsister arguments to\nlet the assembler use multi-register stores.\n\nImprove arm64 JNI assembler to use LDP/STP in the relevant\nsituations when spilling and loading registers.\n\nFix arm JNI assembler that called `CreateJObject()` with\na bogus input register in one case.\n\nGolem results for art-opt-cc (higher is better):\nlinux-ia32                       before after\nNativeDowncallStaticNormal6      25.074 25.578 (+2.011%)\nNativeDowncallStaticNormalRefs6  25.248 25.248 (0%)\nNativeDowncallVirtualNormal6     24.913 25.248 (+1.344%)\nNativeDowncallVirtualNormalRefs6 25.074 25.086 (+0.482%)\nlinux-x64                        before after\nNativeDowncallStaticNormal6      27.000 26.987 (-0.0500%)\nNativeDowncallStaticNormalRefs6  25.411 25.411 (0%)\nNativeDowncallVirtualNormal6     25.248 25.086 (-0.6395%)\nNativeDowncallVirtualNormalRefs6 25.086 25.074 (-0.0492%)\nlinux-armv7                      before after\nNativeDowncallStaticNormal6      5.9259 6.0663 (+2.368%)\nNativeDowncallStaticNormalRefs6  5.6232 5.7061 (+1.474%)\nNativeDowncallVirtualNormal6     5.3659 5.4536 (+1.636%)\nNativeDowncallVirtualNormalRefs6 5.0879 5.1595 (+1.407%)\nlinux-armv8                      before after\nNativeDowncallStaticNormal6      6.0663 6.2651 (+3.277%)\nNativeDowncallStaticNormalRefs6  5.7279 5.8824 (+2.696%)\nNativeDowncallVirtualNormal6     5.9494 6.0663 (+1.964%)\nNativeDowncallVirtualNormalRefs6 5.5581 5.6630 (+1.888%)\n(The x86 and x86-64 differences seem to be lost in noise.)\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing --jit\nTest: run-gtests.sh\nTest: testrunner.py --target --optimizing --jit\nBug: 172332525\nChange-Id: Iaba8244c44d410bb1a4e31f90e4387ee5cc51bec\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": "9575c124c3d77e9f07e8c101571776ac9270af83",
      "tree": "e3477e5c407249cd6e02dfcc5d039bfdc0375b7a",
      "parents": [
        "fa73acca98ddcad8cf208e9a8bce714744b70a6c"
      ],
      "author": {
        "name": "Mythri Alle",
        "email": "mythria@google.com",
        "time": "Fri Nov 12 12:04:41 2021 +0000"
      },
      "committer": {
        "name": "Mythri Alle",
        "email": "mythria@google.com",
        "time": "Mon Nov 15 09:48:20 2021 +0000"
      },
      "message": "Revert^2 \"Cleanup the code to determine instrumentation level\"\n\nThis reverts commit cb8f8c12872d36304dbac80fbd08d8400a757fe5.\n\nReason for revert: Reland commit 21ef5a80704da06bdb2945be1c735ca86e8f1860 with fixes\n\nFixes:\nIn JITed code when we compare a bool variable\n(instrumentation_stubs_installed_) we should use cmpb and not cmpw. This\nwasn\u0027t caught earlier because the next three variables are bool which\nare related to instrumentation are false when instrumentation is disabled.\n\nTest: testrunner.py --host --redefine-stress -t 421-large-frame,\ntestrunner.py --host --redefine-stress -t 545-tracing-and-jit\n\nChange-Id: Iba363fb62d0cb41bcbc86af202eae73a833ba267\n"
    },
    {
      "commit": "fa73acca98ddcad8cf208e9a8bce714744b70a6c",
      "tree": "f60d3973546560fe5835f0e5069bf2d9aa1c6dc3",
      "parents": [
        "3fa6e46c0f379a35d51e37b9253c1d7369e3158f"
      ],
      "author": {
        "name": "Santiago Aboy Solanes",
        "email": "solanes@google.com",
        "time": "Fri Nov 12 14:23:27 2021 +0000"
      },
      "committer": {
        "name": "Santiago Aboy Solanes",
        "email": "solanes@google.com",
        "time": "Fri Nov 12 16:55:59 2021 +0000"
      },
      "message": "Disaggregate kNotInlined MethodCompilationStats\n\nThere were some stats that were used in more than one place, making the actual reason indistinguishable between those cases.\n\nChange-Id: I0d42abdb2e69396991b6408cfea5396f6df2dda7\n"
    },
    {
      "commit": "3fa6e46c0f379a35d51e37b9253c1d7369e3158f",
      "tree": "cf5550ec4a680ae3edebc4395262b69f26757380",
      "parents": [
        "a1d4c56b0d92817939dcf18aa44ea516e4829863"
      ],
      "author": {
        "name": "Nikita Iashchenko",
        "email": "nikitai@google.com",
        "time": "Fri Sep 10 17:30:04 2021 +0100"
      },
      "committer": {
        "name": "Nikita Iashchenko",
        "email": "nikitai@google.com",
        "time": "Fri Nov 12 15:52:56 2021 +0000"
      },
      "message": "Add Math.fma (double \u0026 float versions) intrinsics for arm64\n\nIntrinsic implementation is ~500 times faster than java implementation\nusing BigInteger.\n\nBug: 199373643\nTest: ./art/test/testrunner/testrunner.py --target \\\n      --optimizing --64 -t 082-inline-execute\nChange-Id: I50eae88b332ba9338b0a59fecad7d2158a97ffbb\n"
    },
    {
      "commit": "a1d4c56b0d92817939dcf18aa44ea516e4829863",
      "tree": "9e5e022df133f5fc1c58487297da2eae629cd353",
      "parents": [
        "219f81f52477d22ad9618e111b356193bce616de"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Nov 11 15:01:25 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 12 11:29:02 2021 +0000"
      },
      "message": "Revert^6 \"Use cpplint.py from repohooks\"\n\nThis reverts commit 3ff922309ac7d96f572c57152216cd564f775bf3.\n\nReland of updating the version cpplint.py to use.\n\nReason for revert: required change is in sc-dev-plus-aosp\n\nFix: 200914293\nTest: cherry-pick to sc-dev-plus-aosp \u0026\u0026 m cpplint-art\nTest: treehugger\nChange-Id: I35900c08af22440e45279b38697d16ebb8753003\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": "cb8f8c12872d36304dbac80fbd08d8400a757fe5",
      "tree": "8a0d39a02146fb529ca07a3f30ef6aa101ed535d",
      "parents": [
        "afae11fc14a1fa02a00c54253fcbbb1b373dee89"
      ],
      "author": {
        "name": "Mythri Alle",
        "email": "mythria@google.com",
        "time": "Thu Nov 11 16:31:27 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 11 20:17:26 2021 +0000"
      },
      "message": "Revert \"Cleanup the code to determine instrumentation level\"\n\nThis reverts commit 21ef5a80704da06bdb2945be1c735ca86e8f1860.\n\nReason for revert: Breaks host-x86_64-cdex-fast : https://logs.chromium.org/logs/art/buildbucket/cr-buildbucket/8830927376466901761/+/steps/test_cdex-redefine-stress-jit/0/stdout\n\nChange-Id: I34d61d7ecf569a60cd59318b9a63aa4186c639b7\n"
    },
    {
      "commit": "afae11fc14a1fa02a00c54253fcbbb1b373dee89",
      "tree": "ad33295a0e3bc2a8d9190d2ab7e236192191b3a1",
      "parents": [
        "bc893673522e38e9b312af6edbcc74b4b518b488"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 10 16:45:13 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 11 14:15:21 2021 +0000"
      },
      "message": "Refactor code using the marking register in nterp.\n\nUse a helper to abstract away how we\u0027re looking at the marking state.\n\nTest: test.py\nChange-Id: I560ccb9a043c7d394e8befce2e9e0bca3f44e187\n"
    },
    {
      "commit": "bc893673522e38e9b312af6edbcc74b4b518b488",
      "tree": "6825cb442eda93de83b9290f127efaa6f26c2739",
      "parents": [
        "6545ee31288b72e117450ea77b07f3593bff6180"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 10 15:25:46 2021 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 11 11:57:31 2021 +0000"
      },
      "message": "Minor refactoring of `ClassLinker::LinkMethods()`.\n\nRename `LinkInterfaceMethodsHelper` to `LinkMethodsHelper`\nand move `LinkVirtualMethods()` and `LinkInterfaceMethods()`\nas well as the default translations map to the helper class.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nChange-Id: Id66d1ed70addc8aa1bf7bb47b89e85710de20fb5\n"
    },
    {
      "commit": "6545ee31288b72e117450ea77b07f3593bff6180",
      "tree": "60085d1b253758ba32d8b585e493f634d95e422a",
      "parents": [
        "a0232ad060c65d0ac3e022c9f721b41c02fd0b71"
      ],
      "author": {
        "name": "Shalini Salomi Bodapati",
        "email": "shalini.salomi.bodapati@intel.com",
        "time": "Tue Nov 02 20:01:06 2021 +0530"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 11 11:32:25 2021 +0000"
      },
      "message": "Support Math.fma Intrinsic for x86 and x86_64\n\nIntrinsic Implementation is 2287x faster than base\nTime for base: 188.25s\nTime for patch: 0.0822s\n\nTest: ./run-test --host --64 --optimizing 082-inline-execute\nTest: ./run-test --host --64 --optimizing --instruction-set-features sse4.1 082-inline-execute\nTest: ./run-test --host --64 --optimizing --instruction-set-features sse4.1,avx2 082-inline-execute\nSigned-off-by: Shalini Salomi Bodapati \u003cshalini.salomi.bodapati@intel.com\u003e\nChange-Id: I68b96a35f41f3bb23d7e26d87fee1dd2a5ebf6a6\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": "6806d3c9e41e0e8b187d5e4c76d48ea6cc90b613",
      "tree": "4b696d6ad642a6114bcda2237b764699cfca6b0d",
      "parents": [
        "a110ae1ad51f53ed257cb4349b266131b5145a1e"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Tue Nov 09 17:33:51 2021 +0000"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Wed Nov 10 18:00:02 2021 +0000"
      },
      "message": "Document --simpleperf option to run-test.\n\nThis is a follow-up CL for https://r.android.com/1882072.\n\nBug: none\nTest: art/test/run-test --help |\u0026 grep simpleperf\n      # dumps description\nChange-Id: I515dc77fe84fdf9fe42132e15d83b14c16adec57\n"
    },
    {
      "commit": "a110ae1ad51f53ed257cb4349b266131b5145a1e",
      "tree": "2994e1554cf04ffe8335ae19d87c95bc3c84cbd8",
      "parents": [
        "5298bcd20622df02bf207181ec6d758e0d2bf671"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Tue Nov 09 14:57:50 2021 +0000"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Wed Nov 10 17:40:37 2021 +0000"
      },
      "message": "buildbot-build.sh: colorize messages.\n\nBug: none\nTest: ran tests in chroot as described in art/test/README.chroot.md,\n      observed more colorful output from buildbot-build.sh\nChange-Id: Id07facc29e9e643bb6f70b8c1939b17007bfa34a\n"
    },
    {
      "commit": "5298bcd20622df02bf207181ec6d758e0d2bf671",
      "tree": "0f2894b21159104f2a2aaf093e1d265378b2b6ca",
      "parents": [
        "cbf71ec69f0ce1bc20418e3ba68430d17f97fed0"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Tue Nov 09 14:46:22 2021 +0000"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Wed Nov 10 17:40:37 2021 +0000"
      },
      "message": "buildbot-*.sh scripts: clean up colorful messages.\n\nAdd helper functions `msginfo`, `msgwarning`, `msgerror`, `msgnote` and\nuse them in the buildbot scripts.\n\nBug: none\nTest: ran tests in chroot as described in art/test/README.chroot.md,\n      observed no changes in the colored output\nChange-Id: Ibd577c80ddabef2c04d4f814c46a0d70829f8946\n"
    },
    {
      "commit": "cbf71ec69f0ce1bc20418e3ba68430d17f97fed0",
      "tree": "f4e84b0b03805d513b659d3dbfd8d0355f3f0810",
      "parents": [
        "9597748fe00249abe6958c004d17805440cb2992"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Tue Nov 09 14:10:05 2021 +0000"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Wed Nov 10 17:40:37 2021 +0000"
      },
      "message": "buildbot-build.sh: add a note that linkerconfig error is not fatal.\n\nBug: none\nTest: ran tests in chroot as described in art/test/README.chroot.md,\n      observed the note\nChange-Id: Id541f736713b90d313a41f2bfe924a880460dc75\n"
    },
    {
      "commit": "9597748fe00249abe6958c004d17805440cb2992",
      "tree": "db5fd9a035257b159a1232c55847a2126c794d89",
      "parents": [
        "21ef5a80704da06bdb2945be1c735ca86e8f1860"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Tue Nov 09 14:05:14 2021 +0000"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Wed Nov 10 17:40:37 2021 +0000"
      },
      "message": "buildbot-*.sh scripts: move common helpers to a separate script.\n\nBug: none\nTest: ran tests in chroot as described in art/test/README.chroot.md,\n      observed no changes in the colored output\nChange-Id: I205349d1c4e6344176ce4b49385554e187b22760\n"
    },
    {
      "commit": "21ef5a80704da06bdb2945be1c735ca86e8f1860",
      "tree": "3502260771eccf8093d7213d82a95dc09a7dc730",
      "parents": [
        "7eba377df15605b70adcac767f8987ab72420a4f"
      ],
      "author": {
        "name": "Mythri Alle",
        "email": "mythria@google.com",
        "time": "Wed Oct 27 13:28:28 2021 +0000"
      },
      "committer": {
        "name": "Mythri Alle",
        "email": "mythria@google.com",
        "time": "Wed Nov 10 16:30:23 2021 +0000"
      },
      "message": "Cleanup the code to determine instrumentation level\n\nWe used to maintain three different variables to maintain the\ncurrent instrumentation level. This CL unifies them into a\nsingle variable which helps improve readability of the code.\n\nTest: art/testrunner.py\nChange-Id: Ibb2dfa14c90a209c3afbf28dab71533ad2fd8c7b\n"
    },
    {
      "commit": "7eba377df15605b70adcac767f8987ab72420a4f",
      "tree": "ec8ba176017a9e9f5d93de87f3360c0a0096ec5d",
      "parents": [
        "b304c400f096ff7879035082205abad781cae242"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Nov 10 11:22:58 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 10 14:24:52 2021 +0000"
      },
      "message": "Enable libdexfile_external_headers on mac.\n\nIt was disabled when it started using art_defaults in\nhttps://r.android.com/1875689, but libdexfile depends on it and is\nenabled on mac.\n\nTest: Heavy presubmit\nBug: 205747790\nBug: 204364566\nChange-Id: I17428034ef8db06eb7084596117d7982132085fb\n"
    },
    {
      "commit": "b304c400f096ff7879035082205abad781cae242",
      "tree": "765888068c1df30ef9fda597715c4b3339e365c8",
      "parents": [
        "d3cc4fc37926118b45f8ea81376ac30def84e036"
      ],
      "author": {
        "name": "Nikita Iashchenko",
        "email": "nikitai@google.com",
        "time": "Wed Nov 03 15:54:12 2021 +0000"
      },
      "committer": {
        "name": "Nikita Iashchenko",
        "email": "nikitai@google.com",
        "time": "Wed Nov 10 13:55:41 2021 +0000"
      },
      "message": "OpenJDK 11: Merging in java.lang.String (chars() and codePoints() methods)\n\nThis is part of merging upstream changes from OpenJDK 11.28. This CL\nupdates test expectations for 100-reflect2 test for newly added\noverrides of CharSequence\u0027s chars() and codePoints() methods.\n\nBug: 202962059\nTest: art/test/testrunner/testrunner.py --host -b -t 100-reflect2\nTest: atest CtsLibcoreOjTestCases:test.java.lang.String.Chars\nChange-Id: I1f508023d7d792b40a3661234254abff00ca248c\n"
    },
    {
      "commit": "d3cc4fc37926118b45f8ea81376ac30def84e036",
      "tree": "14f9bb8aea02bf02feb1274d1a1c43ed8b1628e4",
      "parents": [
        "50df1e25038255c3b31609423ec10852a4511cea"
      ],
      "author": {
        "name": "Nikita Iashchenko",
        "email": "nikitai@google.com",
        "time": "Wed Nov 03 13:47:33 2021 +0000"
      },
      "committer": {
        "name": "Nikita Iashchenko",
        "email": "nikitai@google.com",
        "time": "Wed Nov 10 13:55:41 2021 +0000"
      },
      "message": "OpenJDK 11: Merging in java.lang.String (lines() method)\n\nThis is part of merging upstream changes from OpenJDK 11.28. This CL\nincrements vtable_entries count for newly added lines() method in\nString class; and updates test expectations for 100-reflect2 test.\n\nBug: 202962059\nTest: art/test/testrunner/testrunner.py --host -b -t 100-reflect2\nTest: atest CtsLibcoreOjTestCases:test.java.lang.String.Lines\nChange-Id: I06b3ee113af0824b198e77110da4c847a1a2b8ff\n"
    },
    {
      "commit": "50df1e25038255c3b31609423ec10852a4511cea",
      "tree": "dc061d80d54dbce8c02de51ecd8fe60cc96eed6e",
      "parents": [
        "d3aaf94693470e133f804d630fe5180ae8017779"
      ],
      "author": {
        "name": "Nikita Iashchenko",
        "email": "nikitai@google.com",
        "time": "Wed Nov 03 12:18:46 2021 +0000"
      },
      "committer": {
        "name": "Nikita Iashchenko",
        "email": "nikitai@google.com",
        "time": "Wed Nov 10 13:55:41 2021 +0000"
      },
      "message": "OpenJDK 11: Merging in java.lang.String (isBlank() method)\n\nThis is part of merging upstream changes from OpenJDK 11.28. This CL\nincrements vtable_entries count for newly added isBlank() method in\nString class; and updates test expectations for 100-reflect2 test.\n\nBug: 202962059\nTest: art/test/testrunner/testrunner.py --host -b -t 100-reflect2\nTest: atest CtsLibcoreOjTestCases:test.java.lang.String.{IsBlank,Strip}\nChange-Id: Ibf0bce0a7f97686aeefda241f8e8be59d3d2af3f\n"
    },
    {
      "commit": "d3aaf94693470e133f804d630fe5180ae8017779",
      "tree": "dabdd855a9b9868502d77748e85f5887f65ea1cf",
      "parents": [
        "61673dc4bdee2fa4770ee72fbc347cca595dd231"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 02 10:51:57 2021 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 10 09:31:35 2021 +0000"
      },
      "message": "JNI: Move args in registers for @FastNative.\n\nGolem results for art-opt-cc (higher is better):\nlinux-ia32                     before after\nNativeDowncallStaticFast       222.00 222.17 (+0.0751%)\nNativeDowncallStaticFast6      139.86 161.00 (+15.11%)\nNativeDowncallStaticFastRefs6  131.00 137.86 (+5.238%)\nNativeDowncallVirtualFast      211.79 217.17 (+2.543%)\nNativeDowncallVirtualFast6     137.36 150.55 (+9.599%)\nNativeDowncallVirtualFastRefs6 131.50 132.60 (+0.8382%)\nlinux-x64                      before after\nNativeDowncallStaticFast       173.15 173.24 (+0.0499%)\nNativeDowncallStaticFast6      135.50 157.61 (+16.31%)\nNativeDowncallStaticFastRefs6  127.06 134.87 (+6.147%)\nNativeDowncallVirtualFast      163.67 165.83 (+1.321%)\nNativeDowncallVirtualFast6     128.18 147.35 (+14.96%)\nNativeDowncallVirtualFastRefs6 123.44 130.74 (+5.914%)\nlinux-armv7                    before after\nNativeDowncallStaticFast       21.622 21.622 (0%)\nNativeDowncallStaticFast6      17.250 18.719 (+8.518%)\nNativeDowncallStaticFastRefs6  14.757 15.663 (+6.145%)\nNativeDowncallVirtualFast      21.027 21.319 (+1.388%)\nNativeDowncallVirtualFast6     17.439 18.953 (+8.680%)\nNativeDowncallVirtualFastRefs6 14.764 15.992 (+8.319%)\nlinux-armv8                    before after\nNativeDowncallStaticFast       23.244 23.610 (+1.575%)\nNativeDowncallStaticFast6      18.719 21.622 (+15.50%)\nNativeDowncallStaticFastRefs6  14.757 18.491 (+20.89%)\nNativeDowncallVirtualFast      20.197 21.319 (+5.554%)\nNativeDowncallVirtualFast6     18.272 21.027 (+15.08%)\nNativeDowncallVirtualFastRefs6 13.951 16.865 (+20.89%)\n(The arm64 NativeDowncallVirtualFast reference value is very\nlow, resulting in an unexpected +5.554% improvement. As the\nprevious results seem to jump between 20.197 and 20.741,\nthe actual improvement is probably just around 2.5%.)\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: I2b596414458b48a758826eafc223529e9f2fe059\n"
    },
    {
      "commit": "61673dc4bdee2fa4770ee72fbc347cca595dd231",
      "tree": "4a3a3f1b712e72bc7b9be3c84c5c79ce3588bdbf",
      "parents": [
        "f726d20976dff58db4e0111860f6b23b77be61a7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat Nov 06 13:58:31 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 10 09:19:19 2021 +0000"
      },
      "message": "Reland \"Change hotness counting.\"\n\nThis reverts commit ce131feb7c60ffdf28c315c5d67f9cac33a077ce.\n\nBug: 203810169\nTest: test.py\nTest: health/microbench/startup/hscapps/compile-speed-profile/open-clock\n\nReason for revert: Kept logic from before on what methods to save in the\nprofile.\n\nChange-Id: Id67cd47a9fe31b4c6b154db20f632015238016d2\n"
    },
    {
      "commit": "f726d20976dff58db4e0111860f6b23b77be61a7",
      "tree": "52089e891834a9c58efc3dccbc38ddd38d0ba324",
      "parents": [
        "66982ad9ae83dd88a76f583395a3753b4556a571"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Oct 28 03:52:25 2021 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Nov 09 19:28:05 2021 +0000"
      },
      "message": "Consolidate min_sdk_version settings.\n\n31 is now the official API version.\n\nTest: m nothing\nBug: 204364566\nChange-Id: I93464af50e85cd59a8ba25b987520744e75ec0b3\n"
    },
    {
      "commit": "66982ad9ae83dd88a76f583395a3753b4556a571",
      "tree": "9b556340337889e4a1ee6a605231fb5cc8eb484c",
      "parents": [
        "970ba219234b16918e68e2b4ffddb2b896225b3e"
      ],
      "author": {
        "name": "Nikita Iashchenko",
        "email": "nikitai@google.com",
        "time": "Tue Nov 02 19:50:42 2021 +0000"
      },
      "committer": {
        "name": "Nikita Iashchenko",
        "email": "nikitai@google.com",
        "time": "Tue Nov 09 19:23:40 2021 +0000"
      },
      "message": "OpenJDK 11: Merging in java.lang.String (strip* methods)\n\nThis is part of merging upstream changes from OpenJDK 11.28. This CL\nincrements vtable_entries count for newly added methods in String class:\nstrip(), stripLeading() and stripTrailing(); and updates test expectations\nfor 100-reflect2 test.\n\nBug: 202962059\nTest: art/test/testrunner/testrunner.py --host -b -t 100-reflect2\nTest: atest CtsLibcoreOjTestCases:test.java.lang.String.Strip\nChange-Id: I3f453739ebbdff96580493f19339f341d448d123\n"
    },
    {
      "commit": "970ba219234b16918e68e2b4ffddb2b896225b3e",
      "tree": "335b9a51612a386e60f7c8746aaccf86d3305842",
      "parents": [
        "e10abe7d84ed44d61401d24073f01d1c7777e17c"
      ],
      "author": {
        "name": "Santiago Aboy Solanes",
        "email": "solanes@google.com",
        "time": "Thu Oct 21 10:52:47 2021 +0100"
      },
      "committer": {
        "name": "Santiago Aboy Solanes",
        "email": "solanes@google.com",
        "time": "Tue Nov 09 17:22:30 2021 +0000"
      },
      "message": "Inline across dex files for compiler options\u0027 non-BCP methods\n\nWe are now able to inline across dexfiles for the dexfiles present\nin compiler options\u0027 dex_files_for_oat_file_.\n\nNote that the dex files in the Class Loader Context are not included\nin this implementation since they will not have an OatDexFile.\n\nBug: 154012332\nTest: ART tests\n\nChange-Id: I7704217d936afecb66fc952c10529bb1030d6981\n"
    },
    {
      "commit": "e10abe7d84ed44d61401d24073f01d1c7777e17c",
      "tree": "f675fae36a159220dad49664a295d254287dd584",
      "parents": [
        "02e3be0f15a71a90d3265a510847ca4c1c45b910"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Oct 28 03:49:55 2021 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Nov 09 15:30:21 2021 +0000"
      },
      "message": "Inherit art_defaults in cc_library_headers as well.\n\nTo take art_defaults closer to a true global defaults used by\neverything in the ART module. It has mostly compiler flags which aren\u0027t\napplicable for header modules, but it may have other things as well,\nnotably min_sdk_version.\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: Iba53785a992894fe7e8209a520e7ad9ec32636a2\n"
    },
    {
      "commit": "02e3be0f15a71a90d3265a510847ca4c1c45b910",
      "tree": "40ee0d4c2d0fa10346d7140c69a694592c9d37a7",
      "parents": [
        "9dca919ad219bcc093821ec30c14a6df1ef7ede5"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Oct 28 03:24:58 2021 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Nov 09 15:30:21 2021 +0000"
      },
      "message": "Make art_test_common_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 test-only things that didn\u0027t inherit art_defaults\nexplicitly.\n\nAlso some code cleanups in tests that were uncovered by the extra\ncompiler warnings.\n\n#codehealth\n\nTest: Run-tests, gtests, libcore tests and libjdwp tests for host and\n  device on master-art\nTest: mmm art/libnativeloader/\nBug: 204364566\nChange-Id: I618881ca618c32c40f26b4d354f48d5f9c42fc12\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": "b747b7aa66e41160e5811ab824f93a38b2bf4ef3",
      "tree": "4f7b551f53657f077abb3f60281ea63903bb8cda",
      "parents": [
        "dc7f139c99987f7029ec5dfb8b69cf45e788435d"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Nov 03 18:40:17 2021 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Nov 09 15:30:21 2021 +0000"
      },
      "message": "Move the bionic_libc_platform_headers dependency to where it is used.\n\nTo avoid dependencies in the common default.\n\nTest: art/build/apex/runtests.sh\nTest: m art-module-sdk art-module-{host,test}-exports\nBug: 204364566\nChange-Id: If9c5732c55b22928c98042c3da28690cae01803f\n"
    },
    {
      "commit": "dc7f139c99987f7029ec5dfb8b69cf45e788435d",
      "tree": "05066f63d34b256a4cc1d3db5eaa6f3029783e3f",
      "parents": [
        "31f9e7d3aee4befe2335077e8bab481c2a5f865f"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Nov 03 18:05:33 2021 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Nov 09 15:30:21 2021 +0000"
      },
      "message": "Refactor libart_runtime_headers_ndk to a header lib also used by libart\nitself.\n\nThis renames it and drops `sdk_version: \"current\"` as well.\n\nTest: art/build/apex/runtests.sh\nTest: m art-module-sdk art-module-{host,test}-exports\nBug: 204364566\nChange-Id: I62c18fb1406e96865ad60d5022dcc4b60e778cbd\n"
    },
    {
      "commit": "31f9e7d3aee4befe2335077e8bab481c2a5f865f",
      "tree": "08d70d657b32eec9607e6f48df1ef7da78b0393d",
      "parents": [
        "e078f43cd0ba449e9b9249e008cb550c8078015d"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Nov 03 19:52:01 2021 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Nov 09 15:30:21 2021 +0000"
      },
      "message": "Remove libart_runtime_headers_ndk from libctstiagent.\n\nIt uses slicer, not libdexfile, so it doesn\u0027t need this dependency.\nThis was probably missed in the refactoring in\nhttps://r.android.com/620207.\n\nThis will allow cleaning up libart_runtime_headers_ndk and avoid the\nsdk variants of the headers internally.\n\nTest: atest --test-mapping cts/hostsidetests/jvmti\nBug: 204364566\nChange-Id: I969e749d138799b74cbf03277e48382397fa05f8\n"
    },
    {
      "commit": "e078f43cd0ba449e9b9249e008cb550c8078015d",
      "tree": "d41e1dd8e10cdea629fbeef131de8431bc53c318",
      "parents": [
        "5097f83c4719a76fdfab1044ab745273841aca45"
      ],
      "author": {
        "name": "Nikita Iashchenko",
        "email": "nikitai@google.com",
        "time": "Tue Nov 02 19:50:25 2021 +0000"
      },
      "committer": {
        "name": "Nikita Iashchenko",
        "email": "nikitai@google.com",
        "time": "Tue Nov 09 15:22:57 2021 +0000"
      },
      "message": "OpenJDK 11: Merging in java.lang.String (checkBounds() helpers)\n\nThis is part of merging upstream changes from OpenJDK 11.28. This CL\nupdates test expectations for 100-reflect2, 988-method-trace and\n201-built-in-except-detail-messages tests as new helper methods\nwere added to String class.\n\nBug: 202962059\nTest: art/test/testrunner/testrunner.py --host -b \\\n      -t 100-reflect2 \\\n      -t 988-method-trace \\\n      -t 201-built-in-except-detail-messages\nChange-Id: I00398da70799138e1e8853978b429505ffe12d36\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": "d1e6bea2c502a72dc5d0c3d16deb591ba61c9d76",
      "tree": "451cdd896ed6710e74904dc946b6287d3b290b38",
      "parents": [
        "05949c6d2adda69b5044996009fa7b0a42de8c34"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Nov 05 18:06:34 2021 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Nov 09 13:41:59 2021 +0000"
      },
      "message": "Build `odrefresh` ART gtests for both 32- and 64-bit architectures.\n\nThis is to address current MTS test failures. This also aligns\n`odrefresh` ART gtests with other ART gtests, which are built for both\n32- and 64-bit architectures (when supported by the build target).\n\nTest: m mts \\\n        \u0026\u0026 mts-tradefed run commandAndExit mts-art \\\n             --module art_standalone_odrefresh_tests\nBug: 203853789\nChange-Id: I0d91ee8a5a9b38e5ed2e6a7d4cacd31506635605\n"
    },
    {
      "commit": "05949c6d2adda69b5044996009fa7b0a42de8c34",
      "tree": "c08a7ed137891a16b0932cf487f229ac4e8dfefa",
      "parents": [
        "1aa30e5ec21573594b45a790175b500655e5d01e"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Oct 28 02:31:53 2021 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 09 13:02:37 2021 +0000"
      },
      "message": "artd and its dependencies don\u0027t exist on host.\n\nTest: art/build/apex/runtests.sh\nChange-Id: I46c72388d5d20fac422320859f958a138faa6335\n"
    },
    {
      "commit": "1aa30e5ec21573594b45a790175b500655e5d01e",
      "tree": "d8f5d1cbde396e712e2f7bca16e9555cf63d3f01",
      "parents": [
        "cc76459f5d32d9002d8d0a432ccd6a3ca1f25bd0"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Oct 28 02:12:07 2021 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 09 13:02:37 2021 +0000"
      },
      "message": "Handle TARGET_FLATTEN_APEX and PRODUCT_COMPRESSED_APEX being \"\" when\nfalse.\n\nAlso combine calls to Soong to dump build variables, and make it\npossible to pass --bitness to art_test_apex.py.\n\nTest: art/build/apex/runtests.sh\nTest: art/build/apex/runtests.sh --bitness\u003dmultilib\nChange-Id: I838693e894a4fe1d788cd3bbc8df66382d5fe442\n"
    },
    {
      "commit": "cc76459f5d32d9002d8d0a432ccd6a3ca1f25bd0",
      "tree": "a8122328ac86f383f15d4f3b89d78503b283785e",
      "parents": [
        "01f0b8417d75428ed12e4adf19afcbf557651aaa"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Oct 18 15:10:41 2021 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 09 11:18:38 2021 +0000"
      },
      "message": "Modified revert of \"Add couple DexCache read-barriers.\"\n\nRemove the DexCache read-barriers again (the revert) since\nthere is measurable performance difference in app startup (~1%).\nIt turns out they are on very hot path in the interpreter.\n\nThe lazy array initialization made the DexCache fields mutable.\nHowever, instead of the read-barriers, we can just ensure we get\nthe right to-space object on the array-initialization slow path.\n\nTest: test.py -b -r --host\nChange-Id: I3f0123141e9a7875a26f088bff68d50641b66883\n"
    },
    {
      "commit": "01f0b8417d75428ed12e4adf19afcbf557651aaa",
      "tree": "c337e17a7af7e8af1974dc3014e6e8d44bb5ed78",
      "parents": [
        "ad33392536e606eac02bf3ee261fa7ddd26646a0"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Nov 08 16:24:54 2021 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Nov 08 16:27:52 2021 +0000"
      },
      "message": "ART: CleanSpec workaround for broken dependencies.\n\nTest: Rely on TreeHugger.\nBug: 205552838\nChange-Id: I0194dd37bd691918346d4860265f265cb55db556\n"
    },
    {
      "commit": "ad33392536e606eac02bf3ee261fa7ddd26646a0",
      "tree": "415155d35754c830cabafdc5f522731b8eab92cc",
      "parents": [
        "39c36b28c7111411a509a0578741382842e6a067"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 02 10:51:57 2021 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Nov 08 13:43:17 2021 +0000"
      },
      "message": "JNI: Rewrite read barrier slow path.\n\nPreserve all argument registers in the slow path to prepare\nfor moving arguments in registers for @FastNative. Move the\nread barrier check earlier as it logically belongs to the\ntransition frame creation. For Baker read barriers, add a\nmark bit check with fast return to the main path.\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: I50bbc0bc9d54577281e7667aafebb4a53a539af1\n"
    },
    {
      "commit": "39c36b28c7111411a509a0578741382842e6a067",
      "tree": "1efecbb352b63178736535058d0e652d10c88994",
      "parents": [
        "7f7f6442ccd272a04c4d21f573ae40f1887b41e1"
      ],
      "author": {
        "name": "Nikita Iashchenko",
        "email": "nikitai@google.com",
        "time": "Tue Nov 02 19:49:45 2021 +0000"
      },
      "committer": {
        "name": "Nikita Iashchenko",
        "email": "nikitai@google.com",
        "time": "Mon Nov 08 10:41:54 2021 +0000"
      },
      "message": "OpenJDK 11: Merging in java.lang.String (checkIndex() helper)\n\nThis is part of merging upstream changes from OpenJDK 11.28. This CL\nupdates test expectations for 100-reflect2 test.\n\nBug: 202962059\nTest: art/test/testrunner/testrunner.py --host -b -t 100-reflect2\nChange-Id: I3b41b0dbb7698420f2effb222aa0b52e8961dda0\n"
    },
    {
      "commit": "7f7f6442ccd272a04c4d21f573ae40f1887b41e1",
      "tree": "0faaf406b9df3955e1765891256fc043ab8e7e5f",
      "parents": [
        "cdf6c49112615419b0d170bac31685bd0b3dae0e"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Fri Nov 05 15:26:13 2021 +0000"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Mon Nov 08 10:15:53 2021 +0000"
      },
      "message": "Allow running art run-tests with simpleperf.\n\nAdd \"--simpleperf\" option to art/test/run-test and pass it to\nart/test/etc/run-test-jar. With this option dalvikvm invocation is\nwrapped in \"simpleperf record ... simpleperf report\".\n\nThe new option can be used with chroot-based testsing approach described\nin art/test/README.chroot.md. For example, to profile 001-HelloWorld on\na sargo device with serial 8BLAY00EVN (64-bit), do the following steps:\n\n  unset ART_TEST_ANDROID_ROOT\n  unset CUSTOM_TARGET_LINKER\n  unset ART_TEST_ANDROID_ART_ROOT\n  unset ART_TEST_ANDROID_RUNTIME_ROOT\n  unset ART_TEST_ANDROID_I18N_ROOT\n  unset ART_TEST_ANDROID_TZDATA_ROOT\n\n  export ART_TEST_CHROOT\u003d/data/local/art-test-chroot\n  export ANDROID_SERIAL\u003d8BLAY00EVN\n  export ART_HEAP_POISONING\u003dtrue\n\n  . ./build/envsetup.sh\n  lunch aosp_sargo-userdebug\n\n  art/tools/buildbot-build.sh --target -j72 # --installclean\n  art/tools/buildbot-cleanup-device.sh\n  art/tools/buildbot-setup-device.sh\n  art/tools/buildbot-sync.sh\n\n  art/test/run-test --simpleperf --chroot $ART_TEST_CHROOT --64 001-HelloWorld\n\n  art/tools/buildbot-teardown-device.sh\n  art/tools/buildbot-cleanup-device.sh\n\nBug: none\nTest: Ran the above steps, observed simpleperf stats in the output.\nChange-Id: I1ce14fa94add3a1a6e7cec59382909ad6d11ef2a\n"
    },
    {
      "commit": "cdf6c49112615419b0d170bac31685bd0b3dae0e",
      "tree": "ab64f6c58f9cd7f28319699ae13fae1af2cdff9e",
      "parents": [
        "e37bacc7999bcd121bc8f7cf4be3b366799d87b4"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Nov 02 15:35:05 2021 +0000"
      },
      "committer": {
        "name": "Nikita Iashchenko",
        "email": "nikitai@google.com",
        "time": "Fri Nov 05 15:21:58 2021 +0000"
      },
      "message": "Revert^2 \"OpenJDK 11: Add String.repeat()\"\n\nThis reverts commit 48fb9f43a81fa0cab09ed4a4f3d478c1a0ecbe9e.\n\nReason for revert: d8 has adopted the same behaviour as the intended\nimplementation so tests should no longer fail when backports are\napplied.\n\nBug: 191859202\nBug: 202962059\nTest: Treehugger\nTest: cherry-pick to problem branch and run tests there.\nChange-Id: I734673a2c37d04e77a76496a722db1460eaf2b49\n"
    },
    {
      "commit": "e37bacc7999bcd121bc8f7cf4be3b366799d87b4",
      "tree": "2d026e2bb7eab0575539e3e05b456af9d697db9f",
      "parents": [
        "d3f8758e8ac7b8f539ca6d9ead3dbb41b4903001"
      ],
      "author": {
        "name": "Sorin Basca",
        "email": "sorinbasca@google.com",
        "time": "Fri Nov 05 13:08:56 2021 +0000"
      },
      "committer": {
        "name": "Sorin Basca",
        "email": "sorinbasca@google.com",
        "time": "Fri Nov 05 13:19:57 2021 +0000"
      },
      "message": "Tidy up Unsafe.copyMemory test\n\nTest: art/test/testrunner/testrunner.py -t 2235-JdkUnsafeTest\nBug: 203534219\nChange-Id: I4c24b235276ee8e5ca7ccdb7147ef33f1cb9224b\n"
    },
    {
      "commit": "d3f8758e8ac7b8f539ca6d9ead3dbb41b4903001",
      "tree": "ad6a7854e7a2226c635454434c1270c2fac63578",
      "parents": [
        "dd576456b6f186c18953b687baaf0aa928245a51"
      ],
      "author": {
        "name": "Daniele Di Proietto",
        "email": "ddiproietto@google.com",
        "time": "Thu Oct 21 19:05:40 2021 +0100"
      },
      "committer": {
        "name": "Daniele Di Proietto",
        "email": "ddiproietto@google.com",
        "time": "Fri Nov 05 11:31:19 2021 +0000"
      },
      "message": "Treat PhantomReferences like normal object\n\nPhantomReferences are classes like sun.misc.Cleaner (I think that\u0027s the\nonly type).\n\nThis change:\n* Uses Class::GetIFields() instead of Object::VisitReference() to\n  visit references for PhantomReferences. This way,\n  the `sun.misc.Cleaner.referent` field is included. This is useful for\n  understanding native allocation sizes.\n* Avoids emitting field_ids for each PhantomReference objects. The\n  field_ids emitted in the types are enough (they are for normal\n  classes).\n\nTested by building, flashing, getting a perfetto heap dump of systemui\nand loading into the perfetto ui at aosp/1869189\n\nBug: 194395971\nChange-Id: Id2b5a1c80550a3d43c8b0289c198324fb327ecbc\n"
    },
    {
      "commit": "dd576456b6f186c18953b687baaf0aa928245a51",
      "tree": "c3aa015061ab31f3ee47c6b49854c4b0bf0b4ad7",
      "parents": [
        "f0d8b448cad550e4757aedc3304c9afc84a62788"
      ],
      "author": {
        "name": "Daniele Di Proietto",
        "email": "ddiproietto@google.com",
        "time": "Fri Oct 15 17:51:03 2021 +0100"
      },
      "committer": {
        "name": "Daniele Di Proietto",
        "email": "ddiproietto@google.com",
        "time": "Fri Nov 05 11:31:19 2021 +0000"
      },
      "message": "Dump NativeAllocationRegistry size\n\nThis commits dumps the value of\nthe \"libcore.util.NativeAllocationRegistry.size\" field.\n\nThis is useful to understand native allocations.\n\nBug: 194395971\nChange-Id: I8de37fe7b3b6f68ae85a6bbd4c6bba4d0da23df6\n"
    },
    {
      "commit": "f0d8b448cad550e4757aedc3304c9afc84a62788",
      "tree": "5f3a103c9fa9437a1003f1be6e592daa9cddab53",
      "parents": [
        "619121a15364dd489148e014a928480eb6b18abd"
      ],
      "author": {
        "name": "Mythri Alle",
        "email": "mythria@google.com",
        "time": "Wed Nov 03 17:28:24 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 05 11:22:55 2021 +0000"
      },
      "message": "Revert^2 \"Update run-test script to pass --Xjitthreshold:0 for jvmti tests\"\n\nThis reverts commit 26db016b9462cbaea158ec4e46dd95319cd3666f.\n\nReason for revert: Reland\ncommit 0bc369b6a7c6d380876574f5b1f7fe3aa78839fb by skipping known\nfailures\n\nTest: testrunner.py --host --debug --cdex-fast --jit --redefine-stress --debuggable\nChange-Id: Ib9dbc2d2a0fcd58dea42d662b5ff860752a00602\n"
    },
    {
      "commit": "619121a15364dd489148e014a928480eb6b18abd",
      "tree": "9f8c8c6a4d440ffce7e25ed0e45bcb890085e56d",
      "parents": [
        "18fba4cee0da2a2ca3051791a9cbdf5fa6f552c9"
      ],
      "author": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Wed Nov 03 10:25:28 2021 +0000"
      },
      "committer": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Thu Nov 04 23:17:07 2021 +0000"
      },
      "message": "Remove the code for verifying artifacts.\n\nVerifying artifacts using dexoptanalyzer takes long and is not suitable\nfor running at early boot. It was replaced with a faster approach, but\nthe code hasn\u0027t been cleaned up. As we are making more and more changes\nto odrefresh, the code for verifying artifaccts is outdated and becomes\na maintenance burden.\n\nBug: 203198541\nTest: Presubmits\nChange-Id: Ie689a38f44c986582901c1589b31af41e769d13e\n"
    },
    {
      "commit": "18fba4cee0da2a2ca3051791a9cbdf5fa6f552c9",
      "tree": "e548c988e2cb7d3ea42c6455ffbb5e25edd75f78",
      "parents": [
        "6947faada7b1a2bbd528a2de559ba2fd5406a1d0"
      ],
      "author": {
        "name": "Mythri Alle",
        "email": "mythria@google.com",
        "time": "Wed Oct 27 10:00:55 2021 +0000"
      },
      "committer": {
        "name": "Mythri Alle",
        "email": "mythria@google.com",
        "time": "Thu Nov 04 10:39:33 2021 +0000"
      },
      "message": "Remove unused code related to method entry / exit events\n\nThis Cl:\n- Drops this_object and dex_pc arguments for MethodExitEvent\n  which aren\u0027t used in any of the listeners.\n- Removes the code to maintain dex_pcs_ which were earlier used\n  by MethodEnteredEvent but are no longer used.\n\nTest: test/tes.py\nChange-Id: I0345598897004b7b6b9f26bd8940c88b5bb798f7\n"
    },
    {
      "commit": "6947faada7b1a2bbd528a2de559ba2fd5406a1d0",
      "tree": "f65f36047d321561a12ba4651d52648d1adc2909",
      "parents": [
        "968c813361ce84e19db3a3765efb253bbeeb7783"
      ],
      "author": {
        "name": "Sorin Basca",
        "email": "sorinbasca@google.com",
        "time": "Wed Nov 03 18:16:13 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 04 08:59:02 2021 +0000"
      },
      "message": "Making CompletableFutureTest as known failure on gcstress debug\n\nBug: 205007075\nTest: art/tools/run-libcore-tests.sh --mode host --gcstress --variant X32 --debug jsr166.CompletableFutureTest\nChange-Id: I4f06af6ad38ea6ecb39cbb160ef5862cf3d12f87\n"
    },
    {
      "commit": "968c813361ce84e19db3a3765efb253bbeeb7783",
      "tree": "29d31f4ffcd6777c3c1ba2df11eb421d95dc2c49",
      "parents": [
        "91c795f68ed86ff6067adc691100ddc812d4a004"
      ],
      "author": {
        "name": "Jared Duke",
        "email": "jdduke@google.com",
        "time": "Tue Nov 02 16:47:54 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 04 07:39:11 2021 +0000"
      },
      "message": "Avoid redundant strlen for shorty names\n\nAs the shorty names are ASCII, we can safely use the UTF16 length as\nthe byte length. Update several ART files to use the shorty getters\nthat return the length to avoid redundant strlen calls.\n\nThis strlen usage was showing up as a minor part of a recent Play Store\napp startup profile.\n\nBug: 204230974\nTest: Manual\nChange-Id: I4f5fb100303f465ed50b524ee5e349c8341a05e9\n"
    },
    {
      "commit": "91c795f68ed86ff6067adc691100ddc812d4a004",
      "tree": "76565b153f18f843b3d9396d8fc0ee92230c3b6e",
      "parents": [
        "aa4024c243cbdeebb3d3f8fa47da8354ad87b415"
      ],
      "author": {
        "name": "Sorin Basca",
        "email": "sorinbasca@google.com",
        "time": "Tue Nov 02 22:23:06 2021 +0000"
      },
      "committer": {
        "name": "Sorin Basca",
        "email": "sorinbasca@google.com",
        "time": "Wed Nov 03 13:08:36 2021 +0000"
      },
      "message": "Adding Unsafe.copyMemory for arrays\n\nTest: art/test/testrunner/testrunner.py -t 2235-JdkUnsafeTest\nBug: 203534219\nChange-Id: Ibcf5c0f124907b630e5290fd62c4ccdebe71176f\n"
    },
    {
      "commit": "aa4024c243cbdeebb3d3f8fa47da8354ad87b415",
      "tree": "2a7739b2a69229716f522ebaeae7423b3b9d71b9",
      "parents": [
        "b6bb603e9f727889f7db1cbc3b4a25e75fe87a3c"
      ],
      "author": {
        "name": "Sorin Basca",
        "email": "sorinbasca@google.com",
        "time": "Tue Oct 26 13:39:41 2021 +0000"
      },
      "committer": {
        "name": "Sorin Basca",
        "email": "sorinbasca@google.com",
        "time": "Wed Nov 03 11:53:25 2021 +0000"
      },
      "message": "Removing copy with primitive arrays in Unsafe\n\nThe copy memory with primitive arrays are no longer used\nanywhere, so there is no point in having them in the new\njdk.internal.misc.Unsafe class.\n\nBug: 203762565\nTest: art/test/testrunner/testrunner.py -t 2235-JdkUnsafeTest\nChange-Id: Iebe88fdfd37bdd337a9573cabf5661eefa03cdb8\n"
    },
    {
      "commit": "b6bb603e9f727889f7db1cbc3b4a25e75fe87a3c",
      "tree": "a138177a1ab86fcca62637db09e428ef80d4d193",
      "parents": [
        "10a312cc1c2f43f4bf9a72664e55af35bc27ec89"
      ],
      "author": {
        "name": "Sorin Basca",
        "email": "sorinbasca@google.com",
        "time": "Tue Oct 26 13:38:54 2021 +0000"
      },
      "committer": {
        "name": "Sorin Basca",
        "email": "sorinbasca@google.com",
        "time": "Wed Nov 03 11:53:14 2021 +0000"
      },
      "message": "Fix linting issues in Unsafe native\n\nBug: 203762565\nTest: art/test/testrunner/testrunner.py -t 2235-JdkUnsafeTest\nChange-Id: I16e0fbce6face8a7fc5e144f58e7c6b0a68d13f2\n"
    },
    {
      "commit": "10a312cc1c2f43f4bf9a72664e55af35bc27ec89",
      "tree": "39487d405ccccfe38de6b0f14be3be9e225edcb7",
      "parents": [
        "ceeba2c709620998beba3d0b4fbd4e1e6443a520"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Sat Oct 30 18:46:01 2021 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Nov 02 17:06:30 2021 +0000"
      },
      "message": "Regenerate ART test files (2021-10-30).\n\nThis change enables 14 Checker tests, working as expected, now that\nthe ART run-test TradeFed test runner properly passes the ART test\ncompiler option (`--compile-art-test`) to ART binaries (see\nhttps://android-review.googlesource.com/1876736).\n\nOutput of `art/test/utils/regen-test-files`:\n\n  $ art/test/utils/regen-test-files\n  Generated Blueprint files for 633 ART run-tests out of 945 (66%).\n  Generated TEST_MAPPING entries for 392 ART run-tests out of 945 (41%):\n    392 ART run-tests (100%) in `mainline-presubmit` test group.\n     19 ART gtests (100%) in `mainline-presubmit` test group.\n    392 ART run-tests (100%) in `presubmit` test group.\n     19 ART gtests (100%) in `presubmit` test group.\n      0 ART run-tests (0%) in `postsubmit` test group.\n\nTest: atest --test-mapping art:presubmit\nBug: 162408889\nChange-Id: I0e7aa2e3919ad5df1d0ff52337acdf981243df7d\n"
    },
    {
      "commit": "ceeba2c709620998beba3d0b4fbd4e1e6443a520",
      "tree": "f6716d00568299736a383d9a2af675e293dd8f10",
      "parents": [
        "ae0810bb0f4c3af56d7f9d465913920c259d82be"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Sat Oct 30 18:31:40 2021 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Nov 02 17:06:30 2021 +0000"
      },
      "message": "Include some Checker tests in automated executions.\n\nEnable the following tests, now that the ART run-test TradeFed test\nrunner properly passes the ART test compiler option\n(`--compile-art-test`) to ART binaries (see\nhttps://android-review.googlesource.com/1876736):\n\n* `1004-checker-volatile-ref-load`\n* `411-checker-hdiv-hrem-const`\n* `450-checker-types`\n* `476-checker-ctor-fence-redun-elim`\n* `478-checker-clinit-check-pruning`\n* `482-checker-loop-back-edge-use`\n* `526-checker-caller-callee-regs`\n* `530-checker-lse2`\n* `530-checker-lse`\n* `551-checker-shifter-operand`\n* `552-checker-sharpening`\n* `562-checker-no-intermediate`\n* `583-checker-zero`\n* `639-checker-code-sinking`\n\nTest: atest -a \\\n        art-run-test-1004-checker-volatile-ref-load \\\n        art-run-test-411-checker-hdiv-hrem-const \\\n        art-run-test-450-checker-types \\\n        art-run-test-476-checker-ctor-fence-redun-elim \\\n        art-run-test-478-checker-clinit-check-pruning \\\n        art-run-test-482-checker-loop-back-edge-use \\\n        art-run-test-526-checker-caller-callee-regs \\\n        art-run-test-530-checker-lse2 \\\n        art-run-test-530-checker-lse \\\n        art-run-test-551-checker-shifter-operand \\\n        art-run-test-552-checker-sharpening \\\n        art-run-test-562-checker-no-intermediate \\\n        art-run-test-583-checker-zero \\\n        art-run-test-639-checker-code-sinking\nBug: 162408889\nChange-Id: I8daec137ba2d139544273035bdaf9c067b9f8a6d\n"
    },
    {
      "commit": "ae0810bb0f4c3af56d7f9d465913920c259d82be",
      "tree": "fa337e71d541146e67bb962b4a55cf27f7a9b25d",
      "parents": [
        "46a8910372da2976c4e74273bacce17924b00d7a"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Mon Nov 01 16:40:51 2021 +0000"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Tue Nov 02 15:17:36 2021 +0000"
      },
      "message": "x86_64: Implement VarHandle.set{,Acquire,Opaque,Volatile} for byte array views.\n\nBenchmarks improvements (using benchmarks provided by\nhttps://android-review.googlesource.com/1420959):\n\n  benchmark                              before   after\n  -----------------------------------------------------\n  VarHandleSetByteArrayViewInt             2.89   0.004\n  VarHandleSetByteArrayViewBigEndianInt    2.89   0.004\n\nBug: 71781600\nTest: lunch aosp_cf_x86_64_phone-userdebug \\\n  \u0026\u0026 art/test.py --host -r -t 712-varhandle-invocations --64\nTest: Repeat with ART_USE_READ_BARRIER\u003dfalse.\nTest: Repeat with ART_HEAP_POISONING\u003dtrue.\nChange-Id: Ife3e0dfd99218399f18aa330b42b9828172f6491\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": "fa66389fbeeb2b4a6e1e1f5805653222f424a9bf",
      "tree": "4f5d92a128f1e98078bffd314f386cb3c9bb33f1",
      "parents": [
        "ee6c1b17ca966995539ce3e29fb416ec1a93beef"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Oct 18 23:08:53 2021 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Nov 02 09:54:33 2021 +0000"
      },
      "message": "Inline ResolveMethod and ResolveField in nterp\n\nThey are on very hot path (field and method opcodes).\n\nThis makes up startup ~1% faster with interpreter.\n\nThe methods are fairly big and spill most registers,\nbut the DexCache-hit fastpath requires no spills.\nRather than refactoring the methods, it is easier\nto just inline them, since the caller already spills.\n\nTest: test.py -b --host\nChange-Id: I60221e3aa819378ed2f353044cfdfe6cbc51237d\n"
    },
    {
      "commit": "ee6c1b17ca966995539ce3e29fb416ec1a93beef",
      "tree": "60e656b54f866d9480258090f4daf1b61843a5e8",
      "parents": [
        "295ed5ae30dae8bb902628667d7aa276ea2c21a2"
      ],
      "author": {
        "name": "Santiago Aboy Solanes",
        "email": "solanes@google.com",
        "time": "Mon Nov 01 16:27:23 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 01 17:49:42 2021 +0000"
      },
      "message": "Update entrypoint_utils check method -\u003e other_method\n\nWe updated the code in entrypoint_utils but forgot to update a\ncheck in that same file.\n\nBug: 204767291, 154012332\nChange-Id: Ie5f4328a1fa294efa2e48d287ad8fa7a5f99c812\n"
    },
    {
      "commit": "295ed5ae30dae8bb902628667d7aa276ea2c21a2",
      "tree": "d0c0907157f771d3c95596ca8ad21a485e515984",
      "parents": [
        "72be14ed06b76cd0e83392145cec9025ff43d174"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Sun Oct 31 14:17:10 2021 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Nov 01 14:45:15 2021 +0000"
      },
      "message": "Update bug no. associated with TODOs for failing standalone ART gtests.\n\nTest: n/a (comment-only change)\nBug: 204649079\nBug: 162834439\nChange-Id: If92be1caec2e7b1d081e153032bd88d7e31dfbd6\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": "667584d95926af5f0f6e392ab2dc575cc2906c51",
      "tree": "22cd01ad078235087b923d144c2f93e7b37bbd98",
      "parents": [
        "227b613248b03cf17533e565717cc89cd477fb23"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Oct 29 17:23:56 2021 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Nov 01 14:06:32 2021 +0000"
      },
      "message": "Regenerate ART test files (2021-10-29).\n\nOutput of `art/test/utils/regen-test-files`:\n\n  $ art/test/utils/regen-test-files\n  Generated Blueprint files for 633 ART run-tests out of 945 (66%).\n  Generated TEST_MAPPING entries for 378 ART run-tests out of 945 (40%):\n    378 ART run-tests (100%) in `mainline-presubmit` test group.\n     19 ART gtests (100%) in `mainline-presubmit` test group.\n    378 ART run-tests (100%) in `presubmit` test group.\n     19 ART gtests (100%) in `presubmit` test group.\n      0 ART run-tests (0%) in `postsubmit` test group.\n\nTest: atest art-run-test-2234-checker-remove-entry-suspendcheck\nTest: atest art-run-test-2236-JdkUnsafeGetLong-regression\nTest: atest art-run-test-581-checker-rtp\nTest: atest art-run-test-828-partial-lse\nTest: atest --test-mapping art:presubmit\nChange-Id: I38ecc73d772fbce9e885d881a64c9b27711f1311\n"
    },
    {
      "commit": "227b613248b03cf17533e565717cc89cd477fb23",
      "tree": "5c9bbc2b7a69be759d7210d123c55db782e7bfaa",
      "parents": [
        "26db016b9462cbaea158ec4e46dd95319cd3666f"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Sat Oct 30 12:00:54 2021 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Nov 01 14:06:32 2021 +0000"
      },
      "message": "Exclude `art-run-test-832-cha-recursive` from automated executions.\n\nDisable recent run-test `art-run-test-832-cha-recursive` as it has a\ndependency on the `libarttest` native library, which is not yet\nsupported by TradeFed, neither at the built system level nor by the\n`ArtRunTest` test runner.\n\nTest: atest --test-mapping art:presubmit\nChange-Id: I8c4c3b8f5c85a7f29b0b4f7a3f8868322cda664e\n"
    },
    {
      "commit": "26db016b9462cbaea158ec4e46dd95319cd3666f",
      "tree": "f97dd9b240d915613871b288966c17c63d3b10f9",
      "parents": [
        "0b7fd8737038c8aa004899b16c879385b5490563"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Nov 01 11:12:54 2021 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Nov 01 13:56:28 2021 +0000"
      },
      "message": "Revert \"Update run-test script to pass --Xjitthreshold:0 for jvmti tests\"\n\nThis reverts commit 0bc369b6a7c6d380876574f5b1f7fe3aa78839fb.\n\nReason for revert: Breaks some ART run-tests.\n\nChange-Id: I32004a205b3ee8c0723d1efeb5e1d7b12a7e19af\nTest: testrunner.py --host --debug --cdex-fast --jit --redefine-stress --debuggable\n"
    },
    {
      "commit": "0b7fd8737038c8aa004899b16c879385b5490563",
      "tree": "2336c34bf1c3c0dd7175ffd4d1393a7db39e536f",
      "parents": [
        "fc76d9e19726b44483b617ff8b085e99a649d05f"
      ],
      "author": {
        "name": "Daniele Di Proietto",
        "email": "ddiproietto@google.com",
        "time": "Wed Oct 13 17:25:33 2021 +0100"
      },
      "committer": {
        "name": "Daniele Di Proietto",
        "email": "ddiproietto@google.com",
        "time": "Mon Nov 01 11:18:53 2021 +0000"
      },
      "message": "Refactor JavaHprofDataSource::Trace() callback lambda\n\nJavaHprofDataSource::Trace() used to have a ~200 lines lambda callback\n(with nested lambda). This is an attempt to split into different methods\nin order to improve readability by:\n\n* Creating some methods with slightly more meaningful names.\n* Adding comments to the methods.\n* Limiting the scope of variables: they can be class members, passed\n  around as parameters or be local variables.\n\nThe only functional change is that `min_nonnull_ptr` used to include\nobjects that were later set to nullptr. Now the code first filters the\nfield references (and sets them to nullptr) and later takes the minimum.\n\nBug: 194395971\nChange-Id: I638d4c359dab66aa20ec63122bee05a478699c6b\n"
    },
    {
      "commit": "fc76d9e19726b44483b617ff8b085e99a649d05f",
      "tree": "030594079264751614ae96a5bdfa4661e93907ea",
      "parents": [
        "e43aa3f55fd01ce0887059b309a41b6441521e7c"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Mon Nov 01 16:29:47 2021 +0800"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Mon Nov 01 11:15:49 2021 +0000"
      },
      "message": "Fix build with global ThinLTO\n\nart_standalone_oatdump_tests uses symbols from some shared libs\nthat happens to be re-exported by one of the static libs in non-LTO\nmode. ThinLTO is more aggressive/accurate at pruning unused symbols,\nthus the build fails due to missing symbols.\n\nFixed by explicitly listing the dependent shared libs.\n\nBug: 195134194\nTest: m GLOBAL_THINLTO\u003dtrue art_standalone_oatdump_tests\nTest: atest art_standalone_oatdump_tests\nChange-Id: I516f6811b618de4e9d26c714f24f4bcec1c29853\n"
    },
    {
      "commit": "e43aa3f55fd01ce0887059b309a41b6441521e7c",
      "tree": "7ba4ef9adfbb77e6baa1891c3fabd783fb03d580",
      "parents": [
        "808d8cc8114e0c5ee3116639fe9d31be5a70403a"
      ],
      "author": {
        "name": "Santiago Aboy Solanes",
        "email": "solanes@google.com",
        "time": "Mon Nov 01 09:02:09 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 01 10:45:06 2021 +0000"
      },
      "message": "Revert^2 \"Inline across dex files for bootclaspath\u0027s methods\"\n\nThis reverts commit 8cb989f1019c4fa30845bf2deb5bc996ed4e8966, so we\nare re-enabling commit d690f8ae8f8e2675bc52089a83ac18c749f8e6d2.\n\nReason for revert: Failing test was fixed here\nhttps://android-review.googlesource.com/c/platform/art/+/1873567\n\nBug: 154012332\nTest: ART tests\nChange-Id: If159b29583e35abcfe753f30483f83990208b1b9\n"
    },
    {
      "commit": "808d8cc8114e0c5ee3116639fe9d31be5a70403a",
      "tree": "d742448258da26e44ef1bddf1ed59c24531ab2ed",
      "parents": [
        "d1729267e686f568a6c9c853ad80dceb7e7e6f0d"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Oct 29 14:57:37 2021 -0700"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Nov 01 09:12:47 2021 +0000"
      },
      "message": "Assign lower level to Small IRT table lock\n\nIt can be acquired after Class loader classes lock. Jvmti\nGetLoadedClasses traverses classes with a visitor that may need\nto allocate a LocalRef.\n\nBug: 184847225\nTest: Build and boot AOSP\nChange-Id: Ic19b2a3238321bc21440064f0d1b531ed254ea35\n"
    },
    {
      "commit": "d1729267e686f568a6c9c853ad80dceb7e7e6f0d",
      "tree": "19f252a0baad8a8d7f7a640979c6505ed6ec67db",
      "parents": [
        "2d4feeb67912d64b9e980e6687794826a5c22f9d"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Oct 29 14:27:16 2021 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Nov 01 08:52:18 2021 +0000"
      },
      "message": "arm: Fix VarHandle.compareAndSet/long intrinsic...\n\n... for big-endian array views. Undo the byte swap for all\nsituations where we swapped bytes in arguments.\n\nTest: testrunner.py --target --32 --optimizing -t 712\nBug: 71781600\nChange-Id: Ide4736032f8a4875e14be66727c00dd79beb230c\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": "0a42f1e85d989476c1be2acb5615ca61a1c0f65a",
      "tree": "1e4e07bfa9d68bce1e455fa6ded41cd89aa235d9",
      "parents": [
        "8cb989f1019c4fa30845bf2deb5bc996ed4e8966"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Oct 28 16:31:03 2021 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Oct 29 15:43:15 2021 +0000"
      },
      "message": "Use --skip-config --soong-only instead of --skip-make\n\n--skip-make is deprecated because of its odd behavior around the\nout/.soong.kati_enabled file.  Replace it with --skip-config --soong-only\ninstead, which will unambigiously skip running kati.\n\nBug: 204136549\nTest: art/build/build-art-module.sh\nTest: art/tools/build_linux_bionic.sh\nTest: art/tools/build_linux_bionic_tests.sh\nChange-Id: If62bc03b89265d68b3927636f2be19296ee424bc\n"
    },
    {
      "commit": "8cb989f1019c4fa30845bf2deb5bc996ed4e8966",
      "tree": "fa793ebd540cad757df2fbf8e91a00e1c111f024",
      "parents": [
        "3693b2ae3bac182f1e483738bae2cd80cad5dc3d"
      ],
      "author": {
        "name": "Santiago Aboy Solanes",
        "email": "solanes@google.com",
        "time": "Wed Oct 27 09:16:37 2021 +0000"
      },
      "committer": {
        "name": "Santiago Aboy Solanes",
        "email": "solanes@google.com",
        "time": "Fri Oct 29 13:06:57 2021 +0000"
      },
      "message": "Revert \"Inline across dex files for bootclaspath\u0027s methods\"\n\nThis reverts commit d690f8ae8f8e2675bc52089a83ac18c749f8e6d2.\n\nReason for revert: Test breakage related to VarHandles e.g.\nhttps://ci.chromium.org/ui/p/art/builders/ci/angler-armv7-ndebug/2409/overview\n\nChange-Id: I0d3537cd0907866c628478fad1d77aff4ee65113\n"
    },
    {
      "commit": "3693b2ae3bac182f1e483738bae2cd80cad5dc3d",
      "tree": "074107df43dc9cd519ff1f1ef2c2ca8bfb457232",
      "parents": [
        "5b9086818b520306d64cd9736c6d2302b08a8e8d"
      ],
      "author": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Fri Oct 29 10:43:18 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 29 12:43:58 2021 +0000"
      },
      "message": "Revert^2 \"x86_64: Implement VarHandle.get{,Acquire,Opaque,Volatile} for byte array views.\"\n\nThis reverts commit 6620caa89a4691bc5cbdbc5af7599b17fd8896f5.\n\nReason for revert: Relanding original change after fixing linker error:\n  ld.lld: error: undefined symbol: art::ObjPtr\u003cart::mirror::Class\u003e\n       art::GetClassRoot\u003c(art::ReadBarrierOption)0\u003e(art::ClassRoot)\n\n  The error was caused by a missing header which contained an `inline`\n  definition of the above function. The error may or may not happen\n  depending on the compiler: it may choose to not inline, and then there\n  is no linker error.\n\nBug: 71781600\nTest: Manually marked the function as always inline and ensured that the\n  error can be reproduced and is fixed by including the header.\nChange-Id: Ibcea2c3fc81ea75b8e6e6517d9ce872e79eda0d6\n"
    },
    {
      "commit": "5b9086818b520306d64cd9736c6d2302b08a8e8d",
      "tree": "4631350810dd8184fc975bd41ef610cb43546372",
      "parents": [
        "7cd509c6d0cf3b2aa45cb8074b8c6ea674a7482f"
      ],
      "author": {
        "name": "Yang Tianping",
        "email": "yangtianping@oppo.com",
        "time": "Fri Oct 29 10:18:02 2021 +0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 29 12:09:07 2021 +0000"
      },
      "message": "Fix the empty profile slow down the dex2oat\n\nWhen pass in an empty profile to dex2oat, the dex2oat will still use the\nempty prifle to do layout optimization, which is not necessary.\n\nBug: 204415663\nTest: art_dex2oat_tests --gtest_filter\u003dDexLayoutTest\n\nChange-Id: Ice86d2c2c178ab96b5cd34bed204e6008fab34c8\n"
    },
    {
      "commit": "7cd509c6d0cf3b2aa45cb8074b8c6ea674a7482f",
      "tree": "f787b7ce5b8a2378befc4df29d9ba1eae3e2f263",
      "parents": [
        "4ed28fbf6910203336c65095bc18fc47743e01c4"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Oct 28 16:27:16 2021 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 29 11:58:58 2021 +0000"
      },
      "message": "Include BuildId in native stack dump.\n\nThis is needed to symbolize stack for the ART apex,\nsince the compile apex path does not have to match\nthe runtime apex path.\n\nBug: 171980804\nTest: symbolize stack dump from logcat\nChange-Id: If778bfe6ea257f51c52aab615f41f28fe92bffd0\n"
    },
    {
      "commit": "4ed28fbf6910203336c65095bc18fc47743e01c4",
      "tree": "b43bacc4a635cb2707b317c2ba1de20da41fbae6",
      "parents": [
        "6620caa89a4691bc5cbdbc5af7599b17fd8896f5"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Thu Oct 28 14:53:49 2021 +0100"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Fri Oct 29 10:36:10 2021 +0000"
      },
      "message": "Extend test 712-varhandle-invocations to check negative array indices.\n\nCheck that varhandle intrisics do not crash and delegate to slow path\nwhen array index is negative. The runtime should throw an out-of-bounds\nexception, which is caught and ignored by the test. Not throwing an\nexception fails the test as well.\n\nBug: 71781600\nTest: art/test.py -r -t 712-varhandle-invocations --host\nTest: art/test.py -r -t 712-varhandle-invocations --target\nTest: Manually change/remove the generated instructions that check for\n  negative array indices on arm64/x86_64 and ensure that the above test\n  crash in the generated code, as expected.\nChange-Id: Id2c31b639ab63fd1f3fb7d521f9e6a3676535fe5\n"
    },
    {
      "commit": "6620caa89a4691bc5cbdbc5af7599b17fd8896f5",
      "tree": "e8a5bda30356ae019df926ef1aa3e8e6149a301b",
      "parents": [
        "298f1b7f1b7219d5e9e72778f1986c8e439fe4ba"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Oct 28 17:48:47 2021 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Oct 28 17:48:47 2021 +0000"
      },
      "message": "Revert \"x86_64: Implement VarHandle.get{,Acquire,Opaque,Volatile} for byte array views.\"\n\nThis reverts commit 298f1b7f1b7219d5e9e72778f1986c8e439fe4ba.\n\nReason for revert: Breaks several Android builds.\n\nBug: 71781600\nChange-Id: Ic821256aa7f67e21c64c7a8e29b5665b39a89092\n"
    },
    {
      "commit": "298f1b7f1b7219d5e9e72778f1986c8e439fe4ba",
      "tree": "4757c2120ab99ee62fffc6cbc10740a26897ee09",
      "parents": [
        "5514c8ec932bef044119c178b6e9e180b3f81cf8"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Tue Oct 12 15:08:53 2021 +0100"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Thu Oct 28 15:40:26 2021 +0000"
      },
      "message": "x86_64: Implement VarHandle.get{,Acquire,Opaque,Volatile} for byte array views.\n\nBenchmarks improvements (using benchmarks provided by\nhttps://android-review.googlesource.com/1420959):\n\n  benchmark                              before   after\n  -----------------------------------------------------\n  VarHandleGetByteArrayViewInt             2.74   0.002\n  VarHandleGetByteArrayViewBigEndianInt    2.74   0.003\n\nBug: 71781600\nTest: lunch aosp_cf_x86_64_phone-userdebug \\\n  \u0026\u0026 art/test.py --host -r -t 712-varhandle-invocations --64\nTest: Repeat with ART_USE_READ_BARRIER\u003dfalse.\nTest: Repeat with ART_HEAP_POISONING\u003dtrue.\nChange-Id: I4974b5773efb15b6245f690575218536d2c514db\n"
    },
    {
      "commit": "5514c8ec932bef044119c178b6e9e180b3f81cf8",
      "tree": "e8a5bda30356ae019df926ef1aa3e8e6149a301b",
      "parents": [
        "e7e123a581073d1cd1458e2b677c20f095b3cd40"
      ],
      "author": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Tue Oct 19 05:40:32 2021 +0000"
      },
      "committer": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Thu Oct 28 14:30:26 2021 +0000"
      },
      "message": "Add dexpreopt_test.\n\nThis is a test to verify that the compilation artifacts built in the\nsystem image for all system server jars are used. If will fail if the\nartifacts are rejected by the runtime or odrefresh has run.\n\nBug: 201491591\nTest: atest art_standalone_dexpreopt_tests\nChange-Id: Id0f943cf822b55580eb121ee25375386397ae515\n"
    },
    {
      "commit": "e7e123a581073d1cd1458e2b677c20f095b3cd40",
      "tree": "dfdeb9f9ffaced22a68d45ba8de997a683d96f06",
      "parents": [
        "6ef707212d72b93daf90d01b9fb2f89f5d35b3b0"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Oct 28 11:15:08 2021 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Oct 28 13:27:49 2021 +0000"
      },
      "message": "Fix checker tests after inlining change.\n\nThis fixes target tests broken by\n    https://android-review.googlesource.com/1843319 .\nIn one case we use the `$noinline$` tag to prevent inlining.\nIn the other one, we specify the field name to avoid newly\ninlined instructions from matching CHECK-NOT assertions.\n\nTest: testrunner.py --target --64 --optimizing \\\n      -t 450-checker-types -t 530-checker-lse\nBug: 154012332\nChange-Id: Ie82f425bfcaebba1c53877c223aeefcba213921e\n"
    },
    {
      "commit": "6ef707212d72b93daf90d01b9fb2f89f5d35b3b0",
      "tree": "39e3ae94a5f3d36d9ee62e758d34e8d3985b3c8e",
      "parents": [
        "4dcac3629ea5925e47b522073f3c49420e998911"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Oct 27 15:46:18 2021 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Oct 28 09:07:26 2021 +0000"
      },
      "message": "Move Soong module `art-run-test-checker` from `mts` to `mts-art`.\n\nTest: Run `m mts` and check the contents of\n        `$ANDROID_HOST_OUT/mts/android-mts.zip`\nTest: Run `m mts-art` and check the contents of\n        `$ANDROID_HOST_OUT/mts-art/android-mts-art.zip`\nBug: 203466102\nChange-Id: I115930fc5539f3595a0f4733fd20bcd5133a1b6d\n"
    },
    {
      "commit": "4dcac3629ea5925e47b522073f3c49420e998911",
      "tree": "51219b64e869c15149a7397c8ab1eac2dc4e3cd4",
      "parents": [
        "48fb9f43a81fa0cab09ed4a4f3d478c1a0ecbe9e"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Sep 23 12:26:04 2021 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Oct 27 20:05:43 2021 +0000"
      },
      "message": "Initially allocate smaller local IRT\n\nIntroduce a separate small object allocator to allocate tables for\nthe initial local indirect reference tables, so they don\u0027t each\noccupy a full page. This seemed to be easier than using linear_alloc,\nsince these allocations are done from multiple threads. This also\nhas the advantage that GC roots are concentrated on separate\npages, that could be protected as before, but there are many fewer of\nthen than before.\n\nAs discussed with Lokesh, it might eventually be better to allocate\nthese in the Java heap. But doing that cleanly seems to require a\nmajor refactoring to split IrtEntrys into two separate components,\nwhich complicates iteration, etc. And that has locality disadvantages\nduring lookup. Or we need to either drop the serial number of merge\nit into the GcRoot, neither of which is ideal either.\n\nDrive-by-fix: When trimming, don\u0027t call madvise on empty address ranges.\n\nTest: Build and boot AOSP.\nTest: art/test/testrunner/testrunner.py --host -b --64\nBug: 184847225\nChange-Id: I297646acbdd9dbeab4af47461849fffa2fee23b1\n"
    },
    {
      "commit": "48fb9f43a81fa0cab09ed4a4f3d478c1a0ecbe9e",
      "tree": "efb8c5b83a8c2dddf88590fab45680108b9efb95",
      "parents": [
        "58ebded1817e4d95a3006c3274f2fb589207748c"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Oct 26 14:12:40 2021 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Oct 27 09:31:23 2021 +0000"
      },
      "message": "Revert \"OpenJDK 11: Add String.repeat()\"\n\nThis reverts commit d1da3ae0aa3ddde0b129364b5e1c6073f7bdb7b7.\n\nReason for revert: breakage in b/203790937\nBug: 203790937\nBug: 202962059\nTest: treehugger\n\nChange-Id: I07b6fbfe79a599abd9aa98a1dcab918a74d4b816\n"
    },
    {
      "commit": "58ebded1817e4d95a3006c3274f2fb589207748c",
      "tree": "5722d3542518a7b48129fcd510e171ac0425c32b",
      "parents": [
        "ce131feb7c60ffdf28c315c5d67f9cac33a077ce"
      ],
      "author": {
        "name": "Santiago Aboy Solanes",
        "email": "solanes@google.com",
        "time": "Tue Oct 26 17:54:26 2021 +0100"
      },
      "committer": {
        "name": "Santiago Aboy Solanes",
        "email": "solanes@google.com",
        "time": "Wed Oct 27 09:12:43 2021 +0000"
      },
      "message": "Fix test 581-rtp\n\nIt was missing `checker-` on its name so it wasn\u0027t using the checker.\nI verified that this is the only test missing checker- from its name\nwith `grep -rnw ./test/ -e \"CHECK-START\" | grep -v -e \"checker-\"`.\n\nAlso, I updated the test so that it passes the checker.\n\nChange-Id: Ic097a4e32ce2d215cbe995aac511e518007109e6\n"
    },
    {
      "commit": "ce131feb7c60ffdf28c315c5d67f9cac33a077ce",
      "tree": "c0d95161dc6ba2ed5cad0fc5cc4c131c3eed15d0",
      "parents": [
        "9c924e89e5f52da9faadd1e4e60c73eaed6bc9d1"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 26 20:03:35 2021 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Oct 26 22:56:55 2021 +0000"
      },
      "message": "Revert \"Change hotness counting.\"\n\nThis reverts commit c86869ab894c05e3181e7d15eb1893fa8a3fcd47.\n\nReason for revert: App startup performance regression.\n\nBug: 203810169\nChange-Id: Ie816969fffd7740fcdfa330aeb645399f5351865\n"
    },
    {
      "commit": "9c924e89e5f52da9faadd1e4e60c73eaed6bc9d1",
      "tree": "8ffdc7f0c144cb392b50144a9ae9cb4ac4d3cca7",
      "parents": [
        "d690f8ae8f8e2675bc52089a83ac18c749f8e6d2"
      ],
      "author": {
        "name": "Brad Stenning",
        "email": "stenning@google.com",
        "time": "Mon Oct 11 19:09:00 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 26 17:36:32 2021 +0000"
      },
      "message": "Add support to place shared libraries after the dex path\n\nThis allows for a shared library to overriden by content in the dex path\n\nBug: 179429740\n\nTest: m test-art-host-gtest-art_runtime_tests32\n\nChange-Id: I5f69c7bf32b7bd389eff8bdbb21616ba89ed9e87\n"
    },
    {
      "commit": "d690f8ae8f8e2675bc52089a83ac18c749f8e6d2",
      "tree": "dac10b65d901cad87d6dbb7b48453f6da214a76f",
      "parents": [
        "e91a954ee350cbc0b311f342c90697191e1ae495"
      ],
      "author": {
        "name": "Santiago Aboy Solanes",
        "email": "solanes@google.com",
        "time": "Fri Oct 01 09:26:56 2021 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 26 13:51:31 2021 +0000"
      },
      "message": "Inline across dex files for bootclaspath\u0027s methods\n\nWe can relax a bit the restriction for not inlining across dexfiles when\nwe are AoT compiling and we need an environment. There\u0027s an added new\nrestriction related to BSS entries. We could potentially inline across\ndex files for those cases too but are left to be solved in follow-up\nCLs.\n\nBug: 154012332\nTest: ART tests\nChange-Id: I5122b26c79b3e30d2643c0ccc05d595a0047953e\n"
    },
    {
      "commit": "e91a954ee350cbc0b311f342c90697191e1ae495",
      "tree": "a0bd4cc9e71f7fb79c2b25cae42e6336b2c9e340",
      "parents": [
        "fd846c5c2e9bc63b250c2bce271c2d6b8905f79d"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Mon Oct 25 16:23:27 2021 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 26 11:30:14 2021 +0000"
      },
      "message": "Revert^2 \"ART: Redundant AND operation removal optimization\"\n\nRe-enables the original CL plus fixes a bug in\nInstructionSimplifierVisitor::VisitTypeConversion, where\nthere was no check for non-constant input for the And.\n\nThis reverts commit 050686452146e1f5d31aed560c682d992c376fed.\n\nTest: compile duckduckgo.apk.\nTest: 458-checker-instruct-simplification\nTest: test_art_target, test_art_host.\n\nChange-Id: Iecf13f492fb1d1769726d187093e455216f2c2c6\n"
    },
    {
      "commit": "fd846c5c2e9bc63b250c2bce271c2d6b8905f79d",
      "tree": "a0bd1a1c2fcdc58a4acc0531b0d6e79ce5d65313",
      "parents": [
        "0a746a7a7e2a57679adf2830a9c62f569bff9513"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 19 07:54:13 2021 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 25 16:30:24 2021 +0000"
      },
      "message": "Remove all support for Brooks read barrier.\n\nTest: m\nBug: 177048505\nChange-Id: Ifb16927455b98996c61f0b6370bae9a114bf8018\n"
    },
    {
      "commit": "0a746a7a7e2a57679adf2830a9c62f569bff9513",
      "tree": "631f77b6692c7381a37957368f79c05fe7f5af85",
      "parents": [
        "394a082fc9268f7af97ed2e0e9fed4e459508e92"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Oct 21 19:23:31 2021 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 25 15:51:59 2021 +0000"
      },
      "message": "Extend --installclean to delete out/target/common/obj/JAVA_LIBRARIES.\n\nTo catch missing target issues faster on build servers that build\nincrementally.\n\nTest: art/tools/buildbot-build.sh --installclean\nBug: 203776358\nChange-Id: I9f20c1189f94b4f1d5c215bc55b1decd7c5418b7\n"
    },
    {
      "commit": "394a082fc9268f7af97ed2e0e9fed4e459508e92",
      "tree": "32655526dc4d9d52d2a23f0f2307ae7753075148",
      "parents": [
        "0bc369b6a7c6d380876574f5b1f7fe3aa78839fb"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 25 10:31:15 2021 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 25 13:16:39 2021 +0000"
      },
      "message": "Change `BitTableBase\u003c\u003e::num_rows_` to `uint32_t`.\n\nFor 64-bit targets, changing the member from `size_t` to\n`uint32_t` reduces `sizeof(CodeInfo)` from 376 to 336 and\nkeeps the `Thread::CreateInternalStackTrace()` from reaching\nthe `-Wframe-larger-than\u003d` limit enforced with `-Werror`.\n\nTest: m\nChange-Id: Ic42192355d224ca6afc3927506606a00ee084e19\n"
    }
  ],
  "next": "0bc369b6a7c6d380876574f5b1f7fe3aa78839fb"
}
