)]}'
{
  "log": [
    {
      "commit": "c7aa87e1666ac48ddf9149cfdfd64b026b3969e5",
      "tree": "32d5d74718cc558e13642873e55724782ac9df22",
      "parents": [
        "0278be74269fcfe4f2517d449f2bd53472f9b2f9"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu May 24 15:19:52 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 25 11:37:45 2018 +0100"
      },
      "message": "Remove static_class_ from Method/VarHandle and CallSite.\n\nAnd add MethodHandle to the class roots to avoid extra\nindirection through MethodHandleImpl.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 31113334\nChange-Id: Iaf172f3732677f2b4509e8297e6e9af5fb81a89f\n"
    },
    {
      "commit": "0278be74269fcfe4f2517d449f2bd53472f9b2f9",
      "tree": "1a59adbd7b5632cba4766b55195fdaf627cdfec0",
      "parents": [
        "b4eb1b19e1dd35d12a408358656c1421f507d231"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu May 24 13:30:24 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 25 11:33:37 2018 +0100"
      },
      "message": "Remove PrimitiveArray\u003cT\u003e::array_class_.\n\nAnd ObjPtr\u003c\u003e-ify jni_internal.cc while we\u0027re touching it.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 31113334\nChange-Id: I15a8ade772e3e4337371c6f3c472f9efea9f4636\n"
    },
    {
      "commit": "b4eb1b19e1dd35d12a408358656c1421f507d231",
      "tree": "03ba65d206b5e6222dcca0f62a973bcbb1bf8a50",
      "parents": [
        "ff7ff426e136aa8fd6e33d873f6259311982f6bb"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu May 24 11:09:38 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 25 11:32:31 2018 +0100"
      },
      "message": "Refactor ClassRoot/GetClassRoot().\n\nMove it outside the ClassLinker, into its own header file,\nand add retrieval based on a mirror class template argument.\nKeep the SetClassRoot() as a private member of ClassLinker.\n\nMake the new GetClassRoot()s return ObjPtr\u003c\u003e.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 31113334\nChange-Id: Icbc6b62b41f6ffd65b437297a21eadbb0454e2b7\n"
    },
    {
      "commit": "ff7ff426e136aa8fd6e33d873f6259311982f6bb",
      "tree": "ca937096fce3dcabf8890d80616ab5021d0b22b9",
      "parents": [
        "aaebb1468cc95838aa58ed537d03de000c9cfe28",
        "e9987b0831403858d95bdd7a5ef9e56665a9702d"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed May 23 16:06:04 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 23 16:06:04 2018 +0000"
      },
      "message": "Merge \"ObjPtr\u003c\u003e-ify tests using ClassLinker::FindClass().\""
    },
    {
      "commit": "aaebb1468cc95838aa58ed537d03de000c9cfe28",
      "tree": "80f325dab976dccd846e3bd5d1b86266be24e3dc",
      "parents": [
        "79866c1f089672eca1fb7776c669c2cef3d6ad3e",
        "6ec2a1bf1cbecf17546df780dd0ad769042e1874"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed May 23 14:58:19 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 23 14:58:19 2018 +0000"
      },
      "message": "Merge \"ObjPtr\u003c\u003e-ify UnstartedRuntime, fix 2 stale reference uses.\""
    },
    {
      "commit": "79866c1f089672eca1fb7776c669c2cef3d6ad3e",
      "tree": "504d112def43377c7a91edf089ee1d5db155b679",
      "parents": [
        "197f1ef6f4f2411d011d7e8f696775c3fbcffd86",
        "1500bc6bdbdad3b0f88eaafda82d017c33525c1c"
      ],
      "author": {
        "name": "Tamas Kenez",
        "email": "tamaskenez@google.com",
        "time": "Wed May 23 14:19:23 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 23 14:19:23 2018 +0000"
      },
      "message": "Merge \"ART-tests: Remove DX dependency from 450-checker-types.\""
    },
    {
      "commit": "1500bc6bdbdad3b0f88eaafda82d017c33525c1c",
      "tree": "504d112def43377c7a91edf089ee1d5db155b679",
      "parents": [
        "197f1ef6f4f2411d011d7e8f696775c3fbcffd86"
      ],
      "author": {
        "name": "Tamas Kenez",
        "email": "tamaskenez@google.com",
        "time": "Fri May 18 14:51:20 2018 +0200"
      },
      "committer": {
        "name": "Tamas Kenez",
        "email": "tamaskenez@google.com",
        "time": "Wed May 23 14:19:15 2018 +0000"
      },
      "message": "ART-tests: Remove DX dependency from 450-checker-types.\n\nTest: art/test.py -r --host -t 450\n\nChange-Id: I6f319c7b9d8f2c72f9c739890acd6499f7ffcacd\n"
    },
    {
      "commit": "e9987b0831403858d95bdd7a5ef9e56665a9702d",
      "tree": "3950da94b73665a52eb5e2b9c5aecc8c92145f13",
      "parents": [
        "6ec2a1bf1cbecf17546df780dd0ad769042e1874"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 22 16:26:43 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed May 23 15:16:45 2018 +0100"
      },
      "message": "ObjPtr\u003c\u003e-ify tests using ClassLinker::FindClass().\n\nClassLinker::FindClass() returns a non-ObjPtr\u003c\u003e reference\nbut it has a lot of uses, so we shall change the uses in\na few steps. This change deals with several tests.\n\nTest: Rely on TreeHugger.\nBug: 31113334\nChange-Id: Ib75e20e7ebaff01fb607a09f96675f8cf397ae52\n"
    },
    {
      "commit": "6ec2a1bf1cbecf17546df780dd0ad769042e1874",
      "tree": "09f7430f020e04dc892ff2c2152bb773cd45c0dd",
      "parents": [
        "2d3065e6ca0bd707bc998b7d260bb8e8ec07cf87"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 22 15:33:48 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed May 23 13:48:31 2018 +0100"
      },
      "message": "ObjPtr\u003c\u003e-ify UnstartedRuntime, fix 2 stale reference uses.\n\nTest: Rely on TreeHugger.\nBug: 31113334\nChange-Id: I35f76c3e3b94dfca18dbe67aba065a1270f4e5ee\n"
    },
    {
      "commit": "197f1ef6f4f2411d011d7e8f696775c3fbcffd86",
      "tree": "eacc720024479e75b03d12ac6764f2cd2ba945b3",
      "parents": [
        "04f0eaffa70e0384c07bb3680aa0724144358330",
        "8b362a87d52a6668ffd2283ef6ffc274315f41c8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 22 23:00:40 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 22 23:00:40 2018 +0000"
      },
      "message": "Merge \"Revert \"Remove support for Valgrind in ART.\"\""
    },
    {
      "commit": "8b362a87d52a6668ffd2283ef6ffc274315f41c8",
      "tree": "14b187cd0b4afde501b9cc7a9dc82c997362e888",
      "parents": [
        "8268cb677bd92bfbcfec7e803775c29687494e53"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 22 20:54:14 2018 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 22 20:54:14 2018 +0000"
      },
      "message": "Revert \"Remove support for Valgrind in ART.\"\n\nThis reverts commit 8268cb677bd92bfbcfec7e803775c29687494e53.\n\nReason for revert: ASAN failures\n\nChange-Id: I7e66d3f3fb461ae4f6dea6ec7d506b7dface3402\nTest: SANITIZE_HOST\u003daddress m test-art-host\nBug: 77856586\nBug: 29282211\n"
    },
    {
      "commit": "04f0eaffa70e0384c07bb3680aa0724144358330",
      "tree": "e2c67558dd6202b4ff8b866c157fbc33b6a13434",
      "parents": [
        "438918b2f37e11684fa1e80bbbfe3a8f657b79a9",
        "bb30d5d917a47d352c209473b3faf332736fa6ae"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 22 18:18:39 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 22 18:18:39 2018 +0000"
      },
      "message": "Merge \"ART: Skip duplicate classes during compilation\""
    },
    {
      "commit": "438918b2f37e11684fa1e80bbbfe3a8f657b79a9",
      "tree": "b77443efb26d5a18a5f5f7d853223dfb3c6ab919",
      "parents": [
        "f31343f1eab771010b3f293366149d2524f30902",
        "c2b4db61e5d0d9ec40b87b9a051aa1ac15ed1294"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue May 22 16:49:41 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 22 16:49:41 2018 +0000"
      },
      "message": "Merge \"Add ClassAccessor\""
    },
    {
      "commit": "f31343f1eab771010b3f293366149d2524f30902",
      "tree": "5187b2bceee4c7d5347750dc6ba0020172d5ef51",
      "parents": [
        "e816389b61d17b9a82d8e61426ddfcce20e1238c",
        "8268cb677bd92bfbcfec7e803775c29687494e53"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue May 22 16:46:43 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 22 16:46:43 2018 +0000"
      },
      "message": "Merge \"Remove support for Valgrind in ART.\""
    },
    {
      "commit": "e816389b61d17b9a82d8e61426ddfcce20e1238c",
      "tree": "689c338b4e659287b9697aa04d5f9c0c9c4f6f5f",
      "parents": [
        "d352156dfeadc72fda186ef8dcbeea4d06eee509",
        "4dc09e7261dede72d916059d1f751a48cd08dbb5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 22 16:34:23 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 22 16:34:23 2018 +0000"
      },
      "message": "Merge \"LSE improvement: better singleton array optimization\""
    },
    {
      "commit": "d352156dfeadc72fda186ef8dcbeea4d06eee509",
      "tree": "64ff7c025cacac290e21beea27ef6533e4f04d79",
      "parents": [
        "cbe50e965be5bcc7e9e0bba8b52a9b1adb7c291f",
        "d3083dd15af1cb4ffc13d87a7d2c3be2edb9199d"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 22 15:33:35 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 22 15:33:35 2018 +0000"
      },
      "message": "Merge \"Refactor runtime callee save frame info.\""
    },
    {
      "commit": "cbe50e965be5bcc7e9e0bba8b52a9b1adb7c291f",
      "tree": "39943409a0b104f73539f45c1cd7ef9e7e1a8397",
      "parents": [
        "1d00c5313ba0f4f8865b1c727b645e975b8beb1e",
        "2d3065e6ca0bd707bc998b7d260bb8e8ec07cf87"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 22 15:02:44 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 22 15:02:44 2018 +0000"
      },
      "message": "Merge \"ObjPtr\u003c\u003e-ify annotation processing.\""
    },
    {
      "commit": "2d3065e6ca0bd707bc998b7d260bb8e8ec07cf87",
      "tree": "2b1361fb8c0d860e735858d41a7be6b7699a576a",
      "parents": [
        "3eb68cf6c05e8c015f0da2c50e7e720976702e63"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 22 13:56:09 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 22 14:54:45 2018 +0100"
      },
      "message": "ObjPtr\u003c\u003e-ify annotation processing.\n\nTest: Rely on TreeHugger.\nBug: 31113334\nChange-Id: Ifd69c15c0df1530d8860cf50e06bde0d356b0c23\n"
    },
    {
      "commit": "d3083dd15af1cb4ffc13d87a7d2c3be2edb9199d",
      "tree": "88dd2599ad89da5a4f2668a2c9debd0335669cd0",
      "parents": [
        "6623bc389c43efc87668ce7465e19b195e765e22"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu May 17 08:43:47 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 22 14:38:14 2018 +0100"
      },
      "message": "Refactor runtime callee save frame info.\n\nAnd avoid storing the info in Runtime.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing --jit\nTest: Pixel 2 XL boots.\nTest: testrunner.py --target --optimizing --jit\nChange-Id: Ib14853fc06c420753993e1f9e82a1b01f5e35e8c\n"
    },
    {
      "commit": "1d00c5313ba0f4f8865b1c727b645e975b8beb1e",
      "tree": "7b9941e908a193dd773c7b42ca25936aa8e2094b",
      "parents": [
        "64e8175b611df79b617892435a26fb2db67bfa85",
        "cfb4ed5aa6126dc15d83a648ee0b2b67abdf9870"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue May 22 12:03:32 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 22 12:03:32 2018 +0000"
      },
      "message": "Merge \"ART: Fix for pkill on device in run-jdwp-tests.sh\""
    },
    {
      "commit": "64e8175b611df79b617892435a26fb2db67bfa85",
      "tree": "3d701089e737eeaac6b49d05033bf8a2160e1db2",
      "parents": [
        "dd5f539e390b3d1b3a77f263a0dbf019489aded3",
        "052f8ca1776ed7deb4f036498edd69eb6a1b942f"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue May 22 10:35:15 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 22 10:35:15 2018 +0000"
      },
      "message": "Merge \"Rewrite stackmap encoding code.\""
    },
    {
      "commit": "cfb4ed5aa6126dc15d83a648ee0b2b67abdf9870",
      "tree": "e84bb18a34f9b4a3c59d8b68ead64141554d72b0",
      "parents": [
        "8926b780fd75f23e8685e108e2d3f4905f3809fd"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue May 22 10:48:52 2018 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue May 22 11:28:27 2018 +0100"
      },
      "message": "ART: Fix for pkill on device in run-jdwp-tests.sh\n\nAdds workaround to run-jdwp-tests.sh for pkill on old devices running\nwithin the ART buildbots.\n\nTest: manual\nBug: 28877702\nChange-Id: I419165fd9f254dae4db94a0e7fffb66feed22360\n"
    },
    {
      "commit": "dd5f539e390b3d1b3a77f263a0dbf019489aded3",
      "tree": "02e0e3791a3d724aa65f0e132aeaa64288cbd0e8",
      "parents": [
        "7867514373b1cf2486fead8511b82221050c2845",
        "4fe708c211c8367bae104616269ce62eb5465291"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue May 22 10:10:53 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 22 10:10:53 2018 +0000"
      },
      "message": "Merge \"Remove \"stack_map.h\" include from code_generator.\""
    },
    {
      "commit": "7867514373b1cf2486fead8511b82221050c2845",
      "tree": "c35d5fe83000f4d0ca78972f8d06e5ac92757a18",
      "parents": [
        "3eb68cf6c05e8c015f0da2c50e7e720976702e63",
        "4cb27ed3a37a53eeb5cc2206b62fe12c33124bb9"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue May 22 10:04:16 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 22 10:04:16 2018 +0000"
      },
      "message": "Merge \"ART: Remove 712 from knownfailures.txt\""
    },
    {
      "commit": "3eb68cf6c05e8c015f0da2c50e7e720976702e63",
      "tree": "15f6670061ad659f5a48c9109434f9b979c9494d",
      "parents": [
        "ba345bfefeac729edd9739eb74b949a6dac8258e",
        "3f383468e14822b9eb125d087e3e38df8b0cf1f5"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue May 22 08:20:24 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 22 08:20:24 2018 +0000"
      },
      "message": "Merge \"ART: Faster 712-varhandle-invocations\""
    },
    {
      "commit": "ba345bfefeac729edd9739eb74b949a6dac8258e",
      "tree": "b1a239184ee4f1622d7b1e2733582b393248b5bf",
      "parents": [
        "e8011165beb9b132f6bded076c00e7b65c495a2b",
        "fd1328762612a77257183579860030dc6d63ca76"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue May 22 07:35:19 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 22 07:35:19 2018 +0000"
      },
      "message": "Merge \"Disable 677-fsi2 on RI.\""
    },
    {
      "commit": "e8011165beb9b132f6bded076c00e7b65c495a2b",
      "tree": "5f345babdb6bc00e5d4122ed5e9bc24221ff17c6",
      "parents": [
        "84190220df62fb25c4e4b637624c81c918e3b84a",
        "673726b39689afe5496bbb0bac5ec52b4d50d334"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 22 00:40:25 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 22 00:40:25 2018 +0000"
      },
      "message": "Merge \"Add plugin for testing method tracing speed.\""
    },
    {
      "commit": "673726b39689afe5496bbb0bac5ec52b4d50d334",
      "tree": "f80a573d8c12c60efa757f5c8a02a6cc310857b3",
      "parents": [
        "df810b9c8d5013cd6f5799a75b6aaf0f3991210c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon May 21 14:19:15 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon May 21 14:46:59 2018 -0700"
      },
      "message": "Add plugin for testing method tracing speed.\n\nIt can be useful to test how much overhead the ART method tracing\ninfrastructure has. Since normal method tracing APIs (eg\n-Xmethod-trace, JVMTI events) have significant overhead for\nsynchronization or other reasons we created a simple plugin that\nbegins method tracing but doesn\u0027t record or even look at the trace\nevents. This lets us have a rough idea how much simply sending these\nevents costs us.\n\nTest: ./test/run-test --host \\\n         --runtime-option \\\n         -Xplugin:$ANDROID_HOST_OUT/lib/libtracefast-trampolined.so \\\n         001-Main\n\nChange-Id: I1fac4cdd0dfa780cb4efe195025b3d29e8cf619c\n"
    },
    {
      "commit": "c2b4db61e5d0d9ec40b87b9a051aa1ac15ed1294",
      "tree": "7d8ba5f2ab1c8ff66b17ce2352be3d7f0e12651c",
      "parents": [
        "8926b780fd75f23e8685e108e2d3f4905f3809fd"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 18 13:58:12 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon May 21 12:59:22 2018 -0700"
      },
      "message": "Add ClassAccessor\n\nAims to replace ClassDataItemIterator with a cleaner and simpler\nabstraction.\n\nBug: 77709234\nBug: 79758018\nTest: test-art-host\n\nChange-Id: I871a3e1cf213e0d81bfe4bb77790fbab2d13e44c\n"
    },
    {
      "commit": "4fe708c211c8367bae104616269ce62eb5465291",
      "tree": "652e761957804c7dbafb7e3356fee1c5aa1b4b01",
      "parents": [
        "84190220df62fb25c4e4b637624c81c918e3b84a"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon May 21 20:31:24 2018 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon May 21 20:47:03 2018 +0100"
      },
      "message": "Remove \"stack_map.h\" include from code_generator.\n\nIt is not needed and it increases header dependencies.\n\nTest: Build\nChange-Id: I51fcef5025defe5e4185e9c4fde18b363194789e\n"
    },
    {
      "commit": "052f8ca1776ed7deb4f036498edd69eb6a1b942f",
      "tree": "ae993f1a634b258e124df12663a1d24859917b05",
      "parents": [
        "1c515f0b9d621869a2e67ce5e0f5532d0f2f323a"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Apr 26 15:42:54 2018 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon May 21 20:28:41 2018 +0100"
      },
      "message": "Rewrite stackmap encoding code.\n\nRemove most of the code related to handling of bit encodings.\nThe design is still same; the encodings are just more implicit.\nMost of the complexity is replaced with a single BitTable class,\nwhich is a generic purpose table of tightly bit-packed integers.\nIt has its own header which stores the bit-encoding of columns,\nand that removes the need to handle the encodings explicitly.\n\nOther classes, like StackMap, are accessors into the BitTable,\nwith named getter methods for the individual columns.\n\nThis CL saves ~1% of .oat file size (~4% of stackmap size).\n\nTest: test-art-host-gtest\nChange-Id: I7e92683753b0cc376300e3b23d892feac3670890\n"
    },
    {
      "commit": "fd1328762612a77257183579860030dc6d63ca76",
      "tree": "a57971a9d85c3a29b233d26c59ee0c8b5f999d8a",
      "parents": [
        "e937c045a50b414411db058d32d8f689fb596e2e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 21 18:04:38 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 21 18:04:38 2018 +0100"
      },
      "message": "Disable 677-fsi2 on RI.\n\nTest: m\nbug: 80004139\nChange-Id: I2615a3509f01dadcadab2912d867b27f062737f3\n"
    },
    {
      "commit": "84190220df62fb25c4e4b637624c81c918e3b84a",
      "tree": "8e7372c02a3b16f2235f3028a50dbc93ecd6e7ab",
      "parents": [
        "1c515f0b9d621869a2e67ce5e0f5532d0f2f323a",
        "e64d58c983fd44af319e2a5140f02b7ecbfccd91"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 21 15:03:20 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 21 15:03:20 2018 +0000"
      },
      "message": "Merge \"Fix typo that leads to crash.\""
    },
    {
      "commit": "4cb27ed3a37a53eeb5cc2206b62fe12c33124bb9",
      "tree": "187600bae0ea2088cfaa24839b5f025ce1084168",
      "parents": [
        "8926b780fd75f23e8685e108e2d3f4905f3809fd"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon May 21 09:47:31 2018 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon May 21 15:35:45 2018 +0100"
      },
      "message": "ART: Remove 712 from knownfailures.txt\n\nBug: b/73275005\nTest: buildbot\nChange-Id: I2772f9146346539fc498904ba90edf4aaf327414\n"
    },
    {
      "commit": "3f383468e14822b9eb125d087e3e38df8b0cf1f5",
      "tree": "88cccf042559fd9fcffd3714fb9658766100391f",
      "parents": [
        "80a7c29b29c50c1c6cf40093a4552dacd4c5d638"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu May 17 14:03:39 2018 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon May 21 15:30:48 2018 +0100"
      },
      "message": "ART: Faster 712-varhandle-invocations\n\nReduce number of allocations when running 712-varhandle-invocations as\nit timeouts under gcstress.\n\nIn the runtime, avoid allocating a MethodType when raising a\nWrongMethodTypeException when dispatching an erroneous VarHandle\naccessor.\n\nIn the test, limit the number of incorrect types tested in boxing test\nportion of 712 which is particularly slow. And pre-allocate boxed\nvalues and share across sub-tests.\n\nThe total time to run 712-varhandle-invocations is reduced by 45% on\nhost and 33% on angler.\n\nTest: art/test/run-test --host --64 --gcstress 712\nBug: 73275005\nChange-Id: If5b323a61291d490f51638d416c2529874282f1c\n"
    },
    {
      "commit": "e64d58c983fd44af319e2a5140f02b7ecbfccd91",
      "tree": "5fe9b46d815c7f4d41600b744a973e03db5ca8fc",
      "parents": [
        "e937c045a50b414411db058d32d8f689fb596e2e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 21 14:17:59 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 21 14:22:28 2018 +0100"
      },
      "message": "Fix typo that leads to crash.\n\nTypo got introduced in:\nhttps://android-review.googlesource.com/#/c/platform/art/+/682841/\n\nbug: 80004139\nTest: 677-fsi2\nChange-Id: I2744257afd49ee069d87b2637c1cd3427ca61927\n"
    },
    {
      "commit": "1c515f0b9d621869a2e67ce5e0f5532d0f2f323a",
      "tree": "35e317ed3e16fede8d96f843a7b8b7b2f82bd764",
      "parents": [
        "e937c045a50b414411db058d32d8f689fb596e2e",
        "2c5827a67a7f3d307384e98757f91c8b5d49f94f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 21 12:29:26 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 21 12:29:26 2018 +0000"
      },
      "message": "Merge \"ART: Simplify operands in InstructionBuilder\""
    },
    {
      "commit": "e937c045a50b414411db058d32d8f689fb596e2e",
      "tree": "5c710d39f77a43295706518327465f85400e0b66",
      "parents": [
        "be9a83e480858b83908d167753872a5305792e71",
        "763a14a393922a773221c33f77444bcb0672d3ed"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 21 12:19:13 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 21 12:19:13 2018 +0000"
      },
      "message": "Merge \"Fix golem runs.\""
    },
    {
      "commit": "763a14a393922a773221c33f77444bcb0672d3ed",
      "tree": "2f1821fbfbfac412db27edc59abf30ddeab14b8c",
      "parents": [
        "f6049755305a29bd3ef6dd40d70c2ab3da0670e6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 21 13:16:51 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 21 13:16:51 2018 +0100"
      },
      "message": "Fix golem runs.\n\nTest: m\nChange-Id: I292ad7f6461ad1835e631826db998d966b5055ce\n"
    },
    {
      "commit": "be9a83e480858b83908d167753872a5305792e71",
      "tree": "1965fc52f6a4ee994d1981fa98aa10e675c094b4",
      "parents": [
        "518fcc50fa47532889f597aa8c9da85f3966c947",
        "acc2519556d6a0bfb84032c064027a16ce111815"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon May 21 12:13:50 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 21 12:13:50 2018 +0000"
      },
      "message": "Merge \"Track (non-public) API change in String\""
    },
    {
      "commit": "518fcc50fa47532889f597aa8c9da85f3966c947",
      "tree": "c84f950ba22d1b9a7d0383628dc9fc249dcfecf3",
      "parents": [
        "f6049755305a29bd3ef6dd40d70c2ab3da0670e6",
        "b674a1435c552e26dbd81aa77c22f4db454f0006"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 21 12:12:28 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 21 12:12:28 2018 +0000"
      },
      "message": "Merge \"Revert^2 \"Move kVRegSize to globals.h to reduce include dependencies.\"\""
    },
    {
      "commit": "b674a1435c552e26dbd81aa77c22f4db454f0006",
      "tree": "09223362714ffd32c6de9ca3d761259217aed207",
      "parents": [
        "a9d5ccdf887ef5c9f61481f036773bdfadd39fd7"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon May 21 10:27:06 2018 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon May 21 10:45:58 2018 +0000"
      },
      "message": "Revert^2 \"Move kVRegSize to globals.h to reduce include dependencies.\"\n\nThis crashed the linker before. I will try again.\n\nThis reverts commit a9d5ccdf887ef5c9f61481f036773bdfadd39fd7.\n\nChange-Id: Ic204f9564a1fba97fcbf29cb4dc5ade25a9ce864\n"
    },
    {
      "commit": "2c5827a67a7f3d307384e98757f91c8b5d49f94f",
      "tree": "12d13e0e5c321639ca21d53eae61cfcaf3231c2d",
      "parents": [
        "80a7c29b29c50c1c6cf40093a4552dacd4c5d638"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 17 22:26:08 2018 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon May 21 11:31:43 2018 +0100"
      },
      "message": "ART: Simplify operands in InstructionBuilder\n\nTest: art/test.py --host --optimizing --jit -r\nChange-Id: Ia408ae00637aa6a05a3ba54e1144ea00c6b335b5\n"
    },
    {
      "commit": "f6049755305a29bd3ef6dd40d70c2ab3da0670e6",
      "tree": "39cccda109a63153ca363e592b5570b46e6dece9",
      "parents": [
        "b2683cb0ae69c9a8a0ba654f50fa743a9117171c",
        "68fefacc54b9d918a5b17b99ac7e72421d1b1f94"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon May 21 09:38:20 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 21 09:38:20 2018 +0000"
      },
      "message": "Merge \"Move and rewrite bit loading/storing methods.\""
    },
    {
      "commit": "68fefacc54b9d918a5b17b99ac7e72421d1b1f94",
      "tree": "39cccda109a63153ca363e592b5570b46e6dece9",
      "parents": [
        "b2683cb0ae69c9a8a0ba654f50fa743a9117171c"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu May 10 17:49:33 2018 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon May 21 09:28:22 2018 +0000"
      },
      "message": "Move and rewrite bit loading/storing methods.\n\nMove bit loading/storing methods to BitMemoryRegion and rewrite them.\n\nEnforce natural alignment of the data pointer in BitMemoryRegion.\nThis probably would not be reasonable in MemoryRegion, but it is\nfine here since the BitMemoryRegion already has extra bit offset.\nThe alignment makes it possible to simplify and optimize the methods.\n\nThis makes the stackmap reading code 33% faster.\n(measured by the time needed to verify all stackmap fields on ARM).\n\nTest: m -j40 test-art-host-gtest\nChange-Id: I00be8052969a6056b262df4cd2066ffd86043196\n"
    },
    {
      "commit": "b2683cb0ae69c9a8a0ba654f50fa743a9117171c",
      "tree": "9ebe949e41ff00dbaabe415f295fa4825d4dd51d",
      "parents": [
        "8926b780fd75f23e8685e108e2d3f4905f3809fd",
        "c8b1d5e0f2112c78aeed0d114b0c4f8b6a234c10"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon May 21 09:05:50 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 21 09:05:50 2018 +0000"
      },
      "message": "Merge \"ARM/ARM64: Improve lock/unlock entrypoints.\""
    },
    {
      "commit": "c8b1d5e0f2112c78aeed0d114b0c4f8b6a234c10",
      "tree": "20b4fc7c62243a6616aa04661b8750cad9d4f1bc",
      "parents": [
        "6623bc389c43efc87668ce7465e19b195e765e22"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 15 16:07:12 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon May 21 10:02:23 2018 +0100"
      },
      "message": "ARM/ARM64: Improve lock/unlock entrypoints.\n\nDo the same in fewer instructions.\n\nTest: Pixel 2 XL boots.\nTest: testrunner.py --target --optimizing\nChange-Id: I8003481116fd3dc6a1559b84fdc776b92dba0c68\n"
    },
    {
      "commit": "8926b780fd75f23e8685e108e2d3f4905f3809fd",
      "tree": "cb1e94106fe178fb9b61413d87fe6c70d6eb392d",
      "parents": [
        "ed28df642e89812f7eb5e19e6be6a5b61098ece6",
        "a218b3ef41b17dfb77f79930b46768b99d8ce5d8"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sat May 19 00:19:11 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat May 19 00:19:11 2018 +0000"
      },
      "message": "Merge \"Re-enable LZ4_compress_HC in image writer\""
    },
    {
      "commit": "ed28df642e89812f7eb5e19e6be6a5b61098ece6",
      "tree": "c4a15f79f2f9a696cf82ee18dadf0f1134341ce2",
      "parents": [
        "a88102c707c2f54732bb4891da0f8d57a3b8aa7e",
        "f275979ca2d2809d19210195c22526861554fac0"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 18 22:17:24 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 18 22:17:24 2018 +0000"
      },
      "message": "Merge \"Add ASCII vs UTF-16 string data analysis\""
    },
    {
      "commit": "a218b3ef41b17dfb77f79930b46768b99d8ce5d8",
      "tree": "b3d10ff277e05e12fd4cbbb4489a85c01d6153e8",
      "parents": [
        "064dfe4f9b68484557bfcc0589dc632c2a27770a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 18 14:37:38 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 18 14:38:44 2018 -0700"
      },
      "message": "Re-enable LZ4_compress_HC in image writer\n\nThis mode is probably no longer flaky. If there are issues, it\nshould be caught by the decoding verification.\n\nTest: test-art-host-gtest\nBug: 27773950\n\nChange-Id: I3310b7447ca77eceddbc93235f756bc57b852b99\n"
    },
    {
      "commit": "f275979ca2d2809d19210195c22526861554fac0",
      "tree": "f44938cb2e68496cdc32883ce5064efdd2e8461c",
      "parents": [
        "fc2f8b6d93d05a689f634f6a70bd68376d8265f8"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 18 13:16:54 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 18 13:18:05 2018 -0700"
      },
      "message": "Add ASCII vs UTF-16 string data analysis\n\nMeasure how many strings are fully ASCII characters or a UTF-16 mix.\n\nBug: 77721545\nTest: test-art-host-gtest-dexanalyze_test\nChange-Id: Ic59613596c1542c693bcf49cee379310414c44cd\n"
    },
    {
      "commit": "a88102c707c2f54732bb4891da0f8d57a3b8aa7e",
      "tree": "23b89d5346ce7811257961994a11f4a986e13e7a",
      "parents": [
        "e57a82bd25aa09ca9ad35cb2cb54242d7028f9a0",
        "b1f8b738f1da2745dd8058cbd360a61278cb35e4"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri May 18 19:25:22 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 18 19:25:22 2018 +0000"
      },
      "message": "Merge \"Track changes in java.lang.(StringBuilder|String)\""
    },
    {
      "commit": "4dc09e7261dede72d916059d1f751a48cd08dbb5",
      "tree": "8a04828754b8da25db0b9101021b5bf0880a450b",
      "parents": [
        "e57a82bd25aa09ca9ad35cb2cb54242d7028f9a0"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri May 11 14:40:31 2018 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri May 18 11:15:23 2018 -0700"
      },
      "message": "LSE improvement: better singleton array optimization\n\nRationale:\nIn a recent LSA/LSE refactoring, we removed the \"exceptional\"\nsituation on mismatched arrays from the load-elimination branch\nfor merged values. As a direct result, we can relax the condition\non removing stores for singleton arrays into return blocks a bit,\nas done in this CL (and shown with some tests).\n\nTest: test-art-host,target\n\nBug: b/77906240\n\nChange-Id: I32c89057168730f82d1d7c41155a9ff71b126204\n"
    },
    {
      "commit": "e57a82bd25aa09ca9ad35cb2cb54242d7028f9a0",
      "tree": "1876393ccec2bd7f3d6ee9d98c412dd64060e238",
      "parents": [
        "064dfe4f9b68484557bfcc0589dc632c2a27770a",
        "b765a3f7f7b7c7efaab5fb331796b53439dbe04c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 18 18:05:26 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 18 18:05:26 2018 +0000"
      },
      "message": "Merge \"Refactoring LSE/LSA: introduce heap location type\""
    },
    {
      "commit": "064dfe4f9b68484557bfcc0589dc632c2a27770a",
      "tree": "2710d312cd5627c4d31e0b1526d0da9591d967b0",
      "parents": [
        "8d744d9ea558e3980d72cf5c722873098ebdae02",
        "481d45eda4b4bd9b785ba5cc7ac0bcd3cb4ad325"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri May 18 16:06:18 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 18 16:06:18 2018 +0000"
      },
      "message": "Merge \"Ignore failures in run-test 080-oom-throw with JIT.\""
    },
    {
      "commit": "8d744d9ea558e3980d72cf5c722873098ebdae02",
      "tree": "647d552b640745f6ca101bee382866fc0aeedae6",
      "parents": [
        "9c422cc4ef2f1825c60a43a1e8d770f270b076e7",
        "eef7757941f2681814462b0f55d29a562c0200da"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Fri May 18 14:36:03 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 18 14:36:03 2018 +0000"
      },
      "message": "Merge \"Fix test 674-hiddenapi when debuggable.\""
    },
    {
      "commit": "481d45eda4b4bd9b785ba5cc7ac0bcd3cb4ad325",
      "tree": "b4e288d2f057cafb97fad4631e5499a97a1e68f9",
      "parents": [
        "9c422cc4ef2f1825c60a43a1e8d770f270b076e7"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri May 18 14:25:46 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri May 18 14:25:46 2018 +0100"
      },
      "message": "Ignore failures in run-test 080-oom-throw with JIT.\n\nThis test sometimes fails with JIT with an unexpectedly thrown\nexception before or during an (expected) thrown OutOfMemoryError.\nDisable it while we investigate the cause of this flakiness.\n\nTest: Relying on pre- and post-submit testing.\nBug: 77567088\nChange-Id: Ib0eeacd281fcd62ea21ba0714276d1ebb03d130a\n"
    },
    {
      "commit": "b1f8b738f1da2745dd8058cbd360a61278cb35e4",
      "tree": "1c095c26fcd2bf675b3bf365db460376c643cf12",
      "parents": [
        "80a7c29b29c50c1c6cf40093a4552dacd4c5d638"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri May 18 13:50:34 2018 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri May 18 13:50:34 2018 +0100"
      },
      "message": "Track changes in java.lang.(StringBuilder|String)\n\nAfter recent commit 9abc31e in platform/art\nchanges have been made to use new String() in Java\nsource where possible rather than StringFactory.\n\nBug: 79902155\nTest: make test-art-host\nChange-Id: Idb65112832694c19977d979af4e223f0081abc71\n"
    },
    {
      "commit": "eef7757941f2681814462b0f55d29a562c0200da",
      "tree": "647d552b640745f6ca101bee382866fc0aeedae6",
      "parents": [
        "9c422cc4ef2f1825c60a43a1e8d770f270b076e7"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Fri May 18 13:32:09 2018 +0100"
      },
      "committer": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Fri May 18 13:32:37 2018 +0100"
      },
      "message": "Fix test 674-hiddenapi when debuggable.\n\nThe runtime warns for debuggable apps even when access to an API is\nallowed. Update the expectations of this test accordingly.\n\nThis requires exposing Runtime::IsJavaDebuggable to the java code so\nit knows what to expect.\n\nTest: $ art/test.py -b --host --debuggable -t 674-hiddenapi\nBug: 79914966\nChange-Id: I339f205d7153cf7b1c12dc06813c768608921684\n"
    },
    {
      "commit": "9c422cc4ef2f1825c60a43a1e8d770f270b076e7",
      "tree": "2b042a36c2ad0f0a26ba9739e52a4888a7902ce0",
      "parents": [
        "80a7c29b29c50c1c6cf40093a4552dacd4c5d638",
        "9b5ddff6f74073a2b45669eff8379ed796dbf488"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Fri May 18 08:32:57 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 18 08:32:57 2018 +0000"
      },
      "message": "Merge \"Hidden API: only log what we deny.\""
    },
    {
      "commit": "9b5ddff6f74073a2b45669eff8379ed796dbf488",
      "tree": "35678faec5526810a7066a421fbfa712a8795122",
      "parents": [
        "8d2befc479f59f10421066e1586b23d075b16348"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Wed May 16 11:18:10 2018 +0100"
      },
      "committer": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Fri May 18 08:32:32 2018 +0000"
      },
      "message": "Hidden API: only log what we deny.\n\nOnly print a \"Accessing hidden ...\" warning in logcat when we deny access\nto any API, or if the app is debuggable. This reduces log spam.\n\nUpdate test expectations accordingly.\n\nBug: 79914966\nTest: $ art/test.py -b --host -t 674-hiddenapi\n\n(cherry picked from commit 46b26278907301dcc27010b397d1a4bd1cd53b33)\n\nMerged-In: Ic6dfa0dd519a8854e3a40ba19c9a001c0c2a378b\nChange-Id: Ieda769d51e53ec4b7712d0bb1bf76e1a95d2120f\n"
    },
    {
      "commit": "80a7c29b29c50c1c6cf40093a4552dacd4c5d638",
      "tree": "5f74d588a32fd6de9b9ec76942fa8d9e6b6a46b2",
      "parents": [
        "35bf335738877d865dd1b219297a9eaeeb26a267",
        "9abc31e41d0983b3d0a111ea7752bd392f1c309e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 17 22:26:08 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 17 22:26:08 2018 +0000"
      },
      "message": "Merge \"ART: Refactor String.init binding\""
    },
    {
      "commit": "35bf335738877d865dd1b219297a9eaeeb26a267",
      "tree": "33dba474bf7f30ccf76b00d03d4af761ae0ba566",
      "parents": [
        "fc2f8b6d93d05a689f634f6a70bd68376d8265f8",
        "671af6c3f3858bb372fb4946b14c069c2d456a60"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu May 17 20:18:09 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 17 20:18:09 2018 +0000"
      },
      "message": "Merge \"Make dexlayout and profman independent of libart\""
    },
    {
      "commit": "9abc31e41d0983b3d0a111ea7752bd392f1c309e",
      "tree": "29438ec505e1f16f5c7ea26ecd546fbcf0c54bf9",
      "parents": [
        "1e7b825ffb4c19e1f046eb254ab8e491919c7a69"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu May 17 11:47:09 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu May 17 12:57:49 2018 -0700"
      },
      "message": "ART: Refactor String.init binding\n\nDo not use JNI infrastructure, and move the initialization to\nthe classlinker\u0027s FinishInit. This means the binding is available\nafter the minimal set of initializations.\n\nWe could consider moving the functionality even earlier, as soon\nas String methods are known and StringFactory can be loaded, but\nthis placement works well enough and is nicely isolated.\n\nBug: 79902155\nTest: m test-art-host\nChange-Id: If4e9f1424668eb200ff5544bc21f5cea6151e4b3\n"
    },
    {
      "commit": "fc2f8b6d93d05a689f634f6a70bd68376d8265f8",
      "tree": "2d43fa751fa0c4d643520b8eef4369d341c75e8a",
      "parents": [
        "df810b9c8d5013cd6f5799a75b6aaf0f3991210c",
        "0226c1d40d6532757fc258cb0586a338a8cd2931"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 17 18:52:05 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 17 18:52:05 2018 +0000"
      },
      "message": "Merge \"Add some extra dexanalyze tests\""
    },
    {
      "commit": "671af6c3f3858bb372fb4946b14c069c2d456a60",
      "tree": "41d0326309b5acb94566335c8825acdd70695427",
      "parents": [
        "df810b9c8d5013cd6f5799a75b6aaf0f3991210c"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu May 17 11:00:35 2018 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu May 17 11:00:35 2018 -0700"
      },
      "message": "Make dexlayout and profman independent of libart\n\nRemove the libart dependency from these two tools.  Dexdiag remains\ndependent because vdex_file.* is in runtime.  It could possibly be moved\nalso.\n\nBug: 78652467\nTest: make -j 40 checkbuild\n      make -j 40 test-art-host-gtest\n\nChange-Id: I68a62f8b2a2730067aee5ff5e0cf81acdca0d703\n"
    },
    {
      "commit": "df810b9c8d5013cd6f5799a75b6aaf0f3991210c",
      "tree": "ad66354ce172285273431bfa69922fc12ae4135a",
      "parents": [
        "ca768656c65109d43270949d1acceb2618738e4a",
        "1f010164bea4714e9f653c52e8948c5d5305040b"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu May 17 17:13:53 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 17 17:13:53 2018 +0000"
      },
      "message": "Merge \"Move ArtDexFileLoader to libdexfile\""
    },
    {
      "commit": "0226c1d40d6532757fc258cb0586a338a8cd2931",
      "tree": "f18dd1bf1359ae76c5d029a3b0d00c425b1bb8af",
      "parents": [
        "a7d37cf735f05cfc3a3585a5c44eb65d8a279874"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 17 00:19:12 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 17 10:09:55 2018 -0700"
      },
      "message": "Add some extra dexanalyze tests\n\nBased on dexdump tests, test for:\n- Missing arguments\n- Invalid input\n- Using core dex as input\n\nTest: test-art-host-gtest-dexanalyze_test\nBug: 77721545\n\nChange-Id: I8ce0607b6d3d60171de00a83047536195a81e26f\n"
    },
    {
      "commit": "ca768656c65109d43270949d1acceb2618738e4a",
      "tree": "aaa12b4ba2c4cffb9209b2259ccea255492bbe71",
      "parents": [
        "1e7b825ffb4c19e1f046eb254ab8e491919c7a69",
        "35ddc6fc26594326ddfddeac447e7aa1321726ff"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 17 17:08:29 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 17 17:08:29 2018 +0000"
      },
      "message": "Merge \"Add some experiments to analyze string usage\""
    },
    {
      "commit": "1e7b825ffb4c19e1f046eb254ab8e491919c7a69",
      "tree": "95e3c1863fd8906d82130c24805a05705bf7e3dc",
      "parents": [
        "7f4242556115d4e067b5b74cf781bea72aa9f945",
        "47b95800f25c26fa92ede5eccb0216bddd6aa3b2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 17 15:08:01 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 17 15:08:01 2018 +0000"
      },
      "message": "Merge \"Add a new thread pool pthread priority option.\""
    },
    {
      "commit": "47b95800f25c26fa92ede5eccb0216bddd6aa3b2",
      "tree": "4b59033e11d40b582001a4587a870a7e8a384d46",
      "parents": [
        "8566e36b76e7cbd1322c6d4ad9993795cdfda3a3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 16 15:42:17 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 17 14:08:41 2018 +0100"
      },
      "message": "Add a new thread pool pthread priority option.\n\nAlso refactor code to not duplicate information.\n\nbug: 79570024\nTest: m\nChange-Id: Ib5b8c980d34b2ae92530825fceab89fa0e32baa5\n"
    },
    {
      "commit": "7f4242556115d4e067b5b74cf781bea72aa9f945",
      "tree": "6c0fdf37301a83f4cd49d83937041e4eb25d1090",
      "parents": [
        "cb2187c626828f5cefc0082a4df392ed7e1214e3",
        "cc05247bf7ca217bc826951091f95b121b275543"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu May 17 09:44:02 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 17 09:44:02 2018 +0000"
      },
      "message": "Merge \"ART: minor clean-up for var_handles.cc\""
    },
    {
      "commit": "cb2187c626828f5cefc0082a4df392ed7e1214e3",
      "tree": "9325c92f0520f3ecc8652335ff545d6ab800da8e",
      "parents": [
        "bb071ee44ddc1751c79d2a8c31afe4ea3d72b5f4",
        "d147e2fb824a92acb9cd86bd92d3f1c137d488c5"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 17 08:14:11 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 17 08:14:11 2018 +0000"
      },
      "message": "Merge \"Don\u0027t compile methods with irreducible loops and String.\u003cinit\u003e.\""
    },
    {
      "commit": "cc05247bf7ca217bc826951091f95b121b275543",
      "tree": "6d153c1304f470c1ebcf85bdc1e85d5ece719606",
      "parents": [
        "a7d37cf735f05cfc3a3585a5c44eb65d8a279874"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed May 16 17:12:44 2018 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu May 17 08:44:42 2018 +0100"
      },
      "message": "ART: minor clean-up for var_handles.cc\n\nTest: art/test.py --host --64 -r -t 712\nChange-Id: Ib05064008c50cca21d3f900cbb966ea4c6bdfc1c\n"
    },
    {
      "commit": "bb071ee44ddc1751c79d2a8c31afe4ea3d72b5f4",
      "tree": "f83c77da6cc0007b4c49afdf2ff63444d36ed26e",
      "parents": [
        "fd3ffe0677d6a522ee2a6157b5c55a3382de5168",
        "dc2578172bd3eee7be97d6eba32f435c16e601ac"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 17 03:57:13 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 17 03:57:13 2018 +0000"
      },
      "message": "Merge \"Fix typo in tifast.cc\""
    },
    {
      "commit": "35ddc6fc26594326ddfddeac447e7aa1321726ff",
      "tree": "b27f3318586c5260d47fb68b36783f08b2a1d9f3",
      "parents": [
        "a7d37cf735f05cfc3a3585a5c44eb65d8a279874"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed May 09 11:34:07 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed May 16 17:57:06 2018 -0700"
      },
      "message": "Add some experiments to analyze string usage\n\nAnalyze shared prefixes for strings across dex files and estimate\npossible savings from supporting a per string prefix. The estimation\nis not yet optimal.\n\nBug: 77709234\nTest: dexanalyze\n\nChange-Id: I2e9f8a09595b54ea4a3e331efde32f9c1689fc82\n"
    },
    {
      "commit": "fd3ffe0677d6a522ee2a6157b5c55a3382de5168",
      "tree": "b0aeab247ceeef6ffa262c70251559643b4c2f0d",
      "parents": [
        "a7d37cf735f05cfc3a3585a5c44eb65d8a279874",
        "c5b7564fdc187853d1f8266a54316ef402f83e02"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 16 23:58:16 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 16 23:58:16 2018 +0000"
      },
      "message": "Merge \"ART: Fix jvalue includes\""
    },
    {
      "commit": "dc2578172bd3eee7be97d6eba32f435c16e601ac",
      "tree": "f7436e57d61bb86ff7d240db517e4b4d84522474",
      "parents": [
        "aa730efe50cbc76fc6954f1b323cf49aa275d1b2"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed May 16 16:37:07 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed May 16 16:38:30 2018 -0700"
      },
      "message": "Fix typo in tifast.cc\n\nHad METHOD_ENTRY instead of METHOD_EXIT in one of the event listings.\n\nTest: m -j50 libtifast\n      adb push $OUT/system/lib64/libtifast.so /data/local/tmp\n      adb shell setenforce 0\n      adb shell am start-activity \\\n        --attach-agent /data/local/tmp/libtifast.so\u003dlog,MethodExit \\\n        com.antonioleiva.bandhookkotlin/.ui.screens.main.MainActivity\n      Examine logcat for MethodExit.\n\nChange-Id: I3879da37da19743012643d13ae5b14c130611857\n"
    },
    {
      "commit": "c5b7564fdc187853d1f8266a54316ef402f83e02",
      "tree": "b0aeab247ceeef6ffa262c70251559643b4c2f0d",
      "parents": [
        "a7d37cf735f05cfc3a3585a5c44eb65d8a279874"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 16 15:12:11 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 16 15:14:22 2018 -0700"
      },
      "message": "ART: Fix jvalue includes\n\nJValue::SetL is defined in the -inl header. Fix up some clients.\n\nTest: mmma art\nChange-Id: I903532c767873847f7746680cf35083cb3408ecf\n"
    },
    {
      "commit": "1f010164bea4714e9f653c52e8948c5d5305040b",
      "tree": "e69b2c3f4d2645d4097655f8914325945fe5dbbd",
      "parents": [
        "a7d37cf735f05cfc3a3585a5c44eb65d8a279874"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Tue May 15 08:59:32 2018 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Wed May 16 13:01:34 2018 -0700"
      },
      "message": "Move ArtDexFileLoader to libdexfile\n\nAdds a dependency from libdexfile on libartbase, but allows the use of\nMemMap loaders, etc.\n\nBug: 78652467\nTest: make -j 40 checkbuild\nChange-Id: I15cf33893ca9192050762f8350a3cc1e39f88dc5\n"
    },
    {
      "commit": "a7d37cf735f05cfc3a3585a5c44eb65d8a279874",
      "tree": "699797e74cbf6df4bc656f4789336bf0fcac346e",
      "parents": [
        "8d2befc479f59f10421066e1586b23d075b16348",
        "c4d5c13c2ca6268ba577fff6d7e646a421d3a03f"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed May 16 14:43:13 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 16 14:43:13 2018 +0000"
      },
      "message": "Merge changes from topic \"oth-master-art-varhandle-no-converions\"\n\n* changes:\n  ART: Faster VarHandle accessors for exact callsite matches\n  ART: Add VarHandle accessors to invoke-polymorphic entrypoint\n"
    },
    {
      "commit": "8d2befc479f59f10421066e1586b23d075b16348",
      "tree": "c793470d89ab3b3c578b371658b36a3658f0c6de",
      "parents": [
        "8566e36b76e7cbd1322c6d4ad9993795cdfda3a3",
        "90701d5416f800e9865d7dce39b0c4225b35217b"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed May 16 14:17:59 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 16 14:17:59 2018 +0000"
      },
      "message": "Merge \"Do not run 999-redefine-hiddenapi under jvm/redefine-stress\""
    },
    {
      "commit": "d147e2fb824a92acb9cd86bd92d3f1c137d488c5",
      "tree": "ff228859971532ed6cc8f49baf387fa957fa923f",
      "parents": [
        "4972754f2327dc9c443f2c0c70e5a6528973c435"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 16 11:37:41 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 16 13:50:29 2018 +0100"
      },
      "message": "Don\u0027t compile methods with irreducible loops and String.\u003cinit\u003e.\n\nThe current code doesn\u0027t work when dex register aliases.\n\nbug: 78493232\nTest: m\nChange-Id: I1c296f6dc914388844ae5eb7d84f3bd7d81e1f87\n"
    },
    {
      "commit": "90701d5416f800e9865d7dce39b0c4225b35217b",
      "tree": "c793470d89ab3b3c578b371658b36a3658f0c6de",
      "parents": [
        "8566e36b76e7cbd1322c6d4ad9993795cdfda3a3"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed May 16 12:59:32 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed May 16 13:30:47 2018 +0100"
      },
      "message": "Do not run 999-redefine-hiddenapi under jvm/redefine-stress\n\nThe recently added run-test is specific to ART and depends on its\ninternal implementation details. Do not run it under JVM, or\nin configs which stress JVMTI.\n\nBug: 79698297\nTest: art/test.py -b -r -t 999-redefine-hiddenapi --jvm\nChange-Id: I8f34f9ed0c97fa4061cca2e0c9e7b8aa61e1d12b\n"
    },
    {
      "commit": "acc2519556d6a0bfb84032c064027a16ce111815",
      "tree": "35645c5fe41a26bbb51fb5ebf74f2218721bb776",
      "parents": [
        "00e15d651e705640d4fdf206faf8317d69b20758"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed May 16 13:27:02 2018 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed May 16 13:27:02 2018 +0100"
      },
      "message": "Track (non-public) API change in String\n\nThere\u0027s an associated change in libcore which changes\nthe API on String.\n\nBug: 74379469\nTest: Treehugger\nChange-Id: Ie77ed1ea2e9ae0749b2a49d92e8df85a3e07958c\n"
    },
    {
      "commit": "c4d5c13c2ca6268ba577fff6d7e646a421d3a03f",
      "tree": "26f3de061769f8bd4eb3b06e38496f3c74bfe2ab",
      "parents": [
        "537a4fed85530ac29fe5ff173c4b77538d8bbd0b"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue May 15 13:57:58 2018 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed May 16 11:51:05 2018 +0100"
      },
      "message": "ART: Faster VarHandle accessors for exact callsite matches\n\nAdds a faster path for VarHandle accessors invoked through the\nruntime. The code previously assumed that some kind of argument or\nreturn type conversion would be necessary.\n\nBug: 73275005\nTest: art/test.py --host --gcstress -r -t 712\nChange-Id: Ie27c6d8c3bdf80f5932d38d19c67a6bf633af8f0\n"
    },
    {
      "commit": "8566e36b76e7cbd1322c6d4ad9993795cdfda3a3",
      "tree": "f8f1c1acdaf7575b110c1e2941896517ebfd6f8c",
      "parents": [
        "adff274917f36ce3aad85cd876e76d615734f2be",
        "904e75a66edea51adc11f61ad8ccaab557402095"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed May 16 10:11:19 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 16 10:11:19 2018 +0000"
      },
      "message": "Merge \"Fix stripping of access flags during JVMTI redefine\""
    },
    {
      "commit": "904e75a66edea51adc11f61ad8ccaab557402095",
      "tree": "f8f1c1acdaf7575b110c1e2941896517ebfd6f8c",
      "parents": [
        "adff274917f36ce3aad85cd876e76d615734f2be"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue May 15 13:45:08 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed May 16 10:11:07 2018 +0000"
      },
      "message": "Fix stripping of access flags during JVMTI redefine\n\nWhen JVMTI redefines a method/field, it replaces the guts of an\nArtMethod with the implementation in a provided dex file. This\nprocess includes overwriting the intrinsics ordinal (stored in\nArtMethod\u0027s access flags) so that the new implementation is picked up.\nThis overwrite, however, does not check if the ArtMethod is an\nintrinsic in the first place and will clear the bits regardless.\n\nThis caused an issue for hidden API as its access flags conflict\nwith those of intrinsics. All redefined framework classes would\ntherefore become completely visible to all callers.\n\nThis patch fixes the issue by adding a IsIntrisic() check around the\nfunction which clears the access flags.\n\nBug: 79698297\nTest: art/test.py -b --host -r -t 999-redefine-hiddenapi\nTest: art/test.py -b --host -r -t 950-redefine-intrinsic\nChange-Id: I7e607d874cc732ceb118d58e4cd40ff4353215f5\n"
    },
    {
      "commit": "adff274917f36ce3aad85cd876e76d615734f2be",
      "tree": "84debb1595d58ff12817bddeca37cae3e7874b28",
      "parents": [
        "fab9a7c5529bcad5110916f7a87b98acbec3db31",
        "ba205000c1119f26575b417b665df37bd1d5ae95"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed May 16 09:54:02 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 16 09:54:02 2018 +0000"
      },
      "message": "Merge \"Refactor flaky ArtDexFileLoader IsPlatformDex gtest\""
    },
    {
      "commit": "fab9a7c5529bcad5110916f7a87b98acbec3db31",
      "tree": "b9f6758dd8250dd430752f1afd6fa86954635931",
      "parents": [
        "0f8d2d1481614eee35dcc00f94443f2f1f9d3b23",
        "aa730efe50cbc76fc6954f1b323cf49aa275d1b2"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 16 01:53:41 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 16 01:53:41 2018 +0000"
      },
      "message": "Merge \"Add ti-fast jvmti agent.\""
    },
    {
      "commit": "aa730efe50cbc76fc6954f1b323cf49aa275d1b2",
      "tree": "f556c20ca03e143930cc42b6b3f2e3ec3842a77f",
      "parents": [
        "04d81ff75ae339c082b1ecbea38ba34f873059cb"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue May 15 16:09:44 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue May 15 16:43:31 2018 -0700"
      },
      "message": "Add ti-fast jvmti agent.\n\nIt is often useful to get a speed-of-light estimate for how heavy\nwatching various JVMTI is. This was difficult to measure without\ncreating a custom agent to exercise the feature. This adds a new\nti-fast agent which can be used to run a program which has an agent\nthat does nothing watching various events.\n\nTest: m -j50 libtifast\n      adb push $OUT/system/lib64/libtifast.so /data/local/tmp\n      adb shell setenforce 0\n      adb shell am start-activity \\\n        --attach-agent /data/local/tmp/libtifast.so\u003dMethodEntry,MethodExit \\\n        com.antonioleiva.bandhookkotlin/.ui.screens.main.MainActivity\n\nChange-Id: Id97135bcae55f9a943108fd935031fd887fb913a\n"
    },
    {
      "commit": "b765a3f7f7b7c7efaab5fb331796b53439dbe04c",
      "tree": "feba405a8f483f2dcf14ceab0528848f24468e91",
      "parents": [
        "487ad46b7ee79eb4a03d3560072c309280069c04"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu May 10 14:47:48 2018 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue May 15 13:23:29 2018 -0700"
      },
      "message": "Refactoring LSE/LSA: introduce heap location type\n\nRationale:\nThis refactoring introduces data types to heap locations.\nThis will allow better type disambiguation in the future.\nAs a first showcase, it already removes rather error-prone\n\"exceptional\" code in LSE dealing with array types on null\nvalues. Furthermore, many LSA specific details started to \"leak\"\ninto clients, which is also error-prone. This refactoring moves\nsuch details back into just LSA, where it belongs.\n\nTest: test-art-host,target\n\nBug: b/77906240\n\nChange-Id: Id327bbe86dde451a942c9c5f9e83054c36241882\n"
    },
    {
      "commit": "0f8d2d1481614eee35dcc00f94443f2f1f9d3b23",
      "tree": "3afbcc78649d205eee37e9c42a73890c5700a9c0",
      "parents": [
        "00e15d651e705640d4fdf206faf8317d69b20758",
        "8865914de5d83bb4d8165d26c01202bc2c500763"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 15 20:10:28 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 15 20:10:28 2018 +0000"
      },
      "message": "Merge \"Make static libtistress version\""
    },
    {
      "commit": "8865914de5d83bb4d8165d26c01202bc2c500763",
      "tree": "0f7a700a251fdb950926b059cdf041744a052ab6",
      "parents": [
        "04d81ff75ae339c082b1ecbea38ba34f873059cb"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue May 15 10:53:06 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue May 15 11:27:23 2018 -0700"
      },
      "message": "Make static libtistress version\n\nIt turned out to be difficult to actually run the libtistress on\nactual apps due to the fact it linked shared to a lot of libraries.\nThis adds libtistresss and libtistressds targets which build static\nversions of libtistress both without and with debug checks.\n\nThis also adds a simple Agent_OnAttach entrypoint for the agent. No\nspecial processing is performed. The agent is setup as though it were\nrunning OnLoad.\n\nTest: m -j50 libtistressds\n      adb push $OUT/data/nativetest64/art/arm64/libtistressds.so /data/local/tmp\n      adb shell setenforce 0\n      adb shell am start-activity \\\n        --attach-agent /data/local/tmp/libtistressds.so\u003djvmti-stress,trace \\\n        com.antonioleiva.bandhookkotlin/.ui.screens.main.MainActivity\n\nChange-Id: I75d3a81011864c62cde785fd7351c59dbd269237\n"
    },
    {
      "commit": "ba205000c1119f26575b417b665df37bd1d5ae95",
      "tree": "99cc23fa29bccfc14eacdbf3061d63793737b0e9",
      "parents": [
        "00e15d651e705640d4fdf206faf8317d69b20758"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue May 15 16:53:41 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue May 15 16:58:36 2018 +0000"
      },
      "message": "Refactor flaky ArtDexFileLoader IsPlatformDex gtest\n\nThe gtest has been failing randomly, unable to open a dex file\ncopied into a known location. Refactor the test:\n\n(a) to not copy/remove in SetUp()/TearDown() because that happens\nbefore every test in the test case, not just the one test where it\nis needed, and\n(b) to copy the file just before it is being opened and to remove\nthe file as soon as it is not needed, and\n(c) into smaller tests, each testing one location, and\n(d) always print the error message ArtDexFileLoader failed with.\n\nBug: 79177384\nTest: make test-art-host-gtest-art_dex_file_loader_test\nChange-Id: Icfd55c1b88938cf88441d501b10e285f4fcdb60f\n"
    },
    {
      "commit": "537a4fed85530ac29fe5ff173c4b77538d8bbd0b",
      "tree": "dc7a7e699145082827e17034a66260a10d1b9609",
      "parents": [
        "00e15d651e705640d4fdf206faf8317d69b20758"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue May 15 13:57:58 2018 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue May 15 16:35:59 2018 +0100"
      },
      "message": "ART: Add VarHandle accessors to invoke-polymorphic entrypoint\n\nRemoves the need to interpret methods containing VarHandle accessor\nmethods. Whilst there are VarHandle accessors that the compiler does\nnot support, this will be the fallback path.\n\nBug: 71781600\nTest: art/test.py --host -r -t 712\nChange-Id: I40314b773882faed554c31b7f34c0e319dcf8d45\n"
    },
    {
      "commit": "00e15d651e705640d4fdf206faf8317d69b20758",
      "tree": "fc8dd0911ee17433a679a052f58c8eb8c2d0b75f",
      "parents": [
        "6c99dc805acf46ff0047163e29d6c08e182e73a2",
        "06d10a78506fae7e033795cda7b1d9d0e1f1fff5"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue May 15 11:35:20 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 15 11:35:20 2018 +0000"
      },
      "message": "Merge \"ART: Add dex::ProtoIndex\""
    },
    {
      "commit": "6c99dc805acf46ff0047163e29d6c08e182e73a2",
      "tree": "4d85666013116ea813274e4c1a913f19b526aa30",
      "parents": [
        "f790a4bd62ee290e1e14fe2af012048094c8c6e5",
        "46226f02fdfe50e1d49ffd77d3e99598ff79d9b9"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue May 15 09:54:26 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 15 09:54:26 2018 +0000"
      },
      "message": "Merge \"Set default hidden API policy to dark+black\""
    },
    {
      "commit": "f790a4bd62ee290e1e14fe2af012048094c8c6e5",
      "tree": "c5a27a66bb132341d63cf69c75df31320b4fab22",
      "parents": [
        "a128781f9e8db7ad147044bab899f1fb29bc3af8",
        "32bde99142c5e59b8cad572d9a7b5a81ee12cd00"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue May 15 09:54:07 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 15 09:54:07 2018 +0000"
      },
      "message": "Merge \"Propagate hiddenapi cmdline flags in OatFileAssistant::Dex2Oat\""
    },
    {
      "commit": "a128781f9e8db7ad147044bab899f1fb29bc3af8",
      "tree": "de533ebd6fab5b4e92b8de5eecb5de4762d37294",
      "parents": [
        "2111c3acf045d6bed2140f95cca323ab3d6ffd76",
        "8a22907f0c98fc82ec18ef233d3363db8404aab9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue May 15 08:28:52 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 15 08:28:52 2018 +0000"
      },
      "message": "Merge \"Conditionalize LocAccessToEvent on Android target build.\""
    }
  ],
  "next": "2111c3acf045d6bed2140f95cca323ab3d6ffd76"
}
