)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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"
    },
    {
      "commit": "15efe16175115f29e7c99bfc2703c30a82e3f702",
      "tree": "b778314fadcc266535e32582718e403f175097c2",
      "parents": [
        "31f5dd40886a696c7925feb53c4aa7cc9adf07c3"
      ],
      "author": {
        "name": "chapin",
        "email": "chapin@google.com",
        "time": "Fri Oct 23 19:20:31 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 23 21:54:58 2020 +0000"
      },
      "message": "Revert \"Improve mirror::String implementation.\"\n\nRevert submission 1449216\n\nReason for revert: Bug: 171537201\nReverted Changes:\nI03d2420b2:Improve libcore_util_CharsetUtils performance.\nI3dc453ce9:Improve mirror::String implementation.\n\nChange-Id: I5b1df73894c040017a7a64708c9904431c6cfe93\n"
    },
    {
      "commit": "31f5dd40886a696c7925feb53c4aa7cc9adf07c3",
      "tree": "94d2d6faafa4b080971926b75ef082d8f4bf8e26",
      "parents": [
        "e3a6485fb0e94f434a3f72eb694a105578c1260f"
      ],
      "author": {
        "name": "chapin",
        "email": "chapin@google.com",
        "time": "Fri Oct 23 19:20:31 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 23 21:54:58 2020 +0000"
      },
      "message": "Revert \"Improve libcore_util_CharsetUtils performance.\"\n\nRevert submission 1449216\n\nReason for revert: Bug: 171537201\nReverted Changes:\nI03d2420b2:Improve libcore_util_CharsetUtils performance.\nI3dc453ce9:Improve mirror::String implementation.\n\nChange-Id: I1df18b4421f3b37b84a5e54c908662538fc13f79\n"
    },
    {
      "commit": "3e9abfc9779399815a7dc8d492466a1234b7fdcd",
      "tree": "fd1017f153d3759488914c4d372f543125722ad1",
      "parents": [
        "35b132e3377029a356cfbc9e4682e3ebceb83edf"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Oct 09 22:17:51 2020 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Oct 23 10:03:13 2020 +0000"
      },
      "message": "Rename ART release APEX to com.android.art.\n\nTest: Build \u0026 boot on AOSP master\nTest: `m` on AOSP master, flipping\n  PRODUCT_ART_TARGET_INCLUDE_DEBUG_BUILD between true and false, and\n  check out/target/product/bonito/symbols/apex/com.android.art.\nTest: art/build/apex/runtests.sh\nTest: art/tools/buildbot-build.sh {--host,--target}\nTest: art/tools/run-gtests.sh\nTest: m test-art-host-gtest\nTest: art/test/testrunner/testrunner.py --target --64 --optimizing\nTest: m build-art-target-golem\nBug: 169639321\nChange-Id: Ic4bb8d6f9988ce99bba326b9c635bd3c01ed74ab\nMerged-In: Ic4bb8d6f9988ce99bba326b9c635bd3c01ed74ab\n"
    },
    {
      "commit": "35b132e3377029a356cfbc9e4682e3ebceb83edf",
      "tree": "caf4b4a469079f1ef3fae1736aba094ba09a5441",
      "parents": [
        "096bef8285e1a4d2a2b89cb5a5f59c63ee2e7b65"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 22 08:44:08 2020 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 22 21:01:13 2020 +0000"
      },
      "message": "Add trace to SampleClassesAndExecutedMethods\n\nAlso log when boot class path profiling is enabled.\n\nTest: manual\nBug: 171432467\nChange-Id: I4086638067de79cab3c77c9a0186a43c6cd585f6\n"
    },
    {
      "commit": "096bef8285e1a4d2a2b89cb5a5f59c63ee2e7b65",
      "tree": "1e67eca126f08985f3d43c97b2f5df94a8e1e846",
      "parents": [
        "66474c2878e0c91fbcffba8271bc20a3cf760642"
      ],
      "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": "Thu Oct 22 17:40:25 2020 +0000"
      },
      "message": "[metrics] Refactor reporting\n\nBug: 170149255\nTest: m test-art-host-gtest-art_libartbase_tests\nChange-Id: Ic02dd94f55fb782e1ffb59789bf95e7f53f1f8e8\n"
    },
    {
      "commit": "938a0670d551d81d5f0710d0d565167b42227337",
      "tree": "dde8d8711384a1caf464c86f2c5944cbfdff61f8",
      "parents": [
        "5b041c05d6b73b73c43a425dc4ff3b784722c4a2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 20 16:03:42 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 21 14:38:43 2020 +0100"
      },
      "message": "Remove the checkcast quickening optimization.\n\nQuickening is now disabled, and the optimization uses VerifierDeps\npost-verification, which we plan on not supporting for future verifier\nimprovements.\n\nTest: test.py\nBug: 112676029\nChange-Id: Ie9004b27c93e1189e6c1142494e79cd84b05400c\n"
    },
    {
      "commit": "5b041c05d6b73b73c43a425dc4ff3b784722c4a2",
      "tree": "0425b87cf343b8a45182c053d7e300623b64d419",
      "parents": [
        "8bea400eec977e433ad3453c5a21f74955afbc2a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 20 15:17:53 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 21 13:23:28 2020 +0000"
      },
      "message": "Remove unassignable_types from vdex.\n\nThese were used in case a class went from \"verified-at-runtime\" to\n\"verified\". With go/nterp, we\u0027re re not going to handle this situation\nand we should only record what types the verifier expects to be\nassignable.\n\nTest: test.py\nBug: 112676029\nChange-Id: I6ffa61cef3aa767dfccadbdfdd5432e72e143ca3\n"
    },
    {
      "commit": "9fde2db3d4cfc6d7d1520454abc2aa4622a073ea",
      "tree": "24b984d2761b8b42df31e25949ce8d2d6f33bdc6",
      "parents": [
        "f50975ab491fa962e6e5ec4405fdb31591d51d96"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Oct 15 16:03:29 2020 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Oct 20 15:08:20 2020 +0000"
      },
      "message": "Update host tests to point to a dedicated boot image directory.\n\nOn device the boot image files are in the APEX, but on host they\u0027re\ncreated by the global code in dexpreopt_config.go and installed by make\nin the same location irrespective of the ART APEX in use (release or\ndebug). That location is now moved to\n$(ANDROID_HOST_OUT)/apex/art_boot_images to avoid conflict with the\nAPEX paths (because the release APEX is moving from\ncom.android.art.release to com.android.art).\n\nTest: art/test/testrunner/run_build_test_target.py art-test\nTest: art/build/apex/runtests.sh\nTest: art/tools/buildbot-build.sh {--host,--target}\nTest: art/tools/run-gtests.sh\nTest: m test-art-host-gtest\nTest: art/test/testrunner/testrunner.py --target --64 --optimizing\nTest: m build-art-target-golem\nBug: 169639321\nChange-Id: I932a15539e170d3c6c78515b22dd4b91ce1c57b4\n"
    },
    {
      "commit": "f50975ab491fa962e6e5ec4405fdb31591d51d96",
      "tree": "eb055d2d3128fd5c3f2950bb11e3996780e25b80",
      "parents": [
        "bd11057e44ab16a03c7c64d8ef46d0f6ca8d0c92"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Oct 15 13:34:55 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 20 12:43:06 2020 +0000"
      },
      "message": "Reland \"Make \u0027quicken\u0027 an alias to \u0027verify\u0027.\"\n\nThis reverts commit 7e9fc9d6d1622192f118bab771784eedfb66c60e.\n\nBug: 170086509\n\nBug: 170588354\nBug: 170589481\nBug: 170589988.\n\nReason for revert: TODO\n\nChange-Id: Ia1de625e90e4279b1cf0a584e5f0fbc8caa94efd\n"
    },
    {
      "commit": "b3dfff75d903688e5046745120d16af790ef7be4",
      "tree": "f4ba12950f2537dc58d24af1c846a60265d65850",
      "parents": [
        "0bba8aa289da53f1cbd7c96a2ee60b3ca3a84d8b"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 06 08:51:40 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 19 16:04:07 2020 +0000"
      },
      "message": "Improve libcore_util_CharsetUtils performance.\n\nUse ScopedFastNativeObjectAccess for @FastNative methods.\nAvoid expensive JNI calls by using mirror::ByteArray.\nFor compressed strings, just copy the ASCII data.\nFor uncompressed strings, pre-calculate the UTF-8 length\nto avoid unnecessary reallocations. Also access 16-bit\ncharacters directly instead of using String::CharAt() to\navoid unnecessary string compression checks that clang++\nis unable to optimize away.\n\nThe results for StringToBytesBenchmark on blueline little\ncores running at fixed frequency 1420800 are approximately\n(medians from 3 runs)        before   after\ntimeGetBytesAscii EMPTY      1599.86   519.36\ntimeGetBytesAscii L_16       1849.31   535.59\ntimeGetBytesAscii L_64       2582.72   646.07\ntimeGetBytesAscii L_256      5566.70  1132.11\ntimeGetBytesAscii L_512      9585.88  1649.34\ntimeGetBytesAscii A_16       1840.06   540.05\ntimeGetBytesAscii A_64       2550.41   614.85\ntimeGetBytesAscii A_256      5382.15   919.59\ntimeGetBytesAscii A_512      9181.93  1226.82\ntimeGetBytesIso88591 EMPTY   1589.57   515.62\ntimeGetBytesIso88591 L_16    1835.09   535.58\ntimeGetBytesIso88591 L_64    2588.90   650.84\ntimeGetBytesIso88591 L_256   5585.69  1118.37\ntimeGetBytesIso88591 L_512   9635.12  1625.92\ntimeGetBytesIso88591 A_16    1827.21   529.83\ntimeGetBytesIso88591 A_64    2548.83   603.32\ntimeGetBytesIso88591 A_256   5356.75   916.76\ntimeGetBytesIso88591 A_512   9172.74  1224.04\ntimeGetBytesUtf8 EMPTY       1599.00   510.61\ntimeGetBytesUtf8 L_16        1876.05   632.55\ntimeGetBytesUtf8 L_64        2781.85  1054.06\ntimeGetBytesUtf8 L_256      12136.15  3708.94\ntimeGetBytesUtf8 L_512      21357.30  7811.28\ntimeGetBytesUtf8 A_16        1888.64   531.15\ntimeGetBytesUtf8 A_64        2785.70   598.75\ntimeGetBytesUtf8 A_256       6300.25   906.34\ntimeGetBytesUtf8 A_512      11074.56  1231.62\n\nTest: run-libcore-tests.sh --mode\u003dhost\nBug: 170281727\nChange-Id: I03d2420b2e1eefc1fa5232deddba593aebd51941\n"
    },
    {
      "commit": "0bba8aa289da53f1cbd7c96a2ee60b3ca3a84d8b",
      "tree": "661a50c5a5abc787c948eed3c1efde7dd2c1b6d3",
      "parents": [
        "8f1bded1e51074e82e50f330dc74685ca3da2033"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 05 12:34:05 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 19 16:04:07 2020 +0000"
      },
      "message": "Improve mirror::String implementation.\n\nExplicitly use string compression to optimize uses of\nString::CharAt() in string.cc similarly to\n    https://android-review.googlesource.com/1446657 .\nMove string content initialization to pre-fence visitor.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 169674485\nChange-Id: I3dc453ce995d09f996610a1eba5060bacbe0d498\n"
    },
    {
      "commit": "b3ab635ecf561954336cc7b09d6f66a401d1d0fe",
      "tree": "4677f3db808f9a92374f12797a5027abecb4d43b",
      "parents": [
        "6ebe40fce5927e3f40ec1d375590648d48d458f0"
      ],
      "author": {
        "name": "Daniel Riazanovskiy",
        "email": "riazanovskiy@google.com",
        "time": "Thu Oct 15 17:31:01 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Oct 16 10:50:19 2020 +0000"
      },
      "message": "Revert \"Disable x86 FromCpuFeatures test\"\n\nThis reverts commit 0713ca0525579365ae927ac800797a7473d9267f.\n\nReason for revert: bug with simd extension not being detected on some CPUs is fixed in cpu_features (see https://android-review.googlesource.com/c/platform/external/cpu_features/+/1460885)\n\nBug: 169921883\nChange-Id: Ibce2c5ca923ec34f8b2350bae85fbe383952be25\n"
    },
    {
      "commit": "6ebe40fce5927e3f40ec1d375590648d48d458f0",
      "tree": "677e3c908d87a92becbf23ecfbad6779852c2947",
      "parents": [
        "801f6a7b003659251bf2386febb0030f04697750"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 14 16:37:58 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 16 08:30:15 2020 +0000"
      },
      "message": "Remove field/method/class resolution metadata in vdex.\n\nThey can now be handled at runtime with access checks.\n\nBug: 112676029\nTest: test.py\nChange-Id: I08c838334fb0dc94e58fa24463f49633ef7989fc\n"
    },
    {
      "commit": "4b9f86bd04a905e6ee6eaf5363b0967315136096",
      "tree": "f3c15cd3ccefcc684541bb4bac0c889bff35420a",
      "parents": [
        "30864176620fbfc58f93ea58bfbacdd28f75b2c8"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Oct 13 16:37:19 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 14 04:39:31 2020 +0000"
      },
      "message": "Cyclic-includes should be avoided\n\nA file including itself is generally not considered a good idea and\ncan confuse tools such as IWYU.\n\nChange-Id: I71b07fa1503588917ab62ea383833dacd53bf8f2\nTest: Treehugger\n"
    },
    {
      "commit": "1a8d83b69dd6097e0d467a9ed0afb09c4025738d",
      "tree": "ca925fd30efd35f42d33c65c01ec4c0b31698e4c",
      "parents": [
        "5c5ed3025f1a7cda51abe87319c42f5b002bf189"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 12 15:43:23 2020 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 13 14:36:22 2020 +0000"
      },
      "message": "Check existing_it in UpdateClass\n\nCheck that the iterator is valid instead of blindly dereferencing it.\n\nBug: 160074700\nTest: manual\nChange-Id: I444b3335f52251a24f47261b42296667bd668444\n"
    },
    {
      "commit": "4bb09001683e00a9d0d34f685f2ec60004c0c1ef",
      "tree": "283e8c3c77c34a13b020275b031148cd46f1de9b",
      "parents": [
        "ae7168e19f886ed43ed200f9b0e769613df485f9"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Wed Sep 30 11:42:34 2020 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 12 18:12:00 2020 +0000"
      },
      "message": "[metrics] Implement JitMethodCompileTime histogram\n\nJitMethodCompileTime keeps track of how long methods take to compile in\nJIT mode.\n\nTest: m test-art-host-gtest-art_libartbase_tests\nBug: 170149255\nChange-Id: Ic0e5f365d9e7eb7bc0ebcf49d23972adcd6dfb36\n"
    },
    {
      "commit": "ae7168e19f886ed43ed200f9b0e769613df485f9",
      "tree": "0c7169d33b71d643957e1acdaffc0ff61d4526fb",
      "parents": [
        "5e8e5161e5f5a1e944f5bc6fd2ef893e0a33551b"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Oct 09 15:13:29 2020 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 12 15:42:21 2020 +0000"
      },
      "message": "Remove unused image space order argument\n\nBug: 160683548\nTest: Treehugger\nChange-Id: I249d2891b645fa103106ee946f014b9ce362cbda\n"
    },
    {
      "commit": "6732b8057061ee753a9ff7cc6d79c2edd0a33168",
      "tree": "f807889b8ec8bca772ce05b212a99f596c6ff160",
      "parents": [
        "bfe8fc80767511676eae739e0924377dfc6c6089"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Oct 09 14:21:27 2020 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Oct 12 09:11:34 2020 +0000"
      },
      "message": "Remove the ability to generate an image in image_space.cc\n\nIn mainline, on-device signing will create image space upon APEX update.\n\nBug: 160683548\nTest: m test-art-host-gtest \u0026\u0026 art/test.py --host -r\nChange-Id: I6498336512040c922a545d6362acec3326220f77\n"
    },
    {
      "commit": "7e9fc9d6d1622192f118bab771784eedfb66c60e",
      "tree": "98c89934b8907d62ff5e97eda11f20d3d4e97b2d",
      "parents": [
        "384dae4c7e51c34e1fd047c6f58dde63e08ab6a3"
      ],
      "author": {
        "name": "Ming-Shin Lu",
        "email": "lumark@google.com",
        "time": "Mon Oct 12 03:36:52 2020 +0000"
      },
      "committer": {
        "name": "Ming-Shin Lu",
        "email": "lumark@google.com",
        "time": "Mon Oct 12 07:15:39 2020 +0000"
      },
      "message": "Revert \"Make \u0027quicken\u0027 an alias to \u0027verify\u0027.\"\n\nThis reverts commit 4f0e8daf7ed79c0712c0fd927c8ad2c903c15773.\n\nReason for revert: Droidcop-triggered revert due to breakage https://android-build.googleplex.com/builds/tests/view?invocationId\u003dI69100006175866595\u0026testResultId\u003dTR93113908724113263, bug 170588354, bug 170589481, bug 170589988.\n\nChange-Id: If8f4396aa0db024ed5817a4fed61c13caf32f785\n"
    },
    {
      "commit": "384dae4c7e51c34e1fd047c6f58dde63e08ab6a3",
      "tree": "03303fdae65bbdfe5cab7fe9b2b8a650e7ceb144",
      "parents": [
        "4d23e51e67a419291598af3cb308aadaed1afd62"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 09 10:24:15 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Oct 11 14:41:19 2020 +0000"
      },
      "message": "Support access checks in mterp.\n\nThis is to start not treating access checks failure as soft failures.\n\nTest: test.py\nBug: 112676029\nChange-Id: I9cde52e5a2f6e00450616403ce6d9aa822a8380e\n"
    },
    {
      "commit": "eeff8fc4586b4dd2dd62ba1c1e0d361dd448a88b",
      "tree": "0f23c8d1a5d8592eaf1cd9a7b903732154744212",
      "parents": [
        "fd061070700817add2c15149e4098bab4eb8ccdd"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 07 15:29:14 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 09 13:16:11 2020 +0000"
      },
      "message": "Support access checks in nterp.\n\nBug: 112676029\nTest: test.py\nChange-Id: I0b1dcec7984d6ee91e08a86471e32ea05560ce49\n"
    },
    {
      "commit": "fd061070700817add2c15149e4098bab4eb8ccdd",
      "tree": "af2e90ad8cf7850be8a690a4c9b6b1292e0231ba",
      "parents": [
        "2e299f4d0eb8e2fd432c98b83f3f3c6ddd09c0f5"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Oct 01 13:51:56 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 09 10:23:21 2020 +0000"
      },
      "message": "Remove unused code from dalvik.system.VMDebug.\n\nTest: m\nBug: 165361458\nChange-Id: Ic2cc2515a0af79d4541c16c0b3057980ada2a869\n"
    },
    {
      "commit": "2e299f4d0eb8e2fd432c98b83f3f3c6ddd09c0f5",
      "tree": "48104981e48944597421d26fd3180d5384ccc1a0",
      "parents": [
        "4f0e8daf7ed79c0712c0fd927c8ad2c903c15773"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Oct 08 20:27:22 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 09 09:51:10 2020 +0000"
      },
      "message": "Handle nterp when precompiling with JIT zygote.\n\nTest: test.py\nTest: app startup with JIT zygote\nBug: 169773857\nChange-Id: I3e68e5e0dd276fd7fe11e435be0ce906bdca2a6c\n"
    },
    {
      "commit": "4f0e8daf7ed79c0712c0fd927c8ad2c903c15773",
      "tree": "6838f8b413a444b711bdab8136826be07ab95f39",
      "parents": [
        "a79872b016ea95b6ec530ae1ac35f3c5b0d9997f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 07 09:34:13 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 09 08:07:17 2020 +0000"
      },
      "message": "Make \u0027quicken\u0027 an alias to \u0027verify\u0027.\n\nBug: 170086509\nTest: test.py\nChange-Id: I3267ddd51d36c35f23cb05e26dc1a1f062065d7f\n"
    },
    {
      "commit": "a79872b016ea95b6ec530ae1ac35f3c5b0d9997f",
      "tree": "4e2f5c06efcaa3d508931862a504f2d52fa4d70c",
      "parents": [
        "1cd030f76e6ee07888aadca25ba24119fefb31b8"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Thu Oct 01 13:09:53 2020 -0700"
      },
      "committer": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Thu Oct 08 16:16:38 2020 -0700"
      },
      "message": "[metrics] Add metrics to Runtime, implement ClassVerificationTotalTime\n\nThis creates the main metrics struct and makes it readily accessible for\nART components that want to start collecting metrics. It also implements\nthe ClassVerificationTime metric.\n\nTest: m test-art-host-gtest-art_runtime_tests\nTest: m test-art-host-gtest-art_libartbase_tests\nBug: 170149255\nChange-Id: I33b5b2dd40127074619750d6730db220e3ed1257\n"
    },
    {
      "commit": "8d34a182fea1b24f7b8361b55e930cb953cf3fb2",
      "tree": "4f5ed9d9ac417dfd69fd18f64412b2272c448e05",
      "parents": [
        "8ecbc4e844fc3b73e6a5c5151eda914d53297180"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Sep 16 09:46:58 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 07 08:32:52 2020 +0000"
      },
      "message": "Change interface conflict stub to take the interface method.\n\nTo avoid doing dex cache lookup, pass the interface method instead. This\ncosts a few hundred KBs on speed compiled APKs (\u003c 0.5% code size), but\nimproves performance when hitting a conflict (as seen on dogfood data).\n\nFor nterp, we currently pass the conflict method instead of the\ninterface method. We need to handle default methods before optimizing\nit.\n\nThis removes our last use of dex cache in compiled code. A follow-up CL\nwill remove the NeedsDexCacheOfDeclaringClass from HInvokeInterface.\n\nTest: test.py\n\nChange-Id: I3cdd4543ad7d904b3e81950af46a48a48af6991a\n"
    },
    {
      "commit": "0713ca0525579365ae927ac800797a7473d9267f",
      "tree": "47bdc9b541db6605af9bc3dbb4db42fed51f7b49",
      "parents": [
        "9c1c042dd6916e040007ad60a44c6e4e410cedc6"
      ],
      "author": {
        "name": "Daniil Riazanovskiy",
        "email": "riazanovskiy@google.com",
        "time": "Fri Oct 02 13:46:47 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Oct 05 15:04:11 2020 +0000"
      },
      "message": "Disable x86 FromCpuFeatures test\n\nTest: art_runtime_tests --no_isolate \"--gtest_filter\u003dInstructionSetFeaturesTest.*\"\n\nBug: 169921883\nChange-Id: I6b596c156c110cd8aafe5c82a42c63bf5c8250b1\n"
    },
    {
      "commit": "71f7affff661a9f48afae25e19fcd3b9e82dac33",
      "tree": "0c39fae9b425703b0c05f7fdf70dc4e330bdbbbf",
      "parents": [
        "4904d5d65de32237790e5370bd076a9bccc22aa1"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Sep 15 16:45:49 2020 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Oct 05 11:41:52 2020 +0000"
      },
      "message": "Use prebuilt_visibility property on sdk/module_exports\n\nWhen the ART sdk/module_exports snapshots are unpacked in a prebuilts\ndirectory they need some additional visibility rules to be added to\nensure that the prebuilts are visible to each other. Previously, those\nwere added on a case by case basis to the individual modules. This\nchange replaces them by using the prebuilt_visibility property that\nspecifies additional visibility rules to be added to all prebuilt\nmodules in the snapshots.\n\nCurrently, the additional visibility added to the prebuilts makes them\nvisible to anything in //prebuilts or beneath which is not restrictive\nenough. Specifying the rule in a single place will make that easier to\nrestrict in future.\n\nBug: 155921753\nBug: 168301990\nTest: build sdk/snapshot, install them in prebuilts/module_sdk/art\n      and run m nothing to ensure the visibility rules are valid.\nChange-Id: I751ed6d488038214ac9df35849babe69a3c79a31\n"
    },
    {
      "commit": "4904d5d65de32237790e5370bd076a9bccc22aa1",
      "tree": "f1a6e6126200d40ba10f3411c1c0bb51f826af1b",
      "parents": [
        "463255b4f1fcc8c34856a6b0780cf5ef238941c2"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Oct 02 13:52:00 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Oct 05 08:28:08 2020 +0000"
      },
      "message": "Optimize JNI:GetStringRegion() for compressed strings.\n\nLooking at the disassembly, it seems clang++ was unable to\noptimize this properly, probably due to possible aliasing,\ndespite inlining the String::CharAt() and seeing all the\nString::IsCompressed() expressions.\n\nExplicitly use the fact that the string is compressed to\noptimize the function and similar patterns in JNI.\n\nTest: m test-art-host-gtest\nBug: 169674485\nChange-Id: I35dd2540a1e79611a65d2d84f2a557c826120409\n"
    },
    {
      "commit": "8b247625f58ba8a0f616594dc774089678aa57e3",
      "tree": "ff2be8fba185515184eb9aa6190ca50cdd27b2bd",
      "parents": [
        "e177bf1d28c5f8386995b9afd6df55c76fd48257"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Tue Sep 22 21:48:15 2020 +0100"
      },
      "committer": {
        "name": "vichang",
        "email": "vichang@google.com",
        "time": "Fri Oct 02 18:32:14 2020 +0000"
      },
      "message": "Use the new libicu.so provided in the NDK\n\nBug: 160350521\nTest: device boots\nTest: art/build/apex/runtests.sh\nChange-Id: I54ce31df8349b0c2f335a50efa117d11976c1b1d\n"
    },
    {
      "commit": "e177bf1d28c5f8386995b9afd6df55c76fd48257",
      "tree": "c98b0483c2be921a71c4b00b940166b6dbee3a9c",
      "parents": [
        "5cdd368de2b21bb4d5b9e621fce7b8b0e4ac5eec"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Oct 02 11:57:11 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Oct 02 15:40:34 2020 +0000"
      },
      "message": "Move String::GetUtfLength() to string-inl.h.\n\nAttribute the time spent in this trivial function\nto its users in perf data.\n\nTest: m\nChange-Id: I6340c48e0cf29451e2d8cf854723f94da5650ec6\n"
    },
    {
      "commit": "5cdd368de2b21bb4d5b9e621fce7b8b0e4ac5eec",
      "tree": "01657e9e2aaef292bc82ffc906b1dc167c893259",
      "parents": [
        "2d98dc23d6e9b74ef004d4358d6c3d53503b12a7"
      ],
      "author": {
        "name": "Rick Yiu",
        "email": "rickyiu@google.com",
        "time": "Sat Sep 26 07:12:40 2020 +0000"
      },
      "committer": {
        "name": "Rick Yiu",
        "email": "rickyiu@google.com",
        "time": "Fri Oct 02 12:23:51 2020 +0000"
      },
      "message": "Revert \"Add getNativeTid function\"\n\nRevert submission 1202786-setpriority\n\nReason for revert: will cause lock contention\nReverted Changes:\nI46093c953:Use ThreadPrioritySetter to set thread priority\nIc13c13803:Add getNativeTid function\nIb486b7229:Implement the ThreadPrioritySetter interface\n\nBug: 139521784\nTest: build pass\nChange-Id: Ie13eee23321cf78cd8e0c4e06b5215936710d8d7\n"
    },
    {
      "commit": "7f8a7f29f07886d1008dfc26d43617e79965447c",
      "tree": "629658a364e29f26d8d8ccd312e61cd41c320b8e",
      "parents": [
        "cb4fab133d14b491c57f46a4a08b66eaf8b675f6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Sep 23 14:44:53 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Oct 01 11:20:13 2020 +0000"
      },
      "message": "Remove unused CorePlatformAPI methods.\n\nBug: 165370038\nTest: m\nChange-Id: I944cc5354016bef8820455c092e6cfaa033fa1f0\n"
    },
    {
      "commit": "8f63f1084b013a129f66cf8a7ed8ab1cae9f02aa",
      "tree": "6e9bbf5ad71a55f701f740e2995e0b84e9b87307",
      "parents": [
        "7aa2bfc09541ea5d2516738de84c24cd0269fed0"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Sep 28 12:10:28 2020 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Sep 30 13:58:32 2020 +0000"
      },
      "message": "Faster access to unresolved classes from compiled code.\n\nAdd two new load kinds to LoadClass, similar to kBssEntry\nbut using the access-checking entrypoint on the slow-path.\nOne is used for classes that are in the literal package and\nthe other for classes outside the literal package of the\ncompiling class. Associate new .bss entries with these load\nkinds and update them from entrypoints based on the resolved\nclass properties. If the resolved class is public, both\ntypes of entries can be updated, otherwise only the package\nlocal entry can be updated and only if the defining class\nloader of the class is the same as the caller\u0027s defining\nclass loader (which is identical for all code in an oat\nfile) because the run time access check for same package\nrequires both class loader and literal package name match.\n\nTest: Additional tests in 727-checker-unresolved-class.\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: aosp_blueline-userdebug boots.\nTest: run-gtests.sh\nTest: testrunner.py --target --optimizing\nBug: 161898207\nChange-Id: I281e06ac2825caf81c6d7ee3128af833abd39992\n"
    },
    {
      "commit": "9636062c4d4839bbb2fd979ee56b2f38d8615f1e",
      "tree": "2562080e05eed8104de13707c092aacb3556d572",
      "parents": [
        "e2a9bb7175517c18ab0899ad54c730b272d9883c"
      ],
      "author": {
        "name": "Daniil Riazanovskiy",
        "email": "riazanovskiy@google.com",
        "time": "Wed Sep 16 23:26:52 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Sep 29 13:32:59 2020 +0000"
      },
      "message": "Integrate cpu_features external library\n\nTest: art_runtime_tests --no_isolate \"--gtest_filter\u003dInstructionSetFeaturesTest.*\"\nTest: Run `InstructionSetFeaturesTest` on device (Pixel 3) with this\n      command:\n          atest --all-abi ArtGtestsTargetInstallApex -- \\\n                --test-arg com.android.tradefed.testtype.GTest:native-test-flag:\"--gtest_filter\u003d*InstructionSetFeaturesTest*\"\nBug: 128901000\nChange-Id: I49375eff2a28444af941610b750b3316bf18c7a7\n"
    },
    {
      "commit": "e0f09bb2e2e5b3971b1232edabb7db1f9219ceb7",
      "tree": "7f95f3051a1944de089d94a39a2569c646903b23",
      "parents": [
        "d0d73c69bfd3ad2cbfb2a4b1de8651d87e870ad9"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Sep 25 09:33:34 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 29 11:57:59 2020 +0000"
      },
      "message": "Reland \"JNI: Do not inhibit GC in GetStringCritical for compressed string.\"\n\nIt was accidentally reverted in https://r.android.com/1434215.\n\n(cherry-pick of b2568693d783d53aa80f71fde4715995a1f695cc)\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nChange-Id: I7a4953ccde5bf4af1b697545c125ad9bdbe18088\n"
    },
    {
      "commit": "d0d73c69bfd3ad2cbfb2a4b1de8651d87e870ad9",
      "tree": "ab8ea7aeda76c58aa881f460968449499b12ea43",
      "parents": [
        "d5e776c070750161edd4a22e3e72bb004877a41c"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Sep 18 13:50:36 2020 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Sep 29 11:19:41 2020 +0000"
      },
      "message": "Switch-interpreter: Add trivial helpers.\n\nMake further refactoring easier.\n\nTest: ./art/test.py -b -r --host --interpreter --64\nChange-Id: Ib6a7bee314907524910dee4766d4c73a0b85aafc\n"
    },
    {
      "commit": "1de6f018f6601a11ab32ca05d7ac4f4547d31e53",
      "tree": "1d8e5bd665b7c1d46964c7305ef87a8f8193f8b5",
      "parents": [
        "199f2ecd9e8c915d93d365e12405f7d6a1d5d924"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Sep 23 13:28:00 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Sep 29 08:07:34 2020 +0000"
      },
      "message": "Another fix for the resolution trampoline and invokesuper.\n\nWe need to fully resolve the target method before updating the BSS.\n\nTest: 811\nBug: 169047229\nChange-Id: I2f3a6d60e3e44b00daea4af15c02b55e1c9098d6\n"
    },
    {
      "commit": "1d34c08cf005df789e72fa36dfbb99b5b9edda2c",
      "tree": "5d9ec1b6c303729fac49429fd822940d871fb112",
      "parents": [
        "891cb8897612a156e631825615781c537032a3f3"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Sep 24 00:17:43 2020 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Sep 28 18:45:01 2020 +0000"
      },
      "message": "Update for libunwindstack changes.\n\nTest: Builds.\nChange-Id: I4a8f2ccb15998f45822e8380c41f4e7f6fac07d2\n"
    },
    {
      "commit": "891cb8897612a156e631825615781c537032a3f3",
      "tree": "c0206a93a2480388764113184e9118a8c0a120ea",
      "parents": [
        "270e10a8122d4a2abe4d92db55451e2b62f32188"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Jul 31 12:06:58 2020 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Mon Sep 28 18:35:14 2020 +0000"
      },
      "message": "Add mutator collector coordination documentation\n\nThis affects a lot of ART and should thus be documented.\n\nIt is sufficiently low level that I believe it belongs in the source\ntree. It should only be of interest to ART developers, in a broad sense\nthat includes anyone trying to understand failures involving ART.\n\nVarious comment improvements around thread suspension and checkpoints.\n\nTest: Built AOSP.\nChange-Id: I77338ff1d6f7c6aefb7be849449770438c15c982\n"
    },
    {
      "commit": "35f765b9c66a9d999d35afd54c693f8636d0a7ee",
      "tree": "4e51043f9d638c0d861022291ef80d126fb96e0d",
      "parents": [
        "a28438ab47e8e41599fa6b2343f8a6a21efa0116"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Sep 23 00:38:38 2020 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon Sep 28 10:13:56 2020 +0000"
      },
      "message": "Link all internal libraries statically into dex2oat(d) on host.\n\nAll static defaults had to change to whole_static_libs to work with the\nnew libdex2oat(d)_static libraries, so that they don\u0027t lose all symbols\nin the static_libs dependency from the dex2oat(d) binaries.\n\nThe static unstripped dex2oat binary is 348 MB, 35 MB smaller than the\nsum of the dynamic binary + DSO\u0027s.\n\nTest: art/build/apex/runtests.sh\nTest: runtests in device chroot\nTest: art/test/testrunner/run_build_test_target.py art-test\nTest: readelf -d out/host/linux-x86/bin/dex2oat(d)\n  Check that NEEDED only lists system libraries (libdl, libpthread,\n  libm, librt, libgcc_s, libc).\nBug: 145934348\nChange-Id: I7abcf1db9b053f71ced6a7dde38ab1b4300b7b5a\n"
    },
    {
      "commit": "68e5db56dadbc0e558c16696aa48a80695ccbfbc",
      "tree": "3e885cc60324c729d66730126a82d53baea9a9ff",
      "parents": [
        "b2568693d783d53aa80f71fde4715995a1f695cc"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Sep 23 20:43:56 2020 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Sep 25 12:46:29 2020 +0000"
      },
      "message": "Convert libdexfile_support_static to *_static_defaults modules.\n\nIt has been using whole_static_libs to propagate static library\ndependencies transitively, but that can lead to duplicate instances of\nthem. Instead provide libdexfile(d)_support_static_defaults that\ncollect dependencies just like elsewhere in ART.\n\nExternal packages (read simpleperf) that depend on static libdexfile\nare provided a separate libdexfile_external_static library. It only\ncontains the internal dependencies and have a corresponding\n*_static_defaults for the external ones, and hence shouldn\u0027t be used\ninternally.\n\nTest: flash \u0026 boot\nTest: art/build/apex/runtests.sh\nTest: art/tools/buildbot-build.sh {--host,--target}\nTest: m build-art-target-golem\nTest: atest --host art_libdexfile_support_tests \\\n  art_libdexfile_support_static_tests \\\n  art_libdexfile_external_static_tests\nBug: 145934348\nBug: 142944931\nChange-Id: Ic99eebccc5c63acb55f323611c6b6f50a83eba5a\n"
    },
    {
      "commit": "b2568693d783d53aa80f71fde4715995a1f695cc",
      "tree": "ac48148fbe7e857538c375b693d81130dade687a",
      "parents": [
        "423aefc4be393842a88cdd554df3bb58f4b79474"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Sep 25 09:33:34 2020 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Sep 25 11:50:04 2020 +0000"
      },
      "message": "JNI: Do not inhibit GC in GetStringCritical for compressed string.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nChange-Id: I6ccca9effe3820bb6b9eab6bb48263499da08321\n"
    },
    {
      "commit": "a3bd4ec050e10fbfb6df0fe024bc6f3851bcc326",
      "tree": "8a373f87b05b3580f564bd8561bf0dd4ebb9161e",
      "parents": [
        "b0f405e1482df602fc57ee2ed4434456c4dc2555"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Thu Aug 27 16:26:17 2020 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Sep 25 09:16:33 2020 +0000"
      },
      "message": "Introduce Long.divideUnsigned() intrinsic on ARM64.\n\nExtends the 082-inline-execute test and reorders\ndivideUnsigned intrinsic code before VarHandle code.\n\nTest: 082-inline-execute.\nTest: testrunner.py --target --optimizing --64\nBug: 156736938\nChange-Id: I8acf3db184da30640aff36cf02570ae0c6d2b88c\n"
    },
    {
      "commit": "25b9c7da44cd4652aa2ba26aa105509a6d035632",
      "tree": "b11d09d13e3d3c29d9782ab9b7f8521bc58747e8",
      "parents": [
        "6d69b52f331f788cbd1f21ffd5b87cb3b39965e4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Sep 17 17:34:34 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Sep 24 08:26:53 2020 +0000"
      },
      "message": "Don\u0027t store copied methods in BSS.\n\nOtherwise, we can end up in a state where the method on the stack is\nunrelated to the receiver.\n\nAlso fix a comment related to GetCanonicalMethod and\nStackVisitor::ValidateFrame.\n\nTest: 810-checker-invoke-super-default\nChange-Id: I3030e4af6059f7a4a7a1f046f2aabae8ce9057da\n"
    },
    {
      "commit": "e1d2dce0cda2d223ac9c4e48958b9d5810e3e987",
      "tree": "3b9a664710cad714ad2ee1f9fec60908408aa23f",
      "parents": [
        "9dfb1a9d642b9eb627895ef3364736fc839b4fe4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 21 10:06:31 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Sep 23 08:12:33 2020 +0000"
      },
      "message": "Add support for compact dex files in nterp.\n\nTest: test.py\nBug: 112676029\nChange-Id: I604af166dab0647037bf675cabc6ce433053a83c\n"
    },
    {
      "commit": "2eb1f8337b4852b25517d9197ce3f313248f9b85",
      "tree": "1c8960eff3fc9f575321abc41bd0e200c850648c",
      "parents": [
        "3c7bd3c783e5a171f7ae1e5bc1c11cb95b80a93b"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Sep 17 00:25:52 2020 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon Sep 21 02:34:07 2020 +0100"
      },
      "message": "Link liblz4 and liblzma dynamically again.\n\nThis reverts https://r.android.com/821441 in spirit - it was an attempt\nto avoid external shared lib dependencies before the APEX library\ndependency logic was built. Now these shared libraries will simply be\nadded as internal libs in the APEX.\n\nSoong doesn\u0027t propagate shared lib dependencies in static libs, so we\nhave to repeat them in some cases where libelffile and libart-dex2oat\nare used.\n\nTest: art/build/apex/runtests.sh\nTest: art/tools/buildbot-build.sh\nBug: 118374951\nChange-Id: I0a61b8388f12a749ab8ab5074866eebbad78548b\n"
    },
    {
      "commit": "1d4f009209c35e91c41c915e21e3b59a731925f8",
      "tree": "63428eec8b2397cccdba81e9df37faa54081a8bc",
      "parents": [
        "fb9b09d50ccab5e9de5b79bed4f943cc1ac0b74d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Aug 07 14:01:05 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Sep 17 13:46:20 2020 +0000"
      },
      "message": "Call dex2oat and runtime hooks when creating / loading oat/dex files.\n\nTest: m\nBug: 162715919\nBug: 134558686\nChange-Id: I293310106b8dcd7bec22d8790fd5f72b315776a8\n"
    },
    {
      "commit": "556502910526d935093eae3d2e7f79b02245fc66",
      "tree": "fc98b3c8196bdd2abe8889397ad2133a1b7beb21",
      "parents": [
        "e82dee02b24fe50bb48a05d5a3be8c41fbbb00ba"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Sep 14 12:21:04 2020 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 15 17:15:11 2020 +0000"
      },
      "message": "Improve logging for missed fields\n\nPretty print fields that are not assigned to an offset.\n\nBug: 168097035\nTest: make\n\nChange-Id: Ia389165d5a560cf69f396dbef7e98972b1da5e90\n"
    },
    {
      "commit": "6a99ae6cced8052550ea3acd8247c98a464c2ebd",
      "tree": "52bf98b113a4ebc7789ef2268d6d10d1e99eea4a",
      "parents": [
        "00381bf2b88a6cb980c2f882c6eb8fdc70ea6168"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Sep 09 14:42:51 2020 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Sep 15 09:41:05 2020 +0000"
      },
      "message": "Switch-interpreter: Inline several trivial methods.\n\nAfter several rounds of clean-up, it turns out that many of the\ntrivial helpers are used only once.\n\nTest: test.py -b -r --host --interpreter\nChange-Id: I5e9e1499d48355e71c61d291272ccbb485367063\n"
    },
    {
      "commit": "3d9c0d9d8beb8a1d2ea65c53e14e7c2499b7ce10",
      "tree": "31d532130b26487dc2d9ffe00ed10a6c7977454d",
      "parents": [
        "a7248f1032054de429a1384f09ee0b5b76272b96"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Sep 09 14:16:08 2020 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Sep 14 17:57:06 2020 +0000"
      },
      "message": "Prevent IndirectReferenceTable from being outside of kPageAlignment\n\nDue to how we resized the IndirectReferenceTable it could end up being\nan unaligned size. On some architectures, this could sometimes cause\nissues we would try to madvise a negative length region, causing\ncrashes. To fix this we changed the IRT to avoid ever having non-page\naligned lengths and changed how we calculate what to madvise slightly.\n\nTest: ./test.py --host\nTest: ./test.py --host --debuggable --64 --with-agent $ANDROID_HOST_OUT/lib64/libtifastd.so\u003dClassFileLoadHook\nTest: Manual checks on emulator\nBug: 152421535\nChange-Id: I9eb99c750e6b6230998bf8ba314be426ad8c228c\n"
    },
    {
      "commit": "1fef877c66f066f01653ea98bfefe29304198193",
      "tree": "65561c8b15844cabe32728b61d1e5d586976acf3",
      "parents": [
        "a41ea2708d143b5982f1969864513b62706d11d4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Sep 09 13:57:17 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Sep 11 13:20:58 2020 +0000"
      },
      "message": "Handle more cases of super calls in the compiler.\n\nAdd support for calling super methods that are not referenced within the\ncompiling dex file.\n\nTest: 808-checker-invoke-super\nTest: 809-checker-invoke-super-bss\nChange-Id: Ib103f818ac8b612a79b6b18cc8eda81131bb3149\n"
    },
    {
      "commit": "b0bf9e219902ea05bb303fc5e4727b68f5df5d3e",
      "tree": "ac532a141bf363721fea3434c8d15fdc3d3cd85f",
      "parents": [
        "5e13d453acc03fda08dae23e085f7161a73f7032"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Sep 10 09:54:05 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Sep 10 13:38:24 2020 +0000"
      },
      "message": "Fix test to search for a populated StackMap.\n\nWith the baseline compiler, the test could have hit a stack map for a\nNullCheck, where we don\u0027t populate the reference StackMask in the stack\nmap. To fix this, look for another stack map starting at the same dex\npc.\n\nTest: 004-ReferenceMap\n\nChange-Id: I2628ded5c89c6fb0059a18341bffda78ef06f197\n"
    },
    {
      "commit": "12891f9756eb0a6f08564d4c8df21ee1803c5f79",
      "tree": "3ef595129b6576873c941b23d692e0dca01ca661",
      "parents": [
        "6b0b2e711fdb9a1852705318dda2b5139d30f7a5"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Sep 08 16:54:48 2020 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Sep 09 10:25:36 2020 +0000"
      },
      "message": "Switch-interpreter: Small refactoring.\n\nSimplify unnecessarily indented else-blocks.\n\nRemove redundant vreg-clears (the clear is always done as part of set).\n\nInline some expressions (since they easily fit one line now).\n\nTest: ./art/test.py -b -r --host --interpreter\nChange-Id: Ic0aaf142350bd35f3f9fc73b669febcf98a21839\n"
    },
    {
      "commit": "6f0c8b976ac84215129fe7cca0b0ef26d9af0554",
      "tree": "97872cd87c060c8680240610bfab61a757d699cc",
      "parents": [
        "1263402b99713aab1cd18303c41a3f3b17aa1f0f"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Sep 08 15:16:29 2020 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Sep 09 10:20:18 2020 +0000"
      },
      "message": "Switch-interpreter: Rename fields to match ART conventions.\n\nThe names are left-over from times when the file was one\ngiant macro-based method.\n\nTest: test.py -b -r --host --interpreter\nChange-Id: I4f9dcb43b876284136d41e2b054a879e46df539c\n"
    },
    {
      "commit": "b839c49e524dd59bb0e0063ddfaa9185ad1b90d8",
      "tree": "0b69235a0c719058df466c0d071ffb7bf20bc18e",
      "parents": [
        "43d57558bafccff3ec3c5aecb201d7a8a57b2435"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 07 14:08:43 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 07 16:02:11 2020 +0000"
      },
      "message": "Use the resolved method of an invoke super when updating BSS.\n\nThe compiler uses the dex index of the resolved method and not of the\noriginal invoke-super instruction.\n\nIssue found by timmurray@.\n\nTest: 809-checker-invoke-super-bss\nTest: test.py\nChange-Id: Ia422d64a91bbb0db117b7296b4a551ae2ba92fbd\n"
    },
    {
      "commit": "4717175e40a19e79af904dfb7b7dd13f046debd7",
      "tree": "426f040eacf5a8305f8bb8d504bd509824d984c8",
      "parents": [
        "1faacf59b9f74e9d2de4e0331ef0cdfcf132225d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Aug 31 15:03:20 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 07 07:29:59 2020 +0000"
      },
      "message": "Move code item to the data pointer and remove code_item_offset.\n\nThis saves 4 bytes on 32bit and 8 bytes on 64bit on ArtMethod.\n\nAlso update nterp to directly fetch the code item from the data pointer.\n\nTest: test.py\nBug: 112676029\n\nChange-Id: Ic01f43c7ccf2cbce1ec517478e81362232d36371\n"
    },
    {
      "commit": "81daf3dd28e736697221fac968822a4b17dbc089",
      "tree": "d5f5fe5b05ada2bdd408e2dc0b87ebecffc1e72b",
      "parents": [
        "8feddbc07bd1e05ed7aa5cf5fc66f7b2c3c24c31"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Sep 03 14:01:51 2020 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Sep 03 14:01:51 2020 +0100"
      },
      "message": "Rename ArtMethod::IsPolymorphicSignature\n\nChange to ArtMethod::IsSignaturePolymorphic which is more widely used\nhere and elsewhere.\n\nTest: m\nChange-Id: Ifbb225b84c8202d55111a7fa81841dd543c091ea\n"
    },
    {
      "commit": "d111cd22792c1cda507e343e46762842956a2c9b",
      "tree": "e9c7c49446dd3e92e30d39baa98038193f943f60",
      "parents": [
        "b78bfeea4526a286ab7cf4874759be8e0d1daeba"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Sep 02 16:41:13 2020 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 02 19:39:22 2020 +0000"
      },
      "message": "Expose VarHandle::AccessModeTemplate and helpers for compiler\n\nBug: 65872996\nTest: art/test/run_test.sh --host 712\nTest: art_runtime_tests\nChange-Id: I3c19fe8bb1f4be4275c9c0c51ecf8b57ab1b7e96\n"
    },
    {
      "commit": "b78bfeea4526a286ab7cf4874759be8e0d1daeba",
      "tree": "78a4954878666e18d0bb8f7f8f7ea2db6aa10ea2",
      "parents": [
        "0d47a82b11ea666fc3ef971b32be5a03ffadc452"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Aug 31 12:56:28 2020 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 02 18:48:13 2020 +0000"
      },
      "message": "Ensure GetStringUTFRegion is null-terminated\n\nNull terminate GetStringUTFRegion results. This should help prevent\nsome types of bugs in JNI.\n\nThis changes behavior to match what is observed on the RI.\n\nTest: ./test.py\nBug: 166834353\nChange-Id: Ifee6ea2d10ffb7501fc7f141f6da7dc08214fd23\n"
    },
    {
      "commit": "0d47a82b11ea666fc3ef971b32be5a03ffadc452",
      "tree": "2bd3e50b0dae701470f92a713a875ab594b3d344",
      "parents": [
        "6624d58c11b43a10c802037bf1c5754ca276156c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Aug 25 09:16:34 2020 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Sep 02 17:21:58 2020 +0000"
      },
      "message": "Use help-text generator for dex2oat\n\nThe use of a static text blob makes keeping the dex2oat help text up\nto date difficult. Change to use the new cmdline help-text generator\ncode.\n\nTest: dex2oat --help\nChange-Id: I1139cba2c773242e15f863d7efd2c7050c05ab4f\n"
    },
    {
      "commit": "6624d58c11b43a10c802037bf1c5754ca276156c",
      "tree": "11e6ae686e70c091d50893f1169131c4c31081ad",
      "parents": [
        "f9dbb97a1625b61a395406351e042921f9cfb455"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Sep 01 15:02:00 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Sep 02 13:10:42 2020 +0000"
      },
      "message": "Fix bug in StackVisitor::GetVReg.\n\nFloats can be stored in core registers within compiled code, so use the\nrepresentation returned by the stack maps to know which register to read\na value.\n\nBug: 147572335\nTest: 457-regs\nChange-Id: Ibe6642f2fae8206f2c230006ae85d73b47501c3b\n"
    },
    {
      "commit": "f9dbb97a1625b61a395406351e042921f9cfb455",
      "tree": "6a85f72081dfad110257e03fab1e768d196b1a86",
      "parents": [
        "0875b0ad9825077ca7a9043552272ac0732130f2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Aug 27 15:21:11 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Sep 02 09:43:37 2020 +0000"
      },
      "message": "Adjust JIT thread priority post-fork.\n\nBug: 166406877\nTest: test.py\nChange-Id: I81c9a231213e62a1aeaa67cfe8c38419f5bddcd0\n"
    },
    {
      "commit": "f1e1dd135c086a15c0e683c5778add033f97e4d9",
      "tree": "3146a9f0c4dd769a741641f1da34dff7df649480",
      "parents": [
        "ca8343842f9094fd5eb86569d293250e783f582c"
      ],
      "author": {
        "name": "Eric Holk",
        "email": "eholk@google.com",
        "time": "Fri Aug 21 15:38:12 2020 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 28 17:00:06 2020 +0000"
      },
      "message": "Enable -Wconversion for thread.cc\n\nThis should help prevent bugs due to unexpected implicit integer\nconversions.\n\nSome collateral changes were needed as well to limit the number of casts\nthat had to be introduced.\n\nBug: 165843530\nTest: m test-art-host-gtests\nChange-Id: I091122827001ab335c7e140864f67cdf90fcf8b4\n"
    },
    {
      "commit": "ca8343842f9094fd5eb86569d293250e783f582c",
      "tree": "c4e040eff9f8528626535106a88fe4e7bb317a00",
      "parents": [
        "49a19f38c35605e675eee271691ed465802859bf"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Aug 26 21:41:13 2020 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Aug 28 15:47:40 2020 +0000"
      },
      "message": "Avoid NanoSleep overflow\n\nNanoSleep with a very large argument could cause it to fail on 32 bits.\nIt doesn\u0027t appear to me that this was ever exposed to client code.\nSo this was probably not an observable bug.\n\nRemove redundant uses of \"constexpr inline\" instead of adding another\none.\n\nBug: 161006928\nTest: Treehugger\nChange-Id: I2ad3b92d01c764915ab2aac17cc72ac5c6907ed4\n"
    },
    {
      "commit": "4313ccb65b6d77821b1fb976d76a90f1000adaea",
      "tree": "d083f10b003e4e377927af876aedef3375a464ca",
      "parents": [
        "2ff0cb1d29989f1a92824d225de76037ff31cec4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 26 17:01:15 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Aug 27 13:39:54 2020 +0000"
      },
      "message": "Introduce a kTieredHotnessMask.\n\nTo be used by the baseline compiler for when to trigger optimized\ncompilation. Before we were using the nterp threshold, but there may be\na need to have different ones.\n\nTest: test.py\nBug: 112676029\nChange-Id: I98e97ad8cfa50a6546c927960fad1567263a7354\n"
    },
    {
      "commit": "2ff0cb1d29989f1a92824d225de76037ff31cec4",
      "tree": "8cd4e7af30bd5a23263c5fab44efe545429411c7",
      "parents": [
        "b9845a5ba7ec7f483aa8b1f3b980f8e19f02dabe"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Aug 27 09:04:57 2020 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Aug 27 12:15:34 2020 +0000"
      },
      "message": "Refine VarHandle::GetMethodTypeMatchForAccessMode()\n\nTreat assignable types as exact to broaden cases in the runtime that\ntake the faster path. Also treat parameters of type j.l.Void as\nassignable since this means the parameter value is null.\n\nRemove unused VarHandle::IsInvokerMethodTypeCompatible().\n\nBug: 65872996\nTest: art/test.py --host -r -t 712\nTest: m test-art-host-gtest\nChange-Id: I0aea10b53d03a1a13ff23dfedaeb0d1c75c3f1ff\n"
    },
    {
      "commit": "0c9a217ba6a8af3b3fd522ec75b69c41f216fe49",
      "tree": "f0c0444e60e76f2cbd69a66c3e1214aecf8a1761",
      "parents": [
        "2ea4cc76a1a04ad16edccf5fe2486964f945a125"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 26 14:42:24 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Aug 27 09:31:45 2020 +0000"
      },
      "message": "Always create IMT conflict tables when generating an image.\n\nIt is required by the runtime. Also remove obsolete code around forcing\narray class initialization: we now always intialize in array classes in\nClassLinker::FinishArrayClassSetup.\n\nTest: eng builds\nBug: 166327764\nChange-Id: I2f2398a8ba60360588c089affc4a73897d9df97b\n"
    },
    {
      "commit": "3d52363c5780f37d6f9bbd8e476f3c360d22b833",
      "tree": "39eee117d5b8782448a952164d55e749631d0eae",
      "parents": [
        "9e5ad47aeae004c45f434301e5bb3cb5ba43755c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 26 15:10:48 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 26 15:56:22 2020 +0000"
      },
      "message": "Change detection of counter overflow in nterp x64.\n\nTo better play with different thresholds (currently changing the counter\nin the source, but soon through command line), \u0027and\u0027 the counter with the\nhotness before comparing to zero.\n\nTest: test.py\nBug: 112676029\nChange-Id: I1f85a3dbd7423b08f69839301465e1ebbcc8d69a\n"
    },
    {
      "commit": "095dc4611b8001861f8d0e621f9df704a933754a",
      "tree": "edbbd5b116d8caaceb4ce4605343f3e0d59c11c1",
      "parents": [
        "ed29dcee8b5d7e62bb119d2366f3b95dd5f96163"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Aug 17 16:40:28 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Aug 24 09:06:03 2020 +0000"
      },
      "message": "Move the profiling info out of ArtMethod.\n\nInstead, keep a map in JitCodeCache.\n\nBug: 112676029\nTest: test.py\nChange-Id: I5ab769a9b7b3214af7832478d1b06c9e9adbf8b8\n"
    },
    {
      "commit": "33701432b2abbc85db0eaf9e3016bc01da0a12a4",
      "tree": "92379598bc8049f8aa315e65e9635b5d1ca8a9d1",
      "parents": [
        "a553226c2f10dc5887769d7c98708b3593072ca5"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Aug 19 15:05:03 2020 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Aug 20 04:34:31 2020 +0000"
      },
      "message": "Avoid tv_sec overflows in Park()\n\nBug: 161006928\nTest: Built and booted AOSP\nChange-Id: I567b87505eb3d85fa3ec9e8c45277238b213c2d5\n"
    },
    {
      "commit": "9a2ba0e2ace958b8a4d655b3f99578957de81544",
      "tree": "01d0c035549391caa2ed0fd7bc00104362cfbd13",
      "parents": [
        "7f91ae239ef270f47cab19840df8231d2e19ee23"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Aug 19 15:01:34 2020 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Aug 19 16:10:08 2020 +0000"
      },
      "message": "Clear DexCache MethodTypes and CallSites in ImageWriter.\n\nAnd clean up the rest of ImageWriter::ClearDexCache().\n\nTest: m\nChange-Id: I975ce128d1ef7a14e972a17c70f1dee2b55914f6\n"
    },
    {
      "commit": "a982cd60d0537091723a3127a42f8dafb86e4186",
      "tree": "6b2159f7af006c084eedf4db94f7b1d1e5c5cc68",
      "parents": [
        "676a163f19ffd9a1d5f336c6ba3e7d6c352472f5"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Aug 17 14:13:57 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Aug 17 17:09:10 2020 +0000"
      },
      "message": "Fix transaction_test after libcore changes.\n\nCompensate for long[][].class being in the boot image.\n\nTest: m test-art-host-gtest\nBug: 164435690\nChange-Id: I900a53b3d40fbd9d5696065e099c43b17121601a\n"
    },
    {
      "commit": "02db072528792ab5ebb4ab4757a739b4dbd5617d",
      "tree": "71d516be22c9e1b826ebcbd3a51a19c3192dd910",
      "parents": [
        "b53d3b6aa48c799c95fd6fc45579c41dfd25cea3"
      ],
      "author": {
        "name": "Andrei Onea",
        "email": "andreionea@google.com",
        "time": "Fri Aug 07 14:56:59 2020 +0100"
      },
      "committer": {
        "name": "Andrei-Valentin Onea",
        "email": "andreionea@google.com",
        "time": "Thu Aug 13 13:42:10 2020 +0000"
      },
      "message": "Rename api lists\n\nUse more inclusive terminology for hidden api lists: blocked(blocklist),\nunsupported, max-target-* and sdk (go/hiddenapi-list-renaming).\n\nBug: 162500436\nTest: build and check hiddenapi-flags.csv\n\nChange-Id: Id25fabe25450a8d1f4776c526b208716e2d06ff9\n"
    },
    {
      "commit": "169dfb47436b94def39390be5e2d2ca93e16d61d",
      "tree": "f9c2bea35779bc7abb16e92ce636d1b0670adc8f",
      "parents": [
        "e492f7ed1499a6b600181bb13584091b8f0f63dd"
      ],
      "author": {
        "name": "Yo Chiang",
        "email": "yochiang@google.com",
        "time": "Fri Aug 07 04:22:18 2020 +0000"
      },
      "committer": {
        "name": "Yo Chiang",
        "email": "yochiang@google.com",
        "time": "Tue Aug 11 04:56:51 2020 +0000"
      },
      "message": "Revert^2 \"art: Remove dependencies on platform unavailable modules\"\n\nRevert^2 \"releasetools: Disable host module on darwin\"\n\n0ac3666667de42bd681586d642b52fc9e62e488f\n\nChange-Id: I0c2edeea8a10acc4a6e74a0660ebf7aa5dd67d1b\n"
    },
    {
      "commit": "fc12a6cb415b2eacee0459fd170490a407c2548a",
      "tree": "f3b8508544e7320635146d0458e612e4b6f735d9",
      "parents": [
        "0f5784886faf0281a7b06eba35105ee68f1e5a00"
      ],
      "author": {
        "name": "Andrei Onea",
        "email": "andreionea@google.com",
        "time": "Wed Jul 29 19:52:34 2020 +0100"
      },
      "committer": {
        "name": "Andrei-Valentin Onea",
        "email": "andreionea@google.com",
        "time": "Mon Aug 10 12:27:13 2020 +0000"
      },
      "message": "Rename ApiList::Value enums\n\nUse a more inclusive terminology for the API lists. This change focuses\nspecifically on the ApiList::Value enum values. The string equivalents\nwill be changed separately, as they have multiple extra dependencies.\n\nBug: 162326106\nTest: m\nTest: m test-art-host-gtest-art_hiddenapi_tests\nTest: art/tools/run-gtests.sh\n\nChange-Id: I1dccf59ecc9e08b60dbd1bfed6ce438b5ce081d0\n"
    },
    {
      "commit": "d3e9c62976780e830da79ae32be4192dee196db2",
      "tree": "bf7855545f49ea039c6824d340ce2a162ad40ebd",
      "parents": [
        "60ef3997cbcd866c505e51ecde7f06a0535110a0"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Aug 05 12:20:28 2020 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Aug 10 09:17:34 2020 +0000"
      },
      "message": "ARM: Allow FP args in core regs for @CriticalNative.\n\nIf a float or double argument needs to be passed in core\nregister to a @CriticalNative method due to soft-float\nnative ABI, insert a fake call to Float.floatToRawIntBits()\nor Double.doubleToRawLongBits() to satisfy type checks in\nthe compiler.\n\nWe cannot do that for intrinsics that expect those inputs in\nactual FP registers, so we still prevent such intrinsics\nfrom using `kCallCriticalNative`. This should be irrelevant\nif an actual intrinsic implementation is emitted. There are\ncurrently two unimplemented intrinsics that are affected by\nthe carve-out, namely MathRoundDouble and FP16ToHalf, and\nfour intrinsics implemented only when ARMv8A is supported,\nnamely MathRint, MathRoundFloat, MathCeil and MathFloor.\n\nTest: testrunner.py --target --32 -t 178-app-image-native-method\nBug: 112189621\nChange-Id: Id14ef4f49f8a0e6489f97dc9588c0e6a5c122632\n"
    },
    {
      "commit": "60ef3997cbcd866c505e51ecde7f06a0535110a0",
      "tree": "9c9054afcb9debf6edffc1f40987a4540c83561f",
      "parents": [
        "d9af38a3b76fc54909148456da2701666bade6e0"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Aug 07 07:49:57 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Aug 10 08:01:52 2020 +0000"
      },
      "message": "Reland \"Cleanups around the creation of ProfilingInfo.\"\n\nThis reverts commit a996425197a7946eae02d218f70610a853f2fe9a.\n\nBug: 112676029\n\nReason for revert: Fixed JitCodeCache::InvalidateAllCompiledCode and\n                   ForceJitCompiled.\n\nChange-Id: Ia87fda1bb40c504d9294e447f899ac1797ae98fc\n"
    },
    {
      "commit": "a996425197a7946eae02d218f70610a853f2fe9a",
      "tree": "402596c3af0e7928d7c19c3773ea02cb507998b1",
      "parents": [
        "193b696b1c35a49d4173c8b669a4ed79cb24748a"
      ],
      "author": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Thu Aug 06 21:20:55 2020 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Aug 06 22:51:54 2020 +0000"
      },
      "message": "Revert \"Cleanups around the creation of ProfilingInfo.\"\n\nThis reverts commit 0fa304ee0fa63149222bfc6756f56cd285c56bd1.\n\nReason for revert: 685-deoptimizeable test is failing on\nhost debuggable (and cdex-redefine-stress-jit once) targets\n\nBug: 112676029\nTest: ./test.py --host --debuggable\nChange-Id: I88cf51ec48d704f966066ea9f2dbb17d32648f5a\n"
    }
  ],
  "next": "c4cd59b1f17865d9ba1f362cb5c187cb95982355"
}
