)]}'
{
  "log": [
    {
      "commit": "b789d8966c1ca9cdd39d2ea54ea90aae28a3d5af",
      "tree": "9e4196fffe45a75b84e1e81a1d39f9579700c69d",
      "parents": [
        "bf3e4e2d77cece977d5de83bd192356528adaad4",
        "fca0b491a34144acf6769ab9c5fb528ac81bd325"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jul 24 08:00:52 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 24 08:00:52 2018 +0000"
      },
      "message": "Merge \"Fix a stale reference use.\""
    },
    {
      "commit": "bf3e4e2d77cece977d5de83bd192356528adaad4",
      "tree": "2c7791ca4eb8dc085dc7fc0e453b32e9e8b1b513",
      "parents": [
        "fe62f672694a70d151d0b55bbce718b5d66a5f5a",
        "98dad409dc3b1b54a2e514710a7fc60084629b7f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jul 24 04:35:01 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 24 04:35:01 2018 +0000"
      },
      "message": "Merge \"Finish moving oatdump to ClassAccessor\""
    },
    {
      "commit": "98dad409dc3b1b54a2e514710a7fc60084629b7f",
      "tree": "2c7791ca4eb8dc085dc7fc0e453b32e9e8b1b513",
      "parents": [
        "fe62f672694a70d151d0b55bbce718b5d66a5f5a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 04 18:00:12 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jul 23 17:08:30 2018 -0700"
      },
      "message": "Finish moving oatdump to ClassAccessor\n\nMoved one remaining part of oatdump/ to class accessor.\n\nBug: 79758018\nTest: test-art-host\n\nChange-Id: I7a1abfa9547658f1e9349c09f2c088bdc820af85\n"
    },
    {
      "commit": "fca0b491a34144acf6769ab9c5fb528ac81bd325",
      "tree": "3896bc10455308ed675886d8d8037d5358c1556d",
      "parents": [
        "fb9c672577ae9772557f72f9cecb77d4d24af585"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 23 15:30:52 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 23 18:30:45 2018 +0100"
      },
      "message": "Fix a stale reference use.\n\nIt is unsafe to use an expression like\n    klass.Get() \u003d\u003d ResolveType()\nwhere the `ResolveType()` call can invalidate the plain\npointer already retrieved from a Handle\u003c\u003e.\n\nWe fix this in HInstructionBuilder::BuildLoadClass() by\nreordering the code and we change the prefix of related\nfunctions from \"Get\" to \"Resolve\" to better express their\nsemantics. We also pass the ScopedObjectAccess helper all\nthe way to the `ResolveClassFrom()` to avoid constructing\na new one.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host\nBug: 31113334\nChange-Id: I13c1ea356386f28fdc9548da781982f9774080f1\n"
    },
    {
      "commit": "fe62f672694a70d151d0b55bbce718b5d66a5f5a",
      "tree": "2441373649aedfbd6ad123e7a9816b65b97e5242",
      "parents": [
        "fa5fc80f933a63eaf8bbbed5c1ffee24e0f3fa15",
        "55a278910992cc41fa734eefb219138555e3b7c8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 23 12:34:39 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 23 12:34:39 2018 +0000"
      },
      "message": "Merge \"Update ahat version number to 1.6\""
    },
    {
      "commit": "55a278910992cc41fa734eefb219138555e3b7c8",
      "tree": "a1164b0771adc12f36f3a6ef250d6696646c5992",
      "parents": [
        "14daacad754fbe83de98282b05379b81f3ec4036"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Jul 18 15:47:03 2018 +0100"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon Jul 23 09:54:44 2018 +0100"
      },
      "message": "Update ahat version number to 1.6\n\nTest: m ahat-test\nTest: open heap dump and verify version number on overview page.\nChange-Id: I81b91ae954249477b082b3e599fed99873dbbadd\n"
    },
    {
      "commit": "fa5fc80f933a63eaf8bbbed5c1ffee24e0f3fa15",
      "tree": "431236bcbc19894ac904f994ab37e1bf3cfb60fb",
      "parents": [
        "fb9c672577ae9772557f72f9cecb77d4d24af585",
        "6121aa69098e3496cf1a81bf3e5e7ae70f66eacb"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 23 08:46:01 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 23 08:46:01 2018 +0000"
      },
      "message": "Merge \"Move .art.rel data to a section in .art, part 2.\""
    },
    {
      "commit": "fb9c672577ae9772557f72f9cecb77d4d24af585",
      "tree": "ee7ac3922184ae28354f7d91987814f5d8bfb778",
      "parents": [
        "b85c4a368c281f4f412c38d5f8b96d2f4f51c876",
        "9a497a69f025559fb97eb0fb9595b09768a3b85e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sun Jul 22 22:50:24 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sun Jul 22 22:50:24 2018 +0000"
      },
      "message": "Merge \"Fix mac build (hopefully)\""
    },
    {
      "commit": "9a497a69f025559fb97eb0fb9595b09768a3b85e",
      "tree": "ee7ac3922184ae28354f7d91987814f5d8bfb778",
      "parents": [
        "b85c4a368c281f4f412c38d5f8b96d2f4f51c876"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sun Jul 22 13:56:00 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sun Jul 22 13:56:18 2018 -0700"
      },
      "message": "Fix mac build (hopefully)\n\nAdd a Ptr() for SafeGetDeclaringClass\n\nTest: untested\n\nChange-Id: Id949a36e081e9a7b226ae84b2693307a23c8bbc7\n"
    },
    {
      "commit": "b85c4a368c281f4f412c38d5f8b96d2f4f51c876",
      "tree": "858b26cbec3340cff4a1232cdac7e13c789e3812",
      "parents": [
        "b07dcdba37e9a5652b7754a6bd9c3538880d6668",
        "d0d25fecd72c6a9ec591a416ff76a0970a3a844e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jul 21 00:53:28 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jul 21 00:53:28 2018 +0000"
      },
      "message": "Merge \"Add some helpful features to jdwp test runners\""
    },
    {
      "commit": "d0d25fecd72c6a9ec591a416ff76a0970a3a844e",
      "tree": "c1b9308e9c750745777561d4fd052b6bf4958447",
      "parents": [
        "59d0872519e8abd1ec17003c17b5c3780ed831df"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jul 20 15:46:49 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jul 20 15:57:52 2018 -0700"
      },
      "message": "Add some helpful features to jdwp test runners\n\nAdd --verbose support to run-libjdwp-tests.sh. This makes it use the\nlibjdwp logging on the debuggee with by default log level 0xC0. This\ncan be changed using --verbose-level and --verbose-all.\n\nAdd an --instant-jit flag to both runners. This forces the debuggee to\nrun with -Xjitthreshold:0.\n\nTest: manual\nChange-Id: Iff9884b0cfbc5d32ff40c5c2d8f48b7876944509\n"
    },
    {
      "commit": "b07dcdba37e9a5652b7754a6bd9c3538880d6668",
      "tree": "15524fb0505323ec78bf4d8841245da6fe61d6ee",
      "parents": [
        "6250dfa22577160b270f3f3165260739707cf7d3",
        "c945e0d410ca8d4e9ba09272e8727a3192f1e449"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jul 20 13:06:30 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 20 13:06:30 2018 +0000"
      },
      "message": "Merge changes I87f2999f,I8af0e845\n\n* changes:\n  Remove ArtMethod\u0027s declaring class state checks.\n  ObjPtr\u003c\u003e-ify ArtMethod and mirror::Method.\n"
    },
    {
      "commit": "6121aa69098e3496cf1a81bf3e5e7ae70f66eacb",
      "tree": "4a09aaee7669821725b33f8d7c5a7fe087b5f324",
      "parents": [
        "6250dfa22577160b270f3f3165260739707cf7d3"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jul 06 10:04:35 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jul 20 13:55:09 2018 +0100"
      },
      "message": "Move .art.rel data to a section in .art, part 2.\n\nAnd change the encoding to reduce the size of the data.\nKeep the checksum in the .art.rel file, it shall be removed\nlater together with patchoat.\n\nBoot image sizes for aosp_taimen-userdebug:\n  - before:\n    arm/boot*.art: 9216000\n    arm/boot*.art.rel: 700767\n    arm64/boot*.art: 11399168\n    arm64/boot*.art.rel: 700808\n    oat/arm64/services.art: 192512\n  - after:\n    arm/boot*.art: 9499351 (+276.7KiB)\n    arm/boot*.art.rel: 480 (-683.9KiB)\n    arm64/boot*.art: 11750203 (+342.8KiB)\n    arm64/boot*.art.rel: 480 (-683.9KiB)\n    oat/arm64/services.art: 202466 (+9.7KiB)\nNote that the new section is currently uncompressed in the\nboot image but we have the ability to compress it in the\nfuture using the same compression as the heap data.\n\nThe extra data we now encode in app images is unused so far\nbut it shall permit fast in-memory patching without looking\nat object types.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Pixel 2 XL boots.\nTest: testrunner.py --target --optimizing\nBug: 77856493\nChange-Id: I20c9bed9797ce0f23f39c2fb0d64320b457e18d4\n"
    },
    {
      "commit": "6250dfa22577160b270f3f3165260739707cf7d3",
      "tree": "2b68128ea361e61d1186252a5ba1e98277fc9585",
      "parents": [
        "125a47c0d5c77894eeef2229ec26e72a42bfa5e5",
        "e166facea335b9adcff7717d6d30150a41718668"
      ],
      "author": {
        "name": "Dario Freni",
        "email": "dariofreni@google.com",
        "time": "Fri Jul 20 08:59:35 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 20 08:59:35 2018 +0000"
      },
      "message": "Merge \"Add a public error code to DexFileLoader::OpenAll.\""
    },
    {
      "commit": "125a47c0d5c77894eeef2229ec26e72a42bfa5e5",
      "tree": "154b14d532a132272bd5709bd38f3cb5ab200552",
      "parents": [
        "6514f95435e6e2fe20e75b7c7b73cd1046e56f7b",
        "ca8de0a70eab62707f3c71a211093f340fdcd5f4"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jul 20 08:04:51 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 20 08:04:51 2018 +0000"
      },
      "message": "Merge \"Move .art.rel data to a section in .art, part 1.\""
    },
    {
      "commit": "6514f95435e6e2fe20e75b7c7b73cd1046e56f7b",
      "tree": "2e3bece4783dc87a0a28cfd1ba31bd1bf020dd44",
      "parents": [
        "1eb8ce0839daa646d6645036f954f1e27c12dfaf",
        "bd39d145e4986217bcb8dce1d4a9631d926a2781"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 20 01:24:40 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 20 01:24:40 2018 +0000"
      },
      "message": "Merge \"ART: Clean up unused using declarations\""
    },
    {
      "commit": "1eb8ce0839daa646d6645036f954f1e27c12dfaf",
      "tree": "5d7298b90146713d35e6dffeb90ee21d5b13d19c",
      "parents": [
        "2472a523ad241412c5a3fd9f606347cbaa8c1783",
        "6f4cf6e8fa15de2f9bf7c6a649ea7a2fabef886a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 20 00:18:06 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 20 00:18:06 2018 +0000"
      },
      "message": "Merge \"ART: Add more tidy checks to fatal list\""
    },
    {
      "commit": "2472a523ad241412c5a3fd9f606347cbaa8c1783",
      "tree": "1ed50ba4dbae02374ec4ce157e987c340ebaa9c2",
      "parents": [
        "a89ec15111a736b092ca9d42b69d512891a97d24",
        "1a727b090e7d2a19b62410e1908e46e115b9dbc8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 19 22:32:39 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 19 22:32:39 2018 +0000"
      },
      "message": "Merge \"Use std::move() to prevent copying.\""
    },
    {
      "commit": "a89ec15111a736b092ca9d42b69d512891a97d24",
      "tree": "52df12d28a5c62abe1269423b6590f310e412cf2",
      "parents": [
        "a8416b6de39609443be89a31014f49bcd23db716",
        "020020ff7a905f84c858973cb437326d02290bea"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 19 20:05:08 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 19 20:05:08 2018 +0000"
      },
      "message": "Merge \"ART: Disable Wunreachable-code for tidy\""
    },
    {
      "commit": "1a727b090e7d2a19b62410e1908e46e115b9dbc8",
      "tree": "afbabd0cf8d51389116a46a3eac3b67a580ebda8",
      "parents": [
        "3e2fad1fba7b89faa675c21676a84c487e03c23e"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Jul 19 12:49:48 2018 -0700"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Jul 19 12:50:14 2018 -0700"
      },
      "message": "Use std::move() to prevent copying.\n\nBug: http://b/110779387\nTest: Build with new toolchain.\nChange-Id: I0fa29e9dc2d7f2a30e8e7137d6ff8ba6f03e80b1\n"
    },
    {
      "commit": "a8416b6de39609443be89a31014f49bcd23db716",
      "tree": "71394b2fe934127ebfeef365963a1a44e0b80e4e",
      "parents": [
        "c1d762ae37d37765f6aaabc5bf4a429c5d0cca88",
        "e01844ac1363912451bf75a9763d13150cd87b30"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Jul 19 19:05:04 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 19 19:05:04 2018 +0000"
      },
      "message": "Merge \"ART: disable test 712 for interpreter+gcstress\""
    },
    {
      "commit": "bd39d145e4986217bcb8dce1d4a9631d926a2781",
      "tree": "52dfd3307ab5279e960f9a1bf6e474e47440a3d8",
      "parents": [
        "6f4cf6e8fa15de2f9bf7c6a649ea7a2fabef886a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jul 19 11:14:42 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jul 19 11:37:05 2018 -0700"
      },
      "message": "ART: Clean up unused using declarations\n\nMake tidy happy, and enable checking.\n\nTest: mmma art\nChange-Id: I9e18e80b3f37dd2aeb8ecd1c25abe4d5cf2f1c45\n"
    },
    {
      "commit": "6f4cf6e8fa15de2f9bf7c6a649ea7a2fabef886a",
      "tree": "088ad1c2d74fe0e6e42415e2de6e03dfd047187a",
      "parents": [
        "c1d762ae37d37765f6aaabc5bf4a429c5d0cca88"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jun 19 17:10:48 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jul 19 11:37:04 2018 -0700"
      },
      "message": "ART: Add more tidy checks to fatal list\n\nAdd performance-for-range-copy, performance-unnecessary-copy-initialization\nand performance-unnecessary-value-param to the list of build-time failures.\n\nTest: mmma art\nTest: m test-art-host\nChange-Id: Ic8b1f747499e8788f38db557ca1a6e5de7520169\n"
    },
    {
      "commit": "c1d762ae37d37765f6aaabc5bf4a429c5d0cca88",
      "tree": "ccf0b78a40c8ab070178819dd17524b99dac6743",
      "parents": [
        "59d0872519e8abd1ec17003c17b5c3780ed831df",
        "ce75049c31e7064b00104ca7f65fe12faeabc391"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 19 16:22:31 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 19 16:22:31 2018 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Handle a special case of lock aliasing during lock verification\"\"\""
    },
    {
      "commit": "c945e0d410ca8d4e9ba09272e8727a3192f1e449",
      "tree": "b010aeed33bb66bbaf9af355f21dfad2f9232dea",
      "parents": [
        "d93e374e273dd45f5d829399da1d4201bf46057e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 18 17:26:45 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 19 16:23:48 2018 +0100"
      },
      "message": "Remove ArtMethod\u0027s declaring class state checks.\n\nThis check was not very useful because the Class is already\nin a state to pass the check when we\u0027re constructing the\nArtMethod and it can never revert to an earlier state, so\nthe check is essentially a weak protection against GC bugs.\nBesides not being very useful, the check had the ability to\ninvalidate ObjPtr\u003c\u003e cookies (when called in non-runnable\nstate), making it difficult to fully ObjPtr\u003c\u003e-ify the code.\n\nAlso remove a lot of kReadBarrierOption template parameters\nwhich were needed specifically for this check. This removes\nunnecessary maintence burden as shown by past bugs dealing\nwith carefully adding those parameters where necessary.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 74373650\nBug: 31113334\nChange-Id: I87f2999fc4e7c27b5c2307139269b4b5f6649d16\n"
    },
    {
      "commit": "e01844ac1363912451bf75a9763d13150cd87b30",
      "tree": "5274f7937d657142a006460a6ef34e77e3db5131",
      "parents": [
        "79deffcd99bb3c87ea1c2c36509ef156d4010b2e"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Jul 19 14:21:44 2018 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Jul 19 16:19:54 2018 +0100"
      },
      "message": "ART: disable test 712 for interpreter+gcstress\n\nTemporary suspension of 712-varhandle-invocations for test configs\nwith interpreter and gcstress .\n\nBug: 111630237\nTest: art/test.py --host --64 --gcstress --interpreter -r -t 712\nChange-Id: Ie3111bfb130652f3ae9ae9c2760ecc3d157a33b5\n"
    },
    {
      "commit": "59d0872519e8abd1ec17003c17b5c3780ed831df",
      "tree": "718c0ff45c67d962a822527ae003eb75e720c4a4",
      "parents": [
        "79deffcd99bb3c87ea1c2c36509ef156d4010b2e",
        "8e524ad3c690c183b1a71f6114796974a107c5dd"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 19 15:18:47 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 19 15:18:47 2018 +0000"
      },
      "message": "Merge \"Always produce PIC code for AOT compilation.\""
    },
    {
      "commit": "e166facea335b9adcff7717d6d30150a41718668",
      "tree": "fee3bff71f8820141c6f58b9e733677c9c0e906e",
      "parents": [
        "6743f1ebd4a1a266896541acb5c4dde1f78e708f"
      ],
      "author": {
        "name": "Dario Freni",
        "email": "dariofreni@google.com",
        "time": "Mon Jul 16 11:08:03 2018 +0100"
      },
      "committer": {
        "name": "Dario Freni",
        "email": "dariofreni@google.com",
        "time": "Thu Jul 19 16:12:13 2018 +0100"
      },
      "message": "Add a public error code to DexFileLoader::OpenAll.\n\nSome of the APKs in the build system don\u0027t contain any dex file (e.g.\nthey are only there to test that PackageManager can install them).\nUsers of this library (e.g. veridex) can now verify the error condition\nto determine whether they should just skip the file or propagate the\nerror.\n\nTest: m test-art-host-gtest; ran veridex on an APK without classes.dex\nBug: 110073830\nBug: 78924201\nChange-Id: I65b6a5aa8abb404a77b90352dd066fb0dff36955\n"
    },
    {
      "commit": "d93e374e273dd45f5d829399da1d4201bf46057e",
      "tree": "280dc72b2aec4696bbc35ad39ca8d3479107380e",
      "parents": [
        "7f7f9d3991f3a55da8934a3b72890d4776373598"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 18 10:58:13 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 19 16:04:38 2018 +0100"
      },
      "message": "ObjPtr\u003c\u003e-ify ArtMethod and mirror::Method.\n\nAnd clean up some forgotten things after old CLs.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 31113334\nChange-Id: I8af0e845c24d674d0efab21d80c29949b1cc0593\n"
    },
    {
      "commit": "ca8de0a70eab62707f3c71a211093f340fdcd5f4",
      "tree": "a391c1307e87edad399418236a2a1842a8f06f34",
      "parents": [
        "7f7f9d3991f3a55da8934a3b72890d4776373598"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 04 11:56:08 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 19 13:42:20 2018 +0100"
      },
      "message": "Move .art.rel data to a section in .art, part 1.\n\nRefactor the code so that we can collect all relocation\noffsets while writing the image.\n\nTest: Manually verify that the aosp_taimen-userdebug boot\n      image is identical before and after this change;\n      using WIP follow-up code, check that we record the\n      same locations as the patchoat-generated .rel files.\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 77856493\nChange-Id: Id8c78e417e77e859a82a680504253f41e84560d6\n"
    },
    {
      "commit": "79deffcd99bb3c87ea1c2c36509ef156d4010b2e",
      "tree": "db3d326e3ba40af8e7fd3e3aeea5e3752b07c700",
      "parents": [
        "b7044deb699d835632504bc64e58bbb9993c986c",
        "d25eb2cf85d04ae8565dcefb347afb108268b374"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Jul 19 12:19:46 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 19 12:19:46 2018 +0000"
      },
      "message": "Merge \"Revert^5 \"Rewrite JVMTI method tracing to use trampolines\"\""
    },
    {
      "commit": "d25eb2cf85d04ae8565dcefb347afb108268b374",
      "tree": "db3d326e3ba40af8e7fd3e3aeea5e3752b07c700",
      "parents": [
        "d7da3147fea647ade418337aed6a8f9402412611"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Jul 19 12:17:04 2018 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Jul 19 12:17:04 2018 +0000"
      },
      "message": "Revert^5 \"Rewrite JVMTI method tracing to use trampolines\"\n\nThis reverts commit d7da3147fea647ade418337aed6a8f9402412611.\n\nReason for revert: Tests are still failing on the buildbot.\n\nChange-Id: Iaaac38137b1c4bed8e3a15b0c0c14730654025f6\n"
    },
    {
      "commit": "b7044deb699d835632504bc64e58bbb9993c986c",
      "tree": "74907194b84807ae327ba9aff876e1f9d4bbf7a4",
      "parents": [
        "37422455ff42e86092e196578ede0b15c75dd2b9",
        "d7da3147fea647ade418337aed6a8f9402412611"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 19 01:06:00 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 19 01:06:00 2018 +0000"
      },
      "message": "Merge \"Revert^4 \"Rewrite JVMTI method tracing to use trampolines\"\""
    },
    {
      "commit": "d7da3147fea647ade418337aed6a8f9402412611",
      "tree": "74907194b84807ae327ba9aff876e1f9d4bbf7a4",
      "parents": [
        "eee2ee8e17aa65656e9946c5beb4a0a49fee7509"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jul 18 15:39:16 2018 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jul 18 16:10:50 2018 -0700"
      },
      "message": "Revert^4 \"Rewrite JVMTI method tracing to use trampolines\"\n\nSince we are unable to change the semantics of ClassLoaded and\nClassPrepared due to b/111394423 for the moment changes were made in\nlibjdwp to remove the deadlock between the jit being stopped and\njit-threads trying to lock JVMTI monitors in libjdwp.\n\nUntil some resolution for b/111394423 is implemented agents should be\nvery careful about gaining locks in the ClassLoaded, ClassPrepared or\nVMObjectAlloc events if said lock is held over a call to\nSetEventNotificationMode, SetExtensionEventCallback,\nRetransformClasses, or RedefineClasses. These locks can only be\nsafely held if the object argument to the event is not an array-class\nobject or the thread is known not to be a jit thread.\n\nThis reverts commit bf2ca05ccf658a9f626d1cb3f1adca6087ece7b8.\n\nBug: 111394423\nTest: ./art/tools/run-libjdwp-tests.sh --mode\u003dhost --debug\n\nReason for revert: Fixed issue with libjdwp deadlocking on jit threads\n\nChange-Id: I8baeb8311f67062cbc26286eb221da34e1972f27\n"
    },
    {
      "commit": "37422455ff42e86092e196578ede0b15c75dd2b9",
      "tree": "db3d326e3ba40af8e7fd3e3aeea5e3752b07c700",
      "parents": [
        "14daacad754fbe83de98282b05379b81f3ec4036",
        "eee2ee8e17aa65656e9946c5beb4a0a49fee7509"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 18 19:50:45 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 18 19:50:45 2018 +0000"
      },
      "message": "Merge \"Add test 071-dexfile to skips for gcstress\""
    },
    {
      "commit": "eee2ee8e17aa65656e9946c5beb4a0a49fee7509",
      "tree": "db3d326e3ba40af8e7fd3e3aeea5e3752b07c700",
      "parents": [
        "14daacad754fbe83de98282b05379b81f3ec4036"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jul 18 11:00:52 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jul 18 11:02:54 2018 -0700"
      },
      "message": "Add test 071-dexfile to skips for gcstress\n\nLike some other tests it can send error messages due to the\nbacktracing being slower.\n\nTest: Treehugger\nBug: 111543628\nChange-Id: I8bece29c8c875ff578a17ab72e48baa8b232a160\n"
    },
    {
      "commit": "14daacad754fbe83de98282b05379b81f3ec4036",
      "tree": "d39faf0d64f9fd8234fdab31db58c0f36222b7f0",
      "parents": [
        "289c6c40083f16b5205138e08afe5074ad27a0ab",
        "bf2ca05ccf658a9f626d1cb3f1adca6087ece7b8"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Jul 18 13:33:44 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 18 13:33:44 2018 +0000"
      },
      "message": "Merge \"Revert^3 \"Rewrite JVMTI method tracing to use trampolines\"\""
    },
    {
      "commit": "bf2ca05ccf658a9f626d1cb3f1adca6087ece7b8",
      "tree": "8de1c48dd0a83091ffef6bf321ffc4ffc05b1147",
      "parents": [
        "460c6ce61766196fc47ec5744417254fa2d6e364"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Jul 18 13:26:11 2018 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Jul 18 13:26:11 2018 +0000"
      },
      "message": "Revert^3 \"Rewrite JVMTI method tracing to use trampolines\"\n\nThis reverts commit 460c6ce61766196fc47ec5744417254fa2d6e364.\n\nReason for revert: I believe this is breaking libjdwp jit tests.\n\nChange-Id: I51297763c1d12555b32f3d37c0ceaa3b5720fff5\nTest: ./art/tools/run-libjdwp-tests.sh --mode\u003dhost --variant\u003dX64 --debug\n"
    },
    {
      "commit": "289c6c40083f16b5205138e08afe5074ad27a0ab",
      "tree": "6e59877cca59760d447ec66694c48613a354d085",
      "parents": [
        "7f7f9d3991f3a55da8934a3b72890d4776373598",
        "eb5ff616e51b4b5129ce248703bb615a83d876b5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 18 11:35:07 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 18 11:35:07 2018 +0000"
      },
      "message": "Merge \"ahat: add support for parsing 0x0C HEAP DUMP record\""
    },
    {
      "commit": "eb5ff616e51b4b5129ce248703bb615a83d876b5",
      "tree": "6e59877cca59760d447ec66694c48613a354d085",
      "parents": [
        "7f7f9d3991f3a55da8934a3b72890d4776373598"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Jul 18 09:43:39 2018 +0100"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Jul 18 09:58:41 2018 +0100"
      },
      "message": "ahat: add support for parsing 0x0C HEAP DUMP record\n\nTest: m ahat-test\nTest: manually launch ahat on the heap dump from the bug that uses the\n      0x0C HEAP DUMP record.\nBug: 111147686\nChange-Id: Ibf779c4e066f14777c1931ae76b2b9f64dba27b9\n"
    },
    {
      "commit": "7f7f9d3991f3a55da8934a3b72890d4776373598",
      "tree": "2a024d87f6c7c061ab9ae46eaff30557d63fb8eb",
      "parents": [
        "557204ac61b5552f9dc2554cf297fe57660f0e9c",
        "2fbc04db154668f1f53da8e674a28bc326e8439a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 18 08:43:21 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 18 08:43:21 2018 +0000"
      },
      "message": "Merge \"Add --retained option to ahat\""
    },
    {
      "commit": "557204ac61b5552f9dc2554cf297fe57660f0e9c",
      "tree": "28c053988edab0debca7d4cb11809828e6a4a98f",
      "parents": [
        "1bec084ee8058b258912724aec1773ad2e04af0c",
        "23ea0245da0559ef9a3021bf1996cc0ee2dc7d07"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 18 01:19:59 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 18 01:19:59 2018 +0000"
      },
      "message": "Merge \"Add another test that the slower gcstress causes timeouts\""
    },
    {
      "commit": "23ea0245da0559ef9a3021bf1996cc0ee2dc7d07",
      "tree": "28c053988edab0debca7d4cb11809828e6a4a98f",
      "parents": [
        "1bec084ee8058b258912724aec1773ad2e04af0c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jul 17 16:22:14 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jul 17 23:30:02 2018 +0000"
      },
      "message": "Add another test that the slower gcstress causes timeouts\n\nTest 141-class-unload can also timeout due to gcstress making a\nfinalize function take longer causing a warning message to be printed.\n\nTest: Treehugger\nBug: 111543628\nChange-Id: I308cf2ff0a998ac0c0be1a63d552ebd205845dfc\n"
    },
    {
      "commit": "1bec084ee8058b258912724aec1773ad2e04af0c",
      "tree": "0d84696b7063315ba304c098a5a6ceb1086d8a4d",
      "parents": [
        "8ec1abdbcc637f60554828356fce5d7d1c3cc722",
        "460c6ce61766196fc47ec5744417254fa2d6e364"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 17 21:04:26 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 17 21:04:26 2018 +0000"
      },
      "message": "Merge changes Id83aa0d7,I91211641\n\n* changes:\n  Revert^2 \"Rewrite JVMTI method tracing to use trampolines\"\n  Allow threads to be marked as unsuspendable by kForUserCode\n"
    },
    {
      "commit": "8ec1abdbcc637f60554828356fce5d7d1c3cc722",
      "tree": "611f6684a5b7e3904ee59ca55c31ecafe0435e74",
      "parents": [
        "f03645487278d274f01d2ed963bfee63d7a16cc9",
        "764280a544babd0dd9984cb02fe068822255191d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 17 18:59:39 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 17 18:59:39 2018 +0000"
      },
      "message": "Merge \"ART: Address comment in Idaca9fe129ddc91aab79c65b3d0ca86f057848de\""
    },
    {
      "commit": "460c6ce61766196fc47ec5744417254fa2d6e364",
      "tree": "70831d1dd48b3e65e1266da179d01c7d27cc1e47",
      "parents": [
        "53570676750d74416cecdf5a8e01f3cf9a8d4169"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jul 11 16:13:24 2018 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jul 17 11:03:27 2018 -0700"
      },
      "message": "Revert^2 \"Rewrite JVMTI method tracing to use trampolines\"\n\nThis reverts commit 8772eb7ced96101e6202d8884edc84224ee1f1fd.\n\nWe had issues with trampolines confusing the libgcc _Unwind_Backtrace\nfunction and jit suspension deadlocking with user-code suspension.\n\nReason for revert: Fixed issue causing test 989 to fail in some\n                   configurations.\nTest: ./test.py --host --gcstress --cms\nTest: ./art/tools/run-libjdwp-tests.sh --mode\u003dhost\n\nChange-Id: Id83aa0d71f4523fe1b5e448d49887779f911a1a2\n"
    },
    {
      "commit": "53570676750d74416cecdf5a8e01f3cf9a8d4169",
      "tree": "8de1c48dd0a83091ffef6bf321ffc4ffc05b1147",
      "parents": [
        "b7f10d59557cb6b6cd6824f3bf4d77f961248846"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jul 12 11:09:59 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jul 17 11:03:20 2018 -0700"
      },
      "message": "Allow threads to be marked as unsuspendable by kForUserCode\n\nThere was a possible deadlock between jit-threads being suspended and\nanother thread waiting for the jit-thread to finish their work. If the\njit-thread hit a suspend-point the process would deadlock. This fixes\nthis by allowing threads to be marked as unsuspendable by user-code.\nThis prevents the issue by marking jit and gc threads as unsuspendable\nby user code. Agents attempting to suspend them using JVMTI will\nsucceed (and see the thread as suspended) but internal runtime methods\nwill not see the thread as suspended and the thread will not be\nprevented from moving into the kRunnable state. A thread that is\nunsuspendable trying to suspend itself using JVMTI will get\nERR(INTERNAL) and a log message.\n\nDoing this requires that we rewrite the JVMTI thread suspension code\nsomewhat so it will now perform an unconditional kInternal suspension\nprior to trying to suspend the thread kForUserCode. The kInternal\nsuspension is then lifted. This ensures that everything is done\natomically even if the kForUserCode won\u0027t stop the thread.\n\nTest: ./test.py --host\nTest: ./art/tools/run-libjdwp-tests.sh --mode\u003dhost\nTest: ./art/tools/run-libjdwp-tests.sh \\\n        --mode\u003dhost                    \\\n        --variant\u003dx64                  \\\n        --test org.apache.harmony.jpda.tests.jdwp.EventModifiers.InstanceOnlyModifierTest\n\nBug: 70838465\nBug: 111348762\n\nChange-Id: I91211641b82416664bf5abd8546efebf4f672f12\n"
    },
    {
      "commit": "f03645487278d274f01d2ed963bfee63d7a16cc9",
      "tree": "65590fc3261c8402f0eda191d70b8127c81e7595",
      "parents": [
        "663078ec903a079d43521be0dfd5c5c8e64ff6d2",
        "b7f10d59557cb6b6cd6824f3bf4d77f961248846"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 17 18:02:39 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 17 18:02:39 2018 +0000"
      },
      "message": "Merge \"Add some tests to gcstress knownfailures\""
    },
    {
      "commit": "663078ec903a079d43521be0dfd5c5c8e64ff6d2",
      "tree": "2bfa0cd4592a6e9bbaa2e301bdff71137dc51f53",
      "parents": [
        "6743f1ebd4a1a266896541acb5c4dde1f78e708f",
        "8a0ede9be3a763e12557eead5c8312769687a9de"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jul 17 17:20:00 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 17 17:20:00 2018 +0000"
      },
      "message": "Merge \"Add analysis for move-result target\""
    },
    {
      "commit": "764280a544babd0dd9984cb02fe068822255191d",
      "tree": "bc6c323fb03dc0229a34fca6ac6914618d6efae3",
      "parents": [
        "6743f1ebd4a1a266896541acb5c4dde1f78e708f"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 17 10:17:22 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 17 10:17:22 2018 -0700"
      },
      "message": "ART: Address comment in Idaca9fe129ddc91aab79c65b3d0ca86f057848de\n\nAddress a late comment.\n\nTest: m test-art-host\nChange-Id: I34583fcafb3158609d1d126689aa7710c5dd693f\n"
    },
    {
      "commit": "b7f10d59557cb6b6cd6824f3bf4d77f961248846",
      "tree": "6508f9c4d8fe8f16c40fdc177ecb59425feb2c82",
      "parents": [
        "543d8450658a2a246d8841a13c006bd38cb9de8b"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jul 17 08:55:23 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jul 17 09:00:08 2018 -0700"
      },
      "message": "Add some tests to gcstress knownfailures\n\nSeveral tests were broken under gcstress by the new libbacktrace based\ngcstress.\n\nThe tests are:\n  * 151-OpenFileLimit, the new gcstress needs to be able to open\n    /proc/self/maps to function.\n  * 530-checker-lse2, The test times out due to the 30% slowdown.\n  * 712-varhandle-invocations \u0026 624-checker-stringops, The new\n    gcstress with its more accurate thread walking seems to expose\n    gc-bugs through these tests. See b/111545159.\n\nBug: 111544552\nBug: 111543628\nBug: 111545159\nTest: ./test/testrunner/testrunner.py --host --gcstress\nChange-Id: I08d93e2c794c2b91aa5c0ed1c503846f17657231\n"
    },
    {
      "commit": "2fbc04db154668f1f53da8e674a28bc326e8439a",
      "tree": "e86a243f4fdecaccc83aa208ab2d6e160985e278",
      "parents": [
        "6743f1ebd4a1a266896541acb5c4dde1f78e708f"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon Jul 02 11:52:33 2018 +0100"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Jul 17 16:28:28 2018 +0100"
      },
      "message": "Add --retained option to ahat\n\nWhich allows you to override what kind of references ahat considers to\nretain an object.\n\nBug: 79131879\nTest: m ahat-test, with new tests added.\n\nChange-Id: I9bc2ed1aa0d0da27dd0a8a3b6456808c973fcdf9\n"
    },
    {
      "commit": "6743f1ebd4a1a266896541acb5c4dde1f78e708f",
      "tree": "601145e0edb4d7ed9f0734542a6e0253daeb8154",
      "parents": [
        "9be57cee9820a403244be48242b385270b9a81c4",
        "543d8450658a2a246d8841a13c006bd38cb9de8b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 17 02:36:32 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 17 02:36:32 2018 +0000"
      },
      "message": "Merge changes I668f5351,I40fa767b\n\n* changes:\n  Revert^2 \"Move GCStress BacktraceHelper to libbacktrace\"\n  Rewrite thread CustomTLS to support keyed TLS entries\n"
    },
    {
      "commit": "9be57cee9820a403244be48242b385270b9a81c4",
      "tree": "b28d40769e7c73dba26ee94a58cba2992e776f7c",
      "parents": [
        "33602449cf4e315330a460d8dbccdbda6bdef7da",
        "3cfc2e7ad90f117bc1d1ccdc61404dcca320de58"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 17 02:27:11 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 17 02:27:11 2018 +0000"
      },
      "message": "Merge \"ART: Fix space trimming in oatdump_test\""
    },
    {
      "commit": "8a0ede9be3a763e12557eead5c8312769687a9de",
      "tree": "66c0a7ccfbe9122c7183bf5ed3786387ad62d170",
      "parents": [
        "33602449cf4e315330a460d8dbccdbda6bdef7da"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 12 10:24:04 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jul 16 18:25:55 2018 -0700"
      },
      "message": "Add analysis for move-result target\n\nAdded analysis for target of move-result. Removed useless counters.\n\nAdded verbosity options to reduce spam:\n-0: Print only summary\n-1: Print summary and distribution\n-2: Print all the things\n\nTest: test-art-host\nBug: 77721545\n\nChange-Id: Ib002754d4f50fdf4a3d2e57c83d565dc8d64a054\n"
    },
    {
      "commit": "543d8450658a2a246d8841a13c006bd38cb9de8b",
      "tree": "205c8ea88b5ff996657f03ad9abf5c47d0ab54ab",
      "parents": [
        "184f0759ef700b1412c7df412c4ebb297427d9fc"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jul 13 16:25:58 2018 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jul 16 16:20:07 2018 -0700"
      },
      "message": "Revert^2 \"Move GCStress BacktraceHelper to libbacktrace\"\n\nBy changing to keeping the BacktraceMap in each threads TLS we avoid\nhaving to recreate it each time we do an allocation in GCStress. This\nmakes running in gcstress significantly faster than it was in the\ninitial version of this CL.\n\nFor test 001-HelloWorld, this has an ~30% measured time cost as\ncompared to libgcc (from 9.063s to 12.262s). On the other hand it\nseems better at actually differentiating distinct stack traces. Total\ntime spent doing gcs is about doubled (from 4107.91ms to 7036.97ms).\nTotal number of gcs is about doubled (from 175 to 320).\n\nThis reverts commit 7d3256a376709145d6c402a13b1977350816aec2.\n\nReason for revert: Fixed issue causing gcstress to take too long.\n\nTest: ./test/testrunner/testrunner.py --host --gcstress --jit --64 -t 989\nTest: ./test/testrunner/testrunner.py --host --gcstress\n\nChange-Id: I668f53513d8495d4a4c7aa540137676118903f8a\n"
    },
    {
      "commit": "184f0759ef700b1412c7df412c4ebb297427d9fc",
      "tree": "beef751010816fbbee70494422fd48d46559a4ac",
      "parents": [
        "ec1f1a91328f44d93cfc16e39160dbdfce2f7b9a"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jul 13 11:18:22 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jul 16 16:20:01 2018 -0700"
      },
      "message": "Rewrite thread CustomTLS to support keyed TLS entries\n\nOur Thread struct allowed plugins or other parts of the runtime to use\na single custom_tls_ void* pointer to store additional data in the\nThread struct. Unfortunately it was limited to a single value. This CL\nchanges the API to allow one to pass in a const char* key that is used\nto address the TLS data. This lets multiple plugins or parts of the\nruntime set their own independent TLS entries. This also adds support\nfor TLS entries actually being deallocated automatically.\n\nTest: ./test.py --host\nChange-Id: I40fa767b9c61a755b2ed910e4ad1e6327705e941\n"
    },
    {
      "commit": "3cfc2e7ad90f117bc1d1ccdc61404dcca320de58",
      "tree": "b28d40769e7c73dba26ee94a58cba2992e776f7c",
      "parents": [
        "33602449cf4e315330a460d8dbccdbda6bdef7da"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 16 14:10:14 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 16 14:10:14 2018 -0700"
      },
      "message": "ART: Fix space trimming in oatdump_test\n\nCorrectly trim the beginning of a fresh line.\n\nTest: m test-art-host\nChange-Id: Idaca9fe129ddc91aab79c65b3d0ca86f057848de\n"
    },
    {
      "commit": "33602449cf4e315330a460d8dbccdbda6bdef7da",
      "tree": "96fe782c8eeecb0278e23c8d1d86267d1b320598",
      "parents": [
        "728ca71cc4530bd1e41f2b36347968d8658eabca",
        "18ba1dacaaf426cbeb3c0aff6db9c58a752f9a96"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 16 17:46:38 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 16 17:46:38 2018 +0000"
      },
      "message": "Merge \"ART: Implement loop full unrolling.\""
    },
    {
      "commit": "728ca71cc4530bd1e41f2b36347968d8658eabca",
      "tree": "07dc863ded2ab0c0f42b063aa19d148a03a56940",
      "parents": [
        "eb577ebe86a7d13a6ab18f7975a55a8b592f0e4c",
        "8abeb067cd6caabc47a71029c814d6e29bcf90f3"
      ],
      "author": {
        "name": "Mads Ager",
        "email": "ager@google.com",
        "time": "Mon Jul 16 16:25:28 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 16 16:25:28 2018 +0000"
      },
      "message": "Merge \"Update test expectations for 911-get-stack-trace.\""
    },
    {
      "commit": "eb577ebe86a7d13a6ab18f7975a55a8b592f0e4c",
      "tree": "5fe593b0006e3ab2db9292f10bfa08af2cc6689b",
      "parents": [
        "06a45b7588830c04dec723beee365a2e4c1c52f2",
        "38aa0b53545a647581411b7e84cd229c5023a3c1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 16 15:54:50 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 16 15:54:50 2018 +0000"
      },
      "message": "Merge \"ART: Clean up test exec code\""
    },
    {
      "commit": "8abeb067cd6caabc47a71029c814d6e29bcf90f3",
      "tree": "5dba6444476a0a432d2e39d924b0b4282df13678",
      "parents": [
        "06a45b7588830c04dec723beee365a2e4c1c52f2"
      ],
      "author": {
        "name": "Mads Ager",
        "email": "ager@google.com",
        "time": "Mon Jul 16 15:42:18 2018 +0200"
      },
      "committer": {
        "name": "Mads Ager",
        "email": "ager@google.com",
        "time": "Mon Jul 16 16:06:56 2018 +0200"
      },
      "message": "Update test expectations for 911-get-stack-trace.\n\nD8 version 1.3.8-dev has become less aggressive in applying\nredundant field load elimination. Therefore, there is a load\nthat is no longer eliminated which changes the offsets.\n\nWhen we added the more aggressive field load elimination\nwe did the reverse change here:\n\nhttps://android-review.googlesource.com/c/platform/art/+/707549\n\nThis is going back to what it was before.\n\nTest: art/test/testrunner/testrunner.py -b --host -t 911-get-stack-trace\nChange-Id: I80194d605ce85705562e7d3e2642d04ec90575dc\n"
    },
    {
      "commit": "06a45b7588830c04dec723beee365a2e4c1c52f2",
      "tree": "a9a6a7b15e21e2c585691a2f21be823ea0c8df1b",
      "parents": [
        "ebe60376cd86a5db8c69938911cc2a59547e558e",
        "e824a3082c3ba19fccf7e91bed3765638301b533"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 16 12:32:38 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 16 12:32:38 2018 +0000"
      },
      "message": "Merge \"ahat: switch to using new dominators API\""
    },
    {
      "commit": "ebe60376cd86a5db8c69938911cc2a59547e558e",
      "tree": "7b7261a30debab68fefa23a1219acf295428c06b",
      "parents": [
        "f1255887da17bfb86da8a958678bae7422cc00ab",
        "f58dc65c52f5e3f15eaaa1e25d7259e64649ade3"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 16 11:05:59 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 16 11:05:59 2018 +0000"
      },
      "message": "Merge \"ART: Delete code optimizing a%1 and a%-1 from InstructionCodeGeneratorARM64\""
    },
    {
      "commit": "e824a3082c3ba19fccf7e91bed3765638301b533",
      "tree": "5ecc200d8ce883e52ca4e06d110ad276f28b8ce9",
      "parents": [
        "f1255887da17bfb86da8a958678bae7422cc00ab"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon Jul 09 10:26:15 2018 +0100"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon Jul 16 11:01:27 2018 +0100"
      },
      "message": "ahat: switch to using new dominators API\n\nBug: 79131879\nTest: m ahat-test\n\nChange-Id: I40086393b1c57d59e5bfdc7c089372bce42779be\n"
    },
    {
      "commit": "8e524ad3c690c183b1a71f6114796974a107c5dd",
      "tree": "6ee124814e8f33fd4706eb15fcad2cae0019546b",
      "parents": [
        "5991b184a40e4ce181d67d683ced46caa6143b53"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jul 13 10:27:43 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 16 10:12:51 2018 +0100"
      },
      "message": "Always produce PIC code for AOT compilation.\n\nChange sharpening to use PIC load kinds for AOT compilation\nand add \"Jit\" to the direct addressing load kind names. Use\nPIC code also for the Integer.valueOf() intrinsic codegen.\nRemove all support for non-PIC linker patches.\n\nThe dex2oat --compile-pic option is retained for now but\nignored by the compiler.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Pixel 2 XL boots.\nTest: testrunner.py --target --optimizing\nBug: 77856493\nChange-Id: I54d666f6522f160a1b6ece4045a15d19363acbb6\n"
    },
    {
      "commit": "f1255887da17bfb86da8a958678bae7422cc00ab",
      "tree": "53c516714936be6088004fc8b6636f2a71dec292",
      "parents": [
        "2449d6d006dcb685d3b386edcf624e67ef37e12c",
        "5618f06204ce37f7738d346f70b5b97b327afd49"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 16 08:57:52 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 16 08:57:52 2018 +0000"
      },
      "message": "Merge \"Add a more flexible Dominators API.\""
    },
    {
      "commit": "2449d6d006dcb685d3b386edcf624e67ef37e12c",
      "tree": "044e224023c972e02340927acc3e5b9e518adbc8",
      "parents": [
        "e24c69db699cf92b9ee4182442be3066ce1be762",
        "2c76257e4bfcd6f522b0cd3487ba7d9900043243"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sun Jul 15 04:46:32 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sun Jul 15 04:46:32 2018 +0000"
      },
      "message": "Merge \"Remove unused InvokeInfo from stack maps and the runtime.\""
    },
    {
      "commit": "e24c69db699cf92b9ee4182442be3066ce1be762",
      "tree": "4edc7e4811cc570cf29ac0ec47b04cfd2b5383f1",
      "parents": [
        "cdfc942e60032622b5a4379d0dd5ca914ba6393a",
        "9434487f640d4a4c247e916e30137b9359f50eed"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Sat Jul 14 20:24:49 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jul 14 20:24:49 2018 +0000"
      },
      "message": "Merge \"Expand comment for HVecMultiplyAccumulate\""
    },
    {
      "commit": "38aa0b53545a647581411b7e84cd229c5023a3c1",
      "tree": "56da09c99085e6767b9a84038e9661f057092075",
      "parents": [
        "cdfc942e60032622b5a4379d0dd5ca914ba6393a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 10 23:26:55 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jul 13 15:51:36 2018 -0700"
      },
      "message": "ART: Clean up test exec code\n\nAdd a helper for fork+exec of another program and collection of\nthat process\u0027 output. Use the helper in other code.\n\nClean up some tests. Move away from global #ifdef ARCH and\ndisable tests with the usual-style macros so that it\u0027s easier\nto see refactoring issues immediately.\n\nTest: mmma\nTest: m test-art-host\nChange-Id: Ic450e8a3bb24fc6fe423c0e1e007eb0bb34e22b4\n"
    },
    {
      "commit": "9434487f640d4a4c247e916e30137b9359f50eed",
      "tree": "4edc7e4811cc570cf29ac0ec47b04cfd2b5383f1",
      "parents": [
        "cdfc942e60032622b5a4379d0dd5ca914ba6393a"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Jul 13 09:57:50 2018 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Jul 13 13:10:40 2018 -0700"
      },
      "message": "Expand comment for HVecMultiplyAccumulate\n\nState explicitly that fused multiply-add may not be used, since this\nwas a source of prior confusion. Add a DCHECK to draw developers\nattention to this, if they try to add a floating point multiply-add.\n\nSee https://android-review.googlesource.com/c/platform/art/+/716505 .\n\nTest: Treehugger\nChange-Id: I1331be120a0a54baeb4da92e9211407b08892e98\n"
    },
    {
      "commit": "cdfc942e60032622b5a4379d0dd5ca914ba6393a",
      "tree": "823e767f6eba6fb2831f69753936bc0c35eea84e",
      "parents": [
        "ec1f1a91328f44d93cfc16e39160dbdfce2f7b9a",
        "f5f56c791c5853f43a2a9781c98d5776c7dd5a59"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Jul 13 16:35:30 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 13 16:35:30 2018 +0000"
      },
      "message": "Merge \"Revert \"Emit vector mulitply and accumulate instructions for x86.\"\""
    },
    {
      "commit": "ec1f1a91328f44d93cfc16e39160dbdfce2f7b9a",
      "tree": "e553db8b22519b7e19877caf45701058f2e24799",
      "parents": [
        "e8c91f2d97101a967ce45d7cbb3d7606bfb4862e",
        "7d3256a376709145d6c402a13b1977350816aec2"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jul 13 16:25:18 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 13 16:25:18 2018 +0000"
      },
      "message": "Merge \"Revert \"Move GCStress BacktraceHelper to libbacktrace\"\""
    },
    {
      "commit": "7d3256a376709145d6c402a13b1977350816aec2",
      "tree": "1ec755d20b31dbe4c57a4e29afcd468eb3751568",
      "parents": [
        "9491694c36f673149c4eed6918d4a58c328ef103"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jul 13 16:23:56 2018 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jul 13 16:23:56 2018 +0000"
      },
      "message": "Revert \"Move GCStress BacktraceHelper to libbacktrace\"\n\nThis reverts commit 9491694c36f673149c4eed6918d4a58c328ef103.\n\nReason for revert: Makes gcstress configs take too long to finish\n\nChange-Id: I2eb03f25d33e9de1d86ca9db74e615fbfc09d51e\nTest: None.\n"
    },
    {
      "commit": "e8c91f2d97101a967ce45d7cbb3d7606bfb4862e",
      "tree": "74f768917a7ce6ce33dc9a17012f982776345be0",
      "parents": [
        "0b4a439f808f4602c7b97364e49c5546f5100d51",
        "eb53697dc30111ddef7f6298566600f4e2fe3bf0"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 13 16:09:44 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 13 16:09:44 2018 +0000"
      },
      "message": "Merge \"Add instances to sites after removing duplicate ids.\""
    },
    {
      "commit": "2c76257e4bfcd6f522b0cd3487ba7d9900043243",
      "tree": "ab1098cffcb3e13087e770d26fef9f4d6f06a550",
      "parents": [
        "0b4a439f808f4602c7b97364e49c5546f5100d51"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Jun 27 10:09:11 2018 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Jul 13 16:32:11 2018 +0100"
      },
      "message": "Remove unused InvokeInfo from stack maps and the runtime.\n\nTest: test-art-host-gtest\nChange-Id: I5ce28973042f9241e72ceb52fc5db472ca571563\n"
    },
    {
      "commit": "f58dc65c52f5e3f15eaaa1e25d7259e64649ade3",
      "tree": "4485299d9959a658909879b5a234fd807d7627ff",
      "parents": [
        "0b4a439f808f4602c7b97364e49c5546f5100d51"
      ],
      "author": {
        "name": "Evgeny Astigeevich",
        "email": "evgeny.astigeevich@linaro.org",
        "time": "Mon Jun 25 17:54:07 2018 +0100"
      },
      "committer": {
        "name": "Evgeny Astigeevich",
        "email": "evgeny.astigeevich@linaro.org",
        "time": "Fri Jul 13 16:30:32 2018 +0100"
      },
      "message": "ART: Delete code optimizing a%1 and a%-1 from InstructionCodeGeneratorARM64\n\nIn InstructionWithAbsorbingInputSimplifier there is code optimizing a%1\nand a%-1. So the code in InstructionCodeGeneratorARM64 optimizing such\ncases can be deleted.\n\nThis patch deletes the code from InstructionCodeGeneratorARM64 and adds\nadditional tests.\n\nTest: 012-math, 014-math3, 411-optimizing-arith, 411-checker-hdiv-hrem-pow2\nTest: 701-easy-div-rem, 442-checker-constant-folding\nTest: test-art-host, test-art-target\nChange-Id: Ib80c0aa4c3e28b07fa79bb43783274c9d7fc456a\n"
    },
    {
      "commit": "0b4a439f808f4602c7b97364e49c5546f5100d51",
      "tree": "f731e113410b484beffd1faf3b0e2460ad5d4346",
      "parents": [
        "0495fb053094181de232e3fa390806a9110ba208",
        "79aa6242ba17a4aac20cc79179e094d9748b7c0c"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Jul 13 15:02:20 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 13 15:02:20 2018 +0000"
      },
      "message": "Merge \"Revert^2 \"Use frame info from CodeInfo.\"\""
    },
    {
      "commit": "ce75049c31e7064b00104ca7f65fe12faeabc391",
      "tree": "6f7bb5977a99db0d89c74238576956f0aa1d4dad",
      "parents": [
        "0495fb053094181de232e3fa390806a9110ba208"
      ],
      "author": {
        "name": "Alexey Grebenkin",
        "email": "a.grebenkin@samsung.com",
        "time": "Thu May 31 23:42:20 2018 +0300"
      },
      "committer": {
        "name": "Alexey Grebenkin",
        "email": "a.grebenkin@samsung.com",
        "time": "Fri Jul 13 17:07:25 2018 +0300"
      },
      "message": "Revert \"Revert \"Handle a special case of lock aliasing during lock verification\"\"\n\nThis reverts commit 753a055b5398fcf00d2633565452679c8fb93e9d.\n\nReason for revert: Fixed failing tests\n\nTest: m test-art-host\n\nChange-Id: I4a8be656288199108c05c9d302393e1efa41a7a4\n"
    },
    {
      "commit": "5618f06204ce37f7738d346f70b5b97b327afd49",
      "tree": "ae7447a2225c94f9fa89ee9a7b3d4c61e9688996",
      "parents": [
        "cd15294af8ea5a7973ec6461733259882a124d17"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Jul 03 11:37:06 2018 +0100"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Fri Jul 13 14:01:16 2018 +0100"
      },
      "message": "Add a more flexible Dominators API.\n\nAdds a new API for accessing the DominatorsComputation that makes it\neasier to pass global state through the computation.\n\nBug: 79131879\nTest: m ahat-test, with tests for new API added.\n\nChange-Id: Id81a192abd1087773837714ccf2a7b3577a32992\n"
    },
    {
      "commit": "f5f56c791c5853f43a2a9781c98d5776c7dd5a59",
      "tree": "ed8270e3a5d0161ebe5bec0606a24cd5e3123e59",
      "parents": [
        "61908880e6565acfadbafe93fa64de000014f1a6"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Jul 13 00:05:27 2018 +0000"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Jul 13 00:05:27 2018 +0000"
      },
      "message": "Revert \"Emit vector mulitply and accumulate instructions for x86.\"\n\nThis reverts commit 61908880e6565acfadbafe93fa64de000014f1a6.\n\nReason for revert: By failing to round multiply results, it does not follow Java rounding rules.\n\nChange-Id: Ic0ef08691bef266c9f8d91973e596e09ff3307c6\n"
    },
    {
      "commit": "0495fb053094181de232e3fa390806a9110ba208",
      "tree": "55621f4928e7921d72fae98563e426083b2c6761",
      "parents": [
        "253a37bd15c48a3c374312873066bc83a8f7f3aa",
        "9491694c36f673149c4eed6918d4a58c328ef103"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 12 23:58:32 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 12 23:58:32 2018 +0000"
      },
      "message": "Merge \"Move GCStress BacktraceHelper to libbacktrace\""
    },
    {
      "commit": "253a37bd15c48a3c374312873066bc83a8f7f3aa",
      "tree": "bae027039db39f17dc44779c6cd54920be1b7f77",
      "parents": [
        "5991b184a40e4ce181d67d683ced46caa6143b53",
        "225ed1dd42d008bdb189da92e185906d08b2ff2f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 12 21:39:37 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 12 21:39:37 2018 +0000"
      },
      "message": "Merge \"Everyone -- even \"NDK\" users -- gets C++14 by default now.\""
    },
    {
      "commit": "9491694c36f673149c4eed6918d4a58c328ef103",
      "tree": "34abab8951f980ac9d955101fa8635fa34ecc033",
      "parents": [
        "dca6840055c5255ad05f7516b0227e44ef6310a2"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jul 11 15:32:33 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jul 12 13:45:19 2018 -0700"
      },
      "message": "Move GCStress BacktraceHelper to libbacktrace\n\nOn host x86_64-linux the libgcc based BacktraceHelper could get\nconfused by our trampoline instrumentation. This replaces it with the\nlibbacktrace based stack walker that we use elsewhere in the runtime.\nThis has the advantage of being generally supported better.\n\nFor test 001-HelloWorld, this has an ~300% measured time cost as\ncompared to libgcc (from 9.063s to 28.587s). On the other hand it\nseems better at actually differentiating distinct stack traces. Total\ntime spent doing gcs is about doubled (from 4107.91ms to 7036.97ms).\nTotal number of gcs is about doubled (from 175 to 320).\n\nTest: ./test/testrunner/testrunner.py --host --gcstress --jit --64 -t 989\nTest: ./test/testrunner/testrunner.py --host --gcstress\n\nChange-Id: I745acb0ae92f312f86c3d31d81cfd179dbf9ae7e\n"
    },
    {
      "commit": "225ed1dd42d008bdb189da92e185906d08b2ff2f",
      "tree": "c3fb25ce505581e5c6cc2bb78dbbdba826db9cfd",
      "parents": [
        "e83d3416e09e6454af38c250a4fda81537d8da9f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 12 10:33:02 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 12 10:33:02 2018 -0700"
      },
      "message": "Everyone -- even \"NDK\" users -- gets C++14 by default now.\n\nBug: http://b/32019064\nTest: builds\nChange-Id: I87b169661620c4fd788eea7670060f5e3020e453\n"
    },
    {
      "commit": "79aa6242ba17a4aac20cc79179e094d9748b7c0c",
      "tree": "7b13a14f0ce6d6ca11de3957664c2a44c359e8a2",
      "parents": [
        "cba94faf17f9446f57e1ad2848703944970e51da"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Jul 12 13:28:42 2018 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Jul 12 13:28:42 2018 +0000"
      },
      "message": "Revert^2 \"Use frame info from CodeInfo.\"\n\nThis reverts commit cba94faf17f9446f57e1ad2848703944970e51da.\n\nChange-Id: I15eae55987a8c56400282da08b4ad282dddc8af9\n"
    },
    {
      "commit": "5991b184a40e4ce181d67d683ced46caa6143b53",
      "tree": "51a99ee1a7740a376fccf43d683a66069d316793",
      "parents": [
        "bbd2cc2e23691515def685fc3dcea6cd792a2f4e",
        "da821c9046ded3050cd322b515bc9687af0cfd7f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 12 12:14:23 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 12 12:14:23 2018 +0000"
      },
      "message": "Merge \"hiddenapi: Fix map insertion bug\""
    },
    {
      "commit": "bbd2cc2e23691515def685fc3dcea6cd792a2f4e",
      "tree": "45d84f370b70b9aaee23aaa514dd3073d78893ba",
      "parents": [
        "c06bfc9b18e6421ac60e7b27f8f1e90b45772f52",
        "51b8aafd3beb8855a258383a9eb876a783375629"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 12 10:43:28 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 12 10:43:28 2018 +0000"
      },
      "message": "Merge \"Fix HClinitCheck elimination in instruction builder.\""
    },
    {
      "commit": "da821c9046ded3050cd322b515bc9687af0cfd7f",
      "tree": "a524e9032b385179352477ea138553dfb382529a",
      "parents": [
        "c06bfc9b18e6421ac60e7b27f8f1e90b45772f52"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Jul 12 11:13:15 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Jul 12 11:13:15 2018 +0100"
      },
      "message": "hiddenapi: Fix map insertion bug\n\n`hiddenapi` would use std::map::insert to overwrite an entry, which\nis wrong and will not overwrite the entry. This caused all entries\nto be classified as private. Fix the bug.\n\nBug: 79409988\nTest: m appcompat, check hiddenapi-public-list.txt not empty\nChange-Id: Ie1c1fad2dfff9ff0332b5196d605d512d6dedc15\n"
    },
    {
      "commit": "51b8aafd3beb8855a258383a9eb876a783375629",
      "tree": "002f77eb0308dbb11b6e5e5a88ce4bc19c6ff836",
      "parents": [
        "e824cfdcfd41d400237a806ff93caca7f2e51878"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jun 09 15:17:05 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 12 09:23:17 2018 +0100"
      },
      "message": "Fix HClinitCheck elimination in instruction builder.\n\nTo handle escaping instances of erroneous classes correctly,\nwe can omit the HClinitCheck only when using a class in the\nstatic method of the very same class. Even for superclasses\nwe need to do the check. The new test exposes the cases\nwhere we were previously diverging from the RI.\n\nAlso clean up the CompilerDriver by inlining one function\ndirectly to the HInstructionBuild::IsInitialized(.) and\nremoving some related functions that are no longer used.\n\nThe size of the aosp_taimen-userdebug prebuilts:\n  - before:\n    arm/boot*.oat: 16891788\n    arm64/boot*.oat: 19815520\n    oat/arm64/services.odex: 20071624\n  - after:\n    arm/boot*.oat: 16949532 (+56.4KiB, +0.34%)\n    arm64/boot*.oat: 19889752 (+72.5KiB, +0.37%)\n    oat/arm64/services.odex: 20224328 (+149.1KiB, +0.76%)\nwith minor changes to other app prebuilts.\n\nNote: Some of that could be reclaimed by reinstating the old\noptimization for classes where no bytecode can be executed\nduring initialization (no \u003cclinit\u003e to execute in that class\nor superclasses).\n\nTest: 174-escaping-instance-of-bad-class\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: testrunner.py --jvm -t 174\nTest: Pixel 2 XL boots.\nTest: testrunner.py --target --optimizing\nBug: 62478025\nChange-Id: I41f026ea7fecc615c06e87f3b6cb847de0ede8a6\n"
    },
    {
      "commit": "c06bfc9b18e6421ac60e7b27f8f1e90b45772f52",
      "tree": "8cafb5eaade611175f51b60a09c1d72ed3197760",
      "parents": [
        "eaaa92b75508902b4cbce2ca7f0a5c0f290ba0f3",
        "11bf2652b4d5c006f02b4241c0764e5465393980"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 11 21:13:13 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 11 21:13:13 2018 +0000"
      },
      "message": "Merge \"ART: Clean up dex2oats/oatdumps Android.bp modules\""
    },
    {
      "commit": "eaaa92b75508902b4cbce2ca7f0a5c0f290ba0f3",
      "tree": "eeac795fac2d138dd88d923a22337bc8cbcaac63",
      "parents": [
        "dca6840055c5255ad05f7516b0227e44ef6310a2",
        "fbc80036e833891b91706bbd9f5c7adb40f97582"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jul 11 21:01:02 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 11 21:01:02 2018 +0000"
      },
      "message": "Merge \"Refactor InstructionBuilder into NewRegisterInstructions experiment\""
    },
    {
      "commit": "fbc80036e833891b91706bbd9f5c7adb40f97582",
      "tree": "bfea252bc25bc4ff78fb78d2499b6816f0c41a3a",
      "parents": [
        "f3c3e83d3a98bd3ca388fca32f1c277a7945e1e3"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jul 11 11:20:08 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jul 11 11:20:20 2018 -0700"
      },
      "message": "Refactor InstructionBuilder into NewRegisterInstructions experiment\n\nReduces the amount of boiler plate code.\n\nBug: 77721545\nTest: test-art-host\n\nChange-Id: Ib5baf7768ba5f8e6aa6c8644b5aabbd35e834df5\n"
    },
    {
      "commit": "dca6840055c5255ad05f7516b0227e44ef6310a2",
      "tree": "1ec755d20b31dbe4c57a4e29afcd468eb3751568",
      "parents": [
        "f3c3e83d3a98bd3ca388fca32f1c277a7945e1e3",
        "8772eb7ced96101e6202d8884edc84224ee1f1fd"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jul 11 16:11:29 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 11 16:11:29 2018 +0000"
      },
      "message": "Merge \"Revert \"Rewrite JVMTI method tracing to use trampolines\"\""
    },
    {
      "commit": "8772eb7ced96101e6202d8884edc84224ee1f1fd",
      "tree": "24df91603efe9ce8c4a2efd09ac402aceb10df4e",
      "parents": [
        "25bf44622d6359c1d49c2a8a8b45938ff099f811"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jul 11 16:10:48 2018 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jul 11 16:10:48 2018 +0000"
      },
      "message": "Revert \"Rewrite JVMTI method tracing to use trampolines\"\n\nThis reverts commit 25bf44622d6359c1d49c2a8a8b45938ff099f811.\n\nReason for revert: Seems to break jit-gcstress test 989\n\nChange-Id: Ia59833a2b80c6ab5a67483bf076bf08ba6769a40\nTest: None\n"
    },
    {
      "commit": "eb53697dc30111ddef7f6298566600f4e2fe3bf0",
      "tree": "4fbdc547d43583617f193005c4e2211bc159629d",
      "parents": [
        "cd15294af8ea5a7973ec6461733259882a124d17"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Jul 11 17:00:22 2018 +0100"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Jul 11 17:04:18 2018 +0100"
      },
      "message": "Add instances to sites after removing duplicate ids.\n\nWait until we\u0027ve had a chance to remove instances with duplicate ids\nbefore adding instances to their corresponding allocation site.\n\nReuses the existing iteration over instances that was previously used\nfor updating registered native sizes and moves that after the\nreachability computation in preparation for some anticipated future\nchanges.\n\nBug: 110447634\nTest: m ahat-test\nTest: run ahat on the heap dump from the bug and confirm no duplicate\n      instances show up in the list of byte[] instances.\n\nChange-Id: Ie8651d26724148501a7534c9600885002627cd19\n"
    },
    {
      "commit": "f3c3e83d3a98bd3ca388fca32f1c277a7945e1e3",
      "tree": "1a1b796660afb307ecf68af527e9f9586e7331bd",
      "parents": [
        "cd15294af8ea5a7973ec6461733259882a124d17",
        "b957c8918c4680897f2dec719ad6398bfbeb59d6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 11 11:52:55 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 11 11:52:55 2018 +0000"
      },
      "message": "Merge \"Support heap dumps generated with HotSpotDiagnosticMXBean\""
    },
    {
      "commit": "b957c8918c4680897f2dec719ad6398bfbeb59d6",
      "tree": "1a1b796660afb307ecf68af527e9f9586e7331bd",
      "parents": [
        "cd15294af8ea5a7973ec6461733259882a124d17"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Fri Jul 06 10:20:37 2018 +0100"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Jul 11 10:40:01 2018 +0100"
      },
      "message": "Support heap dumps generated with HotSpotDiagnosticMXBean\n\nChanges required:\n* Add support for heap dumps with id size 8\n* Be tolerant of the use of undefined string id 0\n* Normalize class names such as \"[Ljava/lang/Class\" to \"java.lang.Class[]\"\n\nAlso:\n* Add a python script to dump a binary heap dump to text, which has been\n  historically useful for diagnosing issues like this one.\n\nBug: 111147686\nTest: m ahat-tests, with new test added.\n\nChange-Id: I3cb931fbf7614986b3381f57dcc8069f68740cf1\n"
    },
    {
      "commit": "cd15294af8ea5a7973ec6461733259882a124d17",
      "tree": "2e3a4857d787dc06981da3fd6c1f74dc1338eb9f",
      "parents": [
        "3e2fad1fba7b89faa675c21676a84c487e03c23e",
        "f66c02b9852bc22bf74ba13b34e86f1863b92964"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 11 09:29:24 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 11 09:29:24 2018 +0000"
      },
      "message": "Merge \"ahat: ignore duplicate instances with the same id\""
    },
    {
      "commit": "3e2fad1fba7b89faa675c21676a84c487e03c23e",
      "tree": "abdf519f8a3a5efaaee632fd920b00b9be8a77e9",
      "parents": [
        "5bf6d2750d3d412fda496f9c12c67f38215b06af",
        "2a90bc93225f38624333d1d7fa8785f90c687fe5"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jul 11 03:03:59 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 11 03:03:59 2018 +0000"
      },
      "message": "Merge changes I06651995,I2f341cf7\n\n* changes:\n  Revert^2 \"Move Trace to use trampolines\"\n  Fix typo in condition for getting the compiled code.\n"
    }
  ],
  "next": "5bf6d2750d3d412fda496f9c12c67f38215b06af"
}
