)]}'
{
  "log": [
    {
      "commit": "9e85eeb6f821f296c7fd2819f46c8dd6fae12b0f",
      "tree": "3c8c7f9c3ef63076028d015e2e2cd9ba0b3fa3d6",
      "parents": [
        "01aaf0f0fdaf641013d3cec24a2c9bd2186fa5a7"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Sep 30 17:04:23 2020 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Oct 01 16:48:34 2020 +0000"
      },
      "message": "Link all internal libraries statically into oatdump(d) on host.\n\nAvoid all DSO dependencies except system libs, similar to dex2oat and\nhiddenapi binaries, to make it work when added to\nart-module-host-exports.\n\nThe stripped oatdump binary is 12 MB, oatdumpd is 15 MB.\n\nTest: `m oatdump{,d}` and run them from out/host/linux-x86/bin\nTest: readelf -d out/host/linux-x86/bin/oatdump(d)\n  Check that NEEDED only lists system libraries (libdl, libpthread,\n  libm, librt, libgcc_s, libc).\nBug: 145934348\nChange-Id: Ib20ce3382435b76058b88b9085e3c0831848a489\n"
    },
    {
      "commit": "01aaf0f0fdaf641013d3cec24a2c9bd2186fa5a7",
      "tree": "68149e4f65b3644cbae0a81b0eafc9c7de96aca8",
      "parents": [
        "7f8a7f29f07886d1008dfc26d43617e79965447c"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Sep 24 02:18:34 2020 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 01 12:45:09 2020 +0000"
      },
      "message": "Fix fake output from C header test to pass Tradefed scrutiny.\n\nAlso fixed stale test name in TEST_MAPPING.\n\nTest: atest --host art_libdexfile_external_tests\nBug: 120978655\nChange-Id: Ia07a786733e1c8fbdf3f6185763d159d61b267d0\n"
    },
    {
      "commit": "7f8a7f29f07886d1008dfc26d43617e79965447c",
      "tree": "629658a364e29f26d8d8ccd312e61cd41c320b8e",
      "parents": [
        "cb4fab133d14b491c57f46a4a08b66eaf8b675f6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Sep 23 14:44:53 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Oct 01 11:20:13 2020 +0000"
      },
      "message": "Remove unused CorePlatformAPI methods.\n\nBug: 165370038\nTest: m\nChange-Id: I944cc5354016bef8820455c092e6cfaa033fa1f0\n"
    },
    {
      "commit": "cb4fab133d14b491c57f46a4a08b66eaf8b675f6",
      "tree": "b534a5514313c239083a1f72ab50449eaa82e358",
      "parents": [
        "baade40270fbfdc36cd0500d5245408debe7737e"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Fri Sep 25 13:57:37 2020 +0100"
      },
      "committer": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Thu Oct 01 08:37:11 2020 +0000"
      },
      "message": "Use NotifyDatasourceStopped for perfetto_hprof.\n\nThis takes the guesswork out of how long we need to run the trace for.\nNow, we can have a short trace duration (but long enough for the fork +\ndatasource init to happen), and a long datasource_stop_timeout. This\nway, the trace will only take as long as it needs to.\n\nBug: 159594916\nChange-Id: I0fa4219f454e91476833297342a11009e0e27435"
    },
    {
      "commit": "baade40270fbfdc36cd0500d5245408debe7737e",
      "tree": "6c081f03e5531cdb90da8e0b53c51b5f0358e628",
      "parents": [
        "8f63f1084b013a129f66cf8a7ed8ab1cae9f02aa"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Sep 30 14:45:39 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Sep 30 14:51:18 2020 +0000"
      },
      "message": "arm: Fix LoadClass/BssEntry{Public,Package}\n\nAlso update oatdump to list the new entries.\n\nTest: testrunner.py --target --32 --optimizing -t 727\nBug: 161898207\nChange-Id: I34b400531498cfac3c9606fa82b0894841054457\n"
    },
    {
      "commit": "8f63f1084b013a129f66cf8a7ed8ab1cae9f02aa",
      "tree": "6e9bbf5ad71a55f701f740e2995e0b84e9b87307",
      "parents": [
        "7aa2bfc09541ea5d2516738de84c24cd0269fed0"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Sep 28 12:10:28 2020 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Sep 30 13:58:32 2020 +0000"
      },
      "message": "Faster access to unresolved classes from compiled code.\n\nAdd two new load kinds to LoadClass, similar to kBssEntry\nbut using the access-checking entrypoint on the slow-path.\nOne is used for classes that are in the literal package and\nthe other for classes outside the literal package of the\ncompiling class. Associate new .bss entries with these load\nkinds and update them from entrypoints based on the resolved\nclass properties. If the resolved class is public, both\ntypes of entries can be updated, otherwise only the package\nlocal entry can be updated and only if the defining class\nloader of the class is the same as the caller\u0027s defining\nclass loader (which is identical for all code in an oat\nfile) because the run time access check for same package\nrequires both class loader and literal package name match.\n\nTest: Additional tests in 727-checker-unresolved-class.\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: aosp_blueline-userdebug boots.\nTest: run-gtests.sh\nTest: testrunner.py --target --optimizing\nBug: 161898207\nChange-Id: I281e06ac2825caf81c6d7ee3128af833abd39992\n"
    },
    {
      "commit": "7aa2bfc09541ea5d2516738de84c24cd0269fed0",
      "tree": "ab0400955d772e0826d1d4dab2e39d15570285f4",
      "parents": [
        "1e20e51b94d6c16f9c3709e1b96e5be2f61573b3"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Sep 29 15:38:40 2020 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Sep 30 13:51:43 2020 +0000"
      },
      "message": "Make the fakebins executable to please new symlink target check.\n\nhttps://r.android.com/1439191 added a check that the prebuilt is\nexecutable for binaries. That failed on the ART APEX check fakebins,\nalthough it didn\u0027t abort the builds.\n\nTest: m art-check-{release,debug,testing}-apex-gen-fakebin\nChange-Id: I7ed2421e5c800f7dfe09d7ec9c9cfe5123f046e6\n"
    },
    {
      "commit": "1e20e51b94d6c16f9c3709e1b96e5be2f61573b3",
      "tree": "9499d0af7aabda4e70d46b0ba004cadcf34bf3c0",
      "parents": [
        "407468761d72c1031a871c18c29238135d9f0a88"
      ],
      "author": {
        "name": "Daniil Riazanovskiy",
        "email": "riazanovskiy@google.com",
        "time": "Tue Sep 08 21:32:06 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Sep 29 16:24:02 2020 +0000"
      },
      "message": "Build system support for Checker tests in Tradefed\n\nTest: atest with any checker test after regen-test-files\n\nBug: 162408889\n\nChange-Id: I12f79d11909c9d1636c1a2a2e5bcb2ec3da8647d\n"
    },
    {
      "commit": "407468761d72c1031a871c18c29238135d9f0a88",
      "tree": "d9655da2c6a95806476f3b4bfcfd522feafaad06",
      "parents": [
        "9636062c4d4839bbb2fd979ee56b2f38d8615f1e"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Sep 29 13:58:10 2020 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Sep 29 14:55:40 2020 +0000"
      },
      "message": "Link libart-disassembler statically into static libart-compiler.\n\nNecessary to avoid runtime dlopen of non-existing\nlibart(d)-disassembler.so in host dex2oat. This increases the stripped\ndex2oat binary size by 4.8% or ~800 KB.\n\nTest: art/tools/buildbot-build.sh --host \u0026\u0026 \\\n  art/test/testrunner/testrunner.py --optimizing --host --ndebug -t 465\n  with and without HOST_PREFER_32_BIT\u003dtrue\nBug: 145934348\nChange-Id: I623019132175bd0430d30a421655484bdcb71857\n"
    },
    {
      "commit": "9636062c4d4839bbb2fd979ee56b2f38d8615f1e",
      "tree": "2562080e05eed8104de13707c092aacb3556d572",
      "parents": [
        "e2a9bb7175517c18ab0899ad54c730b272d9883c"
      ],
      "author": {
        "name": "Daniil Riazanovskiy",
        "email": "riazanovskiy@google.com",
        "time": "Wed Sep 16 23:26:52 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Sep 29 13:32:59 2020 +0000"
      },
      "message": "Integrate cpu_features external library\n\nTest: art_runtime_tests --no_isolate \"--gtest_filter\u003dInstructionSetFeaturesTest.*\"\nTest: Run `InstructionSetFeaturesTest` on device (Pixel 3) with this\n      command:\n          atest --all-abi ArtGtestsTargetInstallApex -- \\\n                --test-arg com.android.tradefed.testtype.GTest:native-test-flag:\"--gtest_filter\u003d*InstructionSetFeaturesTest*\"\nBug: 128901000\nChange-Id: I49375eff2a28444af941610b750b3316bf18c7a7\n"
    },
    {
      "commit": "e2a9bb7175517c18ab0899ad54c730b272d9883c",
      "tree": "b911c47e4ef28afd99b6d683b1338e1a61dc8598",
      "parents": [
        "e0f09bb2e2e5b3971b1232edabb7db1f9219ceb7"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Sep 28 12:24:39 2020 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 29 13:26:10 2020 +0000"
      },
      "message": "Augment search path for tradefed host gtests.\n\nTradefed uses different directory layout locally and remotely.\n\nBug: 147817558\nTest: m general-tests \u0026\u0026 atest art_dex2oat_tests --host\nChange-Id: I60cb5971dfb7b6a644a74a1c77d1a269ce461859\n"
    },
    {
      "commit": "e0f09bb2e2e5b3971b1232edabb7db1f9219ceb7",
      "tree": "7f95f3051a1944de089d94a39a2569c646903b23",
      "parents": [
        "d0d73c69bfd3ad2cbfb2a4b1de8651d87e870ad9"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Sep 25 09:33:34 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 29 11:57:59 2020 +0000"
      },
      "message": "Reland \"JNI: Do not inhibit GC in GetStringCritical for compressed string.\"\n\nIt was accidentally reverted in https://r.android.com/1434215.\n\n(cherry-pick of b2568693d783d53aa80f71fde4715995a1f695cc)\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nChange-Id: I7a4953ccde5bf4af1b697545c125ad9bdbe18088\n"
    },
    {
      "commit": "d0d73c69bfd3ad2cbfb2a4b1de8651d87e870ad9",
      "tree": "ab8ea7aeda76c58aa881f460968449499b12ea43",
      "parents": [
        "d5e776c070750161edd4a22e3e72bb004877a41c"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Sep 18 13:50:36 2020 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Sep 29 11:19:41 2020 +0000"
      },
      "message": "Switch-interpreter: Add trivial helpers.\n\nMake further refactoring easier.\n\nTest: ./art/test.py -b -r --host --interpreter --64\nChange-Id: Ib6a7bee314907524910dee4766d4c73a0b85aafc\n"
    },
    {
      "commit": "d5e776c070750161edd4a22e3e72bb004877a41c",
      "tree": "a26e6a994af85256bf54b010cacbd93e7439bd09",
      "parents": [
        "1de6f018f6601a11ab32ca05d7ac4f4547d31e53"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Sep 25 10:18:24 2020 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Sep 29 11:09:48 2020 +0000"
      },
      "message": "Add liblz4 and liblzma to the list of needed libs for gtests.\n\nChange-Id: Ibe77abe51333cb29e641b74064da5cfae7011445\n"
    },
    {
      "commit": "1de6f018f6601a11ab32ca05d7ac4f4547d31e53",
      "tree": "1d8e5bd665b7c1d46964c7305ef87a8f8193f8b5",
      "parents": [
        "199f2ecd9e8c915d93d365e12405f7d6a1d5d924"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Sep 23 13:28:00 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Sep 29 08:07:34 2020 +0000"
      },
      "message": "Another fix for the resolution trampoline and invokesuper.\n\nWe need to fully resolve the target method before updating the BSS.\n\nTest: 811\nBug: 169047229\nChange-Id: I2f3a6d60e3e44b00daea4af15c02b55e1c9098d6\n"
    },
    {
      "commit": "199f2ecd9e8c915d93d365e12405f7d6a1d5d924",
      "tree": "5fb614ab9f1a9d3c4cc10d171177c49b36405aea",
      "parents": [
        "1d34c08cf005df789e72fa36dfbb99b5b9edda2c"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon Sep 28 18:11:41 2020 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Sep 28 20:11:18 2020 +0000"
      },
      "message": "Add missing art_(debug_)defaults to dex2oat host static libs.\n\nThis fixes build breakage on mac since art_defaults disables darwin.\n\nBug: 169576709\nBug: 145934348\nTest: Build ART prebuilt SDK, set prefer:true on prebuilts and build\n  platform system image using prebuilts\nTest: Build and run out/soong/host/linux-x86/bin/dex2oat(d)\n  on linux\nTest: build/soong/soong_ui.bash --make-mode \\\n      TARGET_PRODUCT\u003dsdk TARGET_BUILD_VARIANT\u003duserdebug nothing\n  on mac\nChange-Id: Iabbfbfd98974b62157d85f84b651bdfef20a122e\n"
    },
    {
      "commit": "1d34c08cf005df789e72fa36dfbb99b5b9edda2c",
      "tree": "5d9ec1b6c303729fac49429fd822940d871fb112",
      "parents": [
        "891cb8897612a156e631825615781c537032a3f3"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Sep 24 00:17:43 2020 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Sep 28 18:45:01 2020 +0000"
      },
      "message": "Update for libunwindstack changes.\n\nTest: Builds.\nChange-Id: I4a8f2ccb15998f45822e8380c41f4e7f6fac07d2\n"
    },
    {
      "commit": "891cb8897612a156e631825615781c537032a3f3",
      "tree": "c0206a93a2480388764113184e9118a8c0a120ea",
      "parents": [
        "270e10a8122d4a2abe4d92db55451e2b62f32188"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Jul 31 12:06:58 2020 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Mon Sep 28 18:35:14 2020 +0000"
      },
      "message": "Add mutator collector coordination documentation\n\nThis affects a lot of ART and should thus be documented.\n\nIt is sufficiently low level that I believe it belongs in the source\ntree. It should only be of interest to ART developers, in a broad sense\nthat includes anyone trying to understand failures involving ART.\n\nVarious comment improvements around thread suspension and checkpoints.\n\nTest: Built AOSP.\nChange-Id: I77338ff1d6f7c6aefb7be849449770438c15c982\n"
    },
    {
      "commit": "270e10a8122d4a2abe4d92db55451e2b62f32188",
      "tree": "c79d39ac402c7c1dce256da512f4fa6fb9793bd4",
      "parents": [
        "1938b35c92396fdf8c4386e191e4fc2d95bb1898"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Sep 24 11:48:47 2020 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Sep 28 14:55:24 2020 +0000"
      },
      "message": "Improve codegen for referrer\u0027s class...\n\n... for unresolved compiling class.\n\nTest: Update test 727-checker-unresolved-class.\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: testrunner.py --host --optimizing --interpreter --jvm -t 727\nBug: 161898207\nChange-Id: I1a931179060ae435ca52d5a6eca3c641b9356c03\n"
    },
    {
      "commit": "1938b35c92396fdf8c4386e191e4fc2d95bb1898",
      "tree": "5ab9aabb22c73d4028e54bdb8ec750402c239d63",
      "parents": [
        "35f765b9c66a9d999d35afd54c693f8636d0a7ee"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Sep 23 01:43:41 2020 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon Sep 28 10:14:23 2020 +0000"
      },
      "message": "Link all internal libraries statically into hiddenapi(d).\n\nTest: m hiddenapi{,d}\nTest: readelf -d out/host/linux-x86/bin/dex2oat(d)\n  Check that NEEDED only lists system libraries (libdl, libpthread,\n  libm, librt, libgcc_s, libc).\nBug: 145934348\nChange-Id: I9b1473e40b3f1f37133443407b1a5d2dd66432f8\n"
    },
    {
      "commit": "35f765b9c66a9d999d35afd54c693f8636d0a7ee",
      "tree": "4e51043f9d638c0d861022291ef80d126fb96e0d",
      "parents": [
        "a28438ab47e8e41599fa6b2343f8a6a21efa0116"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Sep 23 00:38:38 2020 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon Sep 28 10:13:56 2020 +0000"
      },
      "message": "Link all internal libraries statically into dex2oat(d) on host.\n\nAll static defaults had to change to whole_static_libs to work with the\nnew libdex2oat(d)_static libraries, so that they don\u0027t lose all symbols\nin the static_libs dependency from the dex2oat(d) binaries.\n\nThe static unstripped dex2oat binary is 348 MB, 35 MB smaller than the\nsum of the dynamic binary + DSO\u0027s.\n\nTest: art/build/apex/runtests.sh\nTest: runtests in device chroot\nTest: art/test/testrunner/run_build_test_target.py art-test\nTest: readelf -d out/host/linux-x86/bin/dex2oat(d)\n  Check that NEEDED only lists system libraries (libdl, libpthread,\n  libm, librt, libgcc_s, libc).\nBug: 145934348\nChange-Id: I7abcf1db9b053f71ced6a7dde38ab1b4300b7b5a\n"
    },
    {
      "commit": "a28438ab47e8e41599fa6b2343f8a6a21efa0116",
      "tree": "519080d02e7f1b3ce07d82efd579ea3bfae59b8a",
      "parents": [
        "2f47a3110a16d60128a16b280191941df4ecf237"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Sep 23 01:40:03 2020 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon Sep 28 10:13:56 2020 +0000"
      },
      "message": "Disable the -d vs non-d libartbase dlopen check when it\u0027s static.\n\nTest: m hiddenapi \u0026\u0026 out/host/linux-x86/bin/hiddenapi\n  when it is built with static libartbase (see child CL).\nBug: 145934348\nChange-Id: I2487e3e2b2b7153e71590748f5e2b6dbd4b5e4f6\n"
    },
    {
      "commit": "2f47a3110a16d60128a16b280191941df4ecf237",
      "tree": "37894e0e71d843de44f23c9b32d367ab99e51a67",
      "parents": [
        "e470ff7e4e5e58d292b316681fcf4e889e80638a"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 20 14:23:45 2020 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Sep 28 09:22:55 2020 +0100"
      },
      "message": "Integer.divideUnsigned() intrinsic on ARM.\n\nTest: Covered by 082-inline-execute.\nTest: testrunner.py --target --optimizing --32\nBug: 156736938\nChange-Id: I902c3b62b4382f94b045a36493ca7b1c799746d2\n"
    },
    {
      "commit": "e470ff7e4e5e58d292b316681fcf4e889e80638a",
      "tree": "4eb457fc814354e121a68aa46446e009da91f6df",
      "parents": [
        "0d20878372e135fff6227afb8c267e261ac2020c"
      ],
      "author": {
        "name": "Dan Shi",
        "email": "dshi@google.com",
        "time": "Thu Sep 24 15:20:23 2020 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 25 21:55:20 2020 +0000"
      },
      "message": "Add art_common to art-host-tests suite\n\nBug: 169111770\nTest: m -j art-host-tests\nChange-Id: I394203267403b1c9d61afdb2b5987498c3b42959\n"
    },
    {
      "commit": "0d20878372e135fff6227afb8c267e261ac2020c",
      "tree": "3270522e3e18b38630e85b460f13cb46951a9f6b",
      "parents": [
        "68e5db56dadbc0e558c16696aa48a80695ccbfbc"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Sep 25 10:18:24 2020 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Sep 25 12:52:00 2020 +0000"
      },
      "message": "Add liblz4 to the list of needed libs for gtests.\n\nChange-Id: I17c3ff67ebb519545a2d1f8f434f19bf66e2e052\n"
    },
    {
      "commit": "68e5db56dadbc0e558c16696aa48a80695ccbfbc",
      "tree": "3e885cc60324c729d66730126a82d53baea9a9ff",
      "parents": [
        "b2568693d783d53aa80f71fde4715995a1f695cc"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Sep 23 20:43:56 2020 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Sep 25 12:46:29 2020 +0000"
      },
      "message": "Convert libdexfile_support_static to *_static_defaults modules.\n\nIt has been using whole_static_libs to propagate static library\ndependencies transitively, but that can lead to duplicate instances of\nthem. Instead provide libdexfile(d)_support_static_defaults that\ncollect dependencies just like elsewhere in ART.\n\nExternal packages (read simpleperf) that depend on static libdexfile\nare provided a separate libdexfile_external_static library. It only\ncontains the internal dependencies and have a corresponding\n*_static_defaults for the external ones, and hence shouldn\u0027t be used\ninternally.\n\nTest: flash \u0026 boot\nTest: art/build/apex/runtests.sh\nTest: art/tools/buildbot-build.sh {--host,--target}\nTest: m build-art-target-golem\nTest: atest --host art_libdexfile_support_tests \\\n  art_libdexfile_support_static_tests \\\n  art_libdexfile_external_static_tests\nBug: 145934348\nBug: 142944931\nChange-Id: Ic99eebccc5c63acb55f323611c6b6f50a83eba5a\n"
    },
    {
      "commit": "b2568693d783d53aa80f71fde4715995a1f695cc",
      "tree": "ac48148fbe7e857538c375b693d81130dade687a",
      "parents": [
        "423aefc4be393842a88cdd554df3bb58f4b79474"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Sep 25 09:33:34 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Sep 25 11:50:04 2020 +0000"
      },
      "message": "JNI: Do not inhibit GC in GetStringCritical for compressed string.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nChange-Id: I6ccca9effe3820bb6b9eab6bb48263499da08321\n"
    },
    {
      "commit": "423aefc4be393842a88cdd554df3bb58f4b79474",
      "tree": "abd67c3f533248ecd9cb943b72977444787852a9",
      "parents": [
        "4075edd5acc75133ce7553003d1a04c6c840dd52"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Sep 01 18:42:22 2020 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Sep 25 11:21:26 2020 +0000"
      },
      "message": "Add ART gtests to the Mainline Test Suite (MTS).\n\nInclude the `ArtGtestsTargetInstallApex` module in the MTS test suite.\n\nAlso support multilib variants in this Soong module (using different\nsuffix per sub-architecture), which is needed on build targets with\nsecondary architectures, as the MTS test suite packaging logic\nflattens all test artifacts into a single `testcases` directory.\n\n(cherry picked from commit 8db723c5bda7dc16547a0abdacbf6f7d3ab90a54)\n\nTest: Run `m mts` and check the contents of the MTS package\n      (`out/host/linux-x86/mts/android-mts.zip`)\nBug: 167385698\nBug: 168984433\nChange-Id: I123f313db5ab32b38c2110301bb84eb208a58047\nMerged-In: I123f313db5ab32b38c2110301bb84eb208a58047\n"
    },
    {
      "commit": "4075edd5acc75133ce7553003d1a04c6c840dd52",
      "tree": "50621a257267d264251013476f96ba839c97b715",
      "parents": [
        "a3bd4ec050e10fbfb6df0fe024bc6f3851bcc326"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Thu Sep 24 15:26:23 2020 +0100"
      },
      "committer": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Fri Sep 25 09:57:26 2020 +0000"
      },
      "message": "Allow to exclude objects from heap graph.\n\nTest: Profile system_server with ignored_types.\nBug: 143874090\nChange-Id: Ibdc4c68831214b6d5717788be201a3067e1e7693\n"
    },
    {
      "commit": "a3bd4ec050e10fbfb6df0fe024bc6f3851bcc326",
      "tree": "8a373f87b05b3580f564bd8561bf0dd4ebb9161e",
      "parents": [
        "b0f405e1482df602fc57ee2ed4434456c4dc2555"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Thu Aug 27 16:26:17 2020 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Sep 25 09:16:33 2020 +0000"
      },
      "message": "Introduce Long.divideUnsigned() intrinsic on ARM64.\n\nExtends the 082-inline-execute test and reorders\ndivideUnsigned intrinsic code before VarHandle code.\n\nTest: 082-inline-execute.\nTest: testrunner.py --target --optimizing --64\nBug: 156736938\nChange-Id: I8acf3db184da30640aff36cf02570ae0c6d2b88c\n"
    },
    {
      "commit": "b0f405e1482df602fc57ee2ed4434456c4dc2555",
      "tree": "61d493a3ae65489090b186767ae83c7c1d893de1",
      "parents": [
        "5ba66998281af9719e5d5ef84fd095181d4cf9a8"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Sep 24 15:10:35 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Sep 25 08:39:47 2020 +0000"
      },
      "message": "Move the resolved_method_reference to HInvoke.\n\nIn order to also be used by HInvokeInterface.\n\nTest: test.py\nChange-Id: If72071a5347a13843f2c3ad8da4af4d6aaee6444\n"
    },
    {
      "commit": "5ba66998281af9719e5d5ef84fd095181d4cf9a8",
      "tree": "96d6b307af969eade69f390a1af3ab623523b8a1",
      "parents": [
        "6076b6959ac6dd2f5f6c93d119b37899f70a30a8"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Sep 23 15:04:36 2020 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 25 04:46:32 2020 +0000"
      },
      "message": "Refactor Escape-analysis to use visitors\n\nThe current escape-analysis is entirely built around finding a single\n\u0027does-escape\u0027 boolean (and a few ancillary booleans). This change adds\na new VisitEscapes function that allows one to more easily track which\ninstructions cause escapes and rewrites the other escape-analysis\nfunctions in terms of this VisitEscapes function.\n\nTest: ./test.py --host\nBug: 67037140\nChange-Id: Ie5ad7580544be21713d040c2943cae19ff5414d4\n"
    },
    {
      "commit": "6076b6959ac6dd2f5f6c93d119b37899f70a30a8",
      "tree": "fd54eb88344bdc047529c9d7c57765612d34f178",
      "parents": [
        "a48f6f1d64bf4606c6f100eb6dae674409d184cd"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Sep 23 14:25:18 2020 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Sep 24 23:51:52 2020 +0000"
      },
      "message": "Add ability to override gtest LOG_TAGS\n\nBy default art gtests will run with ANDROID_LOG_TAGS\u003d*:e regardless of\nwhat that environment variable is actually set to. This is generally\nsensible given the generally short nature of gtests. In some\ncircumstances it is useful to re-enable this logging when one is, for\nexample, debugging specific tests. This change adds a\nART_GTEST_OVERRIDE_LOG_TAGS which will be used as the value of\nANDROID_LOG_TAGS when set.\n\nTest: export ART_GTEST_OVERRIDE_LOG_TAGS\u003d\u0027*:v\u0027; $ANDROID_HOST_OUT/nativetest64/art_runtime_tests/art_runtime_tests --gtest_filter\u003d\"HeapTest*\"\nTest: $ANDROID_HOST_OUT/nativetest64/art_runtime_tests/art_runtime_tests --gtest_filter\u003d\"HeapTest*\"\nChange-Id: I48a42a12284d41423e9936d5d27430d88f4dac0b\n"
    },
    {
      "commit": "a48f6f1d64bf4606c6f100eb6dae674409d184cd",
      "tree": "fb2c07ef3845da03834a4a63e960cf8127896725",
      "parents": [
        "d9a7d0abcba766114d7b64311ea3aee4a66b2154"
      ],
      "author": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Wed Sep 23 09:36:01 2020 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Sep 24 22:53:52 2020 +0000"
      },
      "message": "Replace inlined string allocations to loop in 096-array-copy-concurrent\n\nReplacing inlined string allocations with a loop is expected to reduce\nthe number of GC invocations in case of GC-stress mode. Hopefully, this\nwill fix the timeout that is being observed.\n\nBug: 169242013\nTest: art/test/testrunner/testrunner.py --host -t 096-array-copy-concurrent\nChange-Id: Ib5c4130a5369749f1c28496cc2a1849f776a45be\n"
    },
    {
      "commit": "d9a7d0abcba766114d7b64311ea3aee4a66b2154",
      "tree": "a09c8a1443d81000682c96c578697cf4ba803f46",
      "parents": [
        "370948e9b91bd1a63d548b434a5d155b794c47c9"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Sep 24 16:45:26 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Sep 24 16:46:58 2020 +0000"
      },
      "message": "Revert \"Move ART run-tests to the `presubmit` test group in `TEST_MAPPING`.\"\n\nThis reverts commit 455e5c2eef7cf00d561e39a3af9ad97e7284a5bb.\n\nReason for revert: The original change broke many presubmits.\n\nBug: 152374989\nChange-Id: Ia01a2f7e5e718b5fa9ff2daa2ef820dc4f092225\n"
    },
    {
      "commit": "370948e9b91bd1a63d548b434a5d155b794c47c9",
      "tree": "9b191c71fd7e37d6c4dea54376b8402679f68e8a",
      "parents": [
        "c616530e7290ad21693b9ec626c55811c1f2c473"
      ],
      "author": {
        "name": "Andra Danciu",
        "email": "andradanciu@google.com",
        "time": "Wed Sep 23 08:07:25 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Sep 24 11:54:30 2020 +0000"
      },
      "message": "X86: Implement VarHandle.compareAndExchange\n\nTest: ART_HEAP_POISONING\u003dtrue art/test.py --host -r -t 712-varhandle-invocation --32\nTest: ART_HEAP_POISONING\u003dfalse art/test.py --host -r -t 712-varhandle-invocation --32\nTest: ART_USE_READ_BARRIER\u003dtrue art/test.py --host -r -t 712-varhandle-invocation --32\nTest: ART_USE_READ_BARRIER\u003dfalse art/test.py --host -r -t 712-varhandle-invocation --32\nBug: 65872996\nChange-Id: I880ba6176050591e7398f95b92fc3f74f566b042\n"
    },
    {
      "commit": "c616530e7290ad21693b9ec626c55811c1f2c473",
      "tree": "37af44857d1cf2c329583af72dffeb8ff6243049",
      "parents": [
        "8942b3a769729e9c1fb65f5b738317483124dc45"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Sep 23 10:48:55 2020 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Sep 24 11:52:10 2020 +0000"
      },
      "message": "Add missing libz4.so for Golem builds.\n\nIt\u0027s a new shared library dependency since\nhttps://r.android.com/1428533.\n\nTest: lunch silvermont\n  m CUSTOM_TARGET_LINKER\u003d$PWD/out/target/product/silvermont/system/bin/linker ART_TARGET_LINUX\u003dtrue build-art-target-golem\n  env ANDROID_I18N_ROOT\u003d$PWD/out/target/product/silvermont/system/apex/com.android.i18n ANDROID_TZDATA_ROOT\u003d$PWD/out/target/product/silvermont/system/etc/tzdata_module out/target/product/silvermont/system/bin/art --32 -Ximage:$PWD/out/target/product/silvermont/system/apex/com.android.art/javalib/boot.art -cp java-benchmarks-v3.dex benchmarks.AhatBench.java.AhatBench\nBug: 118374951\nChange-Id: I26f32e2c0eef8ec940378145ab02f1ce48564682\n"
    },
    {
      "commit": "8942b3a769729e9c1fb65f5b738317483124dc45",
      "tree": "e99c60039c9ef27d05a6d43269232953b72058be",
      "parents": [
        "0571d479f52781df0b4d94caaf704631122ba6e6"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 20 10:42:15 2020 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Sep 24 10:51:06 2020 +0000"
      },
      "message": "Integer.divideUnsigned() intrinsic on ARM64.\n\nImplements the intrinsic for arm64; adds a comment\nfor a DCHECK() that prevented kNoOutputOverlap usage\nin intrinsics with slow paths.\n\nAuthor: Vladimir Marko.\nCommitter: Artem Serov.\n\nTest: Covered by 082-inline-execute.\nTest: testrunner.py --target --optimizing --64\nBug: 156736938\nChange-Id: Ie1e61c19afe6a899fd4152206e5dbf9ad013e602\n"
    },
    {
      "commit": "0571d479f52781df0b4d94caaf704631122ba6e6",
      "tree": "4d2ec8b223d592074bc380cd6dc40ddc063ecad9",
      "parents": [
        "5437e6fa3c5a1865e4146356d05e0a48764a5e3b"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Sep 22 10:14:39 2020 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Sep 24 10:08:56 2020 +0000"
      },
      "message": "LSE: Better elimination of array stores.\n\nThis replaces the workaround from\n    https://android-review.googlesource.com/1427546\nwith a proper fix that precisely tracks the needed stores.\n\nAlso fix spelling of Floyd-Warshall.\n\nTest: Additional tests in 530-checker-lse\nTest: testrunner.py --host --optimizing --interpreter --jvm -t 530\nTest: testrunner.py --host --optimizing\nBug: 168446366\nBug: 77906240\nChange-Id: I0cd7acb600ed210ac09d0006b28f045758c2c3ec\n"
    },
    {
      "commit": "5437e6fa3c5a1865e4146356d05e0a48764a5e3b",
      "tree": "d2394e4504afd4aa1cecc8a75511b7be1c3ab1ff",
      "parents": [
        "59a122afb0d2af069a055de7437c736480782e41"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Sep 02 12:03:14 2020 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Sep 24 09:39:00 2020 +0000"
      },
      "message": "Add tests for accessing referrer\u0027s class.\n\nPrepare for improving codegen for accessing referrer\u0027s class\nfrom unresolved compiling class by improving test coverage.\nThe disabled CHECK statements show the intended results.\n\nTest: Additional tests in 727-checker-unresolved-class.\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 161898207\nChange-Id: I7473d2693060b843670ea81f5f0e7bbb3c2d9031\n"
    },
    {
      "commit": "59a122afb0d2af069a055de7437c736480782e41",
      "tree": "c4ebca9b572e4ef1ef33c05e64ee22dfd06b46e4",
      "parents": [
        "25b9c7da44cd4652aa2ba26aa105509a6d035632"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Sep 22 15:44:00 2020 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Sep 24 09:39:00 2020 +0000"
      },
      "message": "Rename some classes in test 727.\n\nTest: testrunner.py --host --optimizing -t 727\nBug: 161898207\nChange-Id: I8ea2a11859f2190aee4fa08eb7b062ea4c9cd204\n"
    },
    {
      "commit": "25b9c7da44cd4652aa2ba26aa105509a6d035632",
      "tree": "b11d09d13e3d3c29d9782ab9b7f8521bc58747e8",
      "parents": [
        "6d69b52f331f788cbd1f21ffd5b87cb3b39965e4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Sep 17 17:34:34 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Sep 24 08:26:53 2020 +0000"
      },
      "message": "Don\u0027t store copied methods in BSS.\n\nOtherwise, we can end up in a state where the method on the stack is\nunrelated to the receiver.\n\nAlso fix a comment related to GetCanonicalMethod and\nStackVisitor::ValidateFrame.\n\nTest: 810-checker-invoke-super-default\nChange-Id: I3030e4af6059f7a4a7a1f046f2aabae8ce9057da\n"
    },
    {
      "commit": "6d69b52f331f788cbd1f21ffd5b87cb3b39965e4",
      "tree": "2bca1001afb4c3fc45cbb198765c51aa65e45c42",
      "parents": [
        "e407d97b0f25562110511d025058dcefdacca623"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Sep 23 14:47:28 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Sep 23 14:47:28 2020 +0100"
      },
      "message": "Move MethodLoadKind out of HInvokeStaticOrDirect.\n\nTo prepare for using it in HInvokeInterface. For consistency, also move\nCodePtrLocation.\n\nTest: test.py\nChange-Id: I84f973764275002e2adb71080ebc833b2bafb975\n"
    },
    {
      "commit": "e407d97b0f25562110511d025058dcefdacca623",
      "tree": "0d4066f56d4e16a6bd402d10e8f38b4e14dbc246",
      "parents": [
        "e1d2dce0cda2d223ac9c4e48958b9d5810e3e987"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Sep 17 01:31:10 2020 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 23 11:43:08 2020 +0000"
      },
      "message": "Reattach some comments to what they apply to.\n\nAlso remove comments about runtime_options.h that have been copied out\nof their context (they\u0027re only relevant in runtime/Android.bp).\n\nTest: n/a - comment change\nChange-Id: I03753f273c148937ce04d4e0b44f3ec4b2303d27\n"
    },
    {
      "commit": "e1d2dce0cda2d223ac9c4e48958b9d5810e3e987",
      "tree": "3b9a664710cad714ad2ee1f9fec60908408aa23f",
      "parents": [
        "9dfb1a9d642b9eb627895ef3364736fc839b4fe4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 21 10:06:31 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Sep 23 08:12:33 2020 +0000"
      },
      "message": "Add support for compact dex files in nterp.\n\nTest: test.py\nBug: 112676029\nChange-Id: I604af166dab0647037bf675cabc6ce433053a83c\n"
    },
    {
      "commit": "9dfb1a9d642b9eb627895ef3364736fc839b4fe4",
      "tree": "776f1e58c13f620829bde196163ebab089506d1b",
      "parents": [
        "c372314fe478afe6aec5573c26bca378d686072d"
      ],
      "author": {
        "name": "Andra Danciu",
        "email": "andradanciu@google.com",
        "time": "Tue Sep 22 13:27:18 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Sep 23 08:05:32 2020 +0000"
      },
      "message": "X86: Implement VarHandle.getAndSet, getAndSetAcquire, getAndSetRelease\n\nThis commit implements VarHandle getAndSet variants. This implied adding\nxchgb and xchgw instructions and tests for them.\n\nAlso, all the varType checks were moved to GenerateVarHandleCommonChecks.\n\nTest: ART_HEAP_POISONING\u003dtrue art/test.py --host -r -t 712-varhandle-invocation --32\nTest: ART_HEAP_POISONING\u003dfalse art/test.py --host -r -t 712-varhandle-invocation --32\nTest: ART_USE_READ_BARRIER\u003dtrue art/test.py --host -r -t 712-varhandle-invocation --32\nTest: ART_USE_READ_BARRIER\u003dfalse art/test.py --host -r -t 712-varhandle-invocation --32\nTest: m test-art-host-gtest\nBug: 65872996\n\nChange-Id: I675f47e1dbb51a5ece42f20ad8ce552cfef63ffe\n"
    },
    {
      "commit": "c372314fe478afe6aec5573c26bca378d686072d",
      "tree": "f97c79ec307d286a21e0865505d83c0695f19cf8",
      "parents": [
        "331c8e371f2a3324070a4da966af8bf296b58bbb"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Sep 23 01:17:33 2020 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 23 07:00:28 2020 +0000"
      },
      "message": "Fix missing globals_unix.cc on device.\n\nnot_windows actually means \"non-windows hosts\", so it doesn\u0027t include\nandroid.\n\nTest: Device gtests\nBug: 132163727\nChange-Id: I0e3ce186a9919d95697bc7efaf692d537f37dfc4\n"
    },
    {
      "commit": "331c8e371f2a3324070a4da966af8bf296b58bbb",
      "tree": "82ad282811d40e605bd7e0ad1c3be81ea3385e7f",
      "parents": [
        "49cde240141d84bc0d79ed2225aff5b1a7f8a65e"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Fri Sep 11 17:03:58 2020 -0700"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Tue Sep 22 16:39:51 2020 +0000"
      },
      "message": "Fix expected results for clang-r399163 update.\n\nllvm-objdump changed the format it uses for displaying assembly, so we\nmust also adapt all of the ART tests similarly, since they check for\nexact matching output. llvm-dwarfdump has similarly changed its outputs,\nso we adjust our expectations there too.\n\nBug: http://b/155835175\nTest: m test-art-host-gtest\nChange-Id: Iefdb7b98b5f87d9c7bbad1930a4393919d9b9b34\n"
    },
    {
      "commit": "49cde240141d84bc0d79ed2225aff5b1a7f8a65e",
      "tree": "b60cdbd4cc4ecc4e69007c41d299165fe49c1076",
      "parents": [
        "d0f71f26f0f23d7a054ccdde552a9c6003fd33a6"
      ],
      "author": {
        "name": "Andra Danciu",
        "email": "andradanciu@google.com",
        "time": "Tue Sep 22 08:38:50 2020 +0000"
      },
      "committer": {
        "name": "Andra Danciu",
        "email": "andradanciu@google.com",
        "time": "Tue Sep 22 12:00:59 2020 +0000"
      },
      "message": "X86: Add VarHandle.getAndAddAcquire and getAndAddRelease\n\nTest: art/test.py --host -r -t 712-varhandle-invocation --32\nTest: art/test/run-test  --dex2oat-jobs 4 --host --prebuild --compact-dex-level fast --jit --no-relocate --runtime-option -Xcheck:jni  954-invoke-polymorphic-verifier\nBug: 65872996\nChange-Id: I685831b0dc57c0a2781f512515480db7fc830750\n"
    },
    {
      "commit": "d0f71f26f0f23d7a054ccdde552a9c6003fd33a6",
      "tree": "4a86250064448fc85678969ba70e9c28d487e65a",
      "parents": [
        "fdb81da69234b482ddcf5089d6821bb60dc93868"
      ],
      "author": {
        "name": "Andra Danciu",
        "email": "andradanciu@google.com",
        "time": "Thu Sep 17 09:00:15 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Sep 22 11:52:55 2020 +0000"
      },
      "message": "X86: Add the other get VarHandles (getVolatile, getAcquire, getOpaque)\n\nThis commit implements VarHandle.getVolatile, getAcquire and getOpaque\nintrinsics.\n\nTest: ART_HEAP_POISONING\u003dtrue art/test.py --host -r -t 712-varhandle-invocation --32\nTest: ART_HEAP_POISONING\u003dfalse art/test.py --host -r -t 712-varhandle-invocation --32\nTest: ART_USE_READ_BARRIER\u003dtrue art/test.py --host -r -t 712-varhandle-invocation --32\nTest: ART_USE_READ_BARRIER\u003dfalse art/test.py --host -r -t 712-varhandle-invocation --32\nBug: 65872996\nChange-Id: I38501c226c9d5af0a9e5a1230abcb3114aad4737\n"
    },
    {
      "commit": "fdb81da69234b482ddcf5089d6821bb60dc93868",
      "tree": "0344db14e014d49178e41fe4616caa7fe23c9bba",
      "parents": [
        "6edcc087ac793ab5d22846854c84df5320b6d75f"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Tue Sep 22 09:28:58 2020 +0100"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Tue Sep 22 09:57:10 2020 +0000"
      },
      "message": "Dedupe some code in hiddenapi.cc\n\nThis makes the CHECK message for superclasses also be printed\nfor interfaces, which is useful for debugging.\n\nTest: invoke hiddenapi encode with incorrect classpath\nChange-Id: I77e99d57c90eb6ff6b75c69c80bafba45ba5b82b\n"
    },
    {
      "commit": "6edcc087ac793ab5d22846854c84df5320b6d75f",
      "tree": "0dff891ce09455c09e2113306999d59001912e6c",
      "parents": [
        "71b26b2b5d3a963002d697c0a72c8fc4fe1c1db2"
      ],
      "author": {
        "name": "Andra Danciu",
        "email": "andradanciu@google.com",
        "time": "Fri Sep 18 09:21:26 2020 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Sep 22 07:45:57 2020 +0000"
      },
      "message": "X86: Implement VarHandle.getAndBitwise\u003cOperation\u003e intrinsics\n\nThis commit implements VarHandle getAndBitwiseAnd, getAndBitwiseOr\nand getAndBitwiseXor. Acquire and Release variants are also added, as\nthey are very similar.\n\nTest: art/test.py --host -r -t 712-varhandle-invocation --32\nBug: 65872996\nChange-Id: I3d9171f499f36e083cca5412746152944f60d773\n"
    },
    {
      "commit": "71b26b2b5d3a963002d697c0a72c8fc4fe1c1db2",
      "tree": "bb5a309719674b56778cf6270ed87053d48bf917",
      "parents": [
        "2eb1f8337b4852b25517d9197ce3f313248f9b85"
      ],
      "author": {
        "name": "Andra Danciu",
        "email": "andradanciu@google.com",
        "time": "Sun Sep 20 09:01:38 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Sep 21 16:44:39 2020 +0000"
      },
      "message": "X86: Ensure atomicity for VarHandle.setRelease and setOpaque\n\nThis commit corrects setRelease and setOpaque: they both need to ensure\natomicity which until now was not guaranteed.\n\nTest: art/test.py --host -r -t 712-varhandle-invocation --32\nBug: 65872996\nChange-Id: Id12cc6beb60cb089cc72cd006694c375c40d77c9\n"
    },
    {
      "commit": "2eb1f8337b4852b25517d9197ce3f313248f9b85",
      "tree": "1c8960eff3fc9f575321abc41bd0e200c850648c",
      "parents": [
        "3c7bd3c783e5a171f7ae1e5bc1c11cb95b80a93b"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Sep 17 00:25:52 2020 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon Sep 21 02:34:07 2020 +0100"
      },
      "message": "Link liblz4 and liblzma dynamically again.\n\nThis reverts https://r.android.com/821441 in spirit - it was an attempt\nto avoid external shared lib dependencies before the APEX library\ndependency logic was built. Now these shared libraries will simply be\nadded as internal libs in the APEX.\n\nSoong doesn\u0027t propagate shared lib dependencies in static libs, so we\nhave to repeat them in some cases where libelffile and libart-dex2oat\nare used.\n\nTest: art/build/apex/runtests.sh\nTest: art/tools/buildbot-build.sh\nBug: 118374951\nChange-Id: I0a61b8388f12a749ab8ab5074866eebbad78548b\n"
    },
    {
      "commit": "3c7bd3c783e5a171f7ae1e5bc1c11cb95b80a93b",
      "tree": "23d17987145abef47875db7cdbf03e5b8eb276c5",
      "parents": [
        "46c2a23dbbe48c8ba1dd0238e844f9b5fda47ec7"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Sep 17 14:16:36 2020 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Sep 18 21:43:11 2020 +0000"
      },
      "message": "Fix issue where moving BitVector could cause free(nullptr)\n\nIf one std::move\u0027s a BitVector the old BitVector\u0027s storage_ will be\nnulled and size set to 0. This is fine but when ~BitVector is run the\nallocator will be asked to free a nullptr. Since this is generally not\nexpected by allocators, not supported by some and breaks the movement\nsemantics of C++ I\u0027ve changed the behavior to only Free memory\nif there is memory to be freed.\n\nTest: ./test.py --host\nChange-Id: I2716a604370c94bcea1a0989c5e6b94e45a2b063\n"
    },
    {
      "commit": "46c2a23dbbe48c8ba1dd0238e844f9b5fda47ec7",
      "tree": "d905233d37e6af9f4476b9d25b63baa7f8c4f5b3",
      "parents": [
        "b76cb89736d889929939223a22bc7fb44c6117b2"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Sep 17 14:01:55 2020 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Sep 18 21:43:11 2020 +0000"
      },
      "message": "Don\u0027t assume allocators clear memory\n\nBitVector, when constructed with an explicit size, would assume that\nthe allocator would zero out memory. This is not always true and could\nlead to unexpected outcomes.\n\nTest: ./test.py --host\nChange-Id: Ibe556ebf07b5081f110e76efa927b7fa677a607e\n"
    },
    {
      "commit": "b76cb89736d889929939223a22bc7fb44c6117b2",
      "tree": "35d1d0121d3ea7fcd5631b4b68a57266ecbf5412",
      "parents": [
        "25c3e4872b079157873515b983c6ee62da652c48"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Sep 17 13:57:00 2020 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Sep 18 21:43:11 2020 +0000"
      },
      "message": "Fix incorrect inheritance declaration in IndexIterator\n\nThe BitVector::IndexIterator was declared as inheriting from\nstd::iterator without any access modifiers. This prevented the\ninherited declarations from being visible, meaning it could not be\nused by much of our other iterator code. Declare this inheritance\npublic and add a test that the iterator can be used with\nTransformIterator.\n\nTest: ./test.py --host\nChange-Id: I7e6483e03d01fb447dd73f80a72173190cc5fe60\n"
    },
    {
      "commit": "25c3e4872b079157873515b983c6ee62da652c48",
      "tree": "e259191f349a85bee4c2117578d4ec177a4aef84",
      "parents": [
        "d6ea38b1c5b1137c9bc49b970e6f5b0c9008b4bf",
        "533afa0d08aeb1e9ae339f614c9b5934b35e71f3"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Fri Sep 18 18:47:43 2020 +0000"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Fri Sep 18 18:47:43 2020 +0000"
      },
      "message": "Merge \"Merge mainline-release 6664920 to master - DO NOT MERGE\""
    },
    {
      "commit": "d6ea38b1c5b1137c9bc49b970e6f5b0c9008b4bf",
      "tree": "e259191f349a85bee4c2117578d4ec177a4aef84",
      "parents": [
        "c679fe3915fee6c490c1e8478a6c455f62c10a3f"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Sep 18 13:57:23 2020 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Sep 18 13:57:23 2020 +0100"
      },
      "message": "Fix a clang-tidy warning in VisitVarHandleGetAndAdd()\n\nFixes a commented argument name mismatch in\nIntrinsicCodeGeneratorX86::VisitVarHandleGetAndAdd().\n\nBug: 168883594\nTest: WITH_TIDY\u003d1 m\nChange-Id: I526dbe05610301d34457a735dee5fe162ab3230a\n"
    },
    {
      "commit": "c679fe3915fee6c490c1e8478a6c455f62c10a3f",
      "tree": "f0f676afba57ee13a3e040bce1a5636d5e6b838a",
      "parents": [
        "952c0904d46f4170c6a2578c19a702a0499e57f4"
      ],
      "author": {
        "name": "Evgeny Astigeevich",
        "email": "evgeny.astigeevich@linaro.org",
        "time": "Mon Sep 14 14:02:40 2020 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 18 12:23:51 2020 +0000"
      },
      "message": "ARM: Optimize div/rem when dividend is compared with a non-negative\n\nWhen a divisor is a positive constant and a dividend is compared with a\nnon-negative value, the result of the comparison can guarantee that the\ndividend is non-negative. In such a case there is no need to generate\ninstructions correcting the result of div/rem.\n\nThe CL implements this optimization for ARM32/ARM64.\n\nTest: 411-checker-hdiv-hrem-pow2\nTest: 411-checker-hdiv-hrem-const\nTest: test.py --host --optimizing --jit --gtest --interpreter\nTest: test.py -target --optimizing --jit --interpreter\nTest: run-gtests.sh\nChange-Id: If1dc1389f6e34d2be3480ef620a626f389ca53a5\n"
    },
    {
      "commit": "952c0904d46f4170c6a2578c19a702a0499e57f4",
      "tree": "305ef886ebd4ebb465b9bf22aad451c82eedff12",
      "parents": [
        "74850a81e78882ae132da1666c1ffe0dcfde9a18"
      ],
      "author": {
        "name": "Daniil Riazanovskiy",
        "email": "riazanovskiy@google.com",
        "time": "Tue Sep 15 15:46:46 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Sep 18 11:25:14 2020 +0000"
      },
      "message": "Don\u0027t print the whole input file in case of Checker failure\n\nPrinting whole input is not particulary useful. It is usually big, so printing it slows down testing, and can be accessed via other means.\n\nTest: run checker with test that is expected to fail\n\nChange-Id: I3ee55d1585696044d7a0829b6a565d7892d964d9\n"
    },
    {
      "commit": "74850a81e78882ae132da1666c1ffe0dcfde9a18",
      "tree": "4803545c632547062e7be87ab90192a8dd02aa35",
      "parents": [
        "8b8d93d16ce2b409b27b4655bad0ee41987cb06d"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Thu Sep 10 17:46:56 2020 +0100"
      },
      "committer": {
        "name": "vichang",
        "email": "vichang@google.com",
        "time": "Fri Sep 18 09:07:53 2020 +0000"
      },
      "message": "Remove redundant libandroidicu.so from manifest.json\n\nlibandroidicu.so has a stub and doesn\u0027t need to specify\nit in the manifest.json explicitly.\n\nlibicu.so, libicuuc.so and libicui18n.so are public and preloaded,\nthus they need to stay in the requireNativeLibs.\n\nlibicu_jni.so need to keep in the manifest because runtime.cc is dlopen-ing it.\n\nBug: 160350521\nTest: device boots\nTest: verify the generated apex_manifest_full.json\nChange-Id: I36bfeddf072f088a619e226983ab96aa7f2f3e0c\n"
    },
    {
      "commit": "8b8d93d16ce2b409b27b4655bad0ee41987cb06d",
      "tree": "947ca0d8507b5860de45659c79e1cfafa7b1c305",
      "parents": [
        "eb2c9dd52679d590428a33556f45fb49eaef5e0e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Sep 17 14:30:01 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Sep 18 08:37:07 2020 +0000"
      },
      "message": "Use kTieredHotnessMask in arm32 and x86 baseline backends.\n\nThose backends were missed when introducing kTieredHotnessMask.\n\nTest: test.py\n\nChange-Id: If72c00f4c1c7d668e0cd360773313c3717fd9456\n"
    },
    {
      "commit": "eb2c9dd52679d590428a33556f45fb49eaef5e0e",
      "tree": "9bb849944b66c9b3ec20536e7c5a37af41a54195",
      "parents": [
        "f61e0617b89e4ad60373f36da56812c20a3e0b20"
      ],
      "author": {
        "name": "Andra Danciu",
        "email": "andradanciu@google.com",
        "time": "Mon Sep 14 13:22:40 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 18 08:21:00 2020 +0000"
      },
      "message": "X86: Implement VarHandle.getAndAdd intrinsic\n\nThis commit implements VarHandle getAndAdd intrinsic. This also implied\nadding xadd instruction and tests for it.\n\nTest: art/test.py --host -r -t 712-varhandle-invocation --32\nTest: m test-art-host-gtest\nBug: 65872996\nChange-Id: I84dd95ba6464c8a73ace03a13817147c7099677a\n"
    },
    {
      "commit": "533afa0d08aeb1e9ae339f614c9b5934b35e71f3",
      "tree": "8bf61be41baaebf680e3048fdc3a1bb27e6ebf94",
      "parents": [
        "f61e0617b89e4ad60373f36da56812c20a3e0b20",
        "2323ec6057c187a1f23d0f5b9f21f1b50f467f9b"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Thu Sep 17 21:56:54 2020 -0700"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Thu Sep 17 21:56:54 2020 -0700"
      },
      "message": "Merge mainline-release 6664920 to master - DO NOT MERGE\n\nMerged-In: Ic837938ff279e3d4654be39c1f3f13c77c274dc1\nChange-Id: I11233280680189688195c81c73d60680d6d19c44\n"
    },
    {
      "commit": "f61e0617b89e4ad60373f36da56812c20a3e0b20",
      "tree": "8bf61be41baaebf680e3048fdc3a1bb27e6ebf94",
      "parents": [
        "1d4f009209c35e91c41c915e21e3b59a731925f8"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Aug 14 16:13:35 2020 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Sep 17 16:08:12 2020 +0000"
      },
      "message": "Add test module for running gtests in chroot.\n\nBug: 147819342\nBug: 147821328\nTest: atest ArtGtestsTargetInstallApex\nTest: atest ArtGtestsTargetChroot\nChange-Id: If4efdfa9fe52e4ddb5c6a3ed409a27935b17cebf\n"
    },
    {
      "commit": "1d4f009209c35e91c41c915e21e3b59a731925f8",
      "tree": "63428eec8b2397cccdba81e9df37faa54081a8bc",
      "parents": [
        "fb9b09d50ccab5e9de5b79bed4f943cc1ac0b74d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Aug 07 14:01:05 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Sep 17 13:46:20 2020 +0000"
      },
      "message": "Call dex2oat and runtime hooks when creating / loading oat/dex files.\n\nTest: m\nBug: 162715919\nBug: 134558686\nChange-Id: I293310106b8dcd7bec22d8790fd5f72b315776a8\n"
    },
    {
      "commit": "fb9b09d50ccab5e9de5b79bed4f943cc1ac0b74d",
      "tree": "ea09189594439f193f7bf1b0901b1246ddd11d32",
      "parents": [
        "455e5c2eef7cf00d561e39a3af9ad97e7284a5bb"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Wed Sep 16 16:15:05 2020 +0100"
      },
      "committer": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Thu Sep 17 13:46:15 2020 +0000"
      },
      "message": "Downgrade \"multiple public alternatives\" to a warning.\n\nAlso add support for reporting warnings which do not fail the build.\n\nBug: 161156950\nTest: atest class2nonsdklisttest\nChange-Id: I7bd9e19eae8558f24abd1f0a6f10f9130284e076\n"
    },
    {
      "commit": "455e5c2eef7cf00d561e39a3af9ad97e7284a5bb",
      "tree": "17bf130f0cae66485eee78ca09201ed6fbc3fb53",
      "parents": [
        "cde98193476cc295339e54a608110f2546eb8308"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Sep 14 21:40:26 2020 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Sep 17 11:40:18 2020 +0000"
      },
      "message": "Move ART run-tests to the `presubmit` test group in `TEST_MAPPING`.\n\nTest: atest --test-mapping art:presubmit\nBug: 152374989\nChange-Id: I5a36d9ad0dd7212b21018896f258df0aeea4d2be\n"
    },
    {
      "commit": "cde98193476cc295339e54a608110f2546eb8308",
      "tree": "cea46ad451e18a677a2380dc4c0e7c8ad76d2b5f",
      "parents": [
        "9dec90a069386a5e538f5cfb9ff7ef789bdbafdb"
      ],
      "author": {
        "name": "Andra Danciu",
        "email": "andradanciu@google.com",
        "time": "Sun Sep 13 12:32:09 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Sep 17 09:00:53 2020 +0000"
      },
      "message": "X86: Add the other set VarHandles (setVolatile, setRelease, setOpaque)\n\nThis commit implements VarHandle.setVolatile, setRelease and setOpaque\nintrisics. This also implied refactoring HandleFieldSet to be reused in\nall set VarHandles, as the code is very similar.\n\nTest: ART_HEAP_POISONING\u003dtrue art/test.py --host --all-compiler -r --32\nTest: ART_HEAP_POISONING\u003dfalse art/test.py --host --all-compiler -r --32\nTest: ART_USE_READ_BARRIER\u003dtrue art/test.py --host --all-compiler -r --32\nTest: ART_USE_READ_BARRIER\u003dfalse art/test.py --host --all-compiler -r --32\nBug: 65872996\nChange-Id: I9a1d5fec6c5086c1e77ba65c3337da1133b3e3f1\n"
    },
    {
      "commit": "9dec90a069386a5e538f5cfb9ff7ef789bdbafdb",
      "tree": "61db592006bf40f0a120efeb3ecf0aca5820b898",
      "parents": [
        "77cba3cc758ac6141abbf1297de8bd2df7083bbd"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Sep 14 17:58:28 2020 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 16 21:28:50 2020 +0000"
      },
      "message": "Fix LSE-array overlap issue\n\nIn cases where an array has overlapping accesses on separate\niterations LSE could get confused and incorrectly believe removing\narray stores is safe even when later iterations rely on the store\noccurring. For example consider the following code:\n\n```\nint do_cal(int len) {\n  if (len \u003c 5) {\n    return -1;\n  }\n  int w[] \u003d new w[len];\n  int t \u003d 0;\n  for (int i \u003d 5; i \u003c w.length; i++) {\n    w[i] \u003d please_interleave(w[i - 1], w[i - 5]);\n    t \u003d please_select(w[i], i);\n  }\n  return t;\n}\n```\n\nWe would either need to materialize 5 PHIs to hold the values\n`w[i - 1], ..., w[i - 5]` or avoid removing the write to `w[i]`. Our\nLSE pass is unable to do the former and would (incorrectly) fail to\nrecognize that, by not being able to determine the values of `w[i -\n1]` and `w[i-5]` that the later store to `w[i]` must be preserved.\n\nBug: 168446366\nTest: ./test.py --host\nChange-Id: I89772c8bf49ebf6de70f86bd68484e14bd189406\n"
    },
    {
      "commit": "77cba3cc758ac6141abbf1297de8bd2df7083bbd",
      "tree": "0e93e5d6ed8fa8057bdaf837b5404c95ec3f4b8b",
      "parents": [
        "52d2c0c3af51b9da9e20cfe6b10d72b816ddb7af"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Sep 16 15:21:35 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Sep 16 17:17:23 2020 +0000"
      },
      "message": "Add andw for memory to x86 assembler.\n\nTest: assembler_x86_test\nChange-Id: I5866557f9498f6e5f5713fff2ce58c70e47bd74b\n"
    },
    {
      "commit": "52d2c0c3af51b9da9e20cfe6b10d72b816ddb7af",
      "tree": "73545ea3b9948923bcd94ec7cdbf9b1b17d2edfb",
      "parents": [
        "afad9f95c5321e2d6fe312c377dc8a11336f5fa4"
      ],
      "author": {
        "name": "Andra Danciu",
        "email": "andradanciu@google.com",
        "time": "Tue Sep 15 14:27:21 2020 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Sep 16 14:47:30 2020 +0000"
      },
      "message": "X86: Add the other variants of VarHandle.compareAndSet\n\nThis commit implements VarHandle WeakCompareAndSet,\nWeakCompareAndSetPlain, WeakCompareAndSetAcquire,\nWeakCompareAndSetRelease.\n\nTest: art/test.py --host -r -t 712-varhandle-invocation --32\nChange-Id: I1e0f5e7dcb21cd0f107d5a74cb534cef992ef9fc\n"
    },
    {
      "commit": "afad9f95c5321e2d6fe312c377dc8a11336f5fa4",
      "tree": "0474fba76600ef62e9ae5253f234ec6cde3e9026",
      "parents": [
        "07927bf6136f2472646ef3c7de2886f804ee063e"
      ],
      "author": {
        "name": "Andra Danciu",
        "email": "andradanciu@google.com",
        "time": "Tue Sep 15 15:38:32 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 16 13:09:17 2020 +0000"
      },
      "message": "X86: Optimize GenCAS\n\nThis commit adds a small optimization to GenCAS: skip the MarkGCCard if\nthe value was not set (cmpxchg fails).\n\nTest: ART_HEAP_POISONING\u003dtrue art/test.py --host --all-compiler -r --32\nTest: ART_HEAP_POISONING\u003dfalse art/test.py --host --all-compiler -r --32\nTest: ART_USE_READ_BARRIER\u003dtrue art/test.py --host --all-compiler -r --32\nTest: ART_USE_READ_BARRIER\u003dfalse art/test.py --host --all-compiler -r --32\nChange-Id: Ic483c4ccb0a58f7c21e6fd9f3bc90ba8c56492b8\n"
    },
    {
      "commit": "07927bf6136f2472646ef3c7de2886f804ee063e",
      "tree": "f516616b2f7bf7d4c4b5463ebb01d130b80d4729",
      "parents": [
        "c992e42601a9dc99a8ddcaecbc7f9d5048d77a38"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Sep 15 15:30:58 2020 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 16 11:21:46 2020 +0000"
      },
      "message": "Remove dangling symlinks to clang-format config.\n\nBefore the move symlinks pointed to system/core/.clang-format-2, which\npoints to build/soong/scripts/system-clang-format-2. ART style is\nnot (yet) enforced with clang-format, but if that changes it should\napply here too.\n\nTest: n/a\nChange-Id: Ib27dcf053e88a51782cbd295a7ccd4c66365fbd1\n"
    },
    {
      "commit": "c992e42601a9dc99a8ddcaecbc7f9d5048d77a38",
      "tree": "56e192bc533d7d97f1954d1ee50d9333363757da",
      "parents": [
        "ff6d5fa6add68a6ab2b699444c3539ee1950d491"
      ],
      "author": {
        "name": "Andra Danciu",
        "email": "andradanciu@google.com",
        "time": "Wed Sep 16 08:12:02 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 16 11:11:46 2020 +0000"
      },
      "message": "X86: Clarify HandleFieldSet constant volatile Float64 case\n\nIn case of a constant Float64 value code generation, we ensure that the\nfield is not volatile.\n\nTest: art/test.py --host --all-compiler --optimizing --32 -r\nChange-Id: I512c89dffc446fd9a44d2f409c6d2ddac756e111\n"
    },
    {
      "commit": "ff6d5fa6add68a6ab2b699444c3539ee1950d491",
      "tree": "982c33f5c6b4294b336219078c1cc89746488f6c",
      "parents": [
        "2fe9dbdc9ba1eea74cd67e530d5b31076d4554de"
      ],
      "author": {
        "name": "Andra Danciu",
        "email": "andradanciu@google.com",
        "time": "Wed Sep 16 07:08:24 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 16 09:26:55 2020 +0000"
      },
      "message": "X86: Fix GenCAS DCHECK(kUseBakerReadBarrier) misplacement\n\nThis commit fixes a bug previously introduced by refactoring VarHandle\ncompareAndSet and UnsafeCAS. The check for using only baker read barrier\nwas supposed to be done only for references.\n\nTest: ART_READ_BARRIER_TYPE\u003dTABLE_LOOKUP art/test.py --host --all-compiler --optimizing --32 -r\nBug: 168645609\nChange-Id: Ic6d1cf5ca0e3c4d10abb0d7a793623592a11c74c\n"
    },
    {
      "commit": "2fe9dbdc9ba1eea74cd67e530d5b31076d4554de",
      "tree": "985d9f1b47e08ab8d23807c6f23d1e34b3c1aabe",
      "parents": [
        "f1308e4097e7ed71aff5d9b251e750a2645cd2c5"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Sep 14 20:11:28 2020 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Sep 16 08:40:40 2020 +0000"
      },
      "message": "Move ART gtests to the `presubmit` test group in `TEST_MAPPING`.\n\nTest: atest --test-mapping art:presubmit\nBug: 152379281\nChange-Id: Ieae5f3d8ee69c71bcdac4a7e006d82e193a12715\n"
    },
    {
      "commit": "f1308e4097e7ed71aff5d9b251e750a2645cd2c5",
      "tree": "00b7744492b9d4b52fb295144130db8963c4797e",
      "parents": [
        "556502910526d935093eae3d2e7f79b02245fc66"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Sep 15 13:45:02 2020 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 15 20:50:25 2020 +0000"
      },
      "message": "Drop compile_bcp.sh from the files checked for host apex\n\nTest: art/build/apex/runtests.sh\nChange-Id: Ia675c558ea7b94f6896735c2a70883ccec8d1bf3\n"
    },
    {
      "commit": "556502910526d935093eae3d2e7f79b02245fc66",
      "tree": "fc98b3c8196bdd2abe8889397ad2133a1b7beb21",
      "parents": [
        "e82dee02b24fe50bb48a05d5a3be8c41fbbb00ba"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Sep 14 12:21:04 2020 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 15 17:15:11 2020 +0000"
      },
      "message": "Improve logging for missed fields\n\nPretty print fields that are not assigned to an offset.\n\nBug: 168097035\nTest: make\n\nChange-Id: Ia389165d5a560cf69f396dbef7e98972b1da5e90\n"
    },
    {
      "commit": "e82dee02b24fe50bb48a05d5a3be8c41fbbb00ba",
      "tree": "c5fb04a42652d4469f7a36849bdec02383f7b3d1",
      "parents": [
        "6a99ae6cced8052550ea3acd8247c98a464c2ebd"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Sep 14 19:38:26 2020 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Sep 15 16:09:53 2020 +0000"
      },
      "message": "Adjust `regen-test-files` to match the current `TEST_MAPPING` output.\n\nManual modifications made to the `TEST_MAPPING` file have been merged\ninto AOSP with the release of Android 11 (R); adjust script\n`test/utils/regen-test-files` to generate a `TEST_MAPPING` output\nidentical to the current file.\n\nTest: Run `art/test/utils/regen-test-files` and check `TEST_MAPPING`\nTest: atest --test-mapping art:presubmit\nBug: 140373913\nChange-Id: I1a6578e895547e0a49063d6b72315317a2a4ff2f\n"
    },
    {
      "commit": "6a99ae6cced8052550ea3acd8247c98a464c2ebd",
      "tree": "52bf98b113a4ebc7789ef2268d6d10d1e99eea4a",
      "parents": [
        "00381bf2b88a6cb980c2f882c6eb8fdc70ea6168"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Sep 09 14:42:51 2020 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Sep 15 09:41:05 2020 +0000"
      },
      "message": "Switch-interpreter: Inline several trivial methods.\n\nAfter several rounds of clean-up, it turns out that many of the\ntrivial helpers are used only once.\n\nTest: test.py -b -r --host --interpreter\nChange-Id: I5e9e1499d48355e71c61d291272ccbb485367063\n"
    },
    {
      "commit": "00381bf2b88a6cb980c2f882c6eb8fdc70ea6168",
      "tree": "9d910a8e80d60cf5879ec1c592cae9e416db3303",
      "parents": [
        "8d8380a2fafef53836127a79bc772f0d1ff41df0"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Sep 01 17:28:11 2020 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Sep 15 08:18:56 2020 +0000"
      },
      "message": "Add ART run-tests to the Mainline Test Suite (MTS).\n\nNote: For simplicity, all ART run-tests supported at the build level\nare included in MTS, even ones which are currently known to fail at\nrun-time -- we can filter the tests to execute at the test plan level\nif needed.\n\nTest: Run `m mts` and check the contents of the MTS package\n      (`out/host/linux-x86/mts/android-mts.zip`)\nBug: 167385698\nChange-Id: I47013a92cdda0dd7f819eca6e644a4cb2b3c2ca5\n"
    },
    {
      "commit": "8d8380a2fafef53836127a79bc772f0d1ff41df0",
      "tree": "e85cbdc0db74023df6506ee736dfbcba178849dc",
      "parents": [
        "3d9c0d9d8beb8a1d2ea65c53e14e7c2499b7ce10"
      ],
      "author": {
        "name": "Andra Danciu",
        "email": "andradanciu@google.com",
        "time": "Fri Sep 11 09:24:01 2020 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Sep 15 08:12:58 2020 +0000"
      },
      "message": "X86: Refactor UnsafeCAS and VarHandle.compareAndSet intrinsics.\n\nThis commit overloads GenCAS method to have the possibility to use it\nfor code generation of both UnsafeCAS and VarHandle.compareAndSet. This\nalso implied readjusting the locations builder of VarHandle\ncompareAndSet.\n\nTest: ART_HEAP_POISONING\u003dtrue art/test.py --host --all-compiler -r --32\nTest: ART_HEAP_POISONING\u003dfalse art/test.py --host --all-compiler -r --32\nTest: ART_USE_READ_BARRIER\u003dtrue art/test.py --host --all-compiler -r --32\nTest: ART_USE_READ_BARRIER\u003dfalse art/test.py --host --all-compiler -r --32\nBug: 65872996\n\nChange-Id: Iaabcbf3d239313cb701c622f2f63e46d11e9f982\n"
    },
    {
      "commit": "3d9c0d9d8beb8a1d2ea65c53e14e7c2499b7ce10",
      "tree": "31d532130b26487dc2d9ffe00ed10a6c7977454d",
      "parents": [
        "a7248f1032054de429a1384f09ee0b5b76272b96"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Sep 09 14:16:08 2020 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Sep 14 17:57:06 2020 +0000"
      },
      "message": "Prevent IndirectReferenceTable from being outside of kPageAlignment\n\nDue to how we resized the IndirectReferenceTable it could end up being\nan unaligned size. On some architectures, this could sometimes cause\nissues we would try to madvise a negative length region, causing\ncrashes. To fix this we changed the IRT to avoid ever having non-page\naligned lengths and changed how we calculate what to madvise slightly.\n\nTest: ./test.py --host\nTest: ./test.py --host --debuggable --64 --with-agent $ANDROID_HOST_OUT/lib64/libtifastd.so\u003dClassFileLoadHook\nTest: Manual checks on emulator\nBug: 152421535\nChange-Id: I9eb99c750e6b6230998bf8ba314be426ad8c228c\n"
    },
    {
      "commit": "a7248f1032054de429a1384f09ee0b5b76272b96",
      "tree": "81b742e56ecc259e1e544eb1dd410fdf5b5d5b3d",
      "parents": [
        "009568fc43b9597e215a3495f7a906eb5cd7a077"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Sep 14 13:23:54 2020 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Sep 14 16:25:35 2020 +0000"
      },
      "message": "Remove root target preparer from ART run-tests configuration template.\n\nThis is no longer needed since ART run-tests use paths under\n`/data/local/tmp/` on device that do not require root permissions.\n\nTest: atest --test-mapping art:postsubmit\nBug: 147814778\nBug: 147812905\nChange-Id: I0f31b5d35c0777571f6f50ad9d55735845d890e8\n"
    },
    {
      "commit": "009568fc43b9597e215a3495f7a906eb5cd7a077",
      "tree": "e249c4ab41a662b6778115784d623dc236ae5932",
      "parents": [
        "19a73a22227bb6b47ba2e7c1a45e07148492a26f"
      ],
      "author": {
        "name": "Andra Danciu",
        "email": "andradanciu@google.com",
        "time": "Fri Sep 11 13:35:03 2020 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Sep 14 14:25:12 2020 +0000"
      },
      "message": "X86: Add tests for cmpxchgw and cmpxchgb\n\nThe two instructions were added in a previous commit and were needed for\nVarHandle.compareAndSet intrinsic.\n\nTest: m art_compiler_host_tests\nBug: 65872996\nChange-Id: If2a9d8d1a4c40034d16e2082f2e5948bcdfbab21\n"
    },
    {
      "commit": "19a73a22227bb6b47ba2e7c1a45e07148492a26f",
      "tree": "abb428a4def89edd94af534518250b736da05c2f",
      "parents": [
        "ea2dfb903fa3289210e2d249a0b5045e32593fe1"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Sep 11 19:03:06 2020 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Sep 14 08:23:47 2020 +0000"
      },
      "message": "Fix clang-tidy error.\n\nTest: WITH_TIDY\u003dtrue m\nBug: 65872996\nChange-Id: Iecafee0e4a7bc411d69b1351f6482a90e8f92a0f\n"
    },
    {
      "commit": "ea2dfb903fa3289210e2d249a0b5045e32593fe1",
      "tree": "60436120de6d6e47c286b14577f270eca6bf970a",
      "parents": [
        "e00e7d230af50c7872c219028d7b7bd159b5aecd"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Fri Sep 11 12:43:35 2020 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 11 21:21:34 2020 +0000"
      },
      "message": "Refresh test data with `method_idx` additional data.\n\nBug: http://b/168304287\nTest: art/test/dexdump/run-all-tests\nChange-Id: I96a7e81a3849bff029349754b35eebe3787f14b8\n"
    },
    {
      "commit": "e00e7d230af50c7872c219028d7b7bd159b5aecd",
      "tree": "3deac68098f8db32357a47b6ede3694a2297ac26",
      "parents": [
        "1fef877c66f066f01653ea98bfefe29304198193"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Sep 11 14:10:40 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Sep 11 14:14:28 2020 +0000"
      },
      "message": "arm64: Fix VarHandle intrinsics for heap poisoning.\n\nUnpoison coordinateType0 for type check.\n\nTest: testrunner.py --target --64 -t 712\nBug: 65872996\nChange-Id: Ie9401c69149574e44a29b2d0b933ab7444126537\n"
    },
    {
      "commit": "1fef877c66f066f01653ea98bfefe29304198193",
      "tree": "65561c8b15844cabe32728b61d1e5d586976acf3",
      "parents": [
        "a41ea2708d143b5982f1969864513b62706d11d4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Sep 09 13:57:17 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Sep 11 13:20:58 2020 +0000"
      },
      "message": "Handle more cases of super calls in the compiler.\n\nAdd support for calling super methods that are not referenced within the\ncompiling dex file.\n\nTest: 808-checker-invoke-super\nTest: 809-checker-invoke-super-bss\nChange-Id: Ib103f818ac8b612a79b6b18cc8eda81131bb3149\n"
    },
    {
      "commit": "a41ea2708d143b5982f1969864513b62706d11d4",
      "tree": "dfe5d58ffb7dd6d9220e87430416b8ea2deef617",
      "parents": [
        "1e2d5679e56364b090c989427f43ad6273359904"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Sep 07 15:24:36 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Sep 11 10:33:12 2020 +0000"
      },
      "message": "arm64: VarHandle.get/set intrinsic for fields.\n\nTest: testrunner.py --target --64 --optimizing -t 712-varhandle-invocation\nTest: Repeat with ART_USE_READ_BARRIER\u003dfalse ART_HEAP_POISONING\u003dtrue.\nTest: Repeat with ART_READ_BARRIER_TYPE\u003dTABLELOOKUP.\nBug: 65872996\nChange-Id: Ic0ec2eba7b493ef3b1d15291b67e0214e6e2de0e\n"
    },
    {
      "commit": "1e2d5679e56364b090c989427f43ad6273359904",
      "tree": "4ec65a6d0ec5706aa69e48e54d914c235bf0d46e",
      "parents": [
        "56e92ec5895de3f6b08c6b831dd6787adb287634"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Fri Aug 28 15:15:56 2020 +0100"
      },
      "committer": {
        "name": "vichang",
        "email": "vichang@google.com",
        "time": "Fri Sep 11 10:19:35 2020 +0000"
      },
      "message": "Add a new public library libicu.so\n\nBug: 160350521\nTest: m droid\nChange-Id: Ibbc0d62d0269a5b22885bbab1bbc6ec16a8100ef\n"
    },
    {
      "commit": "56e92ec5895de3f6b08c6b831dd6787adb287634",
      "tree": "f1e597af2438045f294c59f72639f13bcd36c36f",
      "parents": [
        "630e447bc8c25aedc5619248028da4583c141938"
      ],
      "author": {
        "name": "Kiyoung Kim",
        "email": "kiyoungkim@google.com",
        "time": "Wed Sep 09 16:55:24 2020 +0900"
      },
      "committer": {
        "name": "Kiyoung Kim",
        "email": "kiyoungkim@google.com",
        "time": "Fri Sep 11 03:59:38 2020 +0000"
      },
      "message": "Mark ART linker config as not installable\n\nMark ART linker config as not installable so linker.config.txt file will\nnot be installed into other partitions.\n\nTest: m -j passed\nChange-Id: I8ded29e7fe5cb871beddd61f513a7a4876710cca\n"
    },
    {
      "commit": "630e447bc8c25aedc5619248028da4583c141938",
      "tree": "805d7da70da66b4aa38770e9f4c2ee108f312a7f",
      "parents": [
        "227b23b96070e4f98776ec92ad6aabf4aaa051b2"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Sep 08 14:41:09 2020 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 11 00:14:30 2020 +0000"
      },
      "message": "Add a tool for transforming method names to descriptors\n\nOur various tools are not very consistent about using method\ndescriptor or names. Make a tool similar to c++filt that can transform\nbetween them.\n\nCurrently this tool can only function when the line contains nothing\nbut the symbol so it\u0027s somewhat less useful then c++filt but it still\nhas some uses\n\nExample:\n\n```\n% echo \u0027La/b/c;-\u003efoobar(IJ[[Ljava/lang/Long;)V\u0027 | ./tools/method-to-descriptor.py -r\nvoid a.b.c.foobar(int,long,java.lang.Long[][])\n\n% echo \u0027void my.awesome.parrot.says(java.lang.String,int[][][])\u0027 | ./tools/method-to-descriptor.py\nLmy/awesome/parrot;-\u003esays(Ljava/lang/String;[[[I)V\n```\n\nTest: manual\nChange-Id: I2ea99cf7ad2c2934352780842933b8109f7da9f1\n"
    },
    {
      "commit": "227b23b96070e4f98776ec92ad6aabf4aaa051b2",
      "tree": "34af288b5920a3390546aabcdcceb414df4e41fd",
      "parents": [
        "812746293eb7e5b95094bf4cb166ee9f93f4e6c3",
        "402a2e5f1f6dd0014687186bf59dad35efeb47b6"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Thu Sep 10 17:21:09 2020 +0000"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Thu Sep 10 17:21:09 2020 +0000"
      },
      "message": "Merge \"Merge Android R\""
    },
    {
      "commit": "812746293eb7e5b95094bf4cb166ee9f93f4e6c3",
      "tree": "251edd9adc66a71cb7c993e0684744058675e4c2",
      "parents": [
        "b0bf9e219902ea05bb303fc5e4727b68f5df5d3e"
      ],
      "author": {
        "name": "Andra Danciu",
        "email": "andradanciu@google.com",
        "time": "Thu Sep 10 10:33:14 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Sep 10 14:23:32 2020 +0000"
      },
      "message": "X86: Add test for movw\n\nTest: SOONG_ALLOW_MISSING_DEPENDENCIES\u003dtrue TARGET_BUILD_UNBUNDLED\u003dtrue m test-art-host-gtest\nChange-Id: I5296ef734484c6cf3c441f96fc3a64572b5909dc\n"
    },
    {
      "commit": "b0bf9e219902ea05bb303fc5e4727b68f5df5d3e",
      "tree": "ac532a141bf363721fea3434c8d15fdc3d3cd85f",
      "parents": [
        "5e13d453acc03fda08dae23e085f7161a73f7032"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Sep 10 09:54:05 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Sep 10 13:38:24 2020 +0000"
      },
      "message": "Fix test to search for a populated StackMap.\n\nWith the baseline compiler, the test could have hit a stack map for a\nNullCheck, where we don\u0027t populate the reference StackMask in the stack\nmap. To fix this, look for another stack map starting at the same dex\npc.\n\nTest: 004-ReferenceMap\n\nChange-Id: I2628ded5c89c6fb0059a18341bffda78ef06f197\n"
    },
    {
      "commit": "5e13d453acc03fda08dae23e085f7161a73f7032",
      "tree": "713b60fff222f3ed1b4ad518ee7e95c9cba041ce",
      "parents": [
        "8376a6543b8500c5321ddd6f6ead04e1397ceab8"
      ],
      "author": {
        "name": "Andra Danciu",
        "email": "andradanciu@google.com",
        "time": "Tue Sep 08 14:35:09 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Sep 10 12:48:50 2020 +0000"
      },
      "message": "X86: Implement VarHandle.compareAndSet() for fields.\n\nThis commit implements VarHandle compareAndExchange access mode for\nfields (both static and instance).\n\nInt64 and Float64 are not implemented because ParallelMove might fail\nwhen moving register pairs.\n\nTest: ART_HEAP_POISONING\u003dtrue art/test.py --host --32 -r -t 712-varhandle-invocations\nTest: ART_HEAP_POISONING\u003dfalse art/test.py --host --32 -r -t 712-varhandle-invocations\nBug: 65872996\nChange-Id: I92e51c348f076c23413e419948f03197c286a619\n"
    },
    {
      "commit": "8376a6543b8500c5321ddd6f6ead04e1397ceab8",
      "tree": "88fe1cff49dbdcbd5b3212ad4aabd64649c26fe3",
      "parents": [
        "1f5a6d8ad0b8ce1523e950fa3b441b3337d7ee04"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Sep 09 15:31:52 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Sep 10 08:12:08 2020 +0000"
      },
      "message": "Add one test for VarHandle.compareAndSet().\n\nCheck for ClassCastException when the type of expected\nobject is wrong.\n\nTest: testrunner.py --host -t 712-varhandle-invocations\nBug: 65872996\nChange-Id: Ib9f1a15aa62aba82120974e5b2077d4a8939eb73\n"
    }
  ],
  "next": "402a2e5f1f6dd0014687186bf59dad35efeb47b6"
}
