)]}'
{
  "log": [
    {
      "commit": "210a78d9ec4349601ac57381046229f4da1197f4",
      "tree": "dba581ba26ba7f6add0c3c1a2968d4f5d5dc8336",
      "parents": [
        "59d4b53e70bc1e0589ce05428c945b4585e28d0f"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Nov 30 16:58:05 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 01 20:12:45 2020 +0000"
      },
      "message": "Ensure ClearLoopInformation doesn\u0027t require particular ordering\n\nThe ClearLoopInformation call used to use the RPO list to find\nblocks which potentially had loop-information. This meant that if one\nwas also clearing the dominance information (which is quite common)\none needed to be sure to call ClearLoopInformation before calling\nClearDominanceInformation or else loop information will not be fully\ncleared. This could cause quite perplexing errors if dominance\ninformation is recomputed later (also quite common). This error is in\nfact present in several tests (none of which use loops which is how it\ngot missed).\n\nFix this issue by just looping over all blocks. Also add a new\nGetActiveBlocks function which does the filtering of null blocks\nautomatically. In many cases (such as these) we use RPO purely because\nit doesn\u0027t require filtering. This should be able to replace these\nuses.\n\nTest: ./test.py --host\nChange-Id: I60c7defc409111471064e9bf02b7ae3a0eb10584\n"
    },
    {
      "commit": "59d4b53e70bc1e0589ce05428c945b4585e28d0f",
      "tree": "f7ca666fa879e98e89956053911c5d206b09787d",
      "parents": [
        "de60ef3f91af06a3b8ef24f4bab5c547dc65e10d"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Wed Oct 21 17:49:39 2020 -0700"
      },
      "committer": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Tue Dec 01 09:19:19 2020 -0800"
      },
      "message": "[metrics] Add -Xwrite-metrics-to-log option\n\nThis CL adds a -Xwrite-metrics-to-log command line option, which causes\nART to write metrics to logcat at shutdown. At the moment, this is\nmostly useful for tests, but this change also lays some of the\nfoundation for more flexible metrics reporting.\n\nTest: test/run-test --host 2232-write-metrics-to-log\nBug: 170149255\nChange-Id: Ie4db70b9be83b2dc82e62798aa9977120a6e4ac5\n"
    },
    {
      "commit": "de60ef3f91af06a3b8ef24f4bab5c547dc65e10d",
      "tree": "b38a5e073fc45c314deafd3301b233af4e0915f5",
      "parents": [
        "df105da771446bf686de567b36d9d982dc641ad5"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Thu Nov 19 15:51:10 2020 -0800"
      },
      "committer": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Tue Dec 01 17:06:45 2020 +0000"
      },
      "message": "Add MessageQueue for cross-thread communication\n\nThis adds a message queue that allows for sending messages of several\ndifferent types between threads. This can simplify communication with\nthreads that need to do periodic background work driven by certain\nevents (including timeouts). One example will be the metrics reporting\nbackground thread.\n\nSee the MessageQueue class comments for examples of use.\n\nTest: m test-art-host-gtest-art_runtime_tests\nChange-Id: I831c79a4115c6b9540c2ef1801f2fa894ab96dc9\n"
    },
    {
      "commit": "df105da771446bf686de567b36d9d982dc641ad5",
      "tree": "097731c7044e44fe1160295bd74293112c30255b",
      "parents": [
        "3d350a8ab8ca1fbc3e9fd3cab903fa777dfb329b"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Nov 27 02:28:03 2020 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Dec 01 16:49:24 2020 +0000"
      },
      "message": "Add script to do a drop of the ART module prebuilts.\n\nOriginates from prebuilts/runtime/common/python/update_prebuilts.py but\nminimised and adapted.\n\nTest: art/build/update-art-module-prebuilts.py --build 6997927 --upload\nTest: art/build/update-art-module-prebuilts.py --local-dist out/dist/\nTest: gpylint art/build/update-art-module-prebuilts.py\nBug: 172480615\nChange-Id: I0322999f136f57f9582afba6bc6ba4ccb76643db\n"
    },
    {
      "commit": "3d350a8ab8ca1fbc3e9fd3cab903fa777dfb329b",
      "tree": "d1ec9fe70b68423b28e69e3370c96c970fb39a0f",
      "parents": [
        "2ecdbc45535f7594dc1684a06b47624aaeff8502"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 18 14:14:27 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Dec 01 15:04:38 2020 +0000"
      },
      "message": "arm: Implement VarHandle CAS intrinsics.\n\nUsing benchmarks provided by\n    https://android-review.googlesource.com/1420959\non blueline little cores with fixed frequency 1420800:\n                                           before after\nCompareAndSetStaticFieldInt                26.452 0.031\nCompareAndSetStaticFieldString             31.672 0.037\nCompareAndSetFieldInt                      29.569 0.033\nCompareAndSetFieldString                   34.095 0.042\nWeakCompareAndSetStaticFieldInt            26.470 0.031\nWeakCompareAndSetStaticFieldString         31.604 0.038\nWeakCompareAndSetFieldInt                  29.619 0.033\nWeakCompareAndSetFieldString               34.058 0.040\nWeakCompareAndSetPlainStaticFieldInt       26.508 0.026\nWeakCompareAndSetPlainStaticFieldString    31.675 0.031\nWeakCompareAndSetPlainFieldInt             29.635 0.028\nWeakCompareAndSetPlainFieldString          34.116 0.034\nWeakCompareAndSetAcquireStaticFieldInt     26.512 0.030\nWeakCompareAndSetAcquireStaticFieldString  31.661 0.035\nWeakCompareAndSetAcquireFieldInt           29.661 0.032\nWeakCompareAndSetAcquireFieldString        34.120 0.038\nWeakCompareAndSetReleaseStaticFieldInt     26.566 0.027\nWeakCompareAndSetReleaseStaticFieldString  31.659 0.034\nWeakCompareAndSetReleaseFieldInt           29.676 0.029\nWeakCompareAndSetReleaseFieldString        34.204 0.037\nCompareAndExchangeStaticFieldInt           25.550 0.031\nCompareAndExchangeStaticFieldString        31.219 0.039\nCompareAndExchangeFieldInt                 28.923 0.032\nCompareAndExchangeFieldString              33.622 0.040\nCompareAndExchangeAcquireStaticFieldInt    25.559 0.029\nCompareAndExchangeAcquireStaticFieldString 31.177 0.037\nCompareAndExchangeAcquireFieldInt          28.807 0.031\nCompareAndExchangeAcquireFieldString       33.524 0.038\nCompareAndExchangeReleaseStaticFieldInt    25.481 0.027\nCompareAndExchangeReleaseStaticFieldString 31.132 0.036\nCompareAndExchangeReleaseFieldInt          28.825 0.029\nCompareAndExchangeReleaseFieldString       33.511 0.038\n\nOddly, this rewrite makes the Unsafe CAS benchmarks regress\na bit on this configuration. However, experiments show that\nadding useless CLZ+LSR operating on a temporary register\n(corresponding to the old code\u0027s result calculation) would\nrestore the performance to the old level. We prefer not to\nadd these useless instructions as the situation is likely\nto be reversed on different CPU cores.\n\nTest: Covered by existing tests.\nTest: testrunner.py --target --32 --optimizing\nTest: Repeat with ART_USE_READ_BARRIER\u003dfalse ART_HEAP_POISONING\u003dtrue.\nTest: Repeat with ART_READ_BARRIER_TYPE\u003dTABLELOOKUP.\nTest: run-gtests.sh\nBug: 71781600\nChange-Id: I591009d7494533cdf60a47be2f8826144e059ff5\n"
    },
    {
      "commit": "2ecdbc45535f7594dc1684a06b47624aaeff8502",
      "tree": "0183e9d51006d721dcdfbe174a1fdaa2c65e36aa",
      "parents": [
        "01ee0f9e9b7852a51d362718080648a0847edaf7"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Nov 30 18:33:20 2020 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Dec 01 13:59:16 2020 +0000"
      },
      "message": "Don\u0027t run 175-alloc-big-bignums for prebuild config\n\nPrebuild configs use profiles that do not include key methods for\nBigInteger so do not run for now:\n\n* Ljava/math/BigInteger;-\u003eadd([IJ)[I\n* Ljava/math/BigInteger;-\u003eadd([I[I)[I\n* Ljava/math/BigInteger;-\u003esubtract([IJ)[I\n\nBug: 174470490\nTest: art/test/testrunner/testrunner.py --32 -j1 --verbose --host -t 175\nChange-Id: Ibb25c06a5633218bdac9509aed47ba8d744a9c53\n"
    },
    {
      "commit": "01ee0f9e9b7852a51d362718080648a0847edaf7",
      "tree": "288955c7f5830d5e1895f1a17207dd32dc1932cd",
      "parents": [
        "74f1b07cb49c2b4dc49b6414b14ae8547a5191e6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 01 08:55:54 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 01 12:13:57 2020 +0000"
      },
      "message": "nterp: only do string.\u003cinit\u003e check on invokedirect.\n\nTest: test.py\nChange-Id: Ifbfdbfd5cbff6ccdeee10ce869e7d6cc54d7f295\n"
    },
    {
      "commit": "74f1b07cb49c2b4dc49b6414b14ae8547a5191e6",
      "tree": "6499bb33ad57a8c8e3e0b425d9997326a5a4c7f8",
      "parents": [
        "dd406c3da681ad716a23890e8a95a82fef26e5b2"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Mon Nov 30 18:08:30 2020 +0000"
      },
      "committer": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Tue Dec 01 12:05:31 2020 +0000"
      },
      "message": "Use tracing session ID received via signal.\n\nWithout this change, two tracing sessions for the same process\nwould lead to the data being written twice to both sessions,\nfrom two forked children.\n\nChange-Id: Idb7d3646054dca69707d3ae55af6741342c9c578"
    },
    {
      "commit": "dd406c3da681ad716a23890e8a95a82fef26e5b2",
      "tree": "509a0e90cf7a9a301a30eb09dfd42275040a395f",
      "parents": [
        "d6bd107ed83502eb0bbaf66911ab036ecf74612d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Nov 22 22:53:18 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 01 10:00:07 2020 +0000"
      },
      "message": "Add an arm32 port of nterp.\n\nCurrently using arm32, will try thumb once this CL lands to compare\nperformance.\n\nTest: test.py, run-libcore-tests, device boots\nBug: 112676029\n\nChange-Id: I6535e2982a3ceed83eba6664fc8ba8609974bc08\n"
    },
    {
      "commit": "d6bd107ed83502eb0bbaf66911ab036ecf74612d",
      "tree": "81686cdcb1e29b7fc077a9ba31db4c448ac7d007",
      "parents": [
        "f6332e8b09599bea16666e9bbc6bdfd0c3fb2cef"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 30 18:42:01 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 30 18:46:19 2020 +0000"
      },
      "message": "Fix invokeinterface sharpened with kRuntimeCall.\n\nBug: 174260111\nBug: 173677667\n\nTest: 728-imt-conflict-zygote\nTest: atest com.android.bootimageprofile.BootImageProfileTest#testSystemServerProfile\nTest: adb install com.google.android.art.apex\nChange-Id: Ie600a0c8c8eb38d9084b796bac9184c06ea0a2f4\n"
    },
    {
      "commit": "f6332e8b09599bea16666e9bbc6bdfd0c3fb2cef",
      "tree": "28e2b3f6bf5a16b85934d9be2edf7b16ed52b77c",
      "parents": [
        "31d21c71b91b42bacab69da39423f04081d9cba4"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon Nov 30 12:52:39 2020 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon Nov 30 17:39:08 2020 +0000"
      },
      "message": "Drop host bionic from prebuilts.\n\nTest: art/build/build-art-module.sh\nBug: 172480615\nChange-Id: I03bb3dc854e796f5abe1d1c7a2aa8d2cce720cf8\n"
    },
    {
      "commit": "31d21c71b91b42bacab69da39423f04081d9cba4",
      "tree": "319985640674f163cf74de02c8d9261b5d057772",
      "parents": [
        "3eb493f8108c4a818919a60a76840e338c41da63"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Fri Nov 27 13:35:34 2020 +0000"
      },
      "committer": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Mon Nov 30 10:27:19 2020 +0000"
      },
      "message": "Unregister profiling signal handler in children.\n\nOtherwise, we could end up with the forked child being the target of\nanother profile.\n\nChange-Id: I63b4d5d7a0d34e1153bf0ae5bf0c4d7698656d32"
    },
    {
      "commit": "3eb493f8108c4a818919a60a76840e338c41da63",
      "tree": "05ef8c03565d508c27107cdc1c790a75d65fc90a",
      "parents": [
        "29ce8439617b7434938a84c7b39cfe0a25212c1e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 27 12:31:06 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 27 12:31:06 2020 +0000"
      },
      "message": "Do a null check on the OatQuickMethodHeader.\n\nEven if we found a method at the bottom of the stack, we may be\nexecuting something unrelated to it. That\u0027s when GetOatQuickMethodHeader\nwill return null. So do a null check and return if we did not find any\ncompiled code.\n\nTest: build\nBug: 173753901\nChange-Id: I05595d601e0523b1254581c306b157b273828c53\n"
    },
    {
      "commit": "29ce8439617b7434938a84c7b39cfe0a25212c1e",
      "tree": "370057e60c655641ab3a4274382661d85cdcd5ec",
      "parents": [
        "d6363c113ceeb913a1d170d9bea708632f5fe8e9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 27 09:50:17 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 27 09:50:17 2020 +0000"
      },
      "message": "Use ANDROID_HOST_OUT in script.\n\nSOONG equivalent seems not defined on bots.\n\nTest: buildbot-build.sh\nChange-Id: I232c8b693a4cd24a6d61abd7214ad85d78172f89\n"
    },
    {
      "commit": "d6363c113ceeb913a1d170d9bea708632f5fe8e9",
      "tree": "e92e3f89fc44582a757f2cc958f067c3a688de23",
      "parents": [
        "fbdda07e7bbf7d835356d98a3ca294e5d2a160e7"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Thu Nov 26 16:49:46 2020 +0000"
      },
      "committer": {
        "name": "vichang",
        "email": "vichang@google.com",
        "time": "Thu Nov 26 23:59:01 2020 +0000"
      },
      "message": "Update buildbot-build.sh to generate system\u0027s linker.config.pb\n\nGenerate system\u0027s linker.config.pb needed by linkerconfig for chroot testing\n\nDue to a change in linkerconfig, i.e.\nhttps://r.android.com/c/platform/system/linkerconfig/+/1468862/8/main.cc,\nlinkerconfig executable requires /system/etc/linker.config.pb for\ncorrect output.\n\nBug: 174146254\nTest: art/tools/run-gtests.sh -j4\nChange-Id: If5d30a73f8008969266d9699f92b0fcff988bf0e\n"
    },
    {
      "commit": "fbdda07e7bbf7d835356d98a3ca294e5d2a160e7",
      "tree": "4422d2bd7fa177c238a798aef405c71c7e4230ce",
      "parents": [
        "f7fcb98ab4740db9d9d8ed7652b89928a2e56f60"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Nov 20 00:13:24 2020 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Nov 26 17:50:27 2020 +0000"
      },
      "message": "Remove TODOs that won\u0027t be addressed.\n\nThe intention was to make TARGET_BUILD_UNBUNDLED work in a full\nplatform tree as well, to be able to remove the conditional that checks\nfor framework/base. However, there is other logic in Soong that checks\nthat directory and the combination doesn\u0027t work well. It\u0027s not worth\nthe effort to sort that out.\n\nTest: N/A - comment changes only\nBug: 159109002\nChange-Id: Ib20fab3ddc24bc0429602275b094f4209e845faa\n"
    },
    {
      "commit": "f7fcb98ab4740db9d9d8ed7652b89928a2e56f60",
      "tree": "5a76fa96e391474345314eac31a6b5e95ec4e10b",
      "parents": [
        "23c926d12f8333d2ca59d6b321064cb9d831f0ad"
      ],
      "author": {
        "name": "Pedro Loureiro",
        "email": "pedroql@google.com",
        "time": "Tue Nov 24 16:44:12 2020 +0000"
      },
      "committer": {
        "name": "Pedro Loureiro",
        "email": "pedroql@google.com",
        "time": "Wed Nov 25 20:19:58 2020 +0000"
      },
      "message": "Check if app has ALLOW_TEST_API_ACCESS change id\n\nAllow apps with the change id ALLOW_TEST_API_ACCESS enabled to\naccess methods annotated with @TestAPi\n\nTest: m test-art-host-gtest-art_runtime_tests\nFixes: 166236554\n\nChange-Id: I78776443dd0b76d8cba24ddfbfb83c3b50b346ab\n"
    },
    {
      "commit": "23c926d12f8333d2ca59d6b321064cb9d831f0ad",
      "tree": "68e7f88f580ff30950605332f2187b18a904add6",
      "parents": [
        "6af553d1f411926acdb96d6fa85fb126b761eada"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Nov 05 12:02:00 2020 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Nov 24 21:13:51 2020 +0000"
      },
      "message": "Do not create symbols for [DEDUPED] methods.\n\nThe incorrect method name keeps confusing developers, despite the tag.\n\nHowever, around half the time, the deduped methods share either the\nsame class name or method name, so include it in the name if possible.\n\nBug: 32949969\nTest: printf the generated method names.\nChange-Id: I9cc6f16da0a91d93aa05df5476011bf180d626d9\n"
    },
    {
      "commit": "6af553d1f411926acdb96d6fa85fb126b761eada",
      "tree": "1d1e8c39f732d7a44d29ac2d7bc9eb74846b8378",
      "parents": [
        "9705c5dc5a1c8f6df6887bc97232e2dcac1fc499"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 17 13:07:31 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 24 13:16:02 2020 +0000"
      },
      "message": "Fix another typo in nterp.\n\nTest: test.py\nChange-Id: Ib58880b1e462e9c47a7b55663f39fd29894d2c7c\n"
    },
    {
      "commit": "9705c5dc5a1c8f6df6887bc97232e2dcac1fc499",
      "tree": "30383323b7599a03eeca74710b6a5239e06c432b",
      "parents": [
        "2324775a451c395ecf2e61867c030724dbcf67c3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 23 22:53:01 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 24 13:10:38 2020 +0000"
      },
      "message": "Add another invoke-range test for String.\u003cinit\u003e.\n\nAdd a variant with multiple arguments to stress backends / nterp.\n\nTest: 723-string-init-range\nChange-Id: If8b760fc1fded9b3f2a8fc6e928532d7bf3c6225\n"
    },
    {
      "commit": "2324775a451c395ecf2e61867c030724dbcf67c3",
      "tree": "6d829173fab4e715982312e2dd326395ba20190c",
      "parents": [
        "538c7ded626452f1dd7f5af796561249c5ba46d2"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon Nov 23 00:31:38 2020 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Nov 24 10:44:46 2020 +0000"
      },
      "message": "Fix \"VNDK version 28 not found\" error when TARGET_BUILD_UNBUNDLED isn\u0027t\nset.\n\nThe problem was that the Soong --dumpvars-mode invocations didn\u0027t have\nTARGET_BUILD_UNBUNDLED set.\n\nThis also works around a bash quirk where an error status from those\ninvocations was ignored.\n\nAlso pass along command line arguments to Soong build invocations, to\ne.g. be able to use --skip-soong-tests locally.\n\nTest: art/build/build-art-module.sh without prior lunch\nTest: art/build/build-art-module.sh --skip-soong-tests\nBug: 172480615\nChange-Id: I1a1b45d7f86d54447880245ea46883be9304aec9\n"
    },
    {
      "commit": "538c7ded626452f1dd7f5af796561249c5ba46d2",
      "tree": "da6a1d61357cd09c4131501031de691491bcdb2a",
      "parents": [
        "037d282cd1fc201601ac52dcfe0f1a4d97ca3790"
      ],
      "author": {
        "name": "Baligh Uddin",
        "email": "baligh@google.com",
        "time": "Fri Nov 20 16:07:47 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 23 19:34:05 2020 +0000"
      },
      "message": "Use the non-debug apex for userdebug builds\n\nUserdebug device builds are providing a debug ART module\n(com.android.art.debug), which prevents the override_apex()\nsoong function to properly override com.android.art module,\nleading to multiple art modules on a device image.\n\nBUG: 173331738\nBUG: 173662703\nTest: TH\nMerged-In: I0cdc4b43bd56156ba5f0bcbafec77701dede2bb0\nChange-Id: I0cdc4b43bd56156ba5f0bcbafec77701dede2bb0\n"
    },
    {
      "commit": "037d282cd1fc201601ac52dcfe0f1a4d97ca3790",
      "tree": "da6a1d61357cd09c4131501031de691491bcdb2a",
      "parents": [
        "6e71c66b35f6a96908e3d371316cba15dcb75d1f"
      ],
      "author": {
        "name": "Andrei Onea",
        "email": "andreionea@google.com",
        "time": "Thu Nov 19 00:20:04 2020 +0000"
      },
      "committer": {
        "name": "Andrei-Valentin Onea",
        "email": "andreionea@google.com",
        "time": "Mon Nov 23 19:02:00 2020 +0000"
      },
      "message": "Add compat framework logging to ART\n\nLog first call for every change id in ART to logcat.\n\nTest: manual\nBug: 153061480\n\nChange-Id: I37ff5b88572478ae6c24b0b7dec2020da03b2172\n"
    },
    {
      "commit": "6e71c66b35f6a96908e3d371316cba15dcb75d1f",
      "tree": "f951953f280de3b48a2f31cafb86cc60c2dc19f2",
      "parents": [
        "21000ae6fe36b525b5b3561b1b35836eb1325dfe"
      ],
      "author": {
        "name": "Baligh Uddin",
        "email": "baligh@google.com",
        "time": "Fri Nov 20 16:07:47 2020 +0000"
      },
      "committer": {
        "name": "Baligh Uddin",
        "email": "baligh@google.com",
        "time": "Mon Nov 23 17:47:22 2020 +0000"
      },
      "message": "Use the non-debug apex for userdebug builds\n\nUserdebug device builds are providing a debug ART module\n(com.android.art.debug), which prevents the override_apex()\nsoong function to properly override com.android.art module,\nleading to multiple art modules on a device image.\n\nBUG: 173331738\nBUG: 173662703\nTest: TH\nMerged-In: I0cdc4b43bd56156ba5f0bcbafec77701dede2bb0\nChange-Id: Ic9b3d470b86500b5acb70540c0ac2bdb83e775dc\n"
    },
    {
      "commit": "21000ae6fe36b525b5b3561b1b35836eb1325dfe",
      "tree": "1c99d2c98a21431fac6a75659769b79b324b53c1",
      "parents": [
        "ac3fcff3ad61fe468517163f47ec2239dff4e17f"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Mon Nov 16 10:47:08 2020 +0000"
      },
      "committer": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Mon Nov 23 09:45:45 2020 +0000"
      },
      "message": "Add \"lo-prio\" tag.\n\nThe tag is being introduced in hiddenapi-flags.csv  so support\nit here too.\n\nTest: Treehugger\nChange-Id: I121e573b2b6a65a164194c83777c4971a5c58673\n"
    },
    {
      "commit": "ac3fcff3ad61fe468517163f47ec2239dff4e17f",
      "tree": "16c6188f3957ea91453d19c46702ecf71cc64eed",
      "parents": [
        "b1cbfc7419eb0491f49c94191bcc920de2a3724e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 17 12:17:58 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 20 11:03:41 2020 +0000"
      },
      "message": "arm: Implement VarHandle.get/set intrinsics.\n\nIncluding Opaque, Acquire/Release and Volatile variants.\nRefactor Unsafe.get/put operations to share code with the\nnew VarHandle intrinsics, fixing potentially non-atomic\n64-bit \"Ordered\" operations in the process.\n\nUsing benchmarks provided by\n    https://android-review.googlesource.com/1420959\non blueline little cores with fixed frequency 1420800:\n                             before after\nGetStaticFieldInt            23.937 0.014\nGetStaticFieldString         24.497 0.019\nGetFieldInt                  27.510 0.016\nGetFieldString               28.000 0.021\nGetAcquireStaticFieldInt     23.953 0.017\nGetAcquireStaticFieldString  24.532 0.021\nGetAcquireFieldInt           27.457 0.020\nGetAcquireFieldString        28.137 0.023\nGetOpaqueStaticFieldInt      23.955 0.014\nGetOpaqueStaticFieldString   24.530 0.019\nGetOpaqueFieldInt            27.461 0.016\nGetOpaqueFieldString         28.164 0.021\nGetVolatileStaticFieldInt    23.971 0.017\nGetVolatileStaticFieldString 24.612 0.021\nGetVolatileFieldInt          27.518 0.020\nGetVolatileFieldString       28.178 0.023\nSetStaticFieldInt            25.291 0.014\nSetStaticFieldString         28.873 0.018\nSetFieldInt                  28.676 0.016\nSetFieldString               32.286 0.021\nSetVolatileStaticFieldInt    25.339 0.021\nSetVolatileStaticFieldString 28.904 0.028\nSetVolatileFieldInt          28.730 0.023\nSetVolatileFieldString       32.322 0.030\nSetOpaqueStaticFieldInt      25.343 0.014\nSetOpaqueStaticFieldString   28.992 0.018\nSetOpaqueFieldInt            28.749 0.016\nSetOpaqueFieldString         32.317 0.022\nSetReleaseStaticFieldInt     25.354 0.016\nSetReleaseStaticFieldString  28.906 0.025\nSetReleaseFieldInt           28.678 0.017\nSetReleaseFieldString        32.262 0.027\n\nTest: Covered by existing test 712-varhandle-invocations.\nTest: testrunner.py --target --32 --optimizing\nTest: Repeat with ART_USE_READ_BARRIER\u003dfalse ART_HEAP_POISONING\u003dtrue.\nTest: Repeat with ART_READ_BARRIER_TYPE\u003dTABLELOOKUP.\nBug: 71781600\nChange-Id: I0ac6d0c154791d787d5c4abd8095e3c2eee9abbb\n"
    },
    {
      "commit": "b1cbfc7419eb0491f49c94191bcc920de2a3724e",
      "tree": "0db3d7bccc9f5321305e76b1f73d2fae231581cf",
      "parents": [
        "a4731bd72773272f7009f0dbac21258061c7d5e4"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Nov 18 23:02:39 2020 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Nov 19 17:46:52 2020 +0000"
      },
      "message": "Add script to build the ART Module prebuilts.\n\nTest: art/build/build-art-module.sh on master and master-art\nBug: 172480615\nChange-Id: I3632e54adec2db851bd8280221cc1ae60df6c8e8\n"
    },
    {
      "commit": "a4731bd72773272f7009f0dbac21258061c7d5e4",
      "tree": "22dd4b8935260097842b0f4cce6e310f9ef54a65",
      "parents": [
        "86fe9b85c5243debe5f695c1625bae03bf738452"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Nov 16 14:56:50 2020 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Nov 19 06:56:34 2020 +0000"
      },
      "message": "Dexoptanalyzer: expose return codes\n\nMove ReturnCode to dexoptanalyzer.h and place in a new\nart::dexoptanalyzer namespace.\n\nBug: 160683548\nTest: m\nChange-Id: I0be8a9a99b0371cd7bea0c1a744f7c7159b61e20\n"
    },
    {
      "commit": "86fe9b85c5243debe5f695c1625bae03bf738452",
      "tree": "5de78b8292a0225b617e1825817cbd12b46b6fa3",
      "parents": [
        "cc9df4fa1e666b90c5dd8eac94773763f8421f1e"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Nov 16 16:54:01 2020 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Nov 18 20:26:53 2020 +0000"
      },
      "message": "Revert^4 \"Partial LSE analysis \u0026 store removal\"\n\nWe incorrectly handled merging unknowns in some situations.\nSpecifically in cases where we are unable to materialize loop-phis we\ncould end up with PureUnknowns which could end up hiding stores that\nneed to be kept.\n\nIn an unrelated issue we were incorrectly considering some values as\nescapes when live at the point of an invoke. Since\nSearchPhiPlaceholdersForKeptStores used a more precise notion of\nescapes we could end up removing stores without being able to replace\nthe values.\n\nThis reverts commit 2316b3a0779f3721a78681f5c70ed6624ecaebef.\nThis unreverts commit b6837f0350ff66c13582b0e94178dd5ca283ff0a\nThis reverts commit fe270426c8a2a69a8f669339e83b86fbf40e25a1.\nThis unreverts commit bb6cda60e4418c0ab557ea4090e046bed8206763.\n\nBug: 67037140\nBug: 173120044\n\nReason for revert: Fixed issue causing incorrect store elimination\nTest: ./test.py --host\nTest: Boot cuttlefish\n      atest FrameworksServicesTests:com.android.server.job.BackgroundRestrictionsTest#testPowerWhiteList\n\nChange-Id: I2ebae9ccfaf5169d551c5019b547589d0fce1dc9\n"
    },
    {
      "commit": "cc9df4fa1e666b90c5dd8eac94773763f8421f1e",
      "tree": "91014ef20a0f1913b8a85d9209804e5e63f4b9a1",
      "parents": [
        "a5c1a82dc072fe29ff4d71a1abc88d713752323f"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Aug 13 14:57:41 2020 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Nov 18 16:04:08 2020 +0000"
      },
      "message": "Extend ART sdk with prebuilts needed to build the platform\n\nMembers which are common to android and linux but are not needed for\nwindows are placed in the linux target which applies to both android\nand host linux but not windows (or darwin which is disabled anyway).\n\nTest: Build zip snapshots of ART sdk and module_exports.\n      Move art source directories away.\n      Unpack zip snapshots into prebuilts/modules_sdk/art directory\n      m nothing\nBug: 172480615\nChange-Id: I01b493436a021054c03c420a52cfae35dba15181\n"
    },
    {
      "commit": "a5c1a82dc072fe29ff4d71a1abc88d713752323f",
      "tree": "dbdb5ccd0c9d23f5b609381bca1fbceb901f7889",
      "parents": [
        "dc75b3f0d2f7363ad7a7f9356bc931486e17e4f5"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Nov 10 14:58:06 2020 -0800"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Nov 18 14:55:25 2020 +0000"
      },
      "message": "Implement Reference.refersTo()\n\nAvoid Reference.get(), so that we\n\na) Don\u0027t block for the GC when weak ref access is disabled.\nb) Don\u0027t preserve a referent just because we compared to it.\n\nStrengthen ConcurrentCopying::Copy memory ordering guarantees to make\nthis possible. In the process, weaken the existing fence to a\nconstructor fence, which should sometimes be slightly cheaper than\na release fence, which will be implemented as a full fence on ARM.\n\nWhile looking at forwarding reference memory ordering, removed a\nlong identified unnecessary seq_cst memory access in\nIsNullOrMarkedHeapReference.\n\nTest: boot AOSP, atest ReferenceTest in libcore\nBug: 172573708\nChange-Id: Ie716df684be94006353a54226f85ea93a7254b6c\n"
    },
    {
      "commit": "dc75b3f0d2f7363ad7a7f9356bc931486e17e4f5",
      "tree": "2f11c32969faec050d3c1aaca3dfb1bc183adea4",
      "parents": [
        "7b55065f9fd05e9610871e1598972fc8fd45e9ea"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 18 09:06:25 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 18 12:01:30 2020 +0000"
      },
      "message": "Fix braino when adjusting alignment.\n\nIssue spotted by Greg Kaiser.\n\nTest: ./art/test/testrunner/run_build_test_target.py -j80 art-heap-poisoning\nBug: 112676029\nChange-Id: I3cbe772c5806b11132a282c1db2ccd198b5bbace\n"
    },
    {
      "commit": "7b55065f9fd05e9610871e1598972fc8fd45e9ea",
      "tree": "bb6fa5ec5f10a406b418b5bfcb04f892db9a3aff",
      "parents": [
        "c2d5c707a2cfeaaafcf8f5d7e5193dd2d5c59592"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Nov 17 10:12:52 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 18 01:57:51 2020 +0000"
      },
      "message": "Add dex_instruction_list.h to mterp genrule tools\n\ndex_instruction_list.h is read by gen_mterp.py by searching relative\nto the script, add it to tool_files so it gets a dependency and\nso it gets copied if tools are sandboxed.\n\nBug: 124313442\nTest: m checkbuild\nChange-Id: I85f9e154007c185cd5bef1162137986898efb629\n"
    },
    {
      "commit": "c2d5c707a2cfeaaafcf8f5d7e5193dd2d5c59592",
      "tree": "5d978a37a409b8801e6e00178a05c0857cef58ef",
      "parents": [
        "cfc6e9d55263d49e2d8d19a4a3a7d38567bb4fb9"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 13 15:28:33 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 17 09:11:29 2020 +0000"
      },
      "message": "arm64: Implement VarHandle GetAndBitwiseOp intrinsics.\n\nUsing benchmarks provided by\n    https://android-review.googlesource.com/1420959\non blueline little cores with fixed frequency 1420800:\n                                      before after\nGetAndBitwiseOrStaticFieldInt         23.917 0.026\nGetAndBitwiseOrFieldInt               26.828 0.026\nGetAndBitwiseOrAcquireStaticFieldInt  23.908 0.025\nGetAndBitwiseOrAcquireFieldInt        26.822 0.026\nGetAndBitwiseOrReleaseStaticFieldInt  23.906 0.026\nGetAndBitwiseOrReleaseFieldInt        26.831 0.026\nGetAndBitwiseXorStaticFieldInt        23.829 0.026\nGetAndBitwiseXorFieldInt              26.784 0.026\nGetAndBitwiseXorAcquireStaticFieldInt 23.841 0.025\nGetAndBitwiseXorAcquireFieldInt       26.788 0.026\nGetAndBitwiseXorReleaseStaticFieldInt 23.835 0.026\nGetAndBitwiseXorReleaseFieldInt       26.788 0.026\nGetAndBitwiseAndStaticFieldInt        23.874 0.026\nGetAndBitwiseAndFieldInt              26.797 0.026\nGetAndBitwiseAndAcquireStaticFieldInt 23.871 0.025\nGetAndBitwiseAndAcquireFieldInt       26.792 0.026\nGetAndBitwiseAndReleaseStaticFieldInt 23.865 0.026\nGetAndBitwiseAndReleaseFieldInt       26.786 0.026\n\nTest: Covered by existing test 712-varhandle-invocations.\nTest: testrunner.py --target --64 --optimizing\nBug: 71781600\nChange-Id: I8263f6b1b125c46190da06a9a05e60335bf69992\n"
    },
    {
      "commit": "cfc6e9d55263d49e2d8d19a4a3a7d38567bb4fb9",
      "tree": "65fa28b14ebe58f52eb5d00e8ebf6c270cbff216",
      "parents": [
        "07b62e3d0808cc0890717a3a589c1f7b1ac51e5c"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Nov 13 10:54:13 2020 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Mon Nov 16 23:09:16 2020 +0000"
      },
      "message": "Switch to the new kernel API for obtaining fault address tag bits.\n\nThe discussion on LKML is converging on v16 of the fault address tag\nbits patch [1]. In this version of the patch the presence of the tag\nbits in si_addr is controlled by a sa_flags bit, and a protocol is\nintroduced to allow userspace to detect kernel support for sa_flags\nbits. Update the tombstone signal handler to use this API to read\nthe tag bits, update the interceptors in libsigchain to implement\nthe flag support detection protocol and hide the tag bits in si_addr\nfrom chained signal handlers that did not request them to match the\nkernel behavior.\n\n[1] https://lore.kernel.org/linux-arm-kernel/cover.1605235762.git.pcc@google.com/\n\nChange-Id: I57f24c07c01ceb3e5b81cfc15edf559ef7dfc740\n"
    },
    {
      "commit": "07b62e3d0808cc0890717a3a589c1f7b1ac51e5c",
      "tree": "d15c79302f3498278e9d22c6319e8e02a3087973",
      "parents": [
        "a07de551da5147f3635c665a31f262cf65647118"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat Nov 07 15:54:08 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 16 17:35:42 2020 +0000"
      },
      "message": "Change vdex format to easily access verification data per class.\n\nSee changes in vdex_file.h to see the changes in format.\nAlongside, remove the redefined_classes_ set, which is not needed now\nthat we record verification data per class.\n\nTest: test.py\nBug: 112676029\n\nChange-Id: I7cc1e9ba465303f105cddec4ce86c4efaaed7e7b\n"
    },
    {
      "commit": "a07de551da5147f3635c665a31f262cf65647118",
      "tree": "d6f8199cc45ab8b6ef779f97ef0e8f0d04520ef8",
      "parents": [
        "4483d2a4ed7e6c018e304c234484940ec0476039"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Sun Nov 01 22:42:43 2020 +0000"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Mon Nov 16 14:31:54 2020 +0000"
      },
      "message": "Revert^2 \"ART: Fix breaking changes from recent VIXL update.\"\n\nThis reverts commit eeaf47f7c9bbad29afab84a0f199a5751d9c616b.\n\nAlso fixes the gtest failure when VIXL simulator stack\nwas overflown.\n\nTest: test-art-target, test-art-host.\nTest: ART_USE_READ_BARRIER\u003dfalse \\\n      SANITIZE_HOST\u003daddress \\\n      ASAN_OPTIONS\u003d\u0027detect_leaks\u003d0\u0027 \\\n      SOONG_ALLOW_MISSING_DEPENDENCIES\u003dtrue \\\n      ART_HEAP_POISONING\u003dtrue m test-art-host-gtest\n\nChange-Id: Ibc1f21204940083879f767d6993127bdde8326af\n"
    },
    {
      "commit": "4483d2a4ed7e6c018e304c234484940ec0476039",
      "tree": "fffe451ea356b6961c4734b743e5b7d2c2585565",
      "parents": [
        "52e1b92ca37d7bc850339ea3fb769501ae4f3fa8"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 16 09:42:20 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 16 13:29:36 2020 +0000"
      },
      "message": "Fix typo in nterp.\n\nTypo was benign as the logic between the non-range and range variants\nare the same.\n\nTest: test.py\nBug: 112676029\nChange-Id: I67388ea207de7938e5f0a232886475e8b90a54cd\n"
    },
    {
      "commit": "52e1b92ca37d7bc850339ea3fb769501ae4f3fa8",
      "tree": "da56d80116ee19e623a4d9b606b85a8a3956c453",
      "parents": [
        "e1510d4b8aff0d025adacac8e6d42fa9d1dcedf9"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Nov 11 03:04:02 2020 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon Nov 16 11:29:59 2020 +0000"
      },
      "message": "Move timezone-host to the i18n-module.\n\nExport instead art.module.api.annotations which it needs to build\nthere.\n\nTest: See https://r.android.com/1495078\nBug: 172480615\nChange-Id: I9a0527967678351d958e8f7e5428c7cbd5ce69d6\n"
    },
    {
      "commit": "e1510d4b8aff0d025adacac8e6d42fa9d1dcedf9",
      "tree": "77150893b2e584a1913dddd84287b4a5312c4c19",
      "parents": [
        "436977d92a803be16ba2ad825793daeb462ce373"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 13 11:07:13 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Nov 16 10:37:00 2020 +0000"
      },
      "message": "arm64: Implement VarHandle GetAndAdd intrinsics.\n\nUsing benchmarks provided by\n    https://android-review.googlesource.com/1420959\non blueline little cores with fixed frequency 1420800:\n                                 before after\nGetAndAddStaticFieldInt          23.640 0.026\nGetAndAddFieldInt                26.673 0.026\nGetAndAddStaticFieldFloat        23.588 0.029\nGetAndAddFieldFloat              26.732 0.029\nGetAndAddAcquireStaticFieldInt   23.618 0.025\nGetAndAddAcquireFieldInt         26.677 0.026\nGetAndAddAcquireStaticFieldFloat 23.592 0.028\nGetAndAddAcquireFieldFloat       26.736 0.029\nGetAndAddReleaseStaticFieldInt   23.612 0.026\nGetAndAddReleaseFieldInt         26.708 0.026\nGetAndAddReleaseStaticFieldFloat 23.596 0.029\nGetAndAddReleaseFieldFloat       26.747 0.029\n\nTest: Covered by existing test 712-varhandle-invocations.\nTest: testrunner.py --target --64 --optimizing\nBug: 71781600\nChange-Id: I3e435a3635f2d7164b9b410f5588fefb076edd07\n"
    },
    {
      "commit": "436977d92a803be16ba2ad825793daeb462ce373",
      "tree": "5eeb799688f4990af7d82f4f83e2c57e79229935",
      "parents": [
        "cc5629c1480b3be6189391b335d17911c9ddb6ad"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 12 12:41:06 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 16 09:58:38 2020 +0000"
      },
      "message": "arm64: VarHandle intrinsics improvements.\n\nUnify allocation of the temporary register for offset.\nWe now allocate an extra temporary for most Get intrinsics\nbut arm64 has enough registers and this simplifies the code.\n\nAdd bug number to cases unimplemented due to b/173104084.\n\nAnd use CBNZ instead of CMP+BNE when checking the primitive\ntype for references (kPrimNot has value 0).\n\nTest: testrunner.py --target --64 --optimizing\nBug: 71781600\nBug: 173104084\nChange-Id: Ia39f4ff2810ef2e310545b65792b2f988c8c38fe\n"
    },
    {
      "commit": "cc5629c1480b3be6189391b335d17911c9ddb6ad",
      "tree": "8fe09ed193c0514e614ea6e3b3bc2a17f453d5ca",
      "parents": [
        "2316b3a0779f3721a78681f5c70ed6624ecaebef"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Oct 30 16:12:01 2020 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Nov 14 21:55:00 2020 +0000"
      },
      "message": "Clarify allocation entry point semantics\n\nTest: Treehugger\nBug: 171993478\nChange-Id: I03a95b7028ef98a5438011ce53b43de44f23bec8\n"
    },
    {
      "commit": "2316b3a0779f3721a78681f5c70ed6624ecaebef",
      "tree": "8aa4682729b839a97b2578e6cbe05ee5d35be923",
      "parents": [
        "aeb7f9f8fe718219cfb04e0da5df62683250477d"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Sat Nov 14 01:28:22 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Nov 14 02:54:26 2020 +0000"
      },
      "message": "Revert^3 \"Partial LSE analysis \u0026 store removal\"\n\nThis reverts commit b6837f0350ff66c13582b0e94178dd5ca283ff0a\nThis unreverts commit fe270426c8a2a69a8f669339e83b86fbf40e25a1.\nThis rereverts commit bb6cda60e4418c0ab557ea4090e046bed8206763.\n\nBug: 67037140\nBug: 173120044\n\nReason for revert: Git-blame seems to point to the CL as cause of\nb/173120044. Revert during investigation.\n\nChange-Id: I46f557ce79c15f07f4e77aacded1926b192754c3\n"
    },
    {
      "commit": "aeb7f9f8fe718219cfb04e0da5df62683250477d",
      "tree": "4507c5ba17ca166302a5c10b25f12080fc635125",
      "parents": [
        "b6837f0350ff66c13582b0e94178dd5ca283ff0a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 11 13:39:18 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 13 14:15:59 2020 +0000"
      },
      "message": "Few cleanups in nterp.\n\n- No need to manually save the ArtMethod, it\u0027s already saved in\nSPILL_ALL_ARGUMENTS\n- Remove unused parameter to SET_VREG_OBJECT\n- Fix comment on common_errArrayIndex\n\nTest: test.py\nBug: 112676029\nChange-Id: I012a2ccac96c175be6107e762c620b7d5eba8f1c\n"
    },
    {
      "commit": "b6837f0350ff66c13582b0e94178dd5ca283ff0a",
      "tree": "f79fff81352545efe967850e3d17e32255dcfecd",
      "parents": [
        "32c2eb81320f24b5bab24754204b8be95faa08b0"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Nov 12 17:05:28 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 13 10:07:21 2020 +0000"
      },
      "message": "Revert^2 \"Partial LSE analysis \u0026 store removal\"\n\nA ScopedArenaAllocator in a single test was accidentally loaded using\noperator new which is not supported. This caused a memory leak.\n\nThis reverts commit fe270426c8a2a69a8f669339e83b86fbf40e25a1.\nThis unreverts commit bb6cda60e4418c0ab557ea4090e046bed8206763.\n\nBug: 67037140\n\nReason for revert: Fixed memory leak in\nLoadStoreAnalysisTest.PartialEscape test case\n\nTest: SANITIZE_HOST\u003daddress ASAN_OPTIONS\u003ddetect_leaks\u003d0 m test-art-host-gtest-dependencies\n      Run art_compiler_tests\n\nChange-Id: I34fa2079df946ae54b8c91fa771a44d56438a719\n"
    },
    {
      "commit": "32c2eb81320f24b5bab24754204b8be95faa08b0",
      "tree": "6c8d6978f05d2046baf26829d7ba00ae8ef647ad",
      "parents": [
        "b209a043a0d5965f25dcb9fde2049df493dcf602"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 10 16:58:47 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 13 08:59:35 2020 +0000"
      },
      "message": "arm64: Implement VarHandle GetAndSet intrinsics.\n\nAdd an extra test to 160-read-barrier-stress. The main path\nis sufficiently exercised by 712-varhandle-invocations.\n\nUsing benchmarks provided by\n    https://android-review.googlesource.com/1420959\non blueline little cores with fixed frequency 1420800:\n                                  before after\nGetAndSetStaticFieldInt           23.809 0.027\nGetAndSetStaticFieldString        27.112 0.035\nGetAndSetFieldInt                 26.988 0.028\nGetAndSetFieldString              29.626 0.034\nGetAndSetAcquireStaticFieldInt    23.900 0.025\nGetAndSetAcquireStaticFieldString 27.084 0.034\nGetAndSetAcquireFieldInt          26.972 0.026\nGetAndSetAcquireFieldString       29.617 0.032\nGetAndSetReleaseStaticFieldInt    23.876 0.027\nGetAndSetReleaseStaticFieldString 27.093 0.035\nGetAndSetReleaseFieldInt          26.969 0.028\nGetAndSetReleaseFieldString       29.609 0.034\n\nTest: testrunner.py --target --64 --optimizing\nTest: Repeat with ART_USE_READ_BARRIER\u003dfalse ART_HEAP_POISONING\u003dtrue.\nTest: Repeat with ART_READ_BARRIER_TYPE\u003dTABLELOOKUP.\n      (Ignore two pre-existing checker test failures.)\nBug: 71781600\nChange-Id: I6a03858b1446354919cd4d08348ef93b725aafc6\n"
    },
    {
      "commit": "b209a043a0d5965f25dcb9fde2049df493dcf602",
      "tree": "a0cd43a6e08a9cc2c497014d56721c63f95c26f1",
      "parents": [
        "7c618803036b71631fda8cfb4f8f6615fe88d498"
      ],
      "author": {
        "name": "yawanng",
        "email": "yawanng@google.com",
        "time": "Wed Nov 11 20:17:56 2020 +0000"
      },
      "committer": {
        "name": "Yan Wang",
        "email": "yawanng@google.com",
        "time": "Fri Nov 13 04:16:21 2020 +0000"
      },
      "message": "profman: Change the default new min methods/classes percent change\nfor compilation to 20%.\n\nCherry-pick from 3d312ee3ba7a25e55bf8961a30331c9cf468b95d\n\nBug: 172490638\nTest: run art_profman_tests\nChange-Id: I771c8b99867fd11161ba3bdf5a2e3fa337abafa8\nMerged-In: I771c8b99867fd11161ba3bdf5a2e3fa337abafa8\n"
    },
    {
      "commit": "7c618803036b71631fda8cfb4f8f6615fe88d498",
      "tree": "4e7b6f95c1cb0b3fae8b93d1176390203e7812f2",
      "parents": [
        "7c51d9d1b08aa1919465efd3b5520b530d761f0e"
      ],
      "author": {
        "name": "yawanng",
        "email": "yawanng@google.com",
        "time": "Thu Nov 05 20:02:27 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 13 03:01:35 2020 +0000"
      },
      "message": "profman: Move min new classes and methods limit to argument.\n\nCherry-pick from 6760f0d7c3d14b5bc54f431b9fdde1d68b4a51ad\n\nThis will allow an easy change to these value from framework.\n\nBug: 172490638\nTest: run art_profman_tests\nChange-Id: Iab027f7cbf5da0c14b2854900384df93c3a3e2e7\nMerged-In: Iab027f7cbf5da0c14b2854900384df93c3a3e2e7\n"
    },
    {
      "commit": "7c51d9d1b08aa1919465efd3b5520b530d761f0e",
      "tree": "2253373c706d95dcaed19939078d391746ee5676",
      "parents": [
        "1ca19bca50d2239d176992d106dada4730a2c014"
      ],
      "author": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Tue Nov 10 15:35:08 2020 -0800"
      },
      "committer": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Fri Nov 13 02:56:32 2020 +0000"
      },
      "message": "Hide Value class constructor\n\nValue class was constructable and it had hidden abstract methods.\nThis is an issue, Changing to private constructor so that internal\nimplementors can still call it, but this class can no longer be\nimplemented by external implementors.\n\nTest: make update-api\nMerged-In: Ifb9849e478cff31d0ad2d2fd5d518c207a8764eb\nChange-Id: Ifb9849e478cff31d0ad2d2fd5d518c207a8764eb\n"
    },
    {
      "commit": "1ca19bca50d2239d176992d106dada4730a2c014",
      "tree": "0a950d81c6de301899ecde5850adf8f13fd61b38",
      "parents": [
        "fe270426c8a2a69a8f669339e83b86fbf40e25a1"
      ],
      "author": {
        "name": "Daniil Riazanovskiy",
        "email": "riazanovskiy@google.com",
        "time": "Thu Oct 01 00:32:21 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Nov 12 17:30:15 2020 +0000"
      },
      "message": "Build Checker as python binary for Tradefed test suites\n\nTest: m mts; mts-tradefed run commandAndExit mts-art\n\nBug: 162408889\n\nChange-Id: I737e7593c214413308ac1d8092433305f1752867\n"
    },
    {
      "commit": "fe270426c8a2a69a8f669339e83b86fbf40e25a1",
      "tree": "c048fdec8e37cefb7238218a087709c01d5d3923",
      "parents": [
        "e17530a19a717879c8dd8e70073de6aaf4ee455f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 12 14:12:52 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 12 16:33:50 2020 +0000"
      },
      "message": "Revert \"Partial LSE analysis \u0026 store removal\"\n\nThis reverts commit bb6cda60e4418c0ab557ea4090e046bed8206763.\n\nBug: 67037140\n\nReason for revert: memory leak detected in the test.\n\nChange-Id: I81cc2f61494e96964d8be40389eddcd7c66c9266\n"
    },
    {
      "commit": "e17530a19a717879c8dd8e70073de6aaf4ee455f",
      "tree": "745e7e23519d37ae5fcafcf9f63c5e707779ce1b",
      "parents": [
        "bb6cda60e4418c0ab557ea4090e046bed8206763"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 11 17:02:26 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 12 10:53:53 2020 +0000"
      },
      "message": "arm64: Fix VarHandle intrinsics for non-Baker read barrier.\n\nIt turns out the artReadBarrierSlow() ignores the passed\nreference and reloads the field from the object. This makes\nsome of the VarHandle intrinsics broken for the TABLELOOKUP\nconfiguration. This change disables the broken variants of\nthese intrinsics (but leaves support code in place) and\ncleans up locations for those variants that remain active.\n\nAlso refactor reference argument checks and do a few other\nsmall cleanups (renames, comment updates, etc.).\n\nTest: testrunner.py --target --64 --optimizing\nTest: Repeat with ART_USE_READ_BARRIER\u003dfalse ART_HEAP_POISONING\u003dtrue.\nTest: Repeat with ART_READ_BARRIER_TYPE\u003dTABLELOOKUP.\n      (Ignore two pre-existing checker test failures.)\nBug: 71781600\nChange-Id: I8d28a4883771a8db2b283737bb643b36c7038c26\n"
    },
    {
      "commit": "bb6cda60e4418c0ab557ea4090e046bed8206763",
      "tree": "f6b94510108cb653a80e0ea14d50ad6616c9f44a",
      "parents": [
        "670ff8854cf075617e0abee77b2259903757d86e"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jul 09 13:24:56 2020 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 12 02:08:44 2020 +0000"
      },
      "message": "Partial LSE analysis \u0026 store removal\n\nThis is the first piece of partial LSE for art. This CL adds analysis\ntools needed to implement partial LSE. More immediately, it improves\nLSE so that it will remove stores that are provably non-observable\nbased on the location they occur. For example:\n\n```\nFoo o \u003d new Foo();\nif (xyz) {\n  check(foo);\n  foo.x++;\n} else {\n  foo.x \u003d 12;\n}\nreturn foo.x;\n```\n\nThe store of 12 can be removed because the only escape in this method\nis unreachable and was not executed by the point we reach the store.\n\nThe main purpose of this CL is to add the analysis tools needed to\nimplement partial Load-Store elimination. Namely it includes tracking\nof which blocks are escaping and the groups of blocks that we cannot\nremove allocations from.\n\nThe actual impact of this change is incredibly minor, being triggered\nonly once in a AOSP code. go/lem shows only minor effects to\ncompile-time and no effect on the compiled code. See\ngo/lem-allight-partial-lse-2 for numbers. Compile time shows an\naverage of 1.4% regression (max regression is 7% with 0.2 noise).\n\nThis CL adds a new \u0027reachability\u0027 concept to the HGraph. If this has\nbeen calculated it allows one to quickly query whether there is any\nexecution path containing two blocks in a given order. This is used to\ndefine a notion of sections of graph from which the escape of some\nallocation is inevitable.\n\nTest: art_compiler_tests\nTest: treehugger\nBug: 67037140\nChange-Id: I0edc8d6b73f7dd329cb1ea7923080a0abe913ea6\n"
    },
    {
      "commit": "670ff8854cf075617e0abee77b2259903757d86e",
      "tree": "70378b9ef1c6da3025dccd71467b06548eae725c",
      "parents": [
        "e0e1f56d5af0fe0d5de1e39174790898c377f8e6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 06 18:00:39 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 11 18:26:27 2020 +0000"
      },
      "message": "JIT: Only toggle write permissions in single view.\n\nDual view is here to protect inadvertent / malicious writes already.\n\nTest: test.py\nChange-Id: I26d0d16355dac955ce8ef2856db33241b3f353ff\n"
    },
    {
      "commit": "e0e1f56d5af0fe0d5de1e39174790898c377f8e6",
      "tree": "fb59f8cc17a4c2ec4b2a79c2278c07fd317048bf",
      "parents": [
        "eff9b011ddad5119ac6ba609d572e9b265c6d878"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 11 12:40:14 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 11 15:48:40 2020 +0000"
      },
      "message": "Disable test 160 for (jvmti|redefine)-stress.\n\nThe test now uses VarHandles that are not supported\nin these configurations.\n\nTest: testrunner.py --target --64 --jvmti-stress -t 160\nTest: testrunner.py --target --64 --redefine-stress -t 160\nBug: 37272822\nBug: 71781600\nChange-Id: I3e064fe7a0aaaae404ed4ec8adad6de3b62ea526\n"
    },
    {
      "commit": "eff9b011ddad5119ac6ba609d572e9b265c6d878",
      "tree": "1379b2a49120fe78eb7075409b744078ddbbed54",
      "parents": [
        "37f4945a45eeb5665b6d75eddc29906ac7759370"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 06 14:22:08 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 11 15:21:32 2020 +0000"
      },
      "message": "Move VarHandle fences to unreachable intrinsics.\n\nThese were erroneously moved to unimplemented intrinsics in\n    https://android-review.googlesource.com/1372099 .\n\nTest: m\nBug: 71781600\nChange-Id: Ic348ec1be92e7db8722575dd44f22826e770cc75\n"
    },
    {
      "commit": "37f4945a45eeb5665b6d75eddc29906ac7759370",
      "tree": "8db503a049364f601284df095b3e3f9e1fbd6579",
      "parents": [
        "3822f5bc32291d1d907af5be4a96eb77b6b0fd65"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Nov 10 14:35:31 2020 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Nov 11 09:06:42 2020 +0000"
      },
      "message": "run-libcore-tests.sh: add --gcstress command line flag\n\nSimplify selecting gcstress mode, previously required --vm-arg\n-Xgc:gcstress.\n\nTest: run-libcore-tests.sh --mode\u003dhost --debug --gcstress\nTest: run-libcore-tests.sh --mode\u003dhost --debug --vm-arg -Xgc:gcstress\nChange-Id: I0f99dbc41a374ae578c93f4c0e59173a92c42d16\n"
    },
    {
      "commit": "3822f5bc32291d1d907af5be4a96eb77b6b0fd65",
      "tree": "553f86241dc339b07e1b1a0a40cf5fa51fdb6a61",
      "parents": [
        "4a2fc8a2ef5b14006d177fcef1030106bf7698a6"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Nov 10 14:19:01 2020 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Nov 11 09:06:42 2020 +0000"
      },
      "message": "run-libcore-tests.sh: add timeout for host + debug + gcstress\n\nBug: 161420453\nTest: run-libcore-tests.sh --mode\u003dhost --vm-arg -Xgc:gcstress \\\n        -- org.apache.harmony.tests.java.text.DateFormatTest\nTest: run-libcore-tests.sh --mode\u003dhost --debug --vm-arg -Xgc:gcstress \\\n        -- org.apache.harmony.tests.java.text.DateFormatTest\nChange-Id: I1f2aebc00944802e805297bea7af5501f83791df\n"
    },
    {
      "commit": "4a2fc8a2ef5b14006d177fcef1030106bf7698a6",
      "tree": "0137a9e63595fe088117147c2d916a550b37918e",
      "parents": [
        "dada83e04cac1177c1ed37e578bac6e696700e7c"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Nov 10 13:42:51 2020 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Nov 11 09:06:42 2020 +0000"
      },
      "message": "run-libcore-tests.sh: add timeout for heap poisoning + debug + device\n\nIncrease timeout for device tests using debug art with heap poisoning.\n\nBug: 161420453\nTest: ART_HEAP_POISONING\u003dtrue run-libcore-tests.sh --mode\u003ddevice \\\n  --debug -- org.apache.harmony.tests.java.text.DateFormatTest\nTest: ART_HEAP_POISONING\u003dfalse run-libcore-tests.sh --mode\u003ddevice \\\n  --debug -- org.apache.harmony.tests.java.text.DateFormatTest\nChange-Id: I33ba65411d39107c517e14b558c11fc7aca6b62f\n"
    },
    {
      "commit": "dada83e04cac1177c1ed37e578bac6e696700e7c",
      "tree": "0d2ecebd64dd3c2f7e0d025b28002c9a73043da1",
      "parents": [
        "5464fc680ad05f49bf8af4c29baa18ed224e8023"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Nov 10 11:13:38 2020 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Nov 11 09:06:42 2020 +0000"
      },
      "message": "run-libcore-tests.sh: add --timeout command-line option\n\nThis is to force timeout issues when working on vogar.\n\nBug: 161420453\nTest: run-libcore-tests.sh --mode\u003dhost --variant\u003dX32 --timeout 100\nChange-Id: Ieff1e0559e01a328b87ffedd62589b44820b0890\n"
    },
    {
      "commit": "5464fc680ad05f49bf8af4c29baa18ed224e8023",
      "tree": "850aa38438b3018bed5d0129a3a691f68eab92e1",
      "parents": [
        "fc4f698dca5997b0356de4d90d57e459b66eef15"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Nov 10 15:54:58 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Nov 11 08:47:39 2020 +0000"
      },
      "message": "Document the new behavior of ART run-tests\u0027 check step.\n\nAdjust `test/README.md` to mention the separate verification of ART\nrun-tests\u0027 standard output and standard error.\n\nTest: n/a (documentation-only change)\nBug: 171865375\nChange-Id: Id7cbbb7a16720b9ab05ca7720df4bd9033957c6a\n"
    },
    {
      "commit": "fc4f698dca5997b0356de4d90d57e459b66eef15",
      "tree": "509c8c97ec6b0c839a195a7d9ce0ad6f5a15ec1d",
      "parents": [
        "1bff99f706a1b1a4c1799e0f037d9f59f303587a"
      ],
      "author": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Mon Nov 09 16:00:38 2020 -0800"
      },
      "committer": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Tue Nov 10 17:57:41 2020 +0000"
      },
      "message": "Print CC collector object addresses on failing assertion\n\nTest: art/test/testrunner/testrunner.py\nBug: 139525088\nChange-Id: I499ab2de7caba5baacec3049ca954fbb2859edf0\n"
    },
    {
      "commit": "1bff99f706a1b1a4c1799e0f037d9f59f303587a",
      "tree": "06cabecf52fbd336a2e65dbde991c45ce10bc64a",
      "parents": [
        "b15e8797d2ca6fb480a940887c66dd2aae7c9065"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Nov 02 15:07:33 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Nov 10 10:36:19 2020 +0000"
      },
      "message": "arm64: Implement VarHandle CAS intrinsics.\n\nAnd refactor Unsafe CAS intrinsics for code reuse.\n\nAdd extra tests to the 160-read-barrier-stress to test the\nslow paths. The main path is sufficiently exercised by the\n712-varhandle-invocations test. The refactored Unsafe CAS is\nalready covered by 004-Unsafe and 160-read-barrier-stress.\n\nUsing benchmarks provided by\n    https://android-review.googlesource.com/1420959\non blueline little cores with fixed frequency 1420800:\n                                           before after\nCompareAndSetStaticFieldInt                24.721 0.026\nCompareAndSetStaticFieldString             29.015 0.032\nCompareAndSetFieldInt                      27.237 0.028\nCompareAndSetFieldString                   31.326 0.033\nWeakCompareAndSetStaticFieldInt            24.735 0.027\nWeakCompareAndSetStaticFieldString         28.970 0.031\nWeakCompareAndSetFieldInt                  27.252 0.028\nWeakCompareAndSetFieldString               31.309 0.036\nWeakCompareAndSetPlainStaticFieldInt       24.738 0.026\nWeakCompareAndSetPlainStaticFieldString    29.004 0.030\nWeakCompareAndSetPlainFieldInt             27.252 0.027\nWeakCompareAndSetPlainFieldString          31.326 0.035\nWeakCompareAndSetAcquireStaticFieldInt     24.728 0.026\nWeakCompareAndSetAcquireStaticFieldString  28.977 0.030\nWeakCompareAndSetAcquireFieldInt           27.250 0.027\nWeakCompareAndSetAcquireFieldString        31.306 0.034\nWeakCompareAndSetReleaseStaticFieldInt     24.738 0.026\nWeakCompareAndSetReleaseStaticFieldString  28.994 0.032\nWeakCompareAndSetReleaseFieldInt           27.250 0.028\nWeakCompareAndSetReleaseFieldString        31.312 0.035\nCompareAndExchangeStaticFieldInt           23.898 0.026\nCompareAndExchangeStaticFieldString        28.544 0.032\nCompareAndExchangeFieldInt                 26.787 0.027\nCompareAndExchangeFieldString              31.022 0.034\nCompareAndExchangeAcquireStaticFieldInt    23.957 0.026\nCompareAndExchangeAcquireStaticFieldString 28.586 0.031\nCompareAndExchangeAcquireFieldInt          26.785 0.026\nCompareAndExchangeAcquireFieldString       31.011 0.033\nCompareAndExchangeReleaseStaticFieldInt    23.963 0.026\nCompareAndExchangeReleaseStaticFieldString 28.511 0.032\nCompareAndExchangeReleaseFieldInt          26.729 0.027\nCompareAndExchangeReleaseFieldString       30.938 0.034\n\nTest: testrunner.py --target --64 --optimizing\nTest: Repeat with ART_USE_READ_BARRIER\u003dfalse ART_HEAP_POISONING\u003dtrue.\nTest: Repeat with ART_READ_BARRIER_TYPE\u003dTABLELOOKUP.\n      (Ignore two pre-existing checker test failures.)\nBug: 71781600\nChange-Id: I01b2218bb812bc636a941f9bd67c844aee5f8b41\n"
    },
    {
      "commit": "b15e8797d2ca6fb480a940887c66dd2aae7c9065",
      "tree": "23bd6e44c31b45fde7d92bbe7620329a61c1fcf5",
      "parents": [
        "79bf0b8e9c704e63029bb3badf9c4872484a827b"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Oct 28 12:20:59 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Nov 10 09:46:01 2020 +0000"
      },
      "message": "Verify ART run-tests\u0027 standard output and standard error separately.\n\nIntroduce expected standard error files for ART run-tests. Collect\ntests\u0027 standard output and standard error separately and check them\nagainst the corresponding expectation file.\n\nTest: Run ART run-tests on host and device using `testrunner.py`.\nTest: atest --test-mapping art:all\nTest: atest --test-mapping cts/hostsidetests/jvmti:all\nBug: 171865375\nBug: 147812905\nChange-Id: Ie95bec4a4684ff6791d464124ce8976339432d1f\n"
    },
    {
      "commit": "79bf0b8e9c704e63029bb3badf9c4872484a827b",
      "tree": "b5278a5439b576b67e48cefa6e42b4368d12ae9d",
      "parents": [
        "2b8d3c8060c20ea96efbbaf9d86eb7f28284dbd6"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Nov 05 14:35:20 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 06 17:42:51 2020 +0000"
      },
      "message": "Fix CTS failure on 988 due to hiddenapi\n\nhiddenapi would cause test 988 to be unable to find the\nThrowable.nativeFillInStackTrace method causing the output to be\nfiltered incorrectly. This only happens on CTS since the normal\nrun-tests are executed with those restrictions turned off.\n\nTest: atest CtsJvmtiRunTest988HostTestCases\nBug: 172354013\nChange-Id: I1d278e240c9eebb797f329fb0d1514729cd26215\n"
    },
    {
      "commit": "2b8d3c8060c20ea96efbbaf9d86eb7f28284dbd6",
      "tree": "5cdbcd718195c9641349f59c93b82dcc77faca89",
      "parents": [
        "8f2eb25ca40136a36a5d7002c8ca5a05723e334e"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Nov 03 11:52:40 2020 -0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 06 17:42:51 2020 +0000"
      },
      "message": "Avoid using hidden-api when running in CTS\n\nSome JVMTI tests attempt to call hiddenapis. This is generally fine on\nhost but can cause problems when run on CTS. Update the tests to avoid\nthis.\n\nTest: treehugger\nTest: atest CtsJvmtiRunTest993HostTestCases\nTest: atest CtsJvmtiRunTest931HostTestCases\nBug: 172263916\nBug: 172313849\nBug: 172313193\nBug: 172351915\nChange-Id: I0feaa9565719438e37877c34e971a5a8b5ba3f33\n"
    },
    {
      "commit": "8f2eb25ca40136a36a5d7002c8ca5a05723e334e",
      "tree": "51778c592bdd3eb65d3fde8c21997eec30bd1e23",
      "parents": [
        "8411c5ddb824bae1d3202a3bc2e42c77d351e916"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 06 13:39:54 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 06 15:26:27 2020 +0000"
      },
      "message": "Remove NeedsDexCache logic from the compiler.\n\nThe compiled code and runtime stubs don\u0027t need to have direct access to\nthe dex cache anymore.\n\nTest: test.py\nChange-Id: Id3aab9b10445ba2599e1a9ffd8e36506a745bfec\n"
    },
    {
      "commit": "8411c5ddb824bae1d3202a3bc2e42c77d351e916",
      "tree": "dfac3f21998c8b7dad2971db355420dc58b057fc",
      "parents": [
        "e7f659f029e2625585fc7aac42e8688ca28fe5b2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 06 08:30:22 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 06 13:31:34 2020 +0000"
      },
      "message": "Record all type assignability checks in the verifier.\n\nWe used to only record at boot classpath boundaries. But due to making vdex\nverification per class at runtime, we now need to record all checks.\n\nThis means when before we would look at the superclass chain of an app\u0027s\nclass to find the one in the boot claspath, we now will encode the class directly.\n\nTest: test.py\nBug: 112676029\nChange-Id: I58a18ed13c2d3fdc41a37f56624cc4b24f58bf80\n"
    },
    {
      "commit": "e7f659f029e2625585fc7aac42e8688ca28fe5b2",
      "tree": "655afe722588acb0f7603780bd20818cb07e4758",
      "parents": [
        "a07492010bff7586579978ffd56efd85e1235560"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 05 15:36:40 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Nov 06 12:08:25 2020 +0000"
      },
      "message": "Remove old cruft on ART build rules and platform_tests.\n\nTest: m platform_tests\nBug: 122710865\nChange-Id: Ie671fec47266923536f30647c5ea36ee0ce18cc4\n"
    },
    {
      "commit": "a07492010bff7586579978ffd56efd85e1235560",
      "tree": "822303bc2e0897647aa7a50b99d0b4d95135da6f",
      "parents": [
        "6751e0f8c8c569e8efda365bd186da28c7450e45"
      ],
      "author": {
        "name": "yawanng",
        "email": "yawanng@google.com",
        "time": "Mon Oct 19 21:15:27 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 06 01:17:36 2020 +0000"
      },
      "message": "Add a rule to generate public API stubs in dex format.\n\nCherry-pick from dd2e5eb113ddca03345f1be7297b709c1a3a2ff1\n\nThe dex public SDK stubs are used for cloud verification.\nThe stubs contains public SDK version 28, 29, 30.\n\nBug: 171217392\nTest: Make\nChange-Id: I4615ccda9f093af9ac17e162a73a7e0a1c3ca5f6\nMerged-In: I4615ccda9f093af9ac17e162a73a7e0a1c3ca5f6\n"
    },
    {
      "commit": "6751e0f8c8c569e8efda365bd186da28c7450e45",
      "tree": "215158f962152a37b617104d31ef0e901456d589",
      "parents": [
        "a073f46104fbce0482fb759d5ccfb32ee39cc973"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Nov 05 12:16:47 2020 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Nov 05 19:54:02 2020 +0000"
      },
      "message": "Re-enable disabled gtests on eng-prod.\n\nI have switched to cuttlefish 64-bit which no longer has issues.\n\nBug: 167660924\nTest: forrest run\nChange-Id: I953ef5bb6e4596c60db3dff9db5c4c6783318408\n"
    },
    {
      "commit": "a073f46104fbce0482fb759d5ccfb32ee39cc973",
      "tree": "985538ce69fa4d9253725cddaca936ddc3eaea86",
      "parents": [
        "5a19854c682a994729f704806d6c0de1de349631"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Oct 28 12:48:24 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Nov 05 18:15:49 2020 +0000"
      },
      "message": "Rename ART run-tests `expected.txt` files as `expected-stdout.txt`.\n\nThis is in preparation for the addition of `expected-stderr.txt` files\nin all ART run-test directories, which will record the expected\nstandard error for each of these tests, and which will be verified\nalong with `expected-stdout.txt`.\n\nTest: Run ART run-tests on host and device using `testrunner.py`.\nTest: atest --test-mapping art:all\nBug: 171865375\nBug: 147812905\nChange-Id: I37e3c4b8409475790e2fc63514cdf57156d47ff4\n"
    },
    {
      "commit": "5a19854c682a994729f704806d6c0de1de349631",
      "tree": "a21d4c3ea80a260c7d92d5fe3b1211102b4b6921",
      "parents": [
        "94d2c81caaa0a7155b0ec45ac2bd55247a50fb9a"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Nov 04 19:43:05 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Nov 05 15:47:22 2020 +0000"
      },
      "message": "Move 25% of ART run-tests to test group `presubmit` in `TEST_MAPPING`.\n\nMove some more ART run-tests from the `postsubmit` test group to the\n`presubmit` test group. This progressive rollout is to make sure\nintroducing ART run-tests to this test group won\u0027t disturb/break\nAndroid presubmits.\n\nOutput of `art/test/utils/regen-test-files`:\n\n  $ art/test/utils/regen-test-files\n  Generated Blueprint files for 616 ART run-tests ouf of 909 (67%).\n  Generated TEST_MAPPING entries for 253 ART run-tests ouf of 909 (27%):\n    63 tests (25%) in `presubmit` test group;\n    190 tests (75%) in `postsubmit` test group.\n\nTest: atest --test-mapping art:presubmit\nTest: atest --test-mapping art:postsubmit\nBug: 152374989\nBug: 169310621\nChange-Id: I69966c39b0d67181149a08adf7d0982e394f7aad\n"
    },
    {
      "commit": "94d2c81caaa0a7155b0ec45ac2bd55247a50fb9a",
      "tree": "128954d088110272a2e2d8baf3f994a1a9e96183",
      "parents": [
        "1960c42c5df95f3011c020b07328d03716532037"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 05 10:04:45 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 05 10:18:14 2020 +0000"
      },
      "message": "Fix DCHECK()s in read barrier slow paths.\n\nThis is a follow-up to\n    https://android-review.googlesource.com/1478798\nto fix non-Baker read barrier configurations.\n\nTest: ART_READ_BARRIER_TYPE\u003dTABLELOOKUP m test-art-host-gtest\nBug: 170286013\nChange-Id: I6044d4fba720e0ed11b254990021f5b8236964a3\n"
    },
    {
      "commit": "1960c42c5df95f3011c020b07328d03716532037",
      "tree": "839c5085cc89586081bb20dc873fb549daf2bea0",
      "parents": [
        "85b125f4ac9c687e3bd217f9c6eab999be104c17"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 04 08:45:32 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Nov 05 09:18:57 2020 +0000"
      },
      "message": "Change vdex format to store per-class assignable types.\n\nTest: test.py\nBug: 112676029\nChange-Id: I6cd784381efb13a2c669ab77fe2c2b3e5da838f9\n"
    },
    {
      "commit": "85b125f4ac9c687e3bd217f9c6eab999be104c17",
      "tree": "0a9f00d89a2b22665da7b3d71de6543d1f16659b",
      "parents": [
        "01b65526c1dce94abb8ed98d473ddcd2b8fcd692"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 30 15:45:52 2020 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Nov 04 22:41:32 2020 +0000"
      },
      "message": "Trace integer value for profilebootclasspath\n\nInstead of tracing this in the profile, trace it directly after fork.\nThis makes it easier to know what to look for in case the trace ends\nbefore the profile saver ran.\n\nBug: 171432467\nTest: manual\nChange-Id: Iee3dece8b756b027195c38bdd8c031960eca09c4\n"
    },
    {
      "commit": "01b65526c1dce94abb8ed98d473ddcd2b8fcd692",
      "tree": "edc3f88f666415ffb459bad64a585fa576dc65ab",
      "parents": [
        "908759b00ba0d84445636cc7cfcaf830b45e7b73"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Oct 28 15:43:54 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 04 18:06:08 2020 +0000"
      },
      "message": "Implement Reference.getReferent() intrinsic.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing --jit\nTest: aosp_blueline-userdebug boots.\nTest: run-gtests.sh\nTest: testrunner.py --target --optimizing --jit\nBug: 170286013\nChange-Id: I4762f7c1cf3d61de2215ec8f1d14be80289c2372\n"
    },
    {
      "commit": "908759b00ba0d84445636cc7cfcaf830b45e7b73",
      "tree": "29ca9107962529dfa8ac38d356e249140535b50a",
      "parents": [
        "694f0129e6bf106d9f9a7c3bfb3b1cf499e8469b"
      ],
      "author": {
        "name": "Daniil Riazanovskiy",
        "email": "riazanovskiy@google.com",
        "time": "Tue Nov 03 09:43:07 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Nov 04 17:16:53 2020 +0000"
      },
      "message": "Nicer error formatting for invalid Checker regular expressions\n\nTest: as there are hopefully no invalid regexes right now,\n      here is error message from the regex from https://android-review.googlesource.com/c/platform/art/+/1458282\n      reintroduced by hand\n\nInvalid regex \"\\i\\d+\" at Main.java:33, compiling fails with error bad escape \\i at position 0\n\nBug: 162408889\nChange-Id: I8a9f66c3b7f175d15a308430a584c1db5ed4e7bb\n"
    },
    {
      "commit": "694f0129e6bf106d9f9a7c3bfb3b1cf499e8469b",
      "tree": "0d3ed6e495945d9e10b7e1a9cc227e3aa3a43957",
      "parents": [
        "b5ed330e832e7c08c37f88a3a5fff7dbae17a06b"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Oct 30 02:23:24 2020 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Nov 04 16:28:24 2020 +0000"
      },
      "message": "Move hardcoded Soong apex_available lines for ART modules into ART\nblueprints.\n\nTest: m droid\nBug: 133140750\nChange-Id: I99139a4f8c618f237fa169e125de9479feaeb07f\n"
    },
    {
      "commit": "b5ed330e832e7c08c37f88a3a5fff7dbae17a06b",
      "tree": "48aabacb8b9825ba29e9ec6ab787ea28c40eab78",
      "parents": [
        "39aa4be302d17797281ca6b96d5f0e26cdaeea91"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Oct 30 02:27:23 2020 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Nov 04 16:28:24 2020 +0000"
      },
      "message": "Fix missing //apex_available:platform on some libs.\n\nThey\u0027re used from platform libs, e.g. libandroid_runtime.\n\nAlso changed the *_lazy shims to use the more precise runtime_libs for\ntheir dlopen dependencies.\n\nTest: m\nBug: 133140750\nChange-Id: I4a3f1af6155b414aed4aac7a28365177ea1ae716\n"
    },
    {
      "commit": "39aa4be302d17797281ca6b96d5f0e26cdaeea91",
      "tree": "12ec46f13a0b5e34f3f38799b9d78e4e5b396556",
      "parents": [
        "869808108a293d806f1f5cc20c9685470c37038d"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Oct 20 22:12:50 2020 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 04 12:19:27 2020 +0000"
      },
      "message": "Retain comments from linker.config.txt.\n\nThey were removed in https://r.android.com/1450478.\n\nAlso reformatted the JSON file for consistency with manifest-art.json.\n\nTest: `m com.android.art` and check that\n  out/soong/.intermediates/art/build/apex/art-linker-config/android_x86/linker.config.pb\n  reflects linker.config.json.\nBug: 169634881\nChange-Id: I1afc3c6fa96caf5084e2b428e3b70a981fb7e12e\n"
    },
    {
      "commit": "869808108a293d806f1f5cc20c9685470c37038d",
      "tree": "327cd3a2bda227ccf15d136cad88b1cac7f44772",
      "parents": [
        "4b64f6c8c57fb6e46b94645071eb6cd0d56ea9c9"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Nov 03 17:10:09 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 04 12:01:35 2020 +0000"
      },
      "message": "run-libcore-tests.sh: reduce explicit GC chatter further\n\nMove explicit GC suppression so it is only applied in gcstress and\nalso set the GC log threshold higher since this overrides the explicit\nGC supression and we still see many messages.\n\nBug: 161420453\nTest: art/tools/run-libcore-tests.sh --mode\u003dhost --variant\u003dX32 \\\n  --debug -- libcore.java.math#test_Constructor_IILjava_util_Random\nChange-Id: I1fab3b3571f4ee330ac094ed364bcfcc32fd318f\n"
    },
    {
      "commit": "4b64f6c8c57fb6e46b94645071eb6cd0d56ea9c9",
      "tree": "ddd9cbbb25f05c5208fdbb58d614f83999a2dcda",
      "parents": [
        "021cf233a441b05fed47b3a1f64c76a9e65a9d4f"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Oct 30 11:58:47 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 03 15:55:42 2020 +0000"
      },
      "message": "dexdump: fix xml output for jars containing multiple .dex files\n\nWhen an input file (.jar/.zip) contains multiple dex files their\nxml output goes into one api element. Previously, dexdump emitted an\napi element per input.\n\nAdd a test that generates a multi-dex jar and checks the output.\n\nBug: 172042691\nTest: art/test/dexdump/run-all-tests\nChange-Id: I28b60d5a4b536d5ed6feb05c2476d58c00a33b68\n"
    },
    {
      "commit": "021cf233a441b05fed47b3a1f64c76a9e65a9d4f",
      "tree": "e58a4a88eca3e305050f3cdb37ce311d549c320e",
      "parents": [
        "16e7e57366b9f7738757e887a4c10488d24f8b47"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Oct 30 16:56:58 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 03 15:55:42 2020 +0000"
      },
      "message": "dexdump: remove non-API elements from xml output\n\nRemoves const method-handle and call-site information from xml output\nas these are not API elements.\n\nBug: 172042691\nTest: art/test/dexdump/run-all-tests\nChange-Id: I16706155da722812c6abd78a8c228b3ed283ec68\n"
    },
    {
      "commit": "16e7e57366b9f7738757e887a4c10488d24f8b47",
      "tree": "884fc9ce2317e35c9006b4aa07dee4b1bd2cd5fa",
      "parents": [
        "4f99524cff963c91a66f30f22c19dae28db01740"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Oct 30 09:40:41 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 03 13:38:11 2020 +0000"
      },
      "message": "Remove temporary filtering of ICU output on host\n\nThis commit undoes changes Ibe27047549fd7c3c556e2e754015a2cfaa97d6cf\nand Ib6c0e55d0c6fcc932999428f21c51afe32ab7ef2. The ICU logging code on\nhost now respects ANDROID_LOG_TAGS. ART run tests explicitly set the\nlog level so ICU initialization messages are suppressed once again and\nno longer appear in the test output and break expectations.\n\nFix: 171770326\nTest: art/test/run-test --host 001-HelloWorld\nTest: art/test.py --host -r --64 --optimizing\nChange-Id: Ia1710efa4bc788d9ec4106f68eb82120a565c25a\n"
    },
    {
      "commit": "4f99524cff963c91a66f30f22c19dae28db01740",
      "tree": "a70968889297449049f80b11198189a5c435aa44",
      "parents": [
        "de91ca90389e4b41ed27b320a6c43ff56a6d75ff"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 21 14:29:30 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Nov 02 16:21:53 2020 +0000"
      },
      "message": "Add unresolved types in verifier deps.\n\nWe need to record all assignability checks that the verifier does, so we\nreproduce them at runtime.\n\nWe ignore those assignability checks for now when validating a vdex file\nas the class that uses the unresolved types will be marked as soft fail.\n\nTest: test.py\nBug: 112676029\nChange-Id: I21697e976ce56d3905576407b6326863915cc271\n"
    },
    {
      "commit": "de91ca90389e4b41ed27b320a6c43ff56a6d75ff",
      "tree": "2e18ff33d30fce88d578ea68b8b1037755aececc",
      "parents": [
        "9ca92fb4646eccff9f972f6a2a21709676b65460"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 27 13:41:40 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Oct 29 15:42:52 2020 +0000"
      },
      "message": "Refactor Integer.valueOf() intrinsic implementation.\n\nPrepare for Reference.getReferent() intrinsic implementation\nby a refactoring to separate the retrieval of an intrinsic\nmethod\u0027s declaring class to its own helper function, rather\nthan being a part of a larger one.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing --jit\nTest: aosp_blueline-userdebug boots.\nTest: run-gtests.sh\nTest: testrunner.py --target --optimizing --jit\nBug: 170286013\nChange-Id: Ib6c0e55d0c6fcc932999428f21c51afe32ab7ef2\n"
    },
    {
      "commit": "9ca92fb4646eccff9f972f6a2a21709676b65460",
      "tree": "b6e8653d98201d8184964dd0d9b8fffc972be918",
      "parents": [
        "eeaf47f7c9bbad29afab84a0f199a5751d9c616b"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Oct 28 15:08:11 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 29 11:03:55 2020 +0000"
      },
      "message": "run-test: add --external-log-tags options\n\nBug: 171770326\nTest: art/test/run-test --host 001-HelloWorld\nTest: ANDROID_LOG_TAGS\u003d\"*:V\" art/test/run-test --external-log-tags \\\n                                               --host 001-HelloWorld\nTest: ANDROID_LOG_TAGS\u003d\"*:E\" art/test/run-test --external-log-tags \\\n                                               --host 001-HelloWorld\nChange-Id: Ibe27047549fd7c3c556e2e754015a2cfaa97d6cf\n"
    },
    {
      "commit": "eeaf47f7c9bbad29afab84a0f199a5751d9c616b",
      "tree": "3b1572bd8c3cd89dbe060b52d1760bd857e999ed",
      "parents": [
        "1f3612f93759823d630e117be5216f694e0702e9"
      ],
      "author": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Wed Oct 28 15:59:29 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 28 17:42:50 2020 +0000"
      },
      "message": "Revert \"ART: Fix breaking changes from recent VIXL update.\"\n\nRevert submission 1331125-VIXL_UPDATE_SVE\n\nReason for revert: broken build git_master-art-host/art-gtest-heap-poisoning @ 6936943\nReverted Changes:\nIc10af84a0:Merge remote-tracking branch \u0027aosp/upstream-master...\nI752a0b0ba:ART: Fix breaking changes from recent VIXL update....\n\nBug: 171879890\nChange-Id: Idb0d5c2e88948d799a4ef2c828be2828ea2270ea\n"
    },
    {
      "commit": "1f3612f93759823d630e117be5216f694e0702e9",
      "tree": "64594f8ad80779fcd7b71fc441b8876cc49259a0",
      "parents": [
        "4955036617ff4940bd35fa8ce63f0728c1042902"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Oct 28 10:57:41 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 28 13:10:11 2020 +0000"
      },
      "message": "Extend temporary filtering pattern for ICU issue\n\nBranches using ICU built from sources (rather than prebuilts) now have\na newline at the end of each ICU log entry.\n\nBug: 171770326\nBug: 171833701\nTest: [master-art] art/test/run-test --host 001-HelloWorld\nTest: [sc-release] art/test/run-test --host 001-HelloWorld\nChange-Id: Ia84db0b84269e43d73d55e3240314c00057b77fb\n"
    },
    {
      "commit": "4955036617ff4940bd35fa8ce63f0728c1042902",
      "tree": "20ebe9c047b9ed5e21e99f2f0a00a3946fa731e8",
      "parents": [
        "036b0708c12a33469db4a5adde9ded152b5eb700"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Fri Jul 05 18:23:03 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Oct 28 12:03:34 2020 +0000"
      },
      "message": "ART: Fix breaking changes from recent VIXL update.\n\nAlso fixes the vixl-related headers includes.\n\nTest: test-art-target, test-art-host\n\nChange-Id: I752a0b0baf741aa2a0693253155042104c8b3b27\n"
    },
    {
      "commit": "036b0708c12a33469db4a5adde9ded152b5eb700",
      "tree": "59fd4ce1126da0bec264431c1056f93eceb07c38",
      "parents": [
        "8b2f7e67096c5a12f950f5ffe8f5ed4704299c57"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 27 10:36:06 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 28 09:43:42 2020 +0000"
      },
      "message": "Rename String.concat() implementation function.\n\nRename String::AllocFromStrings() to String::DoConcat() and\nrename arguments to h_this and h_arg.\n\nThis addresses a comment from\n    https://android-review.googlesource.com/1473728 .\n\nTest: testrunner.py --host --optimizing -t 021-string2\nBug: 169674485\nChange-Id: I830541b64b51c0170aa5455cbad7cc86f4349f13\n"
    },
    {
      "commit": "8b2f7e67096c5a12f950f5ffe8f5ed4704299c57",
      "tree": "26babd8458267778c97cd7b8b64b855003362355",
      "parents": [
        "943f68244af76660cf1d48184f3a05534f0f248b"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Oct 26 20:45:49 2020 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Oct 27 20:56:50 2020 +0000"
      },
      "message": "Add description of building test dependencies to README.md\n\nIssues like b/154161162 indicate that this requirement is non-obvious\nand should be highlighted.\n\nBug: 154161162\nChange-Id: Iee856e0a683088294f6d2a64cce50fc660d2cd1f\nTest: None\n"
    },
    {
      "commit": "943f68244af76660cf1d48184f3a05534f0f248b",
      "tree": "54f2bb8ca1bea2c2133b5e717bb5992713983f2e",
      "parents": [
        "8aef685736b8ec0f7edc3a78e932d7aa4a999808"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Oct 27 11:20:05 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Oct 27 18:02:35 2020 +0000"
      },
      "message": "Move 10% of ART run-tests to test group `presubmit` in `TEST_MAPPING`.\n\nMove a few more ART run-tests from the `postsubmit` test group to the\n`presubmit` test group. This progressive rollout is to make sure\nintroducing ART run-tests to this test group won\u0027t disturb/break\nAndroid presubmits.\n\nOutput of `art/test/utils/regen-test-files`:\n\n  $ art/test/utils/regen-test-files\n  Generated Blueprint files for 616 ART run-tests ouf of 909 (67%).\n  Generated TEST_MAPPING entries for 253 ART run-tests ouf of 909 (27%):\n    25 tests (10%) in `presubmit` test group;\n    228 tests (90%) in `postsubmit` test group.\n\nTest: atest --test-mapping art:presubmit\nTest: atest --test-mapping art:postsubmit\nBug: 152374989\nBug: 169310621\nChange-Id: I3e401d0c441467b94390b678fccb0395263863c7\n"
    },
    {
      "commit": "8aef685736b8ec0f7edc3a78e932d7aa4a999808",
      "tree": "4c0110fce749705ee412bc5b778498a5c61770bb",
      "parents": [
        "762954836e5c15e85f0348dafcf50281b0149255"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Oct 27 11:54:41 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 27 17:38:40 2020 +0000"
      },
      "message": "Temporary host filtering of ICU initialization output\n\nICU switched to lazy initialization and using stderr rather than\nandroid log on host. The initialization log messages are breaking ART\ntest expectations which include output from both stdout and stderr.\n\nBug: 171770326\nTest: art/test.py --host --64\nChange-Id: Ib3c3594a9409b8bf7a9e2b539f3c720f6da99847\n"
    },
    {
      "commit": "762954836e5c15e85f0348dafcf50281b0149255",
      "tree": "24cfc7a8b812e24307b79e4e8b37569569a318dc",
      "parents": [
        "f579b063b848d04e42aa64774949bf0deb5aab0f"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 26 12:28:37 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 27 09:31:21 2020 +0000"
      },
      "message": "Revert^2 \"Improve mirror::String implementation.\"\n\nThis reverts commit 15efe16175115f29e7c99bfc2703c30a82e3f702.\n\nFixed copy-paste error in AllocFromStrings, added tests\nfor String.concat() to 021-strings2 as regression test.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 169674485\nBug: 171273669\nChange-Id: I4b298020b7b31de84898243ad73db40a8ad7d69e\n"
    },
    {
      "commit": "f579b063b848d04e42aa64774949bf0deb5aab0f",
      "tree": "7a3ac429f990d7592336c0e73f13bbd65a433b16",
      "parents": [
        "61c71ef48e7fb0557af5702a9021bd2854f84e28"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Sat Oct 24 22:54:39 2020 +0800"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 27 00:29:57 2020 +0000"
      },
      "message": "Unified sampling PGO for art\n\nUse a combined sampling PGO profile for ART libraries.\n\nTest: build\nBug: 79161490\nChange-Id: I2eeb1ac07971e37ee23848ebfb718b4651b9ac75\n"
    },
    {
      "commit": "61c71ef48e7fb0557af5702a9021bd2854f84e28",
      "tree": "e25fdadab83a68735c29c341b22433b1a58c5594",
      "parents": [
        "1485d4affe0eb881c488d7b95eb3a556a22034a4"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Mon Oct 19 12:04:39 2020 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 26 22:37:36 2020 +0000"
      },
      "message": "[metrics] Dump ArtMetrics on SIGQUIT\n\nART now writes a current snapshot of its internal metrics in response to\na SIGQUIT.\n\nExample output:\n```\n*** ART internal metrics ***\n\nClassVerificationTotalTime: count \u003d 863833\nJitMethodCompileTime: range \u003d 0...1000000, buckets: 244,5,1,0,1,0,0,0,0,1,0,0,0,0,0\n\n*** Done dumping ART internal metrics ***\n```\n\nThis includes a new StreamBackend, which is used to write ART metrics to\nan output stream in a human readable format.\n\nBug: 170149255\nTest: m test-art-host-gtest-art_libartbase_tests\nChange-Id: Iaf8bcee5a4993e70ac4e36940591a734fe1a6697\n"
    },
    {
      "commit": "1485d4affe0eb881c488d7b95eb3a556a22034a4",
      "tree": "32338d22becb87de35e7fd1525dd861c5926ab39",
      "parents": [
        "645083c294177f1906a040c380d691060b858167"
      ],
      "author": {
        "name": "Pedro Loureiro",
        "email": "pedroql@google.com",
        "time": "Thu Oct 22 09:05:06 2020 +0000"
      },
      "committer": {
        "name": "Pedro Loureiro",
        "email": "pedroql@google.com",
        "time": "Mon Oct 26 15:03:46 2020 +0000"
      },
      "message": "Override maxTargetSdk for @UnsupportedAppUsage\n\n... when having maxTargetSdk \u003d 30 and trackingBug \u003d 170729553\n\nWe are planning to restrict a number of APIs that we don\u0027t think\nare used. We will temporarily treat them as if they were in the\ndenylist in order to give us early warning. They will be moved\nto maxTargetSdk\u003dR before the final release.\n\nTest: atest UnsupportedAppUsageAnnotationHandlerTest\nFixes: 170943969\nBug: 170729553\nChange-Id: I96c196eb33303fa70b6b179285338ccb5d14d78f\n"
    },
    {
      "commit": "645083c294177f1906a040c380d691060b858167",
      "tree": "fb989eceeb559dde62be6a561af84abbdf3db892",
      "parents": [
        "31376818547504490f450aff52d50839f7a0b539"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 26 11:44:29 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 26 14:33:32 2020 +0000"
      },
      "message": "Revert^2 \"Improve libcore_util_CharsetUtils performance.\"\n\nThis reverts commit 31f5dd40886a696c7925feb53c4aa7cc9adf07c3.\n\nReason for revert: The original CL was erroneously reverted\ntogether with the CL that was actually broken.\n\nChange-Id: Ifed4868b3a90d56b943b15887bb257d8872a475d\nTest: run-libcore-tests.sh --mode\u003dhost\nBug: 170281727\n"
    }
  ],
  "next": "31376818547504490f450aff52d50839f7a0b539"
}
