)]}'
{
  "log": [
    {
      "commit": "3a014e3110d292828b8300afbee0d2f5d053f447",
      "tree": "d4293406298e76757c2ccf7a84973ddfa78dd9fb",
      "parents": [
        "3b0914011b918c52ef963db2387d888eef034265"
      ],
      "author": {
        "name": "Stelios Ioannou",
        "email": "stelios.ioannou@linaro.org",
        "time": "Fri Jun 25 15:15:32 2021 +0100"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Wed Aug 25 14:40:32 2021 +0000"
      },
      "message": "ART: Change error-reporting of run-test-jar\n\nIn the run-test-jar script used by the host and target test scripts,\ncertain error-exit messages are displayed. When running the host and\ntarget test scripts, these error-exit messages are easy to miss.\n\nThe error-exit messages are now passed to a new function called\n\"error_msg()\" to be displayed in bold and red to make them easier\nto spot. Additionally, the exit statement is called within the function\nto avoid code duplication.\n\nTest: ./art/test/run-test --gdb --gdbserver --host 491-current-method\n\nChange-Id: I6929aaa971f48e04918152042596f3aaa988c609\n"
    },
    {
      "commit": "3b0914011b918c52ef963db2387d888eef034265",
      "tree": "7c1867568e7ba54ec2438863589916c060871488",
      "parents": [
        "7d992f714a69c94c95ee7f1ae7e96acb30a9a682"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Aug 25 13:42:27 2021 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Aug 25 13:42:27 2021 +0100"
      },
      "message": "Remove art_chroot build target.\n\nArtGtestsTargetChroot depends on the ART apex directly now,\nand the rest of apexes is unused. We switched to using the\ndevice apexes for other modules (i.e. not updating them).\n\nBug: 196361021\nBug: 187416712\nTest: atest ArtGtestsTargetChroot\nChange-Id: I6705224ec4821997dc1546fcf734ca19a1e265dd\n"
    },
    {
      "commit": "7d992f714a69c94c95ee7f1ae7e96acb30a9a682",
      "tree": "6fb1f280a29b2f731e6de0105173bb4e3d21ab39",
      "parents": [
        "9d642a84fbf39c65895ccd25c2b104b4917e43e8"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Mon Mar 15 11:19:33 2021 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Aug 25 01:39:17 2021 +0000"
      },
      "message": "Trigger fewer GCs during startup\n\nInstead of explicitly triggering a GC after two seconds, gradually\nreduce the GC triggering threshold. In particular, a small process\nthat almost immediately goes into the background should GC only\nas part of the transition to background.\n\nEnsure that the first collection is a full (technically \"partial\",\nnon-sticky) gc, that tries to collect everything but zygote space.\nThere should be very few allocated objects except in zygote space.\n\nClarify the concurrency rules for accessing concurrent_start_bytes_\nin the process.\n\nTest: Build and boot AOSP\nBug: 181351667\nChange-Id: Id85d7e405b9305a70ba751a82ab7c2226eb83308\n"
    },
    {
      "commit": "9d642a84fbf39c65895ccd25c2b104b4917e43e8",
      "tree": "ec5e9f9a6d8b86b7af9b686c7ff1148087a5a1a7",
      "parents": [
        "eba362de5efc844f3b97901564f4861b3f6a9e2b"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Thu Aug 19 13:16:00 2021 -0700"
      },
      "committer": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Tue Aug 24 19:08:27 2021 +0000"
      },
      "message": "dex2oat: Avoid an open from /proc/self/fd\n\nReadCommentedInputStream reads a text file by line, filters out empty or\ncommented line, then send the line to a callback. The original\nimplementation uses ifstream and std::getline.\n\naosp/1734115 added a way to read the text file by FD. Since there\ndoesn\u0027t seem to be a way in C++ to convert the FD to an input stream,\nit creates one by opening /proc/self/fd/43.\n\nIn the context of Comp OS, this requires giving dex2oat a special open\nprivilege to \"authfs\".\n\nThis change replaces ifstream/std::getline with f(d)open/getline(3).\n\nBug: 196404749\nTest: TH\nTest: Disallow open for dex2oat in microdroid, ComposHostTestCases still\n      pass\nIgnore-AOSP-First: merge conflict resolution\nMerged-In: I257f471b2afc80b6f1e1f8fa25248abc7ff5a3d5\nChange-Id: I257f471b2afc80b6f1e1f8fa25248abc7ff5a3d5\n"
    },
    {
      "commit": "eba362de5efc844f3b97901564f4861b3f6a9e2b",
      "tree": "ae8d8005f4014899da660075506e44e368d9db39",
      "parents": [
        "2a7b69d0991ce2095c73c22ffbb08a11762b68af"
      ],
      "author": {
        "name": "Andrii Shyshkalov",
        "email": "tandrii@google.com",
        "time": "Tue Aug 24 14:33:26 2021 +0200"
      },
      "committer": {
        "name": "Andrii Shyshkalov",
        "email": "tandrii@google.com",
        "time": "Tue Aug 24 14:33:26 2021 +0200"
      },
      "message": "[luci][realms] use LUCI realms on all ART builds.\n\nR\u003dngeoffray\n\nBug: chromium:1232009\nBug: https://crbug.com/1232009\nChange-Id: I5f971fcd5991249dc7c41bf7769d84fdc8e41706"
    },
    {
      "commit": "2a7b69d0991ce2095c73c22ffbb08a11762b68af",
      "tree": "b0eb4868d36f74b40cf096a915425f1b391d12e6",
      "parents": [
        "3326fcea1ead5d5d360a053704faad27b6dd8c40"
      ],
      "author": {
        "name": "Andrii Shyshkalov",
        "email": "tandrii@google.com",
        "time": "Tue Aug 24 14:33:16 2021 +0200"
      },
      "committer": {
        "name": "Andrii Shyshkalov",
        "email": "tandrii@google.com",
        "time": "Tue Aug 24 14:33:16 2021 +0200"
      },
      "message": "[luci][realms] use LUCI realms on 20% of builds.\n\nR\u003dngeoffray\n\nBug: chromium:1232009\nBug: https://crbug.com/1232009\nChange-Id: Id0dca67777b8d363be7ab25df59e2b5d9c1ab54b"
    },
    {
      "commit": "3326fcea1ead5d5d360a053704faad27b6dd8c40",
      "tree": "5e7925762a883b4d208bcbe1fb3b87ccc5088313",
      "parents": [
        "ccbcfb17c9eabee791d674b794e696da10b1b28b"
      ],
      "author": {
        "name": "Hu Wang",
        "email": "hu.wang@mediatek.com",
        "time": "Mon Aug 23 17:41:57 2021 +0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 24 09:49:43 2021 +0000"
      },
      "message": "Fix android.security.cts.FileDescriptorTest#testCLOEXEC\n\nWhen ART is mainline, it will create memFd boot-image-methods.art\nwithout MFD_CLOEXEC.\nAdd MFD_CLOEXEC flag when create boot-image-methods.art memFd.\n\nBug: 197498527\nTest: run cts CtsSecurityTestCases pass\n\nChange-Id: If941c036f7adb598d67ec2b2c5bc4cb24994e3a1\n"
    },
    {
      "commit": "ccbcfb17c9eabee791d674b794e696da10b1b28b",
      "tree": "75393520dd83f976246d5152ae4f97613691b56d",
      "parents": [
        "a7e7426a89bb5d1255a0a6f90cc3efb0a83d9195"
      ],
      "author": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Mon Aug 23 15:10:35 2021 +0000"
      },
      "committer": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Tue Aug 24 03:31:06 2021 +0000"
      },
      "message": "Revert^2 \"Add unit tests for odrefresh - step 2\"\n\nThis reverts commit b89649bd95cffec48f6f6746054553f71ab3e807.\n\nReason for revert: Fixed the fugu build breakage\n\nThe test failed on fugu because fugu is running Android O, while the\ntest depends on a system property introduced in S. Since the whole\nodrefresh program is for S and later, we don\u0027t need to run the test on\nolder platforms. This failure is fixed by adding a check on the API\nlevel and skipping the test if the API level is below S.\n\nBug: 196188549\nTest: atest art_standalone_odrefresh_tests\n\nChange-Id: I484696d065d715da65ae262a5aa8b3e1b30ffdcf\n"
    },
    {
      "commit": "a7e7426a89bb5d1255a0a6f90cc3efb0a83d9195",
      "tree": "3885cabe7032e514f21d4d58f02c94aab062f2ba",
      "parents": [
        "9bbecd08cccaae45cee9d87e72faeacb6b9ffe5b"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Fri Aug 20 09:25:37 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Aug 23 19:14:01 2021 +0000"
      },
      "message": "Give extra time for odrefresh subprocess in VM\n\nBug: 197275229\nTest: run test on cuttlefish for several times\nChange-Id: I380c6f9a1aaeafc726bfb0257d46c8531fe090d6\n"
    },
    {
      "commit": "9bbecd08cccaae45cee9d87e72faeacb6b9ffe5b",
      "tree": "ef5134ec07aec16cdd22685ce4d9f8d1ce8a1c1a",
      "parents": [
        "f912a1fcb7838eef1963d429585f852d56ae94fb"
      ],
      "author": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Wed Aug 11 15:59:22 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Aug 23 18:47:01 2021 +0000"
      },
      "message": "Suppress OptionalOfRedundantMethod error\n\nErrorprone is being updated from 2.7.1 -\u003e 2.8.1, which\nadds a OptionalOfRedundantMethod check, which has default\nseverity level ERROR.\n\nSuppress it here as it\u0027s part of a test of Optional.\n\nBug: 190944875\nTest: Patch aosp/1792988, then `m RUN_ERROR_PRONE\u003dtrue javac-check`\nChange-Id: I8a7152be0e2ac24eda5d377ef5cfef102487a5dc\n"
    },
    {
      "commit": "f912a1fcb7838eef1963d429585f852d56ae94fb",
      "tree": "2ed692d61ce20be9c017c8eafda48425876ec86e",
      "parents": [
        "e261356db98dc27bcec4048b3eaf9834864169aa"
      ],
      "author": {
        "name": "Joel Goddard",
        "email": "joel.goddard@linaro.org",
        "time": "Mon Aug 02 14:12:11 2021 +0100"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Mon Aug 23 15:55:31 2021 +0000"
      },
      "message": "Renamed test/580-fp16 to test/580-checker-fp16\n\nPrepare for checker tests to be added to this testfolder in upcoming\ncommits by renaming folder.\n\nTest: 580-checker-fp16\n\nChange-Id: I74c50a8464f86ea93b42af6aaa20c0f02b603636\n"
    },
    {
      "commit": "e261356db98dc27bcec4048b3eaf9834864169aa",
      "tree": "7b6aa115ccf3dbbc646e625ee714289eb1b1076b",
      "parents": [
        "b89649bd95cffec48f6f6746054553f71ab3e807"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 18 22:46:32 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Aug 23 12:42:44 2021 +0000"
      },
      "message": "Add a lock contention palette hook.\n\nBug: 196334695\nTest: m\nChange-Id: Id87cfc30957baa5e575947fc69d6f307e843dcf8\n"
    },
    {
      "commit": "b89649bd95cffec48f6f6746054553f71ab3e807",
      "tree": "faaff2611b018e4864b29d1f5df47b2d0187b8d2",
      "parents": [
        "054c8008272861c4c2a845424a3be6705f884d93"
      ],
      "author": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Mon Aug 23 10:48:17 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Aug 23 12:26:31 2021 +0000"
      },
      "message": "Revert \"Add unit tests for odrefresh - step 2\"\n\nThis reverts commit b91dad2b98e8c562aed7c4471615d7c325756c08.\n\nReason for revert: breaks builds on fugu.\n\nBug: 196188549\nChange-Id: Iec08674c2ed53b8e6048c044d5e72fdd26518a83\n"
    },
    {
      "commit": "054c8008272861c4c2a845424a3be6705f884d93",
      "tree": "1ff9f5ca393947efcf9d36a3ad91307bcbfec075",
      "parents": [
        "b91dad2b98e8c562aed7c4471615d7c325756c08"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Aug 13 12:41:57 2021 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Aug 20 15:43:08 2021 +0100"
      },
      "message": "More run-test build determinism tweaks\n\nEnsure 089 build script \"passes\" (i.e. expected error is seen).\nThis was the only (intentionally) failing test.\n\nUse more of prebuilt tools rather than system tools.\n\nBug: 147814778\nTest: test.py --host\nChange-Id: I1401edb363312105ecc0da5a5ec41b8be5420798\n"
    },
    {
      "commit": "b91dad2b98e8c562aed7c4471615d7c325756c08",
      "tree": "85f1d6092a86116555f785a4f906b5f852aa1fca",
      "parents": [
        "3bc03531d1ae5cbe5b0a7ac34c10d5c51f20f233"
      ],
      "author": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Mon Aug 16 03:20:07 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 20 12:59:57 2021 +0000"
      },
      "message": "Add unit tests for odrefresh - step 2\n\n- Define MockableExecUtils, which is a wrapper class to make exec_utils\nmockable.\n- Add another constructor to the OnDeviceRefresh class to support\ninjections.\n- Update OdrConfig to support overriding the staging directory.\n- Add a unit test to verify that odrefresh sets compiler filter based on\n\"dalvik.vm.systemservercompilerfilter\".\n\nBug: 196188549\nTest: atest art_standalone_odrefresh_tests\nTest: atest odsign_e2e_tests\nChange-Id: Ia7b4347bba6873878490a513b8a5ff6642122d71\n"
    },
    {
      "commit": "3bc03531d1ae5cbe5b0a7ac34c10d5c51f20f233",
      "tree": "e591b077ebbe9040a109d49cc9fad06cdad877c9",
      "parents": [
        "1e6be713904fb24db9e9cd1d38694309e03e5f29"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Aug 19 13:55:30 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Aug 19 13:55:30 2021 +0100"
      },
      "message": "Fix missing MsToNs in profile saver.\n\nTest: test.py\nBug: 194880260\nChange-Id: I30b5608ef891805754986a0e00207e017280a97e\n"
    },
    {
      "commit": "1e6be713904fb24db9e9cd1d38694309e03e5f29",
      "tree": "3981019976b3ae296c91b38da3738c834eddc2b3",
      "parents": [
        "0529cfa3efd0f6f7a167aa833fce99d6cf29a518"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Aug 18 16:28:06 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Aug 19 08:14:35 2021 +0000"
      },
      "message": "Disable errorprone builds for art runtests\n\nThe individual art runtests were disabling errorprone checks, but\nnow Soong supports disabling errorprone builds completely.\n\nAlso disable errorprone for art_cts_jvmti_test_library, which also\ncontains some of the same problematic java files.\n\nBug: 197157393\nTest: m RUN_ERROR_PRONE\u003d1 javac-check\nChange-Id: Ia7f9e30962a96f6f751229109f9c4bc0eb8ad711\n"
    },
    {
      "commit": "0529cfa3efd0f6f7a167aa833fce99d6cf29a518",
      "tree": "e0079b2b55ecb84f11582eb65387d92cc36e570c",
      "parents": [
        "555eefef9a27995ef341cdf44ed60c61953e2e3f"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Mon Aug 16 16:50:28 2021 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Aug 18 17:14:17 2021 +0000"
      },
      "message": "Add GC deadlock discussion\n\nOnly comment and markdown changes.\n\nBug: 195336624\nBug: 195261575\nTest: Treehugger\nChange-Id: I3118ab4009c7f31006b62714ee36b5287f33aa3f\n"
    },
    {
      "commit": "555eefef9a27995ef341cdf44ed60c61953e2e3f",
      "tree": "4f8ee1eb27d9b559ea85ff54a80d9e5e4aaff9ca",
      "parents": [
        "59033773f2fc900c7be96b4e513bee62ad3342af"
      ],
      "author": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Tue Aug 17 15:55:40 2021 -0700"
      },
      "committer": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Wed Aug 18 16:58:57 2021 +0000"
      },
      "message": "Replace weak-ref access disable checkpoint with STW pause\n\nDisabling weak-ref access in ConcurrentCopying collector can lead to\ndeadlocks. For instance, if mutator M1 acquires W1 mutex and then\nparticipates in the checkpoint and then gets blocked in getReferent(),\nwaiting for the gc-thread to finish reference processing. Mutator M2\nwaits for M1 to release W1 so that it can acquire the mutex before\nparticipating in the checkpoint. On the other hand, GC-thread waits\nfor M2 to finish checkpoint.\nA STW pause avoids the deadlock by ensuring that mutators are not\nblocked on weak-ref access before the pause, and GC-thread can make\nprogress after the pause in reference processing.\n\nBug: 195336624\nBug: 195261575\nTest: art/test/testrunner/testrunner.py\nChange-Id: I03d6bcd4d53f37ec84064edd8292951d30f48eaf\n"
    },
    {
      "commit": "59033773f2fc900c7be96b4e513bee62ad3342af",
      "tree": "440901273cde56e25d8bb9ce6ac9294684edcbbf",
      "parents": [
        "da106a9998d951118c26cb326906817fe1528a4b"
      ],
      "author": {
        "name": "Andrii Shyshkalov",
        "email": "tandrii@google.com",
        "time": "Mon Aug 16 12:31:30 2021 +0200"
      },
      "committer": {
        "name": "Andrii Shyshkalov",
        "email": "tandrii@google.com",
        "time": "Wed Aug 18 16:31:23 2021 +0000"
      },
      "message": "[luci][realms] configure LUCI realms.\n\nMotivation: this is a migration to more hardened security ACLs inside\nLUCI. Most notably, the end goal is better isolation between projects\nusing LUCI.\n\nR\u003dngeoffray\n\nBug: chromium:1232009\nBug: https://crbug.com/1232009\nChange-Id: Ie680943ab0ab380c458cf951cc8a4c761e9506c9\n"
    },
    {
      "commit": "da106a9998d951118c26cb326906817fe1528a4b",
      "tree": "1dbbd36d5dce96fa515d0bc3a7f98df01d908fd1",
      "parents": [
        "32f8b06742a651e3d674831a18970a7d8d34a31b"
      ],
      "author": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Wed Aug 18 05:48:12 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Aug 18 15:37:00 2021 +0000"
      },
      "message": "Fix odsign_e2e_tests to accurately get file modified time in ms.\n\nBefore this change, we were using \"stat -c \u0027%.3Y\u0027\" to get file modified\ntime in ms. However, the Toybox\u0027s `stat` implementation truncates to\ntimestamp to seconds, making the timestamp not accurate enough, and\ncauses the test to be flaky. Flakes observed when odrefresh compiles\nartifacts right after a boot in a test, where the compilation time and\nthe boot time only differ in milliseconds.\n\nThis change fixes the problem by using \"stat -c \u0027%y\u0027\" and converting the\nformatted time into timestamp in Java.\n\nBug: 193616266\nTest: atest odsign_e2e_tests\nChange-Id: I36c571e9cafc2b4e99ae20f196a138834d7f57e0\n"
    },
    {
      "commit": "32f8b06742a651e3d674831a18970a7d8d34a31b",
      "tree": "7be683461716782254b17fa80743fccb67a18e4f",
      "parents": [
        "496e837a3a4cdddc95f87c6bdf5ea455015f63d0"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Aug 02 14:35:49 2021 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Aug 18 14:40:28 2021 +0000"
      },
      "message": "Remove direct uses of C++ compiler from run-test build\n\nAvoid calling the system compiler as part of run-tests.\nThese uses are making porting to soong build tricky.\n\nIt would be possible to build the generators in soong,\nbut it is much simpler to just rewrite them in python.\nThis is in line with what majority of other run-tests do.\n\nBug: 147814778\nTest: test.py --host\nChange-Id: I97cd54c85db81d70795bd5321a452c3306f06b72\n"
    },
    {
      "commit": "496e837a3a4cdddc95f87c6bdf5ea455015f63d0",
      "tree": "47b1d16d3c6c4a2987831454ad8a502bbff753a2",
      "parents": [
        "8d3d64f57da1cd501405d1e5588cdf18ac1894ee"
      ],
      "author": {
        "name": "sunny.kuo",
        "email": "sunny.kuo@mediatek.com",
        "time": "Wed Aug 18 10:32:48 2021 +0800"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Aug 18 13:09:19 2021 +0000"
      },
      "message": "sigchain: print ucontext in fatal error log\n\nBecause it\u0027s hard to debug when ucontext is optimized,\nto print ucontext in fatal error log.\n\ngdb log:\n #1  0xa98b52be in art::SignalChain::Handler (signo\u003d11, siginfo\u003d0xae4cec88, ucontext_raw\u003d\u003coptimized out\u003e)\n    at art/sigchainlib/sigchain.cc:408\n\nTest: trigger fatal error by sending signal 11 to a process\nChange-Id: I204c308e5d1d0b8d12ab15045a7426e64ccd8e2e\nBug: 197044435\n"
    },
    {
      "commit": "8d3d64f57da1cd501405d1e5588cdf18ac1894ee",
      "tree": "7daa104b4868bea797e80f83b901d89a00faace3",
      "parents": [
        "a0e10b1691aca250f390704c73b18810b89302e1"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Jul 29 15:46:48 2021 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 17 19:50:05 2021 +0000"
      },
      "message": "Make run-test build scripts more deterministic\n\nUse soong_zip instead of system zip to make the build deterministic.\nThis is guaranteed to be same on all machines and removes timestamp.\n\nFix helper utility which generated java source code with functions\nin random order for some tests.\n\nThere is still some non-determinism left caused by the smali\ncompiler generating non-deterministic dex output files.\n\nBug: 147814778\nTest: test.py --host\nChange-Id: Ibd1187e7cda840b647d3f13ad158952f235716bf\n"
    },
    {
      "commit": "a0e10b1691aca250f390704c73b18810b89302e1",
      "tree": "fdfdadd710d2be165885cd4bf9f897d453072071",
      "parents": [
        "bbd13da29ec2712d7ad664f1a65baa6d1823f480"
      ],
      "author": {
        "name": "Sorin Basca",
        "email": "sorinbasca@google.com",
        "time": "Wed Aug 11 16:00:13 2021 +0000"
      },
      "committer": {
        "name": "Sorin Basca",
        "email": "sorinbasca@google.com",
        "time": "Tue Aug 17 13:17:04 2021 +0000"
      },
      "message": "Have counter pre-initialized in ParallelGC test\n\nBug: 94471075\nTest: testrunner.py --target --verbose --ndebug --gcstress --optimizing --debuggable -t 114-ParallelGC\nChange-Id: Id0b3640bc4e21caf187fd886d153e00761b9ba15\n"
    },
    {
      "commit": "bbd13da29ec2712d7ad664f1a65baa6d1823f480",
      "tree": "37acb592ae703bcd7bca79e8a688db8a2dcb7020",
      "parents": [
        "a21b58476a530d47532af28c0f909fb9a3aedcbf"
      ],
      "author": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Tue Aug 17 19:07:32 2021 +0900"
      },
      "committer": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Tue Aug 17 19:12:42 2021 +0900"
      },
      "message": "Read public.libraries-\u003ccompany\u003e.txt from product/etc/\n\nEven in the case of unbundled product partition, extending the public\nlibraries must follow the existing policy. Read\npublic.libraries-\u003ccompany\u003e.txt from the product partition instead of\npublic.libraries.txt in any cases.\n\nBug: 186055799\nTest: pm list libraries\n      atest libnativeloader_test\nChange-Id: I1c9fd182fa902cf750a9644bf9a3c1ffcfa01340\n"
    },
    {
      "commit": "a21b58476a530d47532af28c0f909fb9a3aedcbf",
      "tree": "6ec0af4828245affb1556ce8e5249e56d3f5ded9",
      "parents": [
        "fb3ad7201bf2d9154862e347e960df376ac04c3c"
      ],
      "author": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Tue Aug 10 14:05:49 2021 +0900"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 17 00:49:38 2021 +0000"
      },
      "message": "Define product public libraries\n\nWhen /product is unbundled from the /system, /product/etc/ may not\nhave \u0027public.libraries-\u003ccompanyname\u003e.txt\u0027 to extend public libraries.\nInstead, /product/etc/public.library.txt can provide public libraries\nfrom /product.\n\nBug: 186055799\nTest: atest libnativeloader_test\nChange-Id: I8994649826657f59ac1dac655205b9704a2c67c9\n"
    },
    {
      "commit": "fb3ad7201bf2d9154862e347e960df376ac04c3c",
      "tree": "5f341409b0ec998fb26049efc988b81f5e6a946b",
      "parents": [
        "e84ad2c045f3439b9e20b977d74c7e4e394417a2"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Mon Aug 16 16:53:17 2021 +0000"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Aug 17 00:48:26 2021 +0000"
      },
      "message": "Revert \"Make ClassLinker::DumpForSigQuit exclude gc\"\n\nThis reverts commit 825e82972fe46fdb0419c42bd7df102df1989ff9.\n\nReason for revert: Not clear it fixed anything. See b/195261575 .\n\nChange-Id: I6fd0d10b5134037d2df399abbbaa3302454f0e4f\n"
    },
    {
      "commit": "e84ad2c045f3439b9e20b977d74c7e4e394417a2",
      "tree": "61a2e0602b2ee9b9f8a3e92b9bc7e8deb30d0784",
      "parents": [
        "3ba3edfee2592edeea4a4cf06336577178bf2b12"
      ],
      "author": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Mon Aug 16 03:19:18 2021 +0000"
      },
      "committer": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Mon Aug 16 08:41:11 2021 +0000"
      },
      "message": "Fix OnDeviceSigningHostTest to correctly get mapped artifacts.\n\nWe use `pidof` to get the pid of a process, in order to get the mapped\nfiles of the process from `/proc/\u003cpid\u003e/maps`. However, `pidof` may\noutput multiple pids in some cases, separated by spaces, which leads to\nweird errors because the test cannot handle such output. After this\nchange, only the first pid is taken.\n\nBug: 189467174\nTest: atest odsign_e2e_tests\nChange-Id: I6e137819fa032611636f92fdd2b6c9faf58acd25\n"
    },
    {
      "commit": "3ba3edfee2592edeea4a4cf06336577178bf2b12",
      "tree": "e06356064d47310651e5f65f8449d3716aea05c4",
      "parents": [
        "70aa29e2d93ba66e71a8ff88c9210719efae1c31"
      ],
      "author": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Wed Aug 11 08:25:40 2021 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Aug 16 08:38:52 2021 +0000"
      },
      "message": "Add unit tests for odrefresh - step 1\n\n- Define `class OnDeviceRefresh` in the header file and expose some\npublic methods.\n- Changed the ordering of functions. (Function bodies are\nnot changed.)\n- Move static functions to the anonymous namespace, outside of the\nclass.\n- Cleanup \"static\" keywords inside the anonymous namespace.\n- Move the `main` function and related functions about argument parsing\nand usage help to a separate file `odrefresh_main.cc`.\n- Move `Concatenate` and `QuotePath` to separate files\n`odr_common.h`/`odr_common.cc`.\n\nBug: 196188549\nTest: m odrefresh\nTest: m odrefreshd\nTest: atest odsign_e2e_tests\nChange-Id: I0ae1cf34181ae2edf7fd2728ec90b842470d729e\n"
    },
    {
      "commit": "70aa29e2d93ba66e71a8ff88c9210719efae1c31",
      "tree": "f095ddc5ecc6f699422dbddce6e937047f407915",
      "parents": [
        "7de49d88a1fded45a20209b5335464dd84c3ea03"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Aug 11 12:11:19 2021 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Aug 13 16:34:20 2021 +0000"
      },
      "message": "Do not acquire runtime_shutdown_lock_ in Abort()\n\nAbort can be called, particularly in OOM situations, when we already\nhold the lock. Abort() should minimize the locks it acquires.\n\nThis is intended to be a minimal, low-risk change. Generated code\nshould be essentially unchanged, except in Abort(). This does not\naddress the question of whether IsShuttingDown really needs to\nlock at all.\n\nTest: Build and boot AOSP.\nBug: 195884830\nChange-Id: I0ee4a7ca7348153436fec0fecc1d1f2ca1f7a30c\n"
    },
    {
      "commit": "7de49d88a1fded45a20209b5335464dd84c3ea03",
      "tree": "e70608fd9d970418cc74e5fd8bcba55959c1ac63",
      "parents": [
        "668daf892a2b81b1acc09c354d705774daa17958"
      ],
      "author": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Wed Jul 14 11:09:49 2021 +0800"
      },
      "committer": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Wed Aug 11 00:21:46 2021 +0000"
      },
      "message": "Update on-device AOT compilation to cover all cases.\n\nAfter the change, odrefresh can properly determine whether to do\ncompilation when:\n1. There is a mainline update (either a normal one or a samegrade one) that updates the ART module.\n2. There is a mainline update (either a normal one or a samegrade one) that updates a module other than ART.\n3. There is an OTA that updates a boot classpath jar.\n4. There is an OTA that updates a system server jar.\n5. There is no change since the last run.\n\nTest: manual - 1. Install a mainline module without changing its\ncontents.\n    2. Reboot the device.\n    3. See if system_server components are recompiled.\nTest: manual - 1. Do nothing and reboot the device.\n    2. See if nothing is recompiled.\nTest: atest odsign_e2e_tests\nTest: atest art_odrefresh_tests\nBug: 189467174\n\nChange-Id: I43dea5380fcd221d5d4e34753d64d46be4dbc27e\n"
    },
    {
      "commit": "668daf892a2b81b1acc09c354d705774daa17958",
      "tree": "42b291279d36ebefead5f0a2625d2b0e1ea81601",
      "parents": [
        "5503a8aef8019e536b9702326eccdc92e7be7644"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Aug 10 15:42:10 2021 +0000"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Aug 10 19:22:14 2021 +0000"
      },
      "message": "Revert^2 \"Adjust test for compiler update.\"\n\n855cc35a2212d51de19d1daaefe6577223882fd6\n\nChange-Id: Ife32e570d5367f0237137f300d5ebf063a7555b3\n"
    },
    {
      "commit": "5503a8aef8019e536b9702326eccdc92e7be7644",
      "tree": "377cd41fc2ea30dd2f3eb50e4426808ad1ee626c",
      "parents": [
        "b09a983e8dab0477b2546ed56544d31f575c5d2a"
      ],
      "author": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Tue Aug 10 08:07:12 2021 +0000"
      },
      "committer": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Tue Aug 10 11:46:45 2021 +0000"
      },
      "message": "odrefresh: Respect \"dalvik.vm.systemservercompilerfilter\".\n\nIf the property is set, we should use whatever specified in the\nproperty, rather than always using \"speed\".\n\nThis is brought up by bdc@. The change that merges into sc-dev is\nalready fixed. We need this fix in AOSP as well.\n\nBug: 195653499\nTest: adb shell setprop dalvik.vm.systemservercompilerfilter verify \u0026\u0026 adb shell odrefresh --force-compile\n    (Found \"/apex/com.android.art/bin/dex2oat64\n    --dex-file\u003d/system/framework/services.jar\n    ...\n    --compiler-filter\u003dverify\" in logcat)\nTest: atest odsign_e2e_tests\n\nChange-Id: Icb57ed5eb6b8976ecf6ac88bf8c278bbe144b450\n"
    },
    {
      "commit": "b09a983e8dab0477b2546ed56544d31f575c5d2a",
      "tree": "7fa0b67a5d8d03aa1205d9cfbc5edc96edda17ec",
      "parents": [
        "855cc35a2212d51de19d1daaefe6577223882fd6"
      ],
      "author": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Mon Aug 09 03:49:33 2021 +0000"
      },
      "committer": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Tue Aug 10 05:34:48 2021 +0000"
      },
      "message": "odrefresh: Defaults to using \"speed\" for compiling system_server.\n\nMost device builds use the speed configuration for system_server preopt,\nunless \"dalvik.vm.systemservercompilerfilter\" is set to \"speed-profile\".\nodrefresh should not change this behavior.\n\nBug: 195653499\nTest: adb shell odrefresh --force-compile\n    (Found \"/apex/com.android.art/bin/dex2oat64\n    --dex-file\u003d/system/framework/services.jar\n    ...\n    --compiler-filter\u003dspeed\" in logcat)\nTest: adb shell setprop dalvik.vm.systemservercompilerfilter speed-profile \u0026\u0026 adb shell odrefresh --force-compile\n    (Found \"/apex/com.android.art/bin/dex2oat64\n    --dex-file\u003d/system/framework/services.jar\n    ...\n    --profile-file-fd\u003d...\n    --compiler-filter\u003dspeed-profile\" in logcat)\nTest: atest odsign_e2e_tests\n\nChange-Id: I85feeceef4c1410451765274bd02c634d7d8051f\n"
    },
    {
      "commit": "855cc35a2212d51de19d1daaefe6577223882fd6",
      "tree": "9f81ffa70d28a9021209bf508a052023e7495e2a",
      "parents": [
        "1f0a1547d31aaa44e6667dbd0ada228f4b2e2d8a"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Sun Aug 08 20:59:59 2021 +0000"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Sun Aug 08 20:59:59 2021 +0000"
      },
      "message": "Revert \"Adjust test for compiler update.\"\n\nRevert \"Switch to clang r428724 13.0.1.\"\n\nRevert submission 1743633-switch-to-clang-r428724\n\nReason for revert: fix build\nReverted Changes:\nI824f3bc1c:Update bazel\u0027s clang version to clang-r428724\nI6c4c26267:Adjust test for compiler update.\nI94ab1f2dc:Switch to clang r428724 13.0.1.\n\nChange-Id: Ic9b7921f530566a6ebe7e3d4304c2242ffdfecc1\n"
    },
    {
      "commit": "1f0a1547d31aaa44e6667dbd0ada228f4b2e2d8a",
      "tree": "6d8ef6f4e434690d9164e11f88f4bfeabe00f5c5",
      "parents": [
        "f955425d11ed4b8f6dc02530f0f5ab69edecd8d2"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Jun 29 13:59:51 2021 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Sun Aug 08 18:20:19 2021 +0000"
      },
      "message": "Adjust test for compiler update.\n\nBug: 192012848\nTest: run test-art-host-gtest-art_compiler_host_tests\nChange-Id: I6c4c26267c3bcfafc22c391f99cdadcde473445e\n"
    },
    {
      "commit": "f955425d11ed4b8f6dc02530f0f5ab69edecd8d2",
      "tree": "9f81ffa70d28a9021209bf508a052023e7495e2a",
      "parents": [
        "0c3cc6350749a441fd54f8f3f67b7c69775000c8"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Sat Aug 07 19:44:20 2021 +0000"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Sat Aug 07 19:44:20 2021 +0000"
      },
      "message": "Revert \"Handle suspend requests in getReferent()\"\n\nThis reverts commit 0c3cc6350749a441fd54f8f3f67b7c69775000c8.\n\nReason for revert: Seems to break tests, e.g. https://ci.chromium.org/ui/p/art/builders/ci/host-x86-cms/6824/overview\n\nChange-Id: Id75641d28be218055eca07c99ab2e1bfd579fe71\n"
    },
    {
      "commit": "0c3cc6350749a441fd54f8f3f67b7c69775000c8",
      "tree": "b1269dfa3f20f2abee25a880df1ad36884ff3f56",
      "parents": [
        "825e82972fe46fdb0419c42bd7df102df1989ff9"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Aug 05 18:30:08 2021 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Sat Aug 07 15:16:49 2021 +0000"
      },
      "message": "Handle suspend requests in getReferent()\n\nWhen waiting in getReferent or the like, use a TimedWait, so we\ncan occasionally check for suspend requests, thus avoiding deadlocks\nthat can arise from blocking indefinitely in a runnable state.\n\nThis is not particularly clean, and may introduce short delays\nwhen we would otherwise deadlock. It\u0027s also a bit risky because\nwe are now releasing the mutator lock in code that previously didn\u0027t.\n\nThis is a hopefully more correct replacement for aosp/1784003, which\noverlooked some of the complications here.\n\nThis does not handle a similar problem in the JNI weak reference code.\nEach additional use context adds risk here, due to the mutator\nlock release.\n\nBug: 195336624\nBug: 195664026\nTest: Build and boot AOSP with much shorter timeouts.\nTest: Confirm that the timeout code is invoked.\nChange-Id: I0ffb2ffd105bed9dcb8664f92b17cfbcf756a6e0\n"
    },
    {
      "commit": "825e82972fe46fdb0419c42bd7df102df1989ff9",
      "tree": "9f81ffa70d28a9021209bf508a052023e7495e2a",
      "parents": [
        "2d2a27fe91e0a5bb2a047b472ef8d5de9c5a6c73"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Mon Aug 02 17:12:29 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Aug 07 01:03:51 2021 +0000"
      },
      "message": "Make ClassLinker::DumpForSigQuit exclude gc\n\nOtherwise we can get into a deadlock because we hold a critical lock\nwhile waiting for weak reference access, thus potentially preventing\nother threads from suspending properly to reenable weak reference\naccess.\n\nBug: 195261575\nTest: TreeHugger\nChange-Id: Ideb6199f597c4e06741c79bb2812661d88a42669\n"
    },
    {
      "commit": "2d2a27fe91e0a5bb2a047b472ef8d5de9c5a6c73",
      "tree": "dfa2139bf0b1b1efefd05244720cfe8f8305b8a7",
      "parents": [
        "1d9d3587dafb7078082b4d4058eea753c13ef94f"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Aug 04 22:58:32 2021 +0000"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Aug 04 22:58:32 2021 +0000"
      },
      "message": "Revert \"Don\u0027t block while runnable in getReferent()\"\n\nThis reverts commit 1d9d3587dafb7078082b4d4058eea753c13ef94f.\n\nReason for revert: Likely cause of build failures like https://android-build.googleplex.com/builds/submitted/7611067/art-jit/latest/logs\n\nChange-Id: I008de0d4b3976b8380935cd9a389c77e3b396274\n"
    },
    {
      "commit": "1d9d3587dafb7078082b4d4058eea753c13ef94f",
      "tree": "a131a7f29aa142b9d472e034143a6c7c4ad373da",
      "parents": [
        "0e8585342b1b26a0ec33421f9d4ab16cb9851ce4"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Aug 03 17:24:31 2021 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Aug 04 15:18:34 2021 +0000"
      },
      "message": "Don\u0027t block while runnable in getReferent()\n\nChange state before waiting on the GC, so that we can safely be\nsuspended, thus avoiding surprisingly obscure deadlocks.\n\nBug: 195336624\nTest: Treehugger\nChange-Id: I7c7dff8030be962195b7521aac320e90d81defd9\n"
    },
    {
      "commit": "0e8585342b1b26a0ec33421f9d4ab16cb9851ce4",
      "tree": "dfa2139bf0b1b1efefd05244720cfe8f8305b8a7",
      "parents": [
        "18bea3d9059f9dfe4a339e1b03a5755ec147dbee"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Aug 02 21:16:05 2021 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Aug 03 15:06:19 2021 +0100"
      },
      "message": "ART Apex: prefer \"first\" to \"prefer32\" multilib option for tools\n\nThis makes the tools in a 32/64-bit APEX into 64-bit binaries when\npreviously they were 32-bit.\n\nThis change is to support 64-bit only devices. We currently build two\nflavors of the ART APEX: a 32-bit only variant and a combined\n32/64-bit variant. Devices using latter support 64-bit.\n\nThe size impact on the uncompressed APEXes is:\n\n+------------+-----------------+-----------------+-----------------+\n| ISA Family | Old size, bytes | New size, bytes |     Change      |\n+------------+-----------------+-----------------+-----------------+\n|     Arm    |    58,212,352   |   58,339,328    | 126,976 (+0.2%) |\n|    Intel   |    72,073,216   |   72,073,216    |       0 (+0.0%) |\n+------------+-----------------+-----------------+-----------------+\n\nBug: 194800665\nTest: art/build/apex/runtests.sh\nTest: odsign_e2e_tests\nChange-Id: If23ea3bc3f14c948c032bb3726a125dfdd8069f4\n"
    },
    {
      "commit": "18bea3d9059f9dfe4a339e1b03a5755ec147dbee",
      "tree": "6937aa71f1d80f029dcd90107b87b052d8597a3a",
      "parents": [
        "58bfbad8fd812aeec7da141bbb4c8c8558763814"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Aug 02 12:26:15 2021 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Aug 02 12:26:15 2021 +0100"
      },
      "message": "Document standalone ART gtests on device in `test/README.atest.md`.\n\nTest: Render `README.chroot.md` as HTML and check the output manually\nBug: 147820692\nChange-Id: I66831344e502c2df92d40ee74406c0ce5f93bbc6\n"
    },
    {
      "commit": "58bfbad8fd812aeec7da141bbb4c8c8558763814",
      "tree": "104df89de9b9f549cdbafb730ffa02fa9355995a",
      "parents": [
        "cbd809bc76184d274a5999f44669850877433f3c"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Jul 29 10:22:29 2021 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Jul 30 15:44:16 2021 +0000"
      },
      "message": "Relax 053-wait-some sucess criteria\n\nDrop constraint on total extra delay. Shorten maximum wait time.\n\nBut then only only require success in 2 out of 3 runs.\n\nSwitch timing to use nanoTime() to get a monotonic clock. This might\nhave contributed to a few of the observed failures.\n\nBug: 175435088\n\nTest: Prun-test --host 053-wait-some\nTest: Retest with sleepy.wait(delay * 3/2); on line 66.\nTest: Retest with timing set to true in code.\nChange-Id: Ic8e392340ba1d70782f2a5303bfebf1d7251a86b\n"
    },
    {
      "commit": "cbd809bc76184d274a5999f44669850877433f3c",
      "tree": "e2a27f8ccb84f8f048bc071ebeefe2ac01b31577",
      "parents": [
        "de54ddda0d5b2cd3e396eb4e42ef04bb3e667609"
      ],
      "author": {
        "name": "Liz Kammer",
        "email": "eakammer@google.com",
        "time": "Wed Jul 21 09:28:44 2021 -0400"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 29 21:05:22 2021 +0000"
      },
      "message": "Correct enum comparison to reenable -Wenum-compare\n\nTest: m \u0026\u0026 TH\nChange-Id: I3130b46feba9611806e3fc4f1f509dca6c51ac5c\n"
    },
    {
      "commit": "de54ddda0d5b2cd3e396eb4e42ef04bb3e667609",
      "tree": "c66fd9615deff45c0e1693e83feb8618ffd21815",
      "parents": [
        "7d398b070dcbe3d79718b04882aa3989717f6dba"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Jul 28 20:02:04 2021 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Jul 28 20:17:28 2021 +0100"
      },
      "message": "Add support for gtest options to `tools/run-gtests.sh`.\n\nHave `tools/run-gtests.sh` accept gtest options after `--` on the\ncommand line, and pass them verbatim to each executed gtest\nbinary.\n\nAlso document the use of gtest options with `tools/run-gtests.sh`\nin `test/README.chroot.md`.\n\nTest: art/tools/run-gtests.sh -- --gtest_list_tests\nTest: art/tools/run-gtests.sh \\\n        /apex/com.android.art/bin/art/arm64/art_cmdline_tests \\\n        -- --gtest_list_tests\nTest: Render `README.chroot.md` as HTML and check the output manually\nBug: 34729697\nChange-Id: If41181666eb52750444b1b40dfab0629f802b7b5\n"
    },
    {
      "commit": "7d398b070dcbe3d79718b04882aa3989717f6dba",
      "tree": "da1d1dccaf23c7c3d84696c427ed63d09cf15b7c",
      "parents": [
        "dc00c3aef3561f97ac0ffda60aee1254c6d5fb74"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jul 16 19:27:45 2021 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Jul 28 11:21:28 2021 +0000"
      },
      "message": "Add OkHttp tests to the generated ART MTS definition.\n\nAdd `MtsLibcoreOkHttpTestCases` to the generated ART MTS definition.\n\nAdd this test module to the existing ART MTS shard 02.\n\nTest: m mts \u0026\u0026 mts-tradefed run commandAndExit mts-art\nTest: m mts \u0026\u0026 mts-tradefed run commandAndExit mts-art-shard-02\nBug: 167385698\nChange-Id: I7c0abf96a9e2a5b9bab0add638a3b51f51083dd4\n"
    },
    {
      "commit": "dc00c3aef3561f97ac0ffda60aee1254c6d5fb74",
      "tree": "b676f79954a3347de1447308962e35717d1b1e41",
      "parents": [
        "ce9b902a161b86eb2d5ef9fe4442305e25828d0a"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Mon Jul 26 18:16:30 2021 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Jul 27 20:27:48 2021 +0000"
      },
      "message": "Retry more carefully\n\nWhen we notice that notifications ran too quickly, start over from\nthe beginning. Just retrying the notiofications was ineffective,\npresumably because we already triggered a GC. but it somehow\ncompleted before we looked for blocking behavior.\n\nTest: Treehugger, some manual testing with code changes.\nBug: 190148586\nChange-Id: Ic4689165c5f37535b6ba0e05f03584cdc1d04c40\n"
    },
    {
      "commit": "ce9b902a161b86eb2d5ef9fe4442305e25828d0a",
      "tree": "3108d6315b779816b076b220870748631235e2ea",
      "parents": [
        "a8f858e4eddeede8c465cc5b9fb40733e4649aed"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Wed Jul 21 10:44:06 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 27 16:56:08 2021 +0000"
      },
      "message": "Reland: Support pass BCP art/vdex/oat files by FD\n\nThe original implementation in odrefresh generated inconsistent number\nof files between jars and other files. The code is reworked.\n\nOriginal description:\n\nThis is currently used by odrefresh.\n\nMain runtime changes are:\n\n1. When reading the image header, also tries to read from the FD if\n   provided.\n\n2. Initialize the art/vdex/odex FDs in the boot image chunk if provided.\n   This allows them to be opened (in case if the file is not accessible\n   by path) in LoadComponents.\n\n3. OpenBootDexFiles: accept BCP JARs passed as FD, in case if the file\n   is not accessible by path.\n\n4. The new FDs are passed from new runtime args,\n   -Xbootclasspath{art,vdex,oat}fds.\n\nIt is used in odrefresh to pass the previous output of BCP extensions to\nbe used in the next phase, system server compilation.\n\nBug: 193720426\nTest: odrefresh --use-compilation-os\u003d10 --force-compile # exit 80\n      odrefresh --verify # exit 0 (was 79 previosly)\nTest: Verify the checksum of output files are the same, with\n      --use-compilation-os or not, i.e. regardless where the compilation\n      happens\nTest: mma in art/\nTest: odsign_e2e_tests\nChange-Id: Ie3ae48c7d70a2779cfbd80b307199a0f327c895c\n"
    },
    {
      "commit": "a8f858e4eddeede8c465cc5b9fb40733e4649aed",
      "tree": "871974880c9348440ee5a10c3776df5579f45688",
      "parents": [
        "4aebd580c9c9de348b8fefed6353b86621cceb53"
      ],
      "author": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Tue Jul 27 05:41:31 2021 +0000"
      },
      "committer": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Tue Jul 27 07:34:20 2021 +0000"
      },
      "message": "Verify that artifacts can still be loaded after a reboot.\n\nBefore this change, odsign_e2e_tests only verified that artifacts are loaded right after being generated. This change increases the test coverage.\n\nTest: atest odsign_e2e_tests\nBug: 194754733\nChange-Id: Icf7e630bbe31eddf2b442bb84bdff8d06943d1fc\n"
    },
    {
      "commit": "4aebd580c9c9de348b8fefed6353b86621cceb53",
      "tree": "47f07ff4173534c92ff9673d6d423c4df13bbe6e",
      "parents": [
        "d7a4da1f357e089c5d150559d8d2f2ddb7c4958a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 23 15:27:31 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 23 16:09:23 2021 +0000"
      },
      "message": "Add some null checks in case of OOME.\n\nTest: test.py\nBug: 194471075\nChange-Id: Ib02845636af4d3944a96f001e5ad728a94832285\n"
    },
    {
      "commit": "d7a4da1f357e089c5d150559d8d2f2ddb7c4958a",
      "tree": "bde88500eac9eda86031cfe8536241dfc79e12d2",
      "parents": [
        "2cb2527d4136f681b8e79352c546e65431ceb10c"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Jul 23 15:05:49 2021 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Jul 23 14:16:27 2021 +0000"
      },
      "message": "Revert \"Support pass BCP art/vdex/oat files by FD\"\n\nThis reverts commit b1adfc2a0570f52d74b8a4acdd578efc1790995b.\n\nReason: reports from Realtime Stability Insights (RTSI) infra.\n\nBug: 193720426\nFix: 194481664\nFix: 194475273\nFix: 194478073\nTest: TH\nChange-Id: I421d0b4a613de5ac8fb2830fa27206edb5428374\n"
    },
    {
      "commit": "2cb2527d4136f681b8e79352c546e65431ceb10c",
      "tree": "2e6429eff103ac8006f564238e381f4ec6e0a841",
      "parents": [
        "f7e4c3d58d3ce7f38e4591acb9928513928c39c4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jul 15 14:24:29 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 23 13:32:32 2021 +0000"
      },
      "message": "verifier: Remove support for precise constants and RegisterTrackingMode.\n\nThese features were used when we were creating GC maps and\ndeoptimization information with the quick compiler. Quick compiler has\nbeen removed, so we can remove these features.\n\nTest: test.py\nChange-Id: I633a7ada761b280b90e2d7c53cd5fbf2ae1d701d\n"
    },
    {
      "commit": "f7e4c3d58d3ce7f38e4591acb9928513928c39c4",
      "tree": "8e37537c183681b641fb099501330fbd958f8f1d",
      "parents": [
        "310b4e26593f6c1b89659d00275b55fa1a3c07b7"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Jul 23 00:17:36 2021 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 23 12:03:59 2021 +0000"
      },
      "message": "Set MODULE_BUILD_FROM_SOURCE to disable module prebuilts when building linux_bionic targets.\n\nThey can otherwise cause duplicate install rules in Soong in\n--skip-make mode.\n\nCherry-picked from http://ag/15361752.\n\nTest: env DIST_DIR\u003dout/linux_bionic ./art/tools/dist_linux_bionic.sh \\\n        -j40 com.android.art.host com.android.support.apexer\nBug: 194171329\nChange-Id: I91d31e258ddad255344fbde111ed8b1ac1423921\nMerged-In: I91d31e258ddad255344fbde111ed8b1ac1423921\n"
    },
    {
      "commit": "310b4e26593f6c1b89659d00275b55fa1a3c07b7",
      "tree": "d4527871a5f6a86f6ecee96177f21c63397e67ba",
      "parents": [
        "a0dd228837fbbacb3d29445bdf027649567f94fb"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Wed Jul 21 16:02:06 2021 +0100"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Fri Jul 23 11:56:43 2021 +0000"
      },
      "message": "x86_64: Implement VarHandle.getAndBitwise{And,Or,Xor} for fields.\n\nBenchmarks improvements (using benchmarks provided by\nhttps://android-review.googlesource.com/1420959):\n\n  benchmark                              before   after\n  -----------------------------------------------------\n  GetAndBitwiseOrStaticFieldInt          2.346    0.012\n  GetAndBitwiseOrFieldInt                2.615    0.010\n  GetAndBitwiseOrAcquireStaticFieldInt   2.340    0.008\n  GetAndBitwiseOrAcquireFieldInt         2.616    0.008\n  GetAndBitwiseOrReleaseStaticFieldInt   2.349    0.008\n  GetAndBitwiseOrReleaseFieldInt         2.614    0.008\n  GetAndBitwiseXorStaticFieldInt         2.336    0.010\n  GetAndBitwiseXorFieldInt               2.611    0.010\n  GetAndBitwiseXorAcquireStaticFieldInt  2.332    0.008\n  GetAndBitwiseXorAcquireFieldInt        2.613    0.008\n  GetAndBitwiseXorReleaseStaticFieldInt  2.335    0.008\n  GetAndBitwiseXorReleaseFieldInt        2.617    0.008\n  GetAndBitwiseAndStaticFieldInt         2.341    0.010\n  GetAndBitwiseAndFieldInt               2.619    0.010\n  GetAndBitwiseAndAcquireStaticFieldInt  2.345    0.008\n  GetAndBitwiseAndAcquireFieldInt        2.610    0.009\n  GetAndBitwiseAndReleaseStaticFieldInt  2.343    0.008\n  GetAndBitwiseAndReleaseFieldInt        2.616    0.008\n\nBug: 71781600\nTest: lunch aosp_cf_x86_64_phone-userdebug \\\n  \u0026\u0026 art/test.py --host -r -t 712-varhandle-invocations --64\nTest: Repeat with ART_USE_READ_BARRIER\u003dfalse.\nTest: Repeat with ART_HEAP_POISONING\u003dtrue.\nChange-Id: Ied3ae34aaad24e1b2cd8237fed4ac64aa9ae10ae\n"
    },
    {
      "commit": "a0dd228837fbbacb3d29445bdf027649567f94fb",
      "tree": "f7f8c1c4fce0a752b27734c21b80ce38391fac36",
      "parents": [
        "017aae426873d57e260d5ae52fd5ce2ed2bddb1c"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Jul 22 21:09:46 2021 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Jul 23 11:40:07 2021 +0000"
      },
      "message": "odsign_e2e_tests: do not assume time monotonicity across reboots\n\nBug: 194365586\nTest: atest --iterations 10 com.android.tests.odsign.OnDeviceSigningHostTest\nChange-Id: I824da7fb9bfc0c455c852f99d2564e89728170ea\n"
    },
    {
      "commit": "017aae426873d57e260d5ae52fd5ce2ed2bddb1c",
      "tree": "6129e7bc94b4a63231e6e99ccb57a2b583f1cc3f",
      "parents": [
        "b1adfc2a0570f52d74b8a4acdd578efc1790995b"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Tue Jul 20 17:56:01 2021 +0100"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Fri Jul 23 10:06:13 2021 +0000"
      },
      "message": "x86_64: Implement VarHandle.getAndAdd for fields.\n\nThe implementation is based on XADD instruction, so it cannot be reused\nfor other getAnd* methods.\n\nBenchmarks improvements (using benchmarks provided by\nhttps://android-review.googlesource.com/1420959):\n\n  benchmark                           before   after\n  --------------------------------------------------\n  GetAndAddStaticFieldInt             2.338    0.012\n  GetAndAddFieldInt                   2.614    0.012\n  GetAndAddStaticFieldFloat           2.338    0.010\n  GetAndAddFieldFloat                 2.612    0.010\n  GetAndAddAcquireStaticFieldInt      2.337    0.007\n  GetAndAddAcquireFieldInt            2.617    0.007\n  GetAndAddAcquireStaticFieldFloat    2.337    0.010\n  GetAndAddAcquireFieldFloat          2.610    0.010\n  GetAndAddReleaseStaticFieldInt      2.336    0.007\n  GetAndAddReleaseFieldInt            2.615    0.007\n  GetAndAddReleaseStaticFieldFloat    2.334    0.010\n  GetAndAddReleaseFieldFloat          2.613    0.010\n\nBug: 71781600\nTest: lunch aosp_cf_x86_64_phone-userdebug \\\n  \u0026\u0026 art/test.py --host -r -t 712-varhandle-invocations --64\nTest: Repeat with ART_USE_READ_BARRIER\u003dfalse.\nTest: Repeat with ART_HEAP_POISONING\u003dtrue.\nChange-Id: If41fd01b7e444a7157478999640f45d64bbf17f1\n"
    },
    {
      "commit": "b1adfc2a0570f52d74b8a4acdd578efc1790995b",
      "tree": "c5058390901f2abbb0e281d8403be2b8db02c337",
      "parents": [
        "71f763399e95676d665e071623bccb714acf88b4"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Wed Jul 21 10:44:06 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 23 01:47:27 2021 +0000"
      },
      "message": "Support pass BCP art/vdex/oat files by FD\n\nThis is currently used by odrefresh.\n\nMain runtime changes are:\n\n1. When reading the image header, also tries to read from the FD if\n   provided.\n\n2. Initialize the art/vdex/odex FDs in the boot image chunk if provided.\n   This allows them to be opened (in case if the file is not accessible\n   by path) in LoadComponents.\n\n3. OpenBootDexFiles: accept BCP JARs passed as FD, in case if the file\n   is not accessible by path.\n\n4. The new FDs are passed from new runtime args,\n   -Xbootclasspath{art,vdex,oat}fds.\n\nIt is used in odrefresh to pass the previous output of BCP extensions to\nbe used in the next phase, system server compilation.\n\nBug: 193720426\nTest: odrefresh --use-compilation-os\u003d10 --force-compile # exit 80\n      odrefresh --verify # exit 0 (was 79 previosly)\nTest: Verify the checksum of output files are the same, with\n      --use-compilation-os or not, i.e. regardless where the compilation\n      happens\nTest: mma in art/\nChange-Id: I209085f047c42823ff20415804f65a9b32378b40\n"
    },
    {
      "commit": "71f763399e95676d665e071623bccb714acf88b4",
      "tree": "442dbbe8745d5269cf5ed13307700ba41d0c8866",
      "parents": [
        "c9acd230431acf786b5597cbbc2da57e88eb0435"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jul 20 11:57:48 2021 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jul 23 00:07:00 2021 +0000"
      },
      "message": "Use config.BuildOS instead of android.BuildOs\n\nandroid.BuildOs is being replaced with config.BuildOS so that it\ncan vary based on the product configuration.\n\nBug: 190084016\nTest: m checkbuild\nChange-Id: Ic660bd9a34faf323a1458bb88f07b1bc8db7d460\n"
    },
    {
      "commit": "c9acd230431acf786b5597cbbc2da57e88eb0435",
      "tree": "383869b7275bbd2b16b7481f507c6ce1e6bc679d",
      "parents": [
        "09bfdf1700feeedf85c4a53502d3c14b4d3f41fd"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Jul 21 17:51:32 2021 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Jul 22 21:15:14 2021 +0000"
      },
      "message": "Delete almost correct CHECK\n\nThe bytes_allocated + freed_bytes \u003e\u003d bytes_allocated_before_gc\nCHECK could fail if we expand space use as a result of copying,\nand perhaps for other reasons. Delete it, and have the later code\ndeal with the fact that it may not hold.\n\nTest: Build and boot AOSP.\nBug: 194263989\nChange-Id: I9188a7cd13661c16b1b69a90d1f03d60548db217\n"
    },
    {
      "commit": "09bfdf1700feeedf85c4a53502d3c14b4d3f41fd",
      "tree": "bf6c232234d4c41697a78868e51b7dc07eabb011",
      "parents": [
        "1b621225a8869f930d530e4855157a444971aca1"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 19 12:17:20 2021 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 22 14:09:53 2021 +0000"
      },
      "message": "Rewrite UTF-8 encoding.\n\nCreate a templated implementation to serve all the UTF-8\nrelated encodings. Use it for `CharsetUtils.toUtf8Bytes()`\nand the JNI `GetStringUTFChars()`. Do not use it yet for\nthe internal `ConvertUtf16ToModifiedUtf8()` which shall be\nswitched to actual Modified UTF-8 in a separate change.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: atest CtsLibcoreTestCases:libcore.java.lang.StringTest\nBug: 192935764\nChange-Id: Id3ec3a0bc2638becdf4181d9c2b6794c91a75314\n"
    },
    {
      "commit": "1b621225a8869f930d530e4855157a444971aca1",
      "tree": "9885c16405db986e26419e4d0e001ab0c5fd48b1",
      "parents": [
        "fc42ce1a2b013059b7868ffc69d35fade6c5b743"
      ],
      "author": {
        "name": "Stelios Ioannou",
        "email": "stelios.ioannou@linaro.org",
        "time": "Thu Jun 17 14:15:45 2021 +0100"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Thu Jul 22 13:07:21 2021 +0000"
      },
      "message": "ART: Implements a test option of forced generation of .cfg\n\nThis patch introduces the option to dump .cfg for any type of test. If\nthe \"--dump-cfg \u003cpath/graph.cfg\u003e option\" is present, then it generates\na .cfg following the same logic used for the \"checker\" tests but\nforcing it for any type of test. This option works for both host and\ntarget.\n\nBefore the artifacts are wiped, the generated .cfg file is copied to\nthe specified host path.\n\nNote that it will only dump a .cfg if the compiler type is set to\n\"optimizing\". Otherwise, it will throw a warning.\n\nTest: ./art/test/run-test  --host --simulate-arm64  --optimizing \\\n--dump-cfg \u003cpath\u003e/graph.cfg  \u003ctest\u003e\n\nChange-Id: I034b13b401bd1dee8d871297da8d09e807a35fd1\n"
    },
    {
      "commit": "fc42ce1a2b013059b7868ffc69d35fade6c5b743",
      "tree": "c82efa8fa290af716eb02e1389379c724ed04ab5",
      "parents": [
        "a6f8a6a7a1e4e639b393261fc46abe046cd59b63"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 21 15:51:35 2021 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 22 09:45:56 2021 +0000"
      },
      "message": "Fix `GetDataTypeFromShorty()` for inlined VarHandle intrinsics.\n\nTest: testrunner.py --host --optimizing --jit\nBug: 188889082\nChange-Id: Ide335dc408f5bd2c9256d4cac5ba66d2d390f69b\n"
    },
    {
      "commit": "a6f8a6a7a1e4e639b393261fc46abe046cd59b63",
      "tree": "910fbc17a780b894cb116aee0200369941469183",
      "parents": [
        "244f22bf574f8c1656e668e77e4636f442d1a214"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 21 12:29:04 2021 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 22 09:35:51 2021 +0000"
      },
      "message": "Initialize intrinsics for UnstartedRuntimeTest.\n\nThis is needed for implementing Java Atomic* classes\nwith `VarHandle` as two of the unstarted runtime tests\nshall then exercise code paths with invoke-polymorphic\nwhere we need to know the intrinsic for dispatch.\n\nTest: m test-art-host-gtest\nBug: 188889082\nChange-Id: Idf01066af68edb2db0be8954a4440d53e95ecbc8\n"
    },
    {
      "commit": "244f22bf574f8c1656e668e77e4636f442d1a214",
      "tree": "0fe0cc017fc2ae948d412d5533596544cbea7914",
      "parents": [
        "4a889b7f1e58368f0ffd795eaa24f2f493ccab8d"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Tue Jul 20 16:56:30 2021 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 21 17:12:20 2021 +0000"
      },
      "message": "x86_64: Add LockXadd* helper function and tests for it.\n\nA separate function is need for 16-bit variant `lock xaddw` because the\nLOCK prefix should go after the operand size override prefix to match\nthe order of prefixes emitted by the reference implementation.\n\nBug: 65872996\nTest: m test-art-host-gtest  # new test cases for LOCK XADD\nChange-Id: I29946c75c76966cb9c6425b2a22eae3664ce3c00\n"
    },
    {
      "commit": "4a889b7f1e58368f0ffd795eaa24f2f493ccab8d",
      "tree": "6449e59690e4219f3b3c1beba3631ecb586a584d",
      "parents": [
        "5d446a37192427b4d24ca9add5d8e2409f665c4d"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 21 16:20:54 2021 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 21 16:21:35 2021 +0000"
      },
      "message": "Revert \"Compile time null checks for VarHandle intrinsics.\"\n\nThis reverts commit b3a7a6a72d7b91ee5507bd7314a3aae3948e6f29.\n\nReason for revert: Breaks ART baseline compiler.\n\nBug: 191765508\nChange-Id: Ida63660e0149c4847f015950f95282e61add7204\n"
    },
    {
      "commit": "5d446a37192427b4d24ca9add5d8e2409f665c4d",
      "tree": "6cf0445966ba613542db4d5fb2ed02faa05bedb5",
      "parents": [
        "b3a7a6a72d7b91ee5507bd7314a3aae3948e6f29"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Tue Jul 20 15:51:48 2021 +0100"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Wed Jul 21 15:23:52 2021 +0000"
      },
      "message": "x86_64: Add XADD instruction and tests for it.\n\nBug: 65872996\nTest: m test-art-host-gtest  # new test cases for XADD\nChange-Id: Idaa5f40dab106e7f48bfd8adeee629bcdaa8e33a\n"
    },
    {
      "commit": "b3a7a6a72d7b91ee5507bd7314a3aae3948e6f29",
      "tree": "f65ecb447173e067fd5bd9437c19380b0d72bf04",
      "parents": [
        "c4597765f2d7496e428c0b0dc1b26ffb71c61093"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jul 20 15:02:33 2021 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 21 12:57:37 2021 +0000"
      },
      "message": "Compile time null checks for VarHandle intrinsics.\n\nCreate a `VarHandleOptimizations` helper class holding the\noptimization flags for VarHandle intrinsics.\n\nAdd a flag to avoid emitting the intrinsic implementation\nand move shared checks previously duplicated in intrinsic\ncodegens helpers `HasVarHandleIntrinsicImplementation()` to\nthe instruction simplifier. Individual intrinsic codegens\nperform additional checks as needed.\n\nAdd the first optimization flag to avoid null check on the\nholder object if it cannot be null. And do not emit the\nintrinsic implementation if the holder object is null.\n\nTest: testrunner.py --host --optimizing\nTest: testrunner.py --target --optimizing\nBug: 191765508\nChange-Id: I53b1b57c327f02a9913f22885c1ce663cd9c3d44\n"
    },
    {
      "commit": "c4597765f2d7496e428c0b0dc1b26ffb71c61093",
      "tree": "698f1308c89b6aa3fa6c47ea9645e43d36d37946",
      "parents": [
        "e501434b98c740969607e400678a43a8f3c79942"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Jun 10 14:08:26 2021 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Jul 20 18:46:04 2021 +0000"
      },
      "message": "Unhide VarHandle methods\n\nWith compiler intrinsics support for a significant fraction of the\nAPI, these can be unhidden.\n\nBug: 65872996\nBug: 191980162\nTest: m\nChange-Id: I30abc13f89c969ceae6f68c49280c7bca0d33f81\n"
    },
    {
      "commit": "e501434b98c740969607e400678a43a8f3c79942",
      "tree": "05c85246b6e125f49cdb97a46119adfaf6a0a339",
      "parents": [
        "81c76d8dac3f4c4d50cad21a0b94a155908bc7d1"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Mon Jul 19 18:21:53 2021 +0000"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Jul 20 16:39:15 2021 +0000"
      },
      "message": "dt_fd_forward: fix uses of uninit values\n\n`NetworkToHost(x)` where `x` is uninitialized (or isn\u0027t fully written\nwith bytes) angers our static analyzer, and may be easy to accidentally\nuse going forward. If we rephrase `HandleResult` to instead take a\ncallable type that produces a T, we can sidestep all of this.\n\nCaught by the static analyzer:\n\u003e art/dt_fd_forward/dt_fd_forward.cc:554:30: warning: 1st function call\nargument is an uninitialized value [clang-analyzer-core.CallAndMessage]\n\u003e art/dt_fd_forward/dt_fd_forward.cc:563:30: warning: 1st function call\nargument is an uninitialized value [clang-analyzer-core.CallAndMessage]\n\u003e art/dt_fd_forward/dt_fd_forward.cc:572:30: warning: 1st function call\nargument is an uninitialized value [clang-analyzer-core.CallAndMessage]\n\nBug: None\nTest: TreeHugger, `WITH_TIDY\u003d1 CLANG_ANALYZER_CHECKS\u003d1 mma`\n\nChange-Id: Id759bd36085bdd34399b64b08363b4682746fdfa\n"
    },
    {
      "commit": "81c76d8dac3f4c4d50cad21a0b94a155908bc7d1",
      "tree": "93196a264a2e52031ccf419adfe54acf57db36e3",
      "parents": [
        "edc005e396947fb4fa681c4a0be7beba66354239"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jul 16 10:48:15 2021 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jul 20 08:46:12 2021 +0000"
      },
      "message": "Add BouncyCastle tests to the generated ART MTS definition.\n\nAdd `CtsLibcoreWycheproofBCTestCases` to the generated ART MTS\ndefinition.\n\nAdd this test module to the existing ART MTS shard 02.\n\nTest: m mts \u0026\u0026 mts-tradefed run commandAndExit mts-art\nTest: m mts \u0026\u0026 mts-tradefed run commandAndExit mts-art-shard-02\nBug: 167385698\nChange-Id: Icf2a43b3bf1a765d420eeebf7433b90eb4424a55\n"
    },
    {
      "commit": "edc005e396947fb4fa681c4a0be7beba66354239",
      "tree": "861321ca5332baea1ea2d1c974a90496bd48ad7d",
      "parents": [
        "91d364965955265776848b190b066c53e2dd5f6e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jul 16 10:22:28 2021 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 19 14:49:10 2021 +0000"
      },
      "message": "Rewrite JNI NewStringUTF().\n\nFor historical reasons, NewStringUTF() accepts 4-byte UTF-8\nsequences which are not valid Modified UTF-8. This can be\nconsidered an extension of the JNI specification.\n\nRewrite the function to deal with the decoding explicitly,\nso that we can later avoid dealing with the 4-byte sequences\nin internal ART routines intended for Modified UTF-8.\nNote that the DexFileVerifier rejects them in dex files.\n\nChange the decoding to accept improperly encoded ASCII\ncharacters as two-byte or three-byte sequences.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 192935764\nChange-Id: I3f91da990110e419c78138ce997123277bf3aaba\n"
    },
    {
      "commit": "91d364965955265776848b190b066c53e2dd5f6e",
      "tree": "1b1b2b7e5323f7f3176149d1cc4f9ed4ac591416",
      "parents": [
        "4b0ceb655f86d6be90be574349bdc55d24e5560c"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 19 11:59:42 2021 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 19 14:48:55 2021 +0000"
      },
      "message": "Fix trailing surrogate validation.\n\nThe macro `U16_IS_SURROGATE_LEAD()` assumes that the input\nis a surrogate without checking that assumption. Use the\n`U16_IS_TRAIL()` macro instead to correctly validate the\ntrailing surrogate in `CharsetUtils.toUtf8Bytes()`.\n\nTest: atest CtsLibcoreTestCases:libcore.java.lang.StringTest\nBug: 193891113\nChange-Id: Ib70d5a5b42c885ede3bf0e3bc087383c979f1f60\n"
    },
    {
      "commit": "4b0ceb655f86d6be90be574349bdc55d24e5560c",
      "tree": "062f296ec594a4bf075aaac19c07cfc9cb2fd86e",
      "parents": [
        "8f21748bf127012947ed48c40948df3f2d9c85ef"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Tue Jul 13 12:16:02 2021 +0100"
      },
      "committer": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Fri Jul 16 17:53:20 2021 +0100"
      },
      "message": "x86_64: Implement VarHandle.getAndSet for fields.\n\nThe implementation is based on XCHG instruction, so it cannot be reused\nfor other getAnd* methods.\n\nBenchmarks improvements (using benchmarks provided by\nhttps://android-review.googlesource.com/1420959):\n\n  benchmark                           before   after\n  --------------------------------------------------\n  GetAndSetStaticFieldInt             2.449    0.018\n  GetAndSetStaticFieldString          2.818    0.014\n  GetAndSetFieldInt                   2.728    0.012\n  GetAndSetFieldString                3.002    0.014\n  GetAndSetAcquireStaticFieldInt      2.438    0.007\n  GetAndSetAcquireStaticFieldString   2.811    0.010\n  GetAndSetAcquireFieldInt            2.726    0.007\n  GetAndSetAcquireFieldString         2.998    0.010\n  GetAndSetReleaseStaticFieldInt      2.436    0.007\n  GetAndSetReleaseStaticFieldString   2.813    0.010\n  GetAndSetReleaseFieldInt            2.730    0.007\n  GetAndSetReleaseFieldString         2.997    0.010\n\nBug: 65872996\n\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: I77bdf6d4b940d90b0efe499cab335e5a0fa5ca4a\n"
    },
    {
      "commit": "8f21748bf127012947ed48c40948df3f2d9c85ef",
      "tree": "70d287634fd0b3a2d43ad8de7738c9703eb0a2a6",
      "parents": [
        "ce5c830aede3313ceb22f7b2ca6c30e5b8432972"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 14 17:16:36 2021 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jul 16 09:44:43 2021 +0000"
      },
      "message": "Mark move constructors/assignements as `noexcept`.\n\nAnd unmark `HashSet` copy constructor and copy assignment.\n\nTest: m\nChange-Id: Ia419f3036b2880815be446395e81c7e543388bd9\n"
    },
    {
      "commit": "ce5c830aede3313ceb22f7b2ca6c30e5b8432972",
      "tree": "7df230657a64a02c309fae9c7736c3a732f0a474",
      "parents": [
        "cd43700e88be779b62ddd0e2de0a2f62270ec44c"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Jul 12 18:13:30 2021 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jul 16 08:57:56 2021 +0000"
      },
      "message": "Update source ART APEX version number from 1 to 319999900.\n\nBump the version number of the ART APEX built from sources (used, in\nparticular, for development and testing), so that it has a higher\nversion number that the (Android S) pre-built ART APEX (currently\n31071600) and can be installed on devices running an image with such a\npre-built ART APEX.\n\n(cherry picked from commit 646b2de92037f6d97e24560465d82079f3a3f411)\n\nTest: banchan com.android.art x86_64\n      m SOONG_ALLOW_MISSING_DEPENDENCIES\u003dtrue\n      # Check built ART APEX version number.\n      aapt dump badging $OUT/system/apex/com.android.art.apex\n      acloud create --local-instance --branch aosp-master \\\n        --build-id 7552277 --build-target aosp_cf_x86_64_phone-userdebug\n      # Check prebuilt ART APEX version on AVD.\n      adb shell dumpsys package | grep -A4 com.android.art\n      adb install $OUT/system/apex/com.android.art.apex\n      adb reboot\n      # Check updated ART APEX version on AVD.\n      adb shell dumpsys package | grep -A4 com.android.art\nBug: 193059742\nChange-Id: I1e3147b79c8017692a3de6f2a4cfce42f39c3425\nMerged-In: I1e3147b79c8017692a3de6f2a4cfce42f39c3425\n"
    },
    {
      "commit": "cd43700e88be779b62ddd0e2de0a2f62270ec44c",
      "tree": "eef0bed185f94ea52f67e1855b2ca745e9175e9f",
      "parents": [
        "1e271ce1d48c64136a1e2f6102c78d51635ac435"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Jul 12 16:53:57 2021 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Jul 16 08:17:37 2021 +0000"
      },
      "message": "Use .debug_frame version 4\n\nSome tools struggle with the augmentation.  The android clang now\nproduces version 4 by default, so we need to support it anyway.\n\nBug: 192012848\nTest: art/test.py -b --host -t 137\nChange-Id: Ia14bfbaaac9e654e97f5d4169792e0bb07ea413e\n"
    },
    {
      "commit": "1e271ce1d48c64136a1e2f6102c78d51635ac435",
      "tree": "0d9ad35b372b157dd2d1cebe00b2d6c1457067cc",
      "parents": [
        "2269f7eef5ac7821d4461b7f452313239aa100eb"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Jul 12 15:14:13 2021 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Jul 16 08:17:37 2021 +0000"
      },
      "message": "Revert \"libelffile: move to DWARF3 when writing .debug_frame.\"\n\nThis reverts commit 546243375d7e129aa02ca7ea9663ed7c40b4880e.\n\nReason for revert: DWARF-64 is supposed to be used for libraries\nover 4GB in size.  It is unrelated to pointer sizes and linked bug.\n(the spec explicitly says that it should not be used in our case)\n\nBug: 192012848\nChange-Id: Iaf4679b6d4cb27d049277ef7bdc6606771390a6b\n"
    },
    {
      "commit": "2269f7eef5ac7821d4461b7f452313239aa100eb",
      "tree": "d94ba376dcad7a4d2bef8ba08a8843146b538d35",
      "parents": [
        "b572832561669794edc8577ffbbf2ef19374e8bb"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Jul 12 15:17:14 2021 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Jul 16 08:17:37 2021 +0000"
      },
      "message": "Revert \"Fix style issue reported by cpplint.\"\n\nThis reverts commit 6f244fa1658e216512cf6ef15a6301defaf0f5b0.\n\nReason for revert: Reverting the CL the caused the issue.\n\nChange-Id: I7a206dfb20e7b34174b9b2e121ef5f1f3e9985c6\n"
    },
    {
      "commit": "b572832561669794edc8577ffbbf2ef19374e8bb",
      "tree": "ad2af8b17a0dff5f1c3f322ebe431fbd397537ed",
      "parents": [
        "66934efcabd2b75fd84b3cc0a8665f4ecc136727"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Fri May 21 09:45:35 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 15 18:24:50 2021 +0000"
      },
      "message": "Deprecate support of extracting BCP from boot image\n\nBug: 188905361\nTest: m\nChange-Id: I2820eb0d60ba6eedee3c67800f884512a638bacb\n"
    },
    {
      "commit": "66934efcabd2b75fd84b3cc0a8665f4ecc136727",
      "tree": "b55d836b7df49dcc73126cbcded7a0e64451ba39",
      "parents": [
        "cf74ae7eae39affc8886b4bce5294aceebb908c3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 07 14:56:23 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jul 15 14:26:13 2021 +0000"
      },
      "message": "Clean up ClassLinker::VerifyClass.\n\nAnd drop kAccWasVerificationAttempted. It\u0027s not needed and duplicates\nlogic already present in the compiler and the class status.\n\nThis CL also enables nterp running methods with soft failures.\n\nTest: test.py\nBug: 28313047\nChange-Id: I853a6f00b9e0c38091d86fcd77167c92ff5b383c\n"
    },
    {
      "commit": "cf74ae7eae39affc8886b4bce5294aceebb908c3",
      "tree": "5a7ca403a555069f3f373c38fe45d78b53e243c6",
      "parents": [
        "dcb148a48a6bc69aba71cf3e2b8ab915ab3bf6d5"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jul 15 10:37:28 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jul 15 14:09:19 2021 +0000"
      },
      "message": "Small cleanups after latest verifier change.\n\nDuring AOT, the inliner can also look at whether the class needs to be\nverified at runtime. We know the class doesn\u0027t hard fail otherwise its\nstatus would be ErrorResolved.\n\nAlso un-negate IsUnverified -\u003e IsVerified.\nAlso make isVerifiedNeedsAccessCheck only return true if the class has\nthat exact state.\n\nTest: test.py and golem numbers\nBug: 28313047\nChange-Id: I2ee0024a380225e1aa120b69069a5a34d3f81113\n"
    },
    {
      "commit": "dcb148a48a6bc69aba71cf3e2b8ab915ab3bf6d5",
      "tree": "6fb49285680464b01d93b881526d27f7d4e86733",
      "parents": [
        "d61b021fffc641906d1c531a233b62a8f66c184a"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Jul 15 09:22:14 2021 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Jul 15 09:22:14 2021 +0100"
      },
      "message": "odsign_e2e_tests: Drop Java 11-ism\n\nUse Optional.isPresent() instead of Optional.isEmpty().\n\nBug: 193753166\nTest: m\nChange-Id: Ife11afa2310f9d78645354587e47ec98d21f07c5\n"
    },
    {
      "commit": "d61b021fffc641906d1c531a233b62a8f66c184a",
      "tree": "2e81f49ce6986fbc069286d28b48f41b19dce0c6",
      "parents": [
        "9e050ab1a061d9660eb0c1daa01a823ad75b0f05"
      ],
      "author": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Thu Jul 08 10:20:26 2021 +0800"
      },
      "committer": {
        "name": "Jiakai Zhang",
        "email": "jiakaiz@google.com",
        "time": "Wed Jul 14 23:37:32 2021 +0000"
      },
      "message": "Trigger on-device AOT compilation for system_server on mainline update.\n\nBefore this change, AOT compilation for system_server are triggered only\non ART mainline update, and only the system_server components in /system are compiled.\n\nAfter this change, AOT compilation for system_server are triggered on\nany mainline update that touches $BOOTCLASSPATH or\n$SYSTEMSERVERCLASSPATH, and the system_server components in mainline\nmodules are also compiled.\n\nTest: manual - 1. Modify a mainline module (such as com.android.wifi).\n    2. Install the modified module on a device and reboot the device.\n    3. See if system_server components are recompiled (while boot\n    classpath components are not).\nTest: atest odsign_e2e_tests\nTest: art/tools/run-gtests.sh -j8 apex/com.android.art/bin/art/x86_64/art_libartbase_tests\nTest: atest art_odrefresh_tests\nBug: 189467174\nChange-Id: Icaba5471e9f62fd035f0a24d662ecfaf2e064cab\n"
    },
    {
      "commit": "9e050ab1a061d9660eb0c1daa01a823ad75b0f05",
      "tree": "714f2ba3b11406310416e85357f45450634846b2",
      "parents": [
        "4f990714b13e0b4446305a5411648a1a9ae42a7a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 14 14:59:25 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 14 17:13:08 2021 +0000"
      },
      "message": "Remove the need of VerifiedMethod in the compiler.\n\nThe compiler only needs to know if a method is compilable or not. So\njust record a set of uncompilable methods (in some cases, we cannot have\nan ArtMethod, but the method can still be compiled).\n\nTest: test.py\nBug: 28313047\nChange-Id: Ic4235bc8160ec91daa5ebf6504741089b43e99cb\n"
    },
    {
      "commit": "4f990714b13e0b4446305a5411648a1a9ae42a7a",
      "tree": "4568386e3e6f3c98c819851f6573e2c7cbc184fb",
      "parents": [
        "7744b69abf073101b09b9043f0f0eb109768fcfe"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 14 12:45:13 2021 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 14 15:18:36 2021 +0000"
      },
      "message": "Modernize typedefs with `using`.\n\nReplace many occurences of `typedef` with `using`. For now,\ndo not update typedefs for function types and aligned types\nand do not touch some parts such as jvmti or dmtracedump.\n\nTest: m\nChange-Id: Ie97ecbc5abf7e7109ef4b01f208752e2dc26c36d\n"
    },
    {
      "commit": "7744b69abf073101b09b9043f0f0eb109768fcfe",
      "tree": "6598234dc0a9b2327729705cf61f836e3e777d58",
      "parents": [
        "eacf044aae6d7d515ac988dceedaadbf53916b60"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jul 06 16:19:32 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 14 13:17:09 2021 +0000"
      },
      "message": "Remove dual verification in RedefineClasses.\n\nAlso clean up the ClassVerifier interface with now just one method and\nthe removal of VerifierCallbacks.\n\nTest: test.py\nBug: 28313047\nChange-Id: I1a87dd1757cfdeec0d482f82dacd7cac43545964\n"
    },
    {
      "commit": "eacf044aae6d7d515ac988dceedaadbf53916b60",
      "tree": "f5a7e43f61b56c458bb2cc5243794552bc5c910b",
      "parents": [
        "cd8286f6e69aeeb1abb69b7807effee2f1539508"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jul 08 11:33:10 2021 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 14 12:10:25 2021 +0000"
      },
      "message": "Add service-art to sdk\n\nOverrides the defaults setting of sdk_version: \"module_current\" for the\npublic and sdk_version: \"system_server_current\" for the system_server\nstub libraries as that is not available in master-art.\n\nBug: 193044041\nTest: DIST_DIR\u003d$PWD/dist TARGET_BUILD_VARIANT\u003duserdebug art/build/build-art-module.sh --skip-apex\n      packages/modules/ArtPrebuilt/update-art-module-prebuilts.py --local-dist\u003ddist --skip-cls --skip-apex\n      - check that service-art is added\nChange-Id: I078956714fd333b29d5f12384e1fd313044a92e4\n"
    },
    {
      "commit": "cd8286f6e69aeeb1abb69b7807effee2f1539508",
      "tree": "35a79e6834359dd8cd50eaa6bd170f8edbd8e8ff",
      "parents": [
        "0910d891d729ca984baa31d4e3ed51da8b0cad7d"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Mon Jul 12 16:40:16 2021 +0100"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Wed Jul 14 10:04:35 2021 +0000"
      },
      "message": "x86_64: Implement missing variants of XCHG. Add tests for them.\n\nAlso, clean up the handling of a special case when at least one of the\noperands for XCHG is RAX/EAX/AX. Add a helper function that deduplicates\nthe code for different operand sizes.\n\nThis patch also extends `EmitOptionalByteRegNormalizingRex32` function\nto handle the case when an instruction has both operands in byte\nregisters, and so it needs REX prefix if either of them is in a special\nregister (an example of such instruction is `xchg bpl, al`: if only the\nsource register is checked, no REX would be emitted). Previously\n`EmitOptionalByteRegNormalizingRex32` handled only the case when the\nsource register is special (an example of such instruction is\n`movzxb rax, bpl`).\n\nBug: 65872996\nTest: m test-art-host-gtest\nChange-Id: I20c5e9375bbd15d799e5748b127d154ddcc0fc11\n"
    },
    {
      "commit": "0910d891d729ca984baa31d4e3ed51da8b0cad7d",
      "tree": "4abfda8e0f1757272ec5c87dfbda9488f4f0cda1",
      "parents": [
        "47349d2d27b9ee57896e03841032a3057fc9d838"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jul 12 15:52:18 2021 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 13 16:37:31 2021 +0000"
      },
      "message": "Remove libc_headers from cc_object\n\ncc_object modules get default libraries like libc now and no longer\nneed to explicitly include libc_headers.\n\nBug: 153662223\nTest: m asm_defines.s\nChange-Id: Ide10877f7511f10bdfce1b55a9f631f2a44be5c3\n"
    },
    {
      "commit": "47349d2d27b9ee57896e03841032a3057fc9d838",
      "tree": "ca2f9a616d6668f797a933778bc3bcdfd14907d9",
      "parents": [
        "85430bb410c432ac40d950cfa494b0f9cc4f33ac"
      ],
      "author": {
        "name": "Sorin Basca",
        "email": "sorinbasca@google.com",
        "time": "Wed Jun 16 13:45:49 2021 +0000"
      },
      "committer": {
        "name": "Sorin Basca",
        "email": "sorinbasca@google.com",
        "time": "Tue Jul 13 14:30:10 2021 +0000"
      },
      "message": "Adding unstarted JNI implementation needed by VarHandle\n\nThe creation of a FieldVarHandle depends on Field.getArtField() and\nField.getNameInternal() which are native methods. As\nAtomicInteger (and other java.util.concurrent.atomic classes) are\ngoing to use VarHandle, these methods need to be available in\nunstarted non-transaction runtime.\n\nThis change adds these methods to unstarted runtime.\n\nTest: m\nBug: 188889082\nChange-Id: I7d9a05aef1bbad05594b9bb326a741cf1485b744\n"
    },
    {
      "commit": "85430bb410c432ac40d950cfa494b0f9cc4f33ac",
      "tree": "805e4caea78a718c8c6e43f5fcbcee76b04023f6",
      "parents": [
        "e4f983c808b0b7d2d9c39f34f67971bba1354b08"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Jul 13 12:02:50 2021 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 13 12:42:07 2021 +0000"
      },
      "message": "Fix libcore_gcstress_failures.txt syntax\n\nTest: ./art/tools/run-libcore-tests.py --mode\u003dhost --gcstress\nChange-Id: Ia6026efd9b62e04452ea7afacc89b6bb4098209d\n"
    },
    {
      "commit": "e4f983c808b0b7d2d9c39f34f67971bba1354b08",
      "tree": "80dd518ac4e7ea00670f2ebdb70efbe8b1f577cd",
      "parents": [
        "5f2f289b64f163e491b9b53364ce04874f82b4e3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 12 15:53:27 2021 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jul 13 12:14:13 2021 +0000"
      },
      "message": "Remove mterp.\n\nTest: test.py\nChange-Id: Id800bcf86965ab19cf1e79ecbfa8996a6a6c335e\n"
    },
    {
      "commit": "5f2f289b64f163e491b9b53364ce04874f82b4e3",
      "tree": "52018e22d0dd047c360036c8f02a9b6fb41eaa4e",
      "parents": [
        "a5c529fd866309856a1eaff009f781ffe266b499"
      ],
      "author": {
        "name": "Nikita Ioffe",
        "email": "ioffe@google.com",
        "time": "Mon Jul 12 15:59:38 2021 +0100"
      },
      "committer": {
        "name": "Nikita Ioffe",
        "email": "ioffe@google.com",
        "time": "Mon Jul 12 18:41:47 2021 +0000"
      },
      "message": "Fallback to version code in case lastUpdateMillis field is not populated\n\nTest: presubmit\nBug: 193374411\nChange-Id: I2006a1926c64cf01e12d82c90197b20f5cff9406\n"
    },
    {
      "commit": "a5c529fd866309856a1eaff009f781ffe266b499",
      "tree": "1a79af82e61b26de98a6d03fbb81e2fc5db12a93",
      "parents": [
        "b50ceebb814f28a6ade94974d3e8614c8585760e"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Mon Jul 12 15:34:43 2021 +0100"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Mon Jul 12 16:25:08 2021 +0000"
      },
      "message": "x86_64: Allow test to skip register pairs. Fix XCHG and enable tests.\n\nPreviously tests were disabled for `xchgl reg, reg` variant with all\nregister pairs, although the problematic case is only `xchg eax, eax`.\n\nThis commit allows one to pass an exception list to a testing function\nand skip the problematic register pairs instead of disabling the whole\ntest. The patch adds exception lists to all testing functions that run\nover register pairs, although XCHG only needs it for `Repeatrr`.\n\nEnabling the test revealed a few small errors in the XCHG implementation\n(namely, source and destination registers were swapped, which does not\naffect the result). This commit fixes the implementation so that the\ntests pass.\n\nBug: 65872996\nTest: m test-art-host-gtest\nChange-Id: Iaa759861330bcfb30db1a8219b805cc479cc3280\n"
    },
    {
      "commit": "b50ceebb814f28a6ade94974d3e8614c8585760e",
      "tree": "8297534745f75989ddf6b6c124ccc623a8eee71f",
      "parents": [
        "38837d44f47a14ccd07e9de3c26d3e40b9768d0d"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Mon Jul 12 14:20:16 2021 +0100"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Mon Jul 12 16:24:37 2021 +0000"
      },
      "message": "x86: Add missing variants for XCHG and tests for this instruction.\n\nAdd XCHG variants when both operands are registers. Handle the special\ncase when at least one of the register operands is EAX/AX. Add tests for\nthe new variants and for other variants that previously weren\u0027t tested.\n\nBug: 65872996\nTest: m test-art-host-gtest\nChange-Id: I1e80d1b86f3d2e804b90c2a181e4eabded30d8ae\n"
    },
    {
      "commit": "38837d44f47a14ccd07e9de3c26d3e40b9768d0d",
      "tree": "430776fe80da3df1e39318259a3ab1c355a9ace6",
      "parents": [
        "dc8fa4d6fc4250bec986a1f4610b22454279fd31"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Sat Jul 10 12:29:34 2021 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jul 12 12:04:18 2021 +0000"
      },
      "message": "Remove libraries containing conscrypt and i18n stubs from sdk\n\nThe core.current.stubs, core.module_lib.stubs,\nlegacy.core.platform.api.stubs and stable.core.platform.api.stubs\nlibraries include stubs from conscrypt and i18n. The stubs should not\nbe part of the ART sdk snapshot and instead should be provided by their\nown sdk snapshots.\n\nThe libraries and their associated java_system_modules will be defined\nin build/soong/java/core-libraries/Android.bp so that they will always\nbe present and do not need prebuilts.\n\nThis change removes those libraries and their associated\njava_system_modules from the sdk snapshot. So, they are no either\ndirectly exported or included as a private member for use by their\nassociated java_system_modules.\n\nIt also exports the core-lambda-stubs-for-system-modules and\ncore-generated-annotation-stubs libraries, which were previously\nincluded in the sdk as private members, for use by the\njava_system_modules definitions in build/soong.\n\nBug: 193311122\nTest: m droid\nChange-Id: I18ffe3f1470a1226a1ff43aea0446a2558cdceda\n"
    },
    {
      "commit": "dc8fa4d6fc4250bec986a1f4610b22454279fd31",
      "tree": "85102af8cce9cdebd670521f1f80602d78db3124",
      "parents": [
        "1b9d442dc906d0158300c5178683f417fa59b026"
      ],
      "author": {
        "name": "Artem Kotsiuba",
        "email": "artem.kotsiuba@linaro.org",
        "time": "Tue Jun 22 16:26:30 2021 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Jul 12 08:53:58 2021 +0000"
      },
      "message": "ART: Fix Android.cpplint.mk to use scan art/ directory\n\nCurrently Android.cpplint.mk doesn\u0027t set LOCAL_PATH variable but assumes\nthat it is initialized properly (see comments before initializing\nART_CPPLINT_SRC variable). Change https://r.android.com/1711019  moved\none of the includes in art/Android.mk file up, before include\nAndroid.cpplint.mk which modified this variable, so currently\n\u0027m cpplint-art\u0027 call only scans source files in tools/veridex folder\n\nTest: m cpplint-art and m cpplint-art-all\nChange-Id: Ic948e029a4365fc49b8ffeb1e67b47ac0dbee182\n"
    },
    {
      "commit": "1b9d442dc906d0158300c5178683f417fa59b026",
      "tree": "dd52852cd7a16af7f5480c5f6c9213079a319dc8",
      "parents": [
        "52eebc756c96fbf71ad77b6d30bdff8a67723569"
      ],
      "author": {
        "name": "Chuck Liao",
        "email": "chuckliao@google.com",
        "time": "Mon Jul 12 01:25:23 2021 +0000"
      },
      "committer": {
        "name": "Chuck Liao",
        "email": "chuckliao@google.com",
        "time": "Mon Jul 12 02:58:46 2021 +0000"
      },
      "message": "Revert \"Do not create 4-byte sequences in `ConvertUtf16ToModifiedUtf8()`\"\n\nThis reverts commit e0a4f373dc4a738a2f26965a67d31239cbbd4f6a.\n\nReason for revert: DroidMonitor-triggered revert due to breakage https://android-build.googleplex.com/builds/tests/view?invocationId\u003dI44000009917256156\u0026testResultId\u003dTR23027520914949881, bug b/193363191\n\nBug: 193363191\nChange-Id: I2e7fe6de3f63864b58729d2c76e9ab5c95aa7983\n"
    }
  ],
  "next": "52eebc756c96fbf71ad77b6d30bdff8a67723569"
}
