)]}'
{
  "log": [
    {
      "commit": "fd89b0739d4000ea70f28bf53dea531027024f5a",
      "tree": "1c9f3e1b046d60df405fb63f04cf83d3be4ff0f5",
      "parents": [
        "6de8833fb64e59301eada4005ed04da995796170"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sun Jun 03 12:00:22 2018 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Jun 07 12:00:18 2018 +0100"
      },
      "message": "Remove unused GetDexRegisterMap arguments.\n\nThey are no longer needed in the new encoding.\n\nI reuse the local variables in most places to DCHECK the size\nof the decoded register map.  This has one catch though:\nWe sometimes omit all dex registers, so the DCHECK should be\ndone only after checking if the map is empty (if applicable).\n\nTest: test-art-host-gtest-stack_map_test\nChange-Id: I94b67029842374bc8eb7c9e5eac76fc93a651f24\n"
    },
    {
      "commit": "6de8833fb64e59301eada4005ed04da995796170",
      "tree": "9f5b731ae1c0428cf5dcae4105936a7a165a43c9",
      "parents": [
        "d97e0828958fd14a962e37af2865bc2e628547ce"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sun Jun 03 12:00:11 2018 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Jun 07 12:00:18 2018 +0100"
      },
      "message": "Delta-compress register maps in stack maps.\n\nThe register maps tend to be similar from stack map to stack map,\nso instead of encoding them again, store only the modified ones.\n\nThe dex register bitmap stores the delta now - if register has\nbeen modified since the previous stack map, the bit will be set.\n\nThe decoding logic scans backwards through stack maps until it\neventfully finds the most recent value of each register.\n\nThis CL saves ~2.5% of .oat file size (~10% of stackmap size).\n\nDue to the scan, this makes dex register decoding slower by factor\nof 2.5, but that still beats the old algorithm before refactoring.\n\nTest: test-art-host-gtest-stack_map_test\nChange-Id: Id5217a329eb757954e0c9447f38b05ec34118f84\n"
    },
    {
      "commit": "d97e0828958fd14a962e37af2865bc2e628547ce",
      "tree": "bcb4ef65fee75cd64c222a2e3bfb44da6b60ebd5",
      "parents": [
        "6e69e52a12883386f91d014324bebee867ca7877"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sun Jun 03 12:00:24 2018 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Jun 06 13:14:04 2018 +0100"
      },
      "message": "Reduce code repetition in stack maps with macros.\n\nSimplifies the code somewhat.  It also makes it possible\nto get column names as strings for the debugging code.\n\nTest: test-art-host-gtest-stack_map_test\nChange-Id: I1a2e146e7a4372c0752693313e1b881cb4a818bc\n"
    },
    {
      "commit": "6e69e52a12883386f91d014324bebee867ca7877",
      "tree": "7d1850f0a59e4ea2d013d6d479cd616b66922970",
      "parents": [
        "6eb4d5e4bc2ce068004c1d7c85dbfff0c5efd11d"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sun Jun 03 12:00:14 2018 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Jun 05 16:50:38 2018 +0100"
      },
      "message": "Remove depth argument from InlineInfo accessors in stack maps.\n\nThe InlineInfo class actually represented a list of inlining\ninformation for a given stack map, and the depth argument was\nused everywhere to select to desired element from the list.\nThis was verbose and inconsistent with the other classes.\n\nChange the InlineInfo class to represent a single inlining,\nand select the desired depth when getting it from CodeInfo.\n\nTest: test-art-host-gtest-stack_map_test\nChange-Id: I35b73e6704854f0203f51d4dbdbed5b1d1cd5a3b\n"
    },
    {
      "commit": "5ab7d77cdc10f3e50c2cff21f29de5865d90cf7d",
      "tree": "34fb7def8d418d20774f7e4e72146593a8f96641",
      "parents": [
        "61ee8fe6e07595ec8e50f209e97e1502dac94510",
        "cc7e20f9ec7b4a7a57f7196e5e8be67a727f21d3"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Sat Jun 02 15:53:02 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jun 02 15:53:02 2018 +0000"
      },
      "message": "Merge \"Revert \"Move runtime/ to ClassAccessor\"\""
    },
    {
      "commit": "cc7e20f9ec7b4a7a57f7196e5e8be67a727f21d3",
      "tree": "3aebc9078ad94f132f7a5df0813a97bbdd4c4ed9",
      "parents": [
        "2649ecf6c59a29262556aa356fbf894d49df8fe7"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Sat Jun 02 05:37:39 2018 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Sat Jun 02 15:45:36 2018 +0000"
      },
      "message": "Revert \"Move runtime/ to ClassAccessor\"\n\nSeems to cause \u0027atest CtsInlineMockingTestCases\u0027 and other tests\nto fail due to sending agents dex files with hiddenapi flags still\npresent.\n\nThis reverts commit 2649ecf6c59a29262556aa356fbf894d49df8fe7.\n\nReason for revert: Seems to be causing sysui test failures, maybe\n\nBug: 77709234\nBug: 79758018\nBug: 91962648\n\nTest: Tree-Hugger\n\nChange-Id: I2cab5d0d58808dd8beb38400d2811307f26e1021\n"
    },
    {
      "commit": "6bb8751785d045441d06d9728c5c59dd69338f14",
      "tree": "f9b204f1093333d6e326a57b8e0729b36eb49a0d",
      "parents": [
        "b1daf3469a2073837c1a236c13bd6666e4aae9f1",
        "71ec1cc0665cdb9d39f4fd284d68962020417a53"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sat Jun 02 05:06:05 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jun 02 05:06:05 2018 +0000"
      },
      "message": "Merge \"Rewrite dex register map encoding in stackmaps.\""
    },
    {
      "commit": "2a2cf2760ad4e16feff43519bc22bd5d03bd0fc1",
      "tree": "6fb19f4442d5bcc9661a5d65230c489af3002118",
      "parents": [
        "2234a3882fa2e9c25ed99952a571718e27d7d4ca",
        "ecec8284f56d01f360762402d572740d88c244c6"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jun 01 15:38:00 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 01 15:38:00 2018 +0000"
      },
      "message": "Merge \"ART: Refactor mterp slightly\""
    },
    {
      "commit": "2234a3882fa2e9c25ed99952a571718e27d7d4ca",
      "tree": "704c53f15d05f2070d215bbbe34e200b96c4ed14",
      "parents": [
        "a5359a3bf47c4b086fe717ae35dfa6be779824bd",
        "09c5ca40635faee00f40f6ca0581dd475efd545e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jun 01 13:50:30 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 01 13:50:30 2018 +0000"
      },
      "message": "Merge \"Clean up class resolution and lookup.\""
    },
    {
      "commit": "71ec1cc0665cdb9d39f4fd284d68962020417a53",
      "tree": "8d19b11ab3e04213c46b1b12ae94dbf54b305bfb",
      "parents": [
        "03f16e4de1e3289414888fe0a5104205a781bd2f"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri May 18 15:57:25 2018 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Jun 01 13:26:46 2018 +0100"
      },
      "message": "Rewrite dex register map encoding in stackmaps.\n\nSimplify code by encoding dex register maps using BitTables.\nThe overall design is unchanged (bitmask+indices+catalogue).\n\nThis CL saves ~0.4% of .oat file size.\n\nThe dex register map decoding is factor of 3 faster now\n(based on the time to verify the register maps on Arm).\nThis is not too surprising as the old version was O(n^2).\n\nIt also reduces compiler arena memory usage by 11% since the\nBitTableBuilder is more memory efficient, we store less\nintermediate data, and we deduplicate most data on the fly.\n\nTest: test-art-host-gtest-stack_map_test\nChange-Id: Ib703a5ddf7f581280522d589e4a2bfebe53c26a9\n"
    },
    {
      "commit": "09c5ca40635faee00f40f6ca0581dd475efd545e",
      "tree": "5fb13e8eebec283d8c41ce874fbd471f93915fd1",
      "parents": [
        "317892b756cd2a87c01928b09e99e020c86dea10"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu May 31 15:15:31 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jun 01 11:16:58 2018 +0100"
      },
      "message": "Clean up class resolution and lookup.\n\nSimplify the code and avoid read barriers when appropriate.\nRelax class status check in ArtField::GetDeclaringClass()\nbecause we can see ClassStatus::kIdx from the from-space\nclass object for kReadBarrierOption\u003dkWithoutReadBarrier.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nChange-Id: I83886a64fe5a99a1c3c30eab3b35dae449e6b4bc\n"
    },
    {
      "commit": "a5359a3bf47c4b086fe717ae35dfa6be779824bd",
      "tree": "08e786e30b2d1fbe886c688b5545cff9906b057f",
      "parents": [
        "22bd3c969533986640e17e20f38975b22f30af1c",
        "317892b756cd2a87c01928b09e99e020c86dea10"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 01 09:55:34 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 01 09:55:34 2018 +0000"
      },
      "message": "Merge \"Remove static GcRoot\u003c\u003es from Class and ClassExt.\""
    },
    {
      "commit": "2bd4fff4b58d724832a8593bfcd15244cefcc395",
      "tree": "5b06fa01866b53a8b57997638dc111b64780a27a",
      "parents": [
        "df0eef1aecd7af6191444128f7e90e18faf22c7e"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Jun 01 06:27:09 2018 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Jun 01 09:42:42 2018 +0100"
      },
      "message": "ART: Remove unused WellKnownClasses\n\nTest: art/test.py --host\nBug: 74943277\nChange-Id: I7bd7f3b05bc802579211a31a08ab494021b1ccbd\n"
    },
    {
      "commit": "df0eef1aecd7af6191444128f7e90e18faf22c7e",
      "tree": "21ed7cf6c9fdcda4905e130e05dc786342a93384",
      "parents": [
        "3ebdf7495ead52b76afdccd91c3b89264e4bf250",
        "2649ecf6c59a29262556aa356fbf894d49df8fe7"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 31 20:38:26 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 31 20:38:26 2018 +0000"
      },
      "message": "Merge \"Move runtime/ to ClassAccessor\""
    },
    {
      "commit": "2649ecf6c59a29262556aa356fbf894d49df8fe7",
      "tree": "5534dfcb7d32be889acba07787b303c221869f82",
      "parents": [
        "65e463cf7ea91003ef030c8a819ae4596c9b820f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue May 29 14:07:52 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 31 11:24:30 2018 -0700"
      },
      "message": "Move runtime/ to ClassAccessor\n\nAdded more iterator helpers, added logic for dealing with hidden API\nflags.\n\nBug: 77709234\nBug: 79758018\nTest: test-art-host\n\nChange-Id: I3e6d34dd3fe61f1a3256a1cc4c74b63a6bdf514c\n"
    },
    {
      "commit": "03f16e4de1e3289414888fe0a5104205a781bd2f",
      "tree": "4ae1434e3e8e038118d5c13fc38b80bafb900c2e",
      "parents": [
        "11c0f3e15ae0f0064a0274a369737c7b6c65681d",
        "d775f96090a588efbc837961434b10c57bcf189c"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu May 31 15:00:40 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 31 15:00:40 2018 +0000"
      },
      "message": "Merge \"Ensure all PCs in stack_map_test are aligned.\""
    },
    {
      "commit": "ed7f95d6e9d3286c2a7691102732504ffb19c51e",
      "tree": "ee46343b9a11c50d669f7120865dcf6848c43fda",
      "parents": [
        "1539a11150ca9c28fec353b38508267c41d7814b",
        "d32ead213f01c16c3ddd7c7a33c0f0d259e4c4dc"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu May 31 13:47:48 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 31 13:47:48 2018 +0000"
      },
      "message": "Merge \"Aesthetic changes in art::mirror::Object and art::mirror::Class.\""
    },
    {
      "commit": "317892b756cd2a87c01928b09e99e020c86dea10",
      "tree": "bb337ff8cd81c049e781afbd8c68b72ca30907fc",
      "parents": [
        "1539a11150ca9c28fec353b38508267c41d7814b"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu May 31 11:11:32 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu May 31 13:56:49 2018 +0100"
      },
      "message": "Remove static GcRoot\u003c\u003es from Class and ClassExt.\n\nAnd clean up gc_root includes in runtime/mirror/.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 31113334\nChange-Id: Ib5c42a3a892ced4440720350a63a94bcf3a1ca75\n"
    },
    {
      "commit": "d32ead213f01c16c3ddd7c7a33c0f0d259e4c4dc",
      "tree": "bb68a6355872dadaa1e7f56a224cda40d77f0738",
      "parents": [
        "08231f6cb3095a7dbde29299a7da5413a5f992e4"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed May 30 17:38:21 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu May 31 12:46:40 2018 +0100"
      },
      "message": "Aesthetic changes in art::mirror::Object and art::mirror::Class.\n\nTest: mmma art\nChange-Id: I1c7bf2e3b0420238ee2ae249aca9b7fce492a3e6\n"
    },
    {
      "commit": "a8bba7d0853b372aea3ed3ea154fb2b2a23c2c9d",
      "tree": "973a89870e0cc8912401503ebab1b709a9df5ba0",
      "parents": [
        "65e463cf7ea91003ef030c8a819ae4596c9b820f"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed May 30 15:18:48 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu May 31 09:48:59 2018 +0100"
      },
      "message": "ObjPtr\u003c\u003e-ify ClassLinker::FindClass(), fix 1 stale reference use.\n\nThread::CreateAnnotatedStackTrace() was using a stale\nreference `aste_array_class`.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 31113334\nChange-Id: I191907c0053456bb57de425aa6ccd9668df818a2\n"
    },
    {
      "commit": "ecec8284f56d01f360762402d572740d88c244c6",
      "tree": "fdaed0717c52099d14942ae82e4469d015399804",
      "parents": [
        "f5fc6bcdd98f50807756347ac19e8565bce3b6b5"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 30 12:04:26 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 30 16:45:18 2018 -0700"
      },
      "message": "ART: Refactor mterp slightly\n\nMove marker labels to assembly to allow simpler machine-dependent\nchanges. Update the generator script. Regenerate the output.\n\nTest: mmma art\nTest: m test-art-host\nChange-Id: Id32e060af9b2ef3ba5558a89e05ca0edfe4974c6\n"
    },
    {
      "commit": "d775f96090a588efbc837961434b10c57bcf189c",
      "tree": "ff3817dabd3f00450643b13e6b87bdb363fed5d7",
      "parents": [
        "f5fc6bcdd98f50807756347ac19e8565bce3b6b5"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed May 30 18:12:52 2018 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed May 30 22:52:01 2018 +0000"
      },
      "message": "Ensure all PCs in stack_map_test are aligned.\n\nIt is invalid to try to encode improperly aligned PC.\n\nTest: test-art-target-gtest-stack_map_test\nChange-Id: I73e7b6225bfee87b0d6161298e19648ee6e1d499\n"
    },
    {
      "commit": "f5fc6bcdd98f50807756347ac19e8565bce3b6b5",
      "tree": "c8e982bf060f98fb16e95949a94042f0f224361a",
      "parents": [
        "3b562b18ba6128b20d0660ab3823f55a5191b04e",
        "21d45b4f4ef3661ac33d622aaac5dd6d2ce7deb8"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed May 30 22:51:34 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 30 22:51:34 2018 +0000"
      },
      "message": "Merge \"Simplify DexRegisterMap API.\""
    },
    {
      "commit": "3b562b18ba6128b20d0660ab3823f55a5191b04e",
      "tree": "68ff1fc7b7dda66ff2770a6be114a15d832adeb6",
      "parents": [
        "155733e5590a7c76f367ea9f6940345d143eab36",
        "d02b23f7ee9664213216a82bfdcb0ee83824de04"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed May 30 22:50:50 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 30 22:50:50 2018 +0000"
      },
      "message": "Merge \"Remove the CodeOffset helper class.\""
    },
    {
      "commit": "155733e5590a7c76f367ea9f6940345d143eab36",
      "tree": "d77b7c1712b64a559ba7a83c9c75ef4110acdf99",
      "parents": [
        "6a084834f06a31ea6f15db27420a8240fe64f033",
        "863c8808b53c36afea8fffd8ce9c38c70d59bd62"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 30 21:36:44 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 30 21:36:44 2018 +0000"
      },
      "message": "Merge \"ART: Add missing .hidden for ExecuteMterpImpl\""
    },
    {
      "commit": "5bb62fcb2e0e0e1a6d9b6f5523a20376b771bd75",
      "tree": "f9f5e96f37f7b078ff343acc1d4db49ddd37a1bd",
      "parents": [
        "a3906d5eb447086291cd66fa5d2428323315894b",
        "1fed343e5145846e316d49616f3b94e225f43bf1"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Wed May 30 17:32:39 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 30 17:32:39 2018 +0000"
      },
      "message": "Merge \"Move profile testing to CommonArtTest\""
    },
    {
      "commit": "a3906d5eb447086291cd66fa5d2428323315894b",
      "tree": "83a9f7f895459a49a4e22929fa6cfe8ad33c3a53",
      "parents": [
        "08231f6cb3095a7dbde29299a7da5413a5f992e4",
        "acb906d7f907b79ef1e6038d7104a5569e81a1ac"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed May 30 17:28:52 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 30 17:28:52 2018 +0000"
      },
      "message": "Merge \"Remove mirror::String::java_lang_String_.\""
    },
    {
      "commit": "863c8808b53c36afea8fffd8ce9c38c70d59bd62",
      "tree": "4a9cfbc20bd373f0c874e74ca5d3f7b5b1c0f674",
      "parents": [
        "08231f6cb3095a7dbde29299a7da5413a5f992e4"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 30 10:13:21 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 30 10:13:21 2018 -0700"
      },
      "message": "ART: Add missing .hidden for ExecuteMterpImpl\n\nOnly the arm32 version was correctly marked. Other instruction sets would\ngenerate a PLT call.\n\nTest: mmma art\nTest: m test-art-host\nChange-Id: I434f4292cd9f24371bdd2c3b34c71e8c442768b7\n"
    },
    {
      "commit": "21d45b4f4ef3661ac33d622aaac5dd6d2ce7deb8",
      "tree": "121e046a949025bca4d766fdfdc5ea58e4ea4a10",
      "parents": [
        "d02b23f7ee9664213216a82bfdcb0ee83824de04"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed May 30 06:35:05 2018 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed May 30 17:59:24 2018 +0100"
      },
      "message": "Simplify DexRegisterMap API.\n\nStore some of the needed decoding state explicitly to avoid passing it\naround all the time. The DexRegisterMap class is rewritten in next CL.\n\nTest: test-art-host-gtest-stack_map_test\nChange-Id: Ie268dff2a1c1da2e08f0e6799ae51c30e11f350b\n"
    },
    {
      "commit": "d02b23f7ee9664213216a82bfdcb0ee83824de04",
      "tree": "254b794533a6821c2ed2df31fab807abf7d508a4",
      "parents": [
        "08231f6cb3095a7dbde29299a7da5413a5f992e4"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue May 29 23:27:22 2018 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed May 30 17:59:24 2018 +0100"
      },
      "message": "Remove the CodeOffset helper class.\n\nI need to reduce the StackMapEntry to a POD type so that it\ncan be used in BitTableBuilder.\n\nTest: test-art-host-gtest-stack_map_test\nChange-Id: I5f9ad7fdc9c9405f22669a11aea14f925ef06ef7\n"
    },
    {
      "commit": "08231f6cb3095a7dbde29299a7da5413a5f992e4",
      "tree": "d7cc4595bd633b3f5e7ade454d405a57468f3e77",
      "parents": [
        "750cf88c8872983ae13259131cb2ed377e3eadff",
        "4b59d107f91601c4e0095d7a9db40970d4ed6956"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 30 16:21:15 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 30 16:21:15 2018 +0000"
      },
      "message": "Merge \"Revert^2 \"Optimize register mask and stack mask in stack maps.\"\""
    },
    {
      "commit": "acb906d7f907b79ef1e6038d7104a5569e81a1ac",
      "tree": "5004be84fa88b8829881efed9ebf2d578b21086f",
      "parents": [
        "5924a4a73f1a2dcf83877062d67c297a9496b326"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed May 30 10:23:49 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed May 30 14:48:02 2018 +0100"
      },
      "message": "Remove mirror::String::java_lang_String_.\n\nAnd simplify ClassLinker::InitWithoutImage().\nAnd finish ObjPtr\u003c\u003e-ification of annotation processing.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host\nBug: 31113334\nChange-Id: I882a6c2f2b2a88d6ba34e4759bac4a6caa54cafa\n"
    },
    {
      "commit": "750cf88c8872983ae13259131cb2ed377e3eadff",
      "tree": "b0e35537e6ea4639e22f3467225be7b331818b86",
      "parents": [
        "08f1973a345d78a9336b7ce2bf1df82f1c2515db",
        "5924a4a73f1a2dcf83877062d67c297a9496b326"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed May 30 13:39:39 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 30 13:39:39 2018 +0000"
      },
      "message": "Merge changes I51c462c0,If8674fc7\n\n* changes:\n  Move String::SizeOf\u003c\u003e to string.h .\n  ObjPtr\u003c\u003e-ify RegTypeCache, fix 1 stale reference use.\n"
    },
    {
      "commit": "4b59d107f91601c4e0095d7a9db40970d4ed6956",
      "tree": "b120add4870b86cefc308ec3a0100851cfc1a4c0",
      "parents": [
        "da4ff8bfcf03d6186b7d21c7bd8b90248f7b2f96"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue May 29 21:46:10 2018 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed May 30 14:32:44 2018 +0100"
      },
      "message": "Revert^2 \"Optimize register mask and stack mask in stack maps.\"\n\nThis reverts commit 8b20b5c1f5b454b2f8b8bff492c88724b5002600.\n\nReason for revert: Retry submit unmodified after fixing the test.\n\nUse BitTable to store the masks as well and move the\ndeduplication responsibility to the BitTable builders.\n\nDon\u0027t generate entries for masks which are all zeros.\nThis saves 0.2% of .oat file size on both Arm64 and Arm.\n\nEncode registers as (value+shift) due to tailing zeros.\nThis saves 1.0% of .oat file size on Arm64 and 0.2% on Arm.\n\nTest: test-art-target-gtest-exception_test\nTest: test-art-host-gtest-bit_table_test\nTest: test-art-host-gtest-stack_map_test\nChange-Id: Ib643776dbec3f051cc29cd13ff39e453fab5fae9\n"
    },
    {
      "commit": "5924a4a73f1a2dcf83877062d67c297a9496b326",
      "tree": "3517a1809ecbdc85533e1a8c5a0a9610cdc36005",
      "parents": [
        "2cffc5d2807096c0b7a07b89f5dda6920c6429f5"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 29 17:40:41 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed May 30 12:50:37 2018 +0100"
      },
      "message": "Move String::SizeOf\u003c\u003e to string.h .\n\nstring.h was already indirectly (through class.h) including\neverything needed for String::SizeOf\u003c\u003e, so move it to the\nstring.h and make those includes direct. Then we can change\nthe object-inl.h to include only string.h, reducing the\nnumber of indirectly included files.\n\nTest: m test-art-host-gtest\nTest: m testrunner.py --host --optimizing\nChange-Id: I51c462c034f205498c539abe6d888be9738d4a6e\n"
    },
    {
      "commit": "2cffc5d2807096c0b7a07b89f5dda6920c6429f5",
      "tree": "3949ab54fa34ba6297aa0074daeba43f560ca9bc",
      "parents": [
        "adbceb73b19cfad3ff9011390415a680382a21ec"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 29 15:40:56 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed May 30 12:50:32 2018 +0100"
      },
      "message": "ObjPtr\u003c\u003e-ify RegTypeCache, fix 1 stale reference use.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 31113334\nChange-Id: If8674fc712d9bc4d7d2fef1d154192b31b153627\n"
    },
    {
      "commit": "211e53dce2c4fa1c9b41d65ef301384b727b312b",
      "tree": "853e8d12014cb77e87e845abcd44a82160b3a945",
      "parents": [
        "7983c56b5274d91651147eef2abc16331d010073",
        "adbceb73b19cfad3ff9011390415a680382a21ec"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 30 10:19:55 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 30 10:19:55 2018 +0000"
      },
      "message": "Merge \"Remove GcRoot\u003c\u003e static from Throwable and related classes.\""
    },
    {
      "commit": "1fed343e5145846e316d49616f3b94e225f43bf1",
      "tree": "b0cb7b634699deeac88dad4d7da463f0d718c089",
      "parents": [
        "010b10e7ab1b6f5a736bf500acc16d2c7067f8af"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Tue May 29 13:19:47 2018 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Tue May 29 13:19:47 2018 -0700"
      },
      "message": "Move profile testing to CommonArtTest\n\nFinish the migration of libprofile content by moving test to use\nCommonArtTest.  This required splitting the libart-related portions into\na separate test that was moved closer to the code it tests.\n\nBug: 78459333\nTest: make -j 40 test-art-host\nChange-Id: I134c983b1a5ac81a71ac2b72d8c653eff5df4164\n"
    },
    {
      "commit": "010b10e7ab1b6f5a736bf500acc16d2c7067f8af",
      "tree": "31007a7018054f2f7c1541f91ffda5d57daf8e3e",
      "parents": [
        "267c83529850f51cd690b3e31882aaae98601afd",
        "8b20b5c1f5b454b2f8b8bff492c88724b5002600"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 29 17:12:33 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 29 17:12:33 2018 +0000"
      },
      "message": "Merge \"Revert \"Optimize register mask and stack mask in stack maps.\"\""
    },
    {
      "commit": "adbceb73b19cfad3ff9011390415a680382a21ec",
      "tree": "b7d4c12fb8cc8d4f9091d48d8e2c35a06b7a8e26",
      "parents": [
        "aab8bc928a8eff425d5e5755fde75b1cb55998a9"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 29 14:34:14 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 29 17:48:45 2018 +0100"
      },
      "message": "Remove GcRoot\u003c\u003e static from Throwable and related classes.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 31113334\nChange-Id: I8115e6413a07419ec261af3ec5068833b72b5218\n"
    },
    {
      "commit": "8b20b5c1f5b454b2f8b8bff492c88724b5002600",
      "tree": "51bea8ddfff23b1f6b0323eaeacf42e6f6199015",
      "parents": [
        "ffaf87a429766ed80e6afee5bebea93db539620b"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 29 15:32:55 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 29 15:32:55 2018 +0000"
      },
      "message": "Revert \"Optimize register mask and stack mask in stack maps.\"\n\nThis reverts commit ffaf87a429766ed80e6afee5bebea93db539620b.\n\nReason for revert: Breaks exception_test32 on target\nfor CMS and heap poisoning configs.\n\nChange-Id: I127c17f693e28211a799f73a50e73105edee7e4c\n"
    },
    {
      "commit": "c8e213275671240c4fc7299f918d6d07c3c12eb1",
      "tree": "0d66f2d47b05376a3a5ffeb9c343892ec5a35f48",
      "parents": [
        "4eb6fa0e22cc90419bb099f676fdd413e2c9b94e",
        "ffaf87a429766ed80e6afee5bebea93db539620b"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue May 29 12:31:20 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 29 12:31:20 2018 +0000"
      },
      "message": "Merge \"Optimize register mask and stack mask in stack maps.\""
    },
    {
      "commit": "4eb6fa0e22cc90419bb099f676fdd413e2c9b94e",
      "tree": "3a334847d8eb87566713ab28e785bee67b8c1709",
      "parents": [
        "aab8bc928a8eff425d5e5755fde75b1cb55998a9",
        "a4f1f6e7ea1066a0ee3a2d99eb0b2bd90474bf04"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue May 29 09:54:45 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 29 09:54:45 2018 +0000"
      },
      "message": "Merge \"Rename nativeHoldsLock to holdsLock and make it work on current thread\""
    },
    {
      "commit": "aab8bc928a8eff425d5e5755fde75b1cb55998a9",
      "tree": "01a53db06d314f69c8a84d26755e4fbd6acbcde3",
      "parents": [
        "2f821578c388c332b700a15beb383a82f549c865",
        "679730e6c4be680b3e72b55a4200de9590641009"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 29 08:24:16 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 29 08:24:16 2018 +0000"
      },
      "message": "Merge \"Remove static GcRoot\u003c\u003es from Field, Method, Constructor.\""
    },
    {
      "commit": "ffaf87a429766ed80e6afee5bebea93db539620b",
      "tree": "d79637f4b6a564facf4b837c3ff125bb3755594e",
      "parents": [
        "5513c2b68a08109a5bfd811c7b2c8bbc66244e8e"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed May 23 14:44:39 2018 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon May 28 08:45:37 2018 +0100"
      },
      "message": "Optimize register mask and stack mask in stack maps.\n\nUse BitTable to store the masks as well and move the\ndeduplication responsibility to the BitTable builders.\n\nDon\u0027t generate entries for masks which are all zeros.\nThis saves 0.2% of .oat file size on both Arm64 and Arm.\n\nEncode registers as (value+shift) due to tailing zeros.\nThis saves 1.0% of .oat file size on Arm64 and 0.2% on Arm.\n\nTest: test-art-host-gtest\nChange-Id: I636b7edd49e10e8afc9f2aa385b5980f7ee0e1f1\n"
    },
    {
      "commit": "f507810d6fad70fb4a45797d9eefd2c20740191c",
      "tree": "b1708164c6ea70ac5004eb5b3feab570f8ea1908",
      "parents": [
        "0b7e6c96ea859fa948b4a1973c5d1f17a8b9021a",
        "6834d3414308e3d536bc685dbb3d60fe70186f23"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 25 15:36:29 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 25 15:36:29 2018 +0000"
      },
      "message": "Merge \"Remove mirror::Reference::java_lang_ref_Reference.\""
    },
    {
      "commit": "a4f1f6e7ea1066a0ee3a2d99eb0b2bd90474bf04",
      "tree": "0125fa45d7ddad139eef5f8ed53f0bfc2fec118c",
      "parents": [
        "8a9fccc34fc05041c754f025ad5a1109b84adddb"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri May 25 16:10:02 2018 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri May 25 16:10:02 2018 +0100"
      },
      "message": "Rename nativeHoldsLock to holdsLock and make it work on current thread\n\nThe Java native method nativeHoldsLock has been renamed to match the\nupstream OpenJDK 8u121-b13 and changed from an instance method on Thread\nto a static method.\n\nThis makes the corresponding change to the native implementation of that\nmethod.\n\nTest: make checkbuild, flash, CtsLibcoreTestCases\nBug: 74379469\nChange-Id: Ib9dedccd3014c01c148ff824764be319c2a7a123\n"
    },
    {
      "commit": "679730e6c4be680b3e72b55a4200de9590641009",
      "tree": "ca7d0719aed00457a2c898cf2dc56300956ea875",
      "parents": [
        "6834d3414308e3d536bc685dbb3d60fe70186f23"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 25 15:06:48 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 25 15:06:48 2018 +0100"
      },
      "message": "Remove static GcRoot\u003c\u003es from Field, Method, Constructor.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 31113334\nChange-Id: I648b88339995761fb81180286ef48a42bbd2f83d\n"
    },
    {
      "commit": "6834d3414308e3d536bc685dbb3d60fe70186f23",
      "tree": "7c579de52d3acc5cc4d02babf25c7fcb2b94793b",
      "parents": [
        "c7aa87e1666ac48ddf9149cfdfd64b026b3969e5"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 25 13:12:09 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 25 14:12:31 2018 +0100"
      },
      "message": "Remove mirror::Reference::java_lang_ref_Reference.\n\nAnd some #include cleanup after previous CLs removing\nstatic GcRoot\u003c\u003es.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 31113334\nChange-Id: I56b34637f9d793ed7680696a1eeedd07d061ad00\n"
    },
    {
      "commit": "a326807d1ac1e37798c928911777c9d7c1d7ab4d",
      "tree": "d1d60c9c0ded7b8c99977c19830225218d55ff3e",
      "parents": [
        "8967547e8d27e63332839540a8b0f53f0d95b46c",
        "c7aa87e1666ac48ddf9149cfdfd64b026b3969e5"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 25 12:43:17 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 25 12:43:17 2018 +0000"
      },
      "message": "Merge changes Iaf172f37,I15a8ade7,Icbc6b62b\n\n* changes:\n  Remove static_class_ from Method/VarHandle and CallSite.\n  Remove PrimitiveArray\u003cT\u003e::array_class_.\n  Refactor ClassRoot/GetClassRoot().\n"
    },
    {
      "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": "148a7c3e1f355946664c8d01a98158627253924b",
      "tree": "7029a8f291fb786c6624fcc8e509f166da57f7d3",
      "parents": [
        "ff7ff426e136aa8fd6e33d873f6259311982f6bb",
        "9fa1bab5f0d88083f2a39f72825edc6ba2e3c113"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 23 17:36:36 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 23 17:36:36 2018 +0000"
      },
      "message": "Merge \"ART: Fix missing field type crasher\""
    },
    {
      "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": "9fa1bab5f0d88083f2a39f72825edc6ba2e3c113",
      "tree": "f127704d03a8cc70e4bd1fdad0dba614743fb1d5",
      "parents": [
        "8926b780fd75f23e8685e108e2d3f4905f3809fd"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed May 23 15:21:35 2018 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed May 23 16:47:24 2018 +0100"
      },
      "message": "ART: Fix missing field type crasher\n\nAvoids nullptr dereference when a field with a missing field type is\nassigned.\n\nBug: b/79751666\nTest: art/test.py --host -r -t 173\nChange-Id: I5868793f57802ed3de60264eefa7eb98845ae126\n"
    },
    {
      "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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.\""
    },
    {
      "commit": "933d6e72ed48d1e5521cd8307678e604a7541622",
      "tree": "7057a24c9ebe51d3af43c4e6b4154d85e3039cc1",
      "parents": [
        "04d81ff75ae339c082b1ecbea38ba34f873059cb",
        "c3e1895e7443c61b77f5c51cd2d18819cade57c1"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Mon May 14 22:26:33 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 14 22:26:33 2018 +0000"
      },
      "message": "Merge \"Prepare to move ArtDexFileLoader to libdexfile\""
    },
    {
      "commit": "9e423afa4ff8790d8e04677d7a5546bbf628c512",
      "tree": "b933c26effd8a5e1daf0e25e789720d40fdd2700",
      "parents": [
        "9076eb66ad173933d7fbd5ce328d31c7f97fd202"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon May 14 10:08:29 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon May 14 11:30:23 2018 -0700"
      },
      "message": "Handle unset ANDROID_DATA in DexLocationToOatFilename\n\nReturn false instead of aborting, this can occur for preopt when\nusing a class loader context.\n\nBug: 67345922\nBug: 70934104\nTest: test-art-host\n\nChange-Id: I4a5ef62090daad722e6db883a4c2bb41b8c68364\n"
    },
    {
      "commit": "8268cb677bd92bfbcfec7e803775c29687494e53",
      "tree": "b63ca42dcd440117187e3c859b4b311b11b8137e",
      "parents": [
        "004b8875b291af5001d384fb1eb76ae0660ff056"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri May 11 15:06:17 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon May 14 18:40:49 2018 +0100"
      },
      "message": "Remove support for Valgrind in ART.\n\n- Disable test configuration art-gtest-valgrind64\n  (art-gtest-valgrind32 was already disabled).\n- Remove Makefile logic regarding testing with Valgrind.\n- Remove occurrences of `TEST_DISABLED_FOR_MEMORY_TOOL_VALGRIND`.\n- Replace occurrences of `TEST_DISABLED_FOR_MEMORY_TOOL_ASAN` with\n  `TEST_DISABLED_FOR_MEMORY_TOOL`.\n- Replace the potentially dynamically evaluated\n  `RUNNING_ON_MEMORY_TOOL` expression with constant\n  `kRunningOnMemoryTool`.\n- Simplify and fold the logic of\n  `art::ArenaAllocatorMemoryToolCheckImpl` and\n  `art::ArenaAllocatorMemoryToolCheck` into\n  `art::ArenaAllocatorMemoryTool`.\n- Adjust comments regarding memory tools.\n- Remove Valgrind suppression files.\n- Remove `--callgrind` option from tools/art.\n\nTest: art/test.py\nBug: 77856586\nBug: 29282211\nChange-Id: Ifdcbfccc1830104c455760457df66ede4a4cd135\n"
    },
    {
      "commit": "8a22907f0c98fc82ec18ef233d3363db8404aab9",
      "tree": "b2c5f59b16e3bbe5d88800c116a32b94416c4294",
      "parents": [
        "9076eb66ad173933d7fbd5ce328d31c7f97fd202"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 10 16:34:14 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 14 17:51:26 2018 +0100"
      },
      "message": "Conditionalize LocAccessToEvent on Android target build.\n\nbug: 64382372\nbug: 79671158\nTest: m\nChange-Id: Ida6d672e1d88d9662718257439762cb916b9c7a0\n"
    }
  ],
  "next": "9076eb66ad173933d7fbd5ce328d31c7f97fd202"
}
