)]}'
{
  "log": [
    {
      "commit": "1bfe4bd4c444017cf40ccadcfbf20cb0ceb37880",
      "tree": "1b7ed77256b2debb0da609f8fddf64efe4fcc044",
      "parents": [
        "f0cf86fd4085c725b667058b416e0f8a6a7dfcc2"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Apr 26 16:00:11 2018 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Apr 27 12:50:39 2018 -0700"
      },
      "message": "Do not verify apks when processing profiles\n\nIt\u0027s a waste of time and it causes problems when taking snapshots for the\nboot image profile.\n\nBug: 73313191\nTest: profile_assistant_test\nChange-Id: I8e838af9515b41402eda455c23741a855c48ff98\n"
    },
    {
      "commit": "f0cf86fd4085c725b667058b416e0f8a6a7dfcc2",
      "tree": "e04790c071fc1938dbd156d6543d98f6f63f75cc",
      "parents": [
        "a03627a94c0eead28e1c7d917218ad398d483495"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Apr 25 16:47:25 2018 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Apr 25 16:47:25 2018 -0700"
      },
      "message": "Fix profile filtered loading\n\nThe computation for the profile line size of wrong. We need to multiply\nthe number of classes by the sizeof(uint16_t).\n\nTest: m test-art-host-gtest\nBug: 78596914\nChange-Id: I2e84cb0afd70c3c600c72c74997cc3097838a5e0\n"
    },
    {
      "commit": "a03627a94c0eead28e1c7d917218ad398d483495",
      "tree": "799a8a144bba75b0bb91c88cdefd44d443c75d8e",
      "parents": [
        "b8f199705ebd673563fac5cd416a44794d07f692",
        "5713f668ea0374a1c3020fb466aa0ef6e8c3be7f"
      ],
      "author": {
        "name": "Daniel Colascione",
        "email": "dancol@google.com",
        "time": "Tue Apr 24 22:05:40 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 24 22:05:40 2018 +0000"
      },
      "message": "Merge \"Use named constant instead of magic number in RegisterLine\""
    },
    {
      "commit": "5713f668ea0374a1c3020fb466aa0ef6e8c3be7f",
      "tree": "2e1be3cb7c5863374ed15163529f3e029c7f0226",
      "parents": [
        "3896e437d1964fda0120aa249de264de6ef91143"
      ],
      "author": {
        "name": "Daniel Colascione",
        "email": "dancol@google.com",
        "time": "Tue Apr 24 08:55:18 2018 -0700"
      },
      "committer": {
        "name": "Daniel Colascione",
        "email": "dancol@google.com",
        "time": "Tue Apr 24 13:18:56 2018 -0700"
      },
      "message": "Use named constant instead of magic number in RegisterLine\n\nTest: host\nChange-Id: I61a8cd8378c9fd6eeafffe2a01fa38f25c01dca8\n"
    },
    {
      "commit": "b8f199705ebd673563fac5cd416a44794d07f692",
      "tree": "9ef0089572b912de08ff1b5cdda3d44de14a9090",
      "parents": [
        "70ffeec2e95e82476827f0dbe2d7edb7688ccc7c",
        "dcd117e04b0831e4539544c38c524799114f3e66"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Apr 24 17:55:35 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 24 17:55:35 2018 +0000"
      },
      "message": "Merge \"ARM: Use rMR for Baker RB introspection marking.\""
    },
    {
      "commit": "70ffeec2e95e82476827f0dbe2d7edb7688ccc7c",
      "tree": "83d3b809406d708fe1e08a5018deaf30943f263f",
      "parents": [
        "3ebf5297788230b7703a8afbbe93bcf0ad65f780",
        "837f3f04793851278bb1d2cca21b5a0fbd7e3029"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 24 16:55:58 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 24 16:55:58 2018 +0000"
      },
      "message": "Merge \"ART: Fix SCOPED_TRACE macro\""
    },
    {
      "commit": "3ebf5297788230b7703a8afbbe93bcf0ad65f780",
      "tree": "60a608758dd13569be0b1e50a2f8e3ae6eab178b",
      "parents": [
        "f27558735e65b6abcb7f4a5c972c1951455cc5db",
        "fb008f4e87fbe612abd6b0d0ac6fa897a0033a13"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 24 16:54:03 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 24 16:54:03 2018 +0000"
      },
      "message": "Merge \"ART: Add timing logger granularity to compiler\""
    },
    {
      "commit": "f27558735e65b6abcb7f4a5c972c1951455cc5db",
      "tree": "c18d8d59d285ccabc3843e17929fa3c54f112559",
      "parents": [
        "3896e437d1964fda0120aa249de264de6ef91143",
        "31d7a57b70c2b68aa19a58d4177dcbde06914441"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 24 16:20:26 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 24 16:20:26 2018 +0000"
      },
      "message": "Merge \"Improve debug logging of classes for 77342775.\""
    },
    {
      "commit": "dcd117e04b0831e4539544c38c524799114f3e66",
      "tree": "c5564d659c74ac9ef5207434ced91f4f7415dc77",
      "parents": [
        "63fe8dc454298852ae31cfc2692108488a58c650"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Apr 19 11:54:00 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Apr 24 17:13:47 2018 +0100"
      },
      "message": "ARM: Use rMR for Baker RB introspection marking.\n\nThe marking register (r8 on ARM) is known to be 1 when\nentering the introspection marking entrypoint, so we can\nclobber it, use it as a temporaray register (instead or r4)\nin the runtime entrypoint, and reload the 1 before\nreturning. The immediate benefits are minor, see below,\nbut this shall allow further improvements, for example we\ncould try to change rMR to r4 which would reduce code size\nof every marking register check by 2 bytes.\n\nARM boot image (boot*.oat) size in aosp_taimen-userdebug:\n  - before: 17861724\n  - after: 17858088 (-3636)\n\nTest: Pixel 2 XL boots.\nTest: m test-art-host-gtest\nTest: testrunner.py --target --optimizing --32\nTest: Repeat the above tests with heap poisoning enabled.\nBug: 36141117\nChange-Id: I0f625dec3a6b3ee1786f7e5f4377be42b9bc37d3\n"
    },
    {
      "commit": "31d7a57b70c2b68aa19a58d4177dcbde06914441",
      "tree": "c18d8d59d285ccabc3843e17929fa3c54f112559",
      "parents": [
        "3896e437d1964fda0120aa249de264de6ef91143"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Apr 24 12:35:32 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Apr 24 15:45:07 2018 +0100"
      },
      "message": "Improve debug logging of classes for 77342775.\n\nLog the reference, space and defining dex file of the\nsource and target class.\n\nLog the start of image space and replace image space\nfile name with \u0027+\u0027 if it\u0027s the same as the image name.\n\nTest: Manual; change 108-check-cast to multi-dex and disable\n      the Lorg/apache/http/ filtering, check error message.\n      Repeat with a profile to put LB; and LD; into app image.\nBug: 77342775\n\n(cherry picked from commit cbb7bd2795b9afe242efe658b4e5736cbe378921)\n\nChange-Id: Iee935c463816fff50510371c4d8acb1807980039\n"
    },
    {
      "commit": "3896e437d1964fda0120aa249de264de6ef91143",
      "tree": "613ca39524b78877264c80741344b700dccbd9f1",
      "parents": [
        "b751e3b1c07837ac6193497f4c5d13f19d780837",
        "909b1277e450c1eebfe2db40f5a4a72652d32950"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Apr 24 13:16:42 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 24 13:16:42 2018 +0000"
      },
      "message": "Merge \"[veridex] New veridex improvements.\""
    },
    {
      "commit": "b751e3b1c07837ac6193497f4c5d13f19d780837",
      "tree": "793e21b1b398eee8d5240812d068f790e3c0f415",
      "parents": [
        "597c5247e42964e85aef89c03d990df3bab29de1",
        "f120ffc1b4864c28bc2aa249e714b51da11f3ea0"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Apr 23 23:20:20 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 23 23:20:20 2018 +0000"
      },
      "message": "Merge \"Dump profile checksums\""
    },
    {
      "commit": "837f3f04793851278bb1d2cca21b5a0fbd7e3029",
      "tree": "bdc613d6aae1585df5dc201b48c30ae13d3b2466",
      "parents": [
        "597c5247e42964e85aef89c03d990df3bab29de1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 23 15:50:00 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 23 15:50:00 2018 -0700"
      },
      "message": "ART: Fix SCOPED_TRACE macro\n\nCorrectly evaluate __LINE__ through a preprocessor indirection.\nAvoid duplicate-variable errors for multiple SCOPED_TRACE uses.\n\nTest: mmma art\nChange-Id: Ib1960b5e2c6ddcbaf766b7d1cb2927ccf5925593\n"
    },
    {
      "commit": "f120ffc1b4864c28bc2aa249e714b51da11f3ea0",
      "tree": "793e21b1b398eee8d5240812d068f790e3c0f415",
      "parents": [
        "597c5247e42964e85aef89c03d990df3bab29de1"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Apr 23 11:27:31 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Apr 23 13:19:50 2018 -0700"
      },
      "message": "Dump profile checksums\n\nAlso dump profile checksums. This helps diagnose checksum mismatches.\n\nTest: manual\nBug: 70292748\nChange-Id: Iaab4b34378240a265d11d196dcad6db12dc3545d\n"
    },
    {
      "commit": "fb008f4e87fbe612abd6b0d0ac6fa897a0033a13",
      "tree": "e02ad21cb6739e242de2043560d8173f26c8a1a6",
      "parents": [
        "597c5247e42964e85aef89c03d990df3bab29de1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 23 10:01:16 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 23 12:19:12 2018 -0700"
      },
      "message": "ART: Add timing logger granularity to compiler\n\nAdd more subcounts to open+write of dex files during compilation.\n\nBug: 78201536\nTest: m test-art-host\nTest: inspect output of --dump-timings\nChange-Id: Ib8d874b0b408669e01292c48c8206b0ebc14cbc5\n"
    },
    {
      "commit": "909b1277e450c1eebfe2db40f5a4a72652d32950",
      "tree": "13368253aa0696ade734fbe58e0cf57c0e3169ae",
      "parents": [
        "597c5247e42964e85aef89c03d990df3bab29de1"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Apr 23 13:43:31 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Apr 23 17:56:33 2018 +0100"
      },
      "message": "[veridex] New veridex improvements.\n\n1) Take the type of the receiver on a getClass call.\n2) Dedupe reflection uses in precise hidden API finder.\n3) Don\u0027t do a cheap check that a method is resolved, in case the app\n   itself is defining a blacklisted API.\n\nbug: 77513322\nTest: m\n\n(cherry picked from commit 57b2a550a2215261569a33838a14978c7a9ccde2)\n\nChange-Id: Ia441a637386b2232cf9d7f71f6a612d476b37041\n"
    },
    {
      "commit": "597c5247e42964e85aef89c03d990df3bab29de1",
      "tree": "11f852d0b21be080b6f0a77aee256974d5b1b36d",
      "parents": [
        "9d4633373d152c123c4e63100ea6fb3384a9eb09",
        "ee06c5ad9f3f5acf1f30caf9d4006bd3d6adb983"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Apr 23 15:12:29 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 23 15:12:29 2018 +0000"
      },
      "message": "Merge \"ART: Additional info for run-test --dev --host\""
    },
    {
      "commit": "ee06c5ad9f3f5acf1f30caf9d4006bd3d6adb983",
      "tree": "11f852d0b21be080b6f0a77aee256974d5b1b36d",
      "parents": [
        "9d4633373d152c123c4e63100ea6fb3384a9eb09"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Apr 23 13:46:24 2018 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Apr 23 13:46:24 2018 +0100"
      },
      "message": "ART: Additional info for run-test --dev --host\n\nAdds environment variables required to reproduce a test execution on\nhost in dev mode.\n\nTest: art/test/run-test --host --dev 956\nChange-Id: If8560a0f4ba5efe5f8c4eb63ce3cc2033e7fb5b2\n"
    },
    {
      "commit": "9d4633373d152c123c4e63100ea6fb3384a9eb09",
      "tree": "6788355fce2f7c1806d6c78efcc8160d2103f267",
      "parents": [
        "525f67f0c037204f3384a63c24456acc2b458c86",
        "75ff2c96c37485ff8c74cf9942c0a4bf0710e91c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Apr 21 03:01:39 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Apr 21 03:01:39 2018 +0000"
      },
      "message": "Merge \"Revert \"Revert^2: Deopt does not throw\"\""
    },
    {
      "commit": "75ff2c96c37485ff8c74cf9942c0a4bf0710e91c",
      "tree": "13b3cdcf7060e06b1dc50201c4f4d9436d379db7",
      "parents": [
        "240384b7d96c2d579bf58ed7a3e9c9ba1911dae3"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Sat Apr 21 01:28:11 2018 +0000"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Sat Apr 21 01:28:11 2018 +0000"
      },
      "message": "Revert \"Revert^2: Deopt does not throw\"\n\nThis reverts commit 240384b7d96c2d579bf58ed7a3e9c9ba1911dae3.\n\nReason for revert: P1 b/78360004 points to this so reverting for now (will triage later)\n\nChange-Id: I041c1d9fc045391c73e887268c3b1b9b69fcc216\n"
    },
    {
      "commit": "525f67f0c037204f3384a63c24456acc2b458c86",
      "tree": "ca38c090443e44eaf61bb50cabc284fd306d33f6",
      "parents": [
        "1f27e6defe167b0afe1f575e2046700374a9e93b",
        "6f5b4d21feecf8d507ad039e8cba92d491a407ba"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 20 23:20:47 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 20 23:20:47 2018 +0000"
      },
      "message": "Merge \"Use lld for building dex2oatds, oatdumpds\""
    },
    {
      "commit": "1f27e6defe167b0afe1f575e2046700374a9e93b",
      "tree": "8baf3e6989fdd6ca47e0720823b36a11dc9255f0",
      "parents": [
        "3848d106a4462178d0090434ecc997a7779d2767",
        "f3c670e465f835f8d27fc646eca545dab4c0450f"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Apr 20 22:39:30 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 20 22:39:30 2018 +0000"
      },
      "message": "Merge \"Make test 906 retry to avoid gc races\""
    },
    {
      "commit": "3848d106a4462178d0090434ecc997a7779d2767",
      "tree": "e12283dfb3e53ab38371cea1f2f39e41f70ec230",
      "parents": [
        "4390a68d1e9febccf806b71a7dc781cb104ace9d",
        "fc1de878e6a327f1bc9b15059a25599de81cb4d1"
      ],
      "author": {
        "name": "Kevin Chyn",
        "email": "kchyn@google.com",
        "time": "Fri Apr 20 21:30:22 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 20 21:30:22 2018 +0000"
      },
      "message": "Merge \"Specify dex2oat PGO profile files for Mips\""
    },
    {
      "commit": "fc1de878e6a327f1bc9b15059a25599de81cb4d1",
      "tree": "cfe3d8da1690de35f810680af5db88995636e618",
      "parents": [
        "48087831654bb9f0850a35d9f690e4f20d026af2"
      ],
      "author": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Fri Apr 20 14:11:12 2018 -0700"
      },
      "committer": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Fri Apr 20 14:14:12 2018 -0700"
      },
      "message": "Specify dex2oat PGO profile files for Mips\n\nBug: http://b/78259283\n\nThis breaks mips targets.\n\nTest: lunch m_e_mips-eng; make\nChange-Id: Ia8db413acbd066772d8e53702bc6ae262985a992\n"
    },
    {
      "commit": "4390a68d1e9febccf806b71a7dc781cb104ace9d",
      "tree": "ac75d8c9a7fb7d072e39e3077d91b718900431c6",
      "parents": [
        "48087831654bb9f0850a35d9f690e4f20d026af2",
        "4a68b66f468e1df989cc6f1526dadd1618e4f793"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 20 21:00:09 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 20 21:00:09 2018 +0000"
      },
      "message": "Merge \"Remove unnecessary definition of \u0027art::Split\u0027\""
    },
    {
      "commit": "48087831654bb9f0850a35d9f690e4f20d026af2",
      "tree": "03218d712a0b4375046b4cb93f1da2b490dec251",
      "parents": [
        "a90cc8715f31f3f082cb113129f05ec21ebd14ca",
        "42d5805b30b095eb1abd39d99ed71d9fa2b7c03b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 20 20:18:50 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 20 20:18:50 2018 +0000"
      },
      "message": "Merge \"Separate out PGO profile files per arch\""
    },
    {
      "commit": "4a68b66f468e1df989cc6f1526dadd1618e4f793",
      "tree": "ec1dc5e0f60a6a6d1c8ec7d91842f98bbdc704f0",
      "parents": [
        "a90cc8715f31f3f082cb113129f05ec21ebd14ca"
      ],
      "author": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Fri Apr 20 12:16:36 2018 -0700"
      },
      "committer": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Fri Apr 20 19:18:36 2018 +0000"
      },
      "message": "Remove unnecessary definition of \u0027art::Split\u0027\n\nBug: http://b/78352390\n\nFix duplicate symbol warning found with lld\n\nTest: build with\nhttps://android-review.googlesource.com/c/platform/art/+/669149 and\nverify that the duplicate symbol warning is no longer generated.\n\nChange-Id: Ie77d1bfaa84ec034ef9bc39dd63422d859e0f7c5\n"
    },
    {
      "commit": "6f5b4d21feecf8d507ad039e8cba92d491a407ba",
      "tree": "c5062e360a8984cbdd40494e4d7dbac8902ca5fd",
      "parents": [
        "a90cc8715f31f3f082cb113129f05ec21ebd14ca"
      ],
      "author": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Fri Apr 20 12:02:02 2018 -0700"
      },
      "committer": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Fri Apr 20 12:02:02 2018 -0700"
      },
      "message": "Use lld for building dex2oatds, oatdumpds\n\nBug: http://b/77581732\n\n\u0027lld\u0027 may help avoid a segfault when linking these executables with\nld.gold.\n\nTest: build\nChange-Id: I385643c0124963b132b0c20f00bbb9c69923e80e\n"
    },
    {
      "commit": "f3c670e465f835f8d27fc646eca545dab4c0450f",
      "tree": "41aecea96d03ac8bb41b61c559cdcde7b9e4dc04",
      "parents": [
        "740a50992ea1a200068eb4486a172a151c9b329c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Apr 20 09:39:21 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Apr 20 09:45:17 2018 -0700"
      },
      "message": "Make test 906 retry to avoid gc races\n\nTest 906 counts the total number of uncollected (note not necessarily\nreachable) objects in the java heap. Due to the api design it cannot\ndo this in any sort of synchronized or atomic way. This is usually not\na problem though because the test does very little allocation so the\nnumber of objects should not generally be changing. When run on CTS,\nhowever, it is possible that objects might be created or collected\nfrom other threads. This could cause the test to incorrectly fail. We\nmade this test retry the counting of objects up to 10 times in order\nto hopefully get a count without racing other threads.\n\nTest: ./test/run-test --host 906\nBug: 78344479\nChange-Id: I80da119ed58193aae8d08e6f82ee4537fc979c85\n"
    },
    {
      "commit": "a90cc8715f31f3f082cb113129f05ec21ebd14ca",
      "tree": "3fde1fcca43771d10ef6a9acaa327c8749d27dc2",
      "parents": [
        "d94c24222b23eb65e5bb074518b964a7a42b9d45",
        "240384b7d96c2d579bf58ed7a3e9c9ba1911dae3"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Apr 20 15:50:36 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 20 15:50:36 2018 +0000"
      },
      "message": "Merge \"Revert^2: Deopt does not throw\""
    },
    {
      "commit": "d94c24222b23eb65e5bb074518b964a7a42b9d45",
      "tree": "992313ea388cb2c3f7f6a7cdbb05153a6d4f7b3c",
      "parents": [
        "8571f2679f17008244ded7b9bc13d13999cb7db1",
        "60fbefcdf3578be9995a3be2b975b3998cdb430c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Apr 20 15:34:07 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 20 15:34:07 2018 +0000"
      },
      "message": "Merge changes Ibfe10b43,I984d1ea9\n\n* changes:\n  Move jit startup attempt to openjdkjvmti from adbconnection\n  Always allow agent attach on userdebug builds with kArtTiVersion\n"
    },
    {
      "commit": "8571f2679f17008244ded7b9bc13d13999cb7db1",
      "tree": "e7955b0de0832144c6c1d330883b6acc56dc7bb2",
      "parents": [
        "2323931a48f6d988ad81bfa66d0852f5a3c69cc0",
        "811da57c941beae1b3da5416802310acf669b0d8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 20 14:36:53 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 20 14:36:53 2018 +0000"
      },
      "message": "Merge \"Further improve debug logging for 77342775\""
    },
    {
      "commit": "2323931a48f6d988ad81bfa66d0852f5a3c69cc0",
      "tree": "947c9252c767a44247e02684a99ee3954dccdfe2",
      "parents": [
        "cb329022c3095c22bb2fdf57dc046444ed3db447",
        "b5529ba975f295d0fb3319dd814f5e5475bccb03"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 20 14:25:45 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 20 14:25:45 2018 +0000"
      },
      "message": "Merge \"Disable failing libcore.libcore.icu.RelativeDateTimeFormatterTest\""
    },
    {
      "commit": "811da57c941beae1b3da5416802310acf669b0d8",
      "tree": "89202b0b5a0eb01118f2448ff502c38e727e527b",
      "parents": [
        "cb329022c3095c22bb2fdf57dc046444ed3db447"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Apr 16 15:14:08 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Apr 20 14:08:36 2018 +0100"
      },
      "message": "Further improve debug logging for 77342775\n\nPrevious logging had long log lines that were truncated.\n\nFor multidex, replace the base location for other than the\nfirst dex file with \"+\". Split the first line into two, so\nthat if there are too many dex files in the class loader,\nwe still get to see at least some of them also for the other\nclass loader.\n\nTest: Manual; change 108-check-cast to multi-dex and disable\n      the Lorg/apache/http/ filtering, check error message.\nBug: 77342775\n\n(cherry picked from commit d54f1f92b3b6c99f1877b50fe98ed95a51fb59fd)\n\nChange-Id: Ic1c6d80ed11dc720f21b0cde1c892573a76c0c3e\n"
    },
    {
      "commit": "b5529ba975f295d0fb3319dd814f5e5475bccb03",
      "tree": "5c45578e64264cc47ba8d6cce8f4a6522ffcc180",
      "parents": [
        "8d2e70ae234d53f825f6876f5b5e75bdfe6729b5"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Apr 18 18:25:52 2018 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Apr 20 12:28:56 2018 +0000"
      },
      "message": "Disable failing libcore.libcore.icu.RelativeDateTimeFormatterTest\n\nBug: 78228743\nChange-Id: I93e23df7c081e2513b869585fc99dfe89a9b5eee\n"
    },
    {
      "commit": "60fbefcdf3578be9995a3be2b975b3998cdb430c",
      "tree": "fe0e601f91fe626fb35d38cdcb5b8823226ac2fe",
      "parents": [
        "f889c70e79643373320f5742cc719d6c467531b9"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Apr 18 15:19:15 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Apr 19 17:31:30 2018 +0000"
      },
      "message": "Move jit startup attempt to openjdkjvmti from adbconnection\n\nWe were attempting to start the jit in adbconnection if it was not\nalready running in order to improve the performance of debugging\nsystem_server and other similar processes. Since we have opened up the\nkArtTiVersion (0x70010200) environment to any agent (on userdebug/eng\nbuilds) it would be useful for these other agents also have the\nperformance boost when running on these processes.\n\nTest: Build\nTest: adb root \u0026\u0026\n      adb shell setenforce 0 \u0026\u0026\n      adb forward tcp:12345 jdwp:`adb shell pidof system_server` \u0026\u0026\n      jdb -attach localhost:12345;\n      \u003cDo things with debugger and device\u003e\n\nBug: 78119634\nBug: 78195998\nChange-Id: Ibfe10b43dcd23d615c03c12af2625e2b0c54f6a4\n"
    },
    {
      "commit": "f889c70e79643373320f5742cc719d6c467531b9",
      "tree": "ada543c87521fbfd98bbbe0004ca9e89c36a9489",
      "parents": [
        "740a50992ea1a200068eb4486a172a151c9b329c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Feb 23 15:25:45 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Apr 19 10:30:50 2018 -0700"
      },
      "message": "Always allow agent attach on userdebug builds with kArtTiVersion\n\nWe added support for the jvmti-alike ArtTi for use by debuggers on\nuserdebug/eng builds of android. Extend this support to allow any\nagent to be loaded on any process of a userdebug device. These agents\nwill need to make use of kArtTiVersion (0x70010200) envs.\n\nTest: build\nTest: ./test.py --host -j50\nTest: ensure AS profiler continues to work with userdebug devices\nBug: 78195998\nChange-Id: I984d1ea937eb49afb376a48bea3d67085192020e\n"
    },
    {
      "commit": "cb329022c3095c22bb2fdf57dc046444ed3db447",
      "tree": "d6ecb4bf4a7164e71b649ff671e6a6bd8977a5d2",
      "parents": [
        "cb21a56d811e961ad1f2a50ee8bc748bd148885c",
        "fb8f75c160f5f38efcb85988c98033650d5649bc"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 19 17:08:24 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 19 17:08:24 2018 +0000"
      },
      "message": "Merge \"ART: Properly check for attached thread in CheckJNI\""
    },
    {
      "commit": "240384b7d96c2d579bf58ed7a3e9c9ba1911dae3",
      "tree": "d00e99045d9b4fda7a3743577dbddeba0c276a38",
      "parents": [
        "cb21a56d811e961ad1f2a50ee8bc748bd148885c"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Apr 17 14:56:29 2018 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Apr 19 09:17:11 2018 -0700"
      },
      "message": "Revert^2: Deopt does not throw\n\nRationale:\n\"CanThrow\" of deopt was possibly misused to prevents some\noptimizations. However, the instruction technically cannot\nthrow an exception, and indeed crashed the graph verifier\nfor some corner cases. This Cl sets that right.\n\nBug: 29868356\n\nTest: test-art-host,target\n\n(revert^2 of commit 2905de1c0e5b6a0c995be474b3f0efdfdc6a41c4)\n\nChange-Id: I4d4e6c00eff52140aa1845332998224ececc92ef\n"
    },
    {
      "commit": "cb21a56d811e961ad1f2a50ee8bc748bd148885c",
      "tree": "13b3cdcf7060e06b1dc50201c4f4d9436d379db7",
      "parents": [
        "cee49280366af9aa35e889e90d0ae0e90b453a22",
        "4f6e523093e9ca3f1962068bcb38df406afed91f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 19 10:16:52 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 19 10:16:52 2018 +0000"
      },
      "message": "Merge \"[veridex] Reflective usage detection improvements.\""
    },
    {
      "commit": "4f6e523093e9ca3f1962068bcb38df406afed91f",
      "tree": "c111619ecdaa1207938af75459c194fa5b7bb8d5",
      "parents": [
        "80d8db3ef859c7d10b88e0c0ebdb03a0fa1d049f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Apr 18 12:54:04 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Apr 19 09:37:23 2018 +0100"
      },
      "message": "[veridex] Reflective usage detection improvements.\n\n- Convert a string name to the internal name\n- Recognize ClassLoader.loadClass.\n- Do a dummy merge in VeriFlow by just overwriting registers.\n\nbug: 77513322\nTest: m\n\n(cherry picked from commit 295cba006e5212c06fde5ec956c81c507b2974e6)\n\nChange-Id: I888ff742197f4aec9aee68a03daca84f165e4114\n"
    },
    {
      "commit": "42d5805b30b095eb1abd39d99ed71d9fa2b7c03b",
      "tree": "53373e5aa0f47ee4e9ebfff54f97e90c44a5b6cd",
      "parents": [
        "cee49280366af9aa35e889e90d0ae0e90b453a22"
      ],
      "author": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Wed Apr 18 22:59:36 2018 -0700"
      },
      "committer": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Thu Apr 19 06:05:14 2018 +0000"
      },
      "message": "Separate out PGO profile files per arch\n\nBug: http://b/78259283\n\nSpecify separate PGO profiles for AArch64/ARM and x86_64/x86.  This\nallows per-arch profile collection that exercises ART\u0027s code generation\nfor the corresponding 32-bit and 64-bit ABIs.\n\nTest: Build Sailfish and x86_64 targets and verify that corresponding\nprofile files are read.\n\nChange-Id: Iad3a657411676952de5ed446db4dd4e754ea9e11\n"
    },
    {
      "commit": "cee49280366af9aa35e889e90d0ae0e90b453a22",
      "tree": "6b0b08d809291da44d9fdd368e4d6c5d9e4ce25e",
      "parents": [
        "b8b38900bef869495afe63458f04c85ef9d5aae7",
        "080820c8e7a25bc3fb28d7c5a1524b0e5537c7a9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 19 05:32:07 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 19 05:32:07 2018 +0000"
      },
      "message": "Merge \"Revert \"Deopt does not throw\"\""
    },
    {
      "commit": "080820c8e7a25bc3fb28d7c5a1524b0e5537c7a9",
      "tree": "398d9bbd027743a233034d4977821c0275a918e7",
      "parents": [
        "2905de1c0e5b6a0c995be474b3f0efdfdc6a41c4"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Apr 19 04:02:36 2018 +0000"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Apr 19 04:02:36 2018 +0000"
      },
      "message": "Revert \"Deopt does not throw\"\n\nThis reverts commit 2905de1c0e5b6a0c995be474b3f0efdfdc6a41c4.\n\nReason for revert: test breaks on git_master-art-host; art-test-javac (linux) \n\nChange-Id: Ic39d442776858c74d2163683c78bd3a8072ad45e\n"
    },
    {
      "commit": "b8b38900bef869495afe63458f04c85ef9d5aae7",
      "tree": "d5cdf2e80c843ea8c113004016d414d3d7fa0d36",
      "parents": [
        "e7841dd29407258d198b5d8acc86d62da3869321",
        "103bd381adeb62822e5a52f44f1d26bb56843271"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 19 02:55:37 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 19 02:55:37 2018 +0000"
      },
      "message": "Merge \"Remove dexoptanalyzer fast file check\""
    },
    {
      "commit": "e7841dd29407258d198b5d8acc86d62da3869321",
      "tree": "83f372a7922090b3243831c2cb9a23b3ccd29c0b",
      "parents": [
        "740a50992ea1a200068eb4486a172a151c9b329c",
        "2905de1c0e5b6a0c995be474b3f0efdfdc6a41c4"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Apr 19 02:55:33 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 19 02:55:33 2018 +0000"
      },
      "message": "Merge \"Deopt does not throw\""
    },
    {
      "commit": "103bd381adeb62822e5a52f44f1d26bb56843271",
      "tree": "9a097db7c59951ade030213b5e8567a6590cba0a",
      "parents": [
        "99ebc264162a8cfc6c0298ce7a1739d4b050f1e3"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Apr 18 18:27:07 2018 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Apr 18 18:30:48 2018 -0700"
      },
      "message": "Remove dexoptanalyzer fast file check\n\nWe mostly use FDs nowadays and this may cause selinux denials for\nsymlinks.\n\nBug: 77853712\nTest: test-art-host-gtest-dexoptanalyzer_test\n\nChange-Id: I0e33ac3f85ae8f9194219d3da764a77ad7bf1d6f\n"
    },
    {
      "commit": "fb8f75c160f5f38efcb85988c98033650d5649bc",
      "tree": "d755a996cf1103bf28aa4eeebababfa4de0787cf",
      "parents": [
        "740a50992ea1a200068eb4486a172a151c9b329c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Apr 17 11:08:23 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Apr 18 17:50:25 2018 -0700"
      },
      "message": "ART: Properly check for attached thread in CheckJNI\n\nThe previous implementation checked too late, as the required\nScopedObjectAccess would have already aborted. Instead, preface\nall necessary functions with an explicit check.\n\nPerformance should be almost neutral, as the test is only moved\nearlier, but not duplicated.\n\nBug: 78135453\nTest: m test-art-host-gtest-jni_internal_test\nChange-Id: I7b98744e9a3895e84ba9e2661975ce29722076c3\n"
    },
    {
      "commit": "2905de1c0e5b6a0c995be474b3f0efdfdc6a41c4",
      "tree": "83f372a7922090b3243831c2cb9a23b3ccd29c0b",
      "parents": [
        "740a50992ea1a200068eb4486a172a151c9b329c"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Apr 17 14:56:29 2018 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Apr 18 16:01:35 2018 -0700"
      },
      "message": "Deopt does not throw\n\nRationale:\n\"CanThrow\" of deopt was possibly misused to prevents some\noptimizations. However, the instruction technically cannot\nthrow an exception, and indeed crashed the graph verifier\nfor some corner cases. This Cl sets that right.\n\nBug: 29868356\n\nTest: test-art-host,target\nChange-Id: Icb551d3b2935282a70ad673a0544e4fe01104da1\n"
    },
    {
      "commit": "740a50992ea1a200068eb4486a172a151c9b329c",
      "tree": "398d9bbd027743a233034d4977821c0275a918e7",
      "parents": [
        "63fe8dc454298852ae31cfc2692108488a58c650",
        "6d05700c620d2bca95fd046969753f71aa015ab4"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 18 17:27:43 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 18 17:27:43 2018 +0000"
      },
      "message": "Merge \"Run GVN earlier.\""
    },
    {
      "commit": "63fe8dc454298852ae31cfc2692108488a58c650",
      "tree": "f6a74512cdee2ad8750bb8eb75de2842a8e6b0b4",
      "parents": [
        "da5cbc32b8fbeb76d5a9ca65d58c8bb557e6e7d8",
        "783bdf8ed586566a0f49678388503ecfcaff0a2b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 18 05:14:50 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 18 05:14:50 2018 +0000"
      },
      "message": "Merge \"Add more logging to test 1935\""
    },
    {
      "commit": "783bdf8ed586566a0f49678388503ecfcaff0a2b",
      "tree": "22327eaa8f2d6ec4d16b93130558c1ef2457a4d1",
      "parents": [
        "e83bae5c62c7e739e18cafa1126a727b4788895c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Apr 17 17:03:16 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Apr 17 17:05:45 2018 -0700"
      },
      "message": "Add more logging to test 1935\n\nThis test is very occasionally failing on buildbots. This adds more\ninformation that will be useful for figuring out exactly what state\nthe runtime is in when the test fails.\n\nBug: 77306669\nTest: ./test.py --host -j50\nChange-Id: If7017a265a6d39b796e50eb8c3d02a62718e85cd\n"
    },
    {
      "commit": "da5cbc32b8fbeb76d5a9ca65d58c8bb557e6e7d8",
      "tree": "6c4eebfb97f4d4964014f9dc94fbf2230c78f26a",
      "parents": [
        "c7d6fc795bf65f1e7f6453ab40060cb319949af4",
        "c4440775c5627fed9701e14a1f9d14dca27ed176"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 17 20:48:58 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 17 20:48:58 2018 +0000"
      },
      "message": "Merge \"Add arg for overwriting class loader class path\""
    },
    {
      "commit": "c7d6fc795bf65f1e7f6453ab40060cb319949af4",
      "tree": "65fc735c006b0a2b3a8e1c09494ccec85e854104",
      "parents": [
        "8f669504a1c4646501a2cf5d090597f9fed59f70",
        "bd2a4e2c68790d1a3d56cd2f9de3471ca816c140"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Apr 17 20:24:52 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 17 20:24:52 2018 +0000"
      },
      "message": "Merge \"Make adbconnection try to start the JIT if it is not running.\""
    },
    {
      "commit": "6d05700c620d2bca95fd046969753f71aa015ab4",
      "tree": "a4fe0409be49298541d4a508ab7ffd0869c71bfb",
      "parents": [
        "8f669504a1c4646501a2cf5d090597f9fed59f70"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Apr 09 15:39:58 2018 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Apr 17 12:55:50 2018 -0700"
      },
      "message": "Run GVN earlier.\n\nRationale:\nRunning GVN earlier allows for better subsequent\ninstruction simplifation. For example, running GVN\nbefore select generation also finds the MIN in:\n   if (x \u003e a[i])\n     x \u003d a[i];\n\nBug: b/74026074\n\nTest: test-art-host,target\n\nChange-Id: I633046375637c7809a3603fdf7c5cf77e8f21167\n"
    },
    {
      "commit": "8f669504a1c4646501a2cf5d090597f9fed59f70",
      "tree": "763f65382b960cc867074ef78f0e63ca98c19569",
      "parents": [
        "596f6b118acde4be2ff8042d126b70c27d84d8d6",
        "72411e6b3b286d91e4da894cd5b12e7a3dc88f40"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 17 19:14:36 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 17 19:14:36 2018 +0000"
      },
      "message": "Merge \"ART: Implement scalar loop peeling.\""
    },
    {
      "commit": "c4440775c5627fed9701e14a1f9d14dca27ed176",
      "tree": "9d38b1e4af40ac0b209b6bdcae357a8a74630435",
      "parents": [
        "e83bae5c62c7e739e18cafa1126a727b4788895c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Apr 16 14:40:56 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 17 11:56:31 2018 -0700"
      },
      "message": "Add arg for overwriting class loader class path\n\nAdded stored_context srgument to EncodeContextForOatFile that\noverwrites the class path when non-null.\n\nThis is used by the --stored-class-loader-context argument. Fixed\nthe test.\n\nBug: 70934104\nBug: 67345922\nTest: test-art-host-gtest\n\nChange-Id: If877d8cfe9d34eeaa941e9f6df2e12539d9c4a6f\n"
    },
    {
      "commit": "596f6b118acde4be2ff8042d126b70c27d84d8d6",
      "tree": "fddf214faf1f9084c7269f6bb94172142f7f2a94",
      "parents": [
        "d12cd04146e4d6326eb1adcfd6161bd9f69f09e2",
        "b16949aeb2d0de0867bcb55628932518007fc79f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 17 18:13:46 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 17 18:13:46 2018 +0000"
      },
      "message": "Merge \"Trivial comment typo fix\""
    },
    {
      "commit": "d12cd04146e4d6326eb1adcfd6161bd9f69f09e2",
      "tree": "80016f9a2edd1eaf0d6a3ae4da05d8a975da20b0",
      "parents": [
        "e83bae5c62c7e739e18cafa1126a727b4788895c",
        "b4dfca56fbf5a2c3612732568dce4d200b626a3a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 17 18:13:41 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 17 18:13:41 2018 +0000"
      },
      "message": "Merge \"The test for futex support should be a test for Linux\""
    },
    {
      "commit": "bd2a4e2c68790d1a3d56cd2f9de3471ca816c140",
      "tree": "87f5833d2e33dfed2a625041617fdf0f9747fd5c",
      "parents": [
        "e83bae5c62c7e739e18cafa1126a727b4788895c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Apr 17 09:07:37 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Apr 17 10:41:19 2018 -0700"
      },
      "message": "Make adbconnection try to start the JIT if it is not running.\n\nThe new adbconnection jdwp-provider forces processes to throw out\ncompiled code when a debugger attaches. This is normally not a problem\nsince the JIT will pick up the slack in short order. If one is\ndebugging system_server (or a few other similar system services)\nperformance will be permanently degraded since these processes run\nwith the JIT disabled.\n\nIn order to improve the experience of debugging these processes we\nmake adbconnection attempt to start the JIT if it is not currently\nrunning. In order for this to work the user will need to run\n\u0027adb shell setenforce 0\u0027 to disable selinux prior to attaching the\ndebugger.\n\nBug: 78119634\n\nTest: adb root \u0026\u0026\n      adb shell setenforce 0 \u0026\u0026\n      adb forward tcp:12345 jdwp:`adb shell pidof system_server` \u0026\u0026\n      jdb -attach localhost:12345;\n      \u003cDo things with debugger and device\u003e\n\nChange-Id: Iffb382460a1dbcd055d533a44367c4ccb3830f10\n"
    },
    {
      "commit": "72411e6b3b286d91e4da894cd5b12e7a3dc88f40",
      "tree": "9bffb94a66fb5df1df05a53afa367406d069c773",
      "parents": [
        "ddc694267aee845c9b61779be2a5487eb65b1757"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Thu Oct 19 16:18:07 2017 +0100"
      },
      "committer": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Tue Apr 17 16:09:05 2018 +0100"
      },
      "message": "ART: Implement scalar loop peeling.\n\nImplement scalar loop peeling for invariant exits elimination\n(on arm64). If the loop exit condition is loop invariant then\nloop peeling + GVN + DCE can eliminate this exit in the loop\nbody. Note: GVN and DCE aren\u0027t applied during loop optimizations.\n\nNote: this functionality is turned off by default now.\n\nTest: test-art-host, test-art-target, boot-to-gui.\n\nChange-Id: I98d20054a431838b452dc06bd25c075eb445960c\n"
    },
    {
      "commit": "e83bae5c62c7e739e18cafa1126a727b4788895c",
      "tree": "b3cdfbdd9698a0dafc49ba2d547a45d8de4450cc",
      "parents": [
        "cfe688ce16f05093da11ce18521dddef98af2e60",
        "bd600e3e203b3ddd34c2e44bdb705e6902ac7bce"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 16 16:33:24 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 16 16:33:24 2018 +0000"
      },
      "message": "Merge \"ART: Remove support for compiled-methods and compiled-classes\""
    },
    {
      "commit": "cfe688ce16f05093da11ce18521dddef98af2e60",
      "tree": "5b143bc95b67a98c5fe77022cd47ed9849b70a03",
      "parents": [
        "80d8db3ef859c7d10b88e0c0ebdb03a0fa1d049f",
        "df25b47cd8a423239cdc7095f7170414814fea1f"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Apr 16 13:19:08 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 16 13:19:08 2018 +0000"
      },
      "message": "Merge \"Implement dead object poisoning in unevacuated regions.\""
    },
    {
      "commit": "80d8db3ef859c7d10b88e0c0ebdb03a0fa1d049f",
      "tree": "8e9f50d3e4cb50a808873cfc5a12bb4b516e9307",
      "parents": [
        "c523600ec234e00dfdc31149e9bda9c4f27addf7",
        "c3d5b84592b6d9c529090cfd1e5e9fb72a00f80b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sun Apr 15 20:03:30 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sun Apr 15 20:03:30 2018 +0000"
      },
      "message": "Merge \"Change monitor doc comment to reflect lock deflation\""
    },
    {
      "commit": "b16949aeb2d0de0867bcb55628932518007fc79f",
      "tree": "9d13ad2d6b3c9b1187d252bc43f770eae70c859e",
      "parents": [
        "b4dfca56fbf5a2c3612732568dce4d200b626a3a"
      ],
      "author": {
        "name": "Daniel Colascione",
        "email": "dancol@google.com",
        "time": "Sun Apr 15 11:21:02 2018 -0700"
      },
      "committer": {
        "name": "Daniel Colascione",
        "email": "dancol@google.com",
        "time": "Sun Apr 15 11:21:02 2018 -0700"
      },
      "message": "Trivial comment typo fix\n\nTest: no logic changes\nChange-Id: Ie10f49639177927e36cad6a4400ab66c9f2b6c01\n"
    },
    {
      "commit": "b4dfca56fbf5a2c3612732568dce4d200b626a3a",
      "tree": "e44a0ce7c93cbd0e4f6073a8d18c65d3808314a6",
      "parents": [
        "c3d5b84592b6d9c529090cfd1e5e9fb72a00f80b"
      ],
      "author": {
        "name": "Daniel Colascione",
        "email": "dancol@google.com",
        "time": "Sun Apr 15 11:15:14 2018 -0700"
      },
      "committer": {
        "name": "Daniel Colascione",
        "email": "dancol@google.com",
        "time": "Sun Apr 15 11:17:08 2018 -0700"
      },
      "message": "The test for futex support should be a test for Linux\n\nTest: code inspection\nChange-Id: Ic07f1eff2704064cc4416fc58df81c471ff54f4e\n"
    },
    {
      "commit": "c3d5b84592b6d9c529090cfd1e5e9fb72a00f80b",
      "tree": "8e9f50d3e4cb50a808873cfc5a12bb4b516e9307",
      "parents": [
        "c523600ec234e00dfdc31149e9bda9c4f27addf7"
      ],
      "author": {
        "name": "Daniel Colascione",
        "email": "dancol@google.com",
        "time": "Sun Apr 15 10:52:18 2018 -0700"
      },
      "committer": {
        "name": "Daniel Colascione",
        "email": "dancol@google.com",
        "time": "Sun Apr 15 10:52:18 2018 -0700"
      },
      "message": "Change monitor doc comment to reflect lock deflation\n\nTest: no code change\nChange-Id: Ief5a9ebc71ab5cee3fe96fe5b00c104b3119b25a\n"
    },
    {
      "commit": "c523600ec234e00dfdc31149e9bda9c4f27addf7",
      "tree": "8e74dcaffb303a1dc640a9209ead5f02ef37f878",
      "parents": [
        "550ea7bd03005e6b416e31b36fcf9626504aad37",
        "5d2dbf8958857d139e5f7e06940b2f6b713bc522"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Apr 14 01:29:02 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Apr 14 01:29:02 2018 +0000"
      },
      "message": "Merge \"Fix build warnings for x86+arm targets\""
    },
    {
      "commit": "550ea7bd03005e6b416e31b36fcf9626504aad37",
      "tree": "a7b7b8a586f41d04247f3329e4a2e91aa9653dc4",
      "parents": [
        "f5d9f81542dcdf9f388d7daf4972123312fffa92",
        "d5d597f672ea36b8ea6a806e783abd87d9382b49"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Apr 14 00:43:28 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Apr 14 00:43:28 2018 +0000"
      },
      "message": "Merge \"Disable lld for unrecognized --keep-unique flag.\""
    },
    {
      "commit": "bd600e3e203b3ddd34c2e44bdb705e6902ac7bce",
      "tree": "a8d88189082d739b33898cf2a69e9a706b580564",
      "parents": [
        "74b9994598f497ee3c6a72bbacad9926527f67f5"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 12 14:25:39 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 13 17:26:59 2018 -0700"
      },
      "message": "ART: Remove support for compiled-methods and compiled-classes\n\nThis has been superseded by profile support.\n\nThis reverts commit 70bef0d8f6aa30b0da5c6ca56e1bc5729f74654b.\nThis reverts commit 4bf3ae9930a155f238dfd471413c866912b2579e.\n\nBug: 76145463\nTest: mmma art\nTest: m test-art-host\nChange-Id: I5a368cd01812e16869352ec219eae095df4919c4\n"
    },
    {
      "commit": "f5d9f81542dcdf9f388d7daf4972123312fffa92",
      "tree": "f6e213a83b87cc48164752ff110c00aece01e9e1",
      "parents": [
        "6648da11ae28d1bc8d288eba3c3131bade13e314",
        "daf374cc169ebc9beca38f1c6edf1883f061ae74"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 13 21:12:30 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 13 21:12:30 2018 +0000"
      },
      "message": "Merge \"profman: removed unused header\""
    },
    {
      "commit": "6648da11ae28d1bc8d288eba3c3131bade13e314",
      "tree": "157b4b2b19bd957eda6b028c4fa78528e14718d3",
      "parents": [
        "20d35be37a11423be74907e0ef1e87f3d653c57e",
        "3f8e02c3603cf48c7a656b2dd8781e11481fe34b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 13 18:37:18 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 13 18:37:18 2018 +0000"
      },
      "message": "Merge \"Bug fix in SIMD result detection.\""
    },
    {
      "commit": "20d35be37a11423be74907e0ef1e87f3d653c57e",
      "tree": "2625837c96bbafe5506301b7f6f5069459c7de4f",
      "parents": [
        "74b9994598f497ee3c6a72bbacad9926527f67f5",
        "03da784d893a784572cc8b18c503e85fb387a3b9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 13 17:12:47 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 13 17:12:47 2018 +0000"
      },
      "message": "Merge \"ART: Fix oatdump check\""
    },
    {
      "commit": "74b9994598f497ee3c6a72bbacad9926527f67f5",
      "tree": "b876a06735c5e729da62a42e3aa5bd4d79a6ff32",
      "parents": [
        "8a78f81a16a7c8225b48bf634b67f5697f72e15f",
        "79e2607ab50163bfdc283f4a49decec26a216df5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 13 17:02:21 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 13 17:02:21 2018 +0000"
      },
      "message": "Merge \"Move profile dependent modules to libartbase\""
    },
    {
      "commit": "3f8e02c3603cf48c7a656b2dd8781e11481fe34b",
      "tree": "04c1722c0477342dcc6b6d45329c799d99120e81",
      "parents": [
        "8d2e70ae234d53f825f6876f5b5e75bdfe6729b5"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Apr 10 11:55:00 2018 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Apr 13 10:01:41 2018 -0700"
      },
      "message": "Bug fix in SIMD result detection.\n\nRationale:\nOnly 2-way phis are currently used in reductions\nto carry SIMD results. Note that this will go away\nwhen we introduce proper SIMD types.\n\nNote:\nSo far I have not been able to make a small regression\ntest for this. Any pointers on how to set up a catch phi?\n\nTest: test-art-host,target\n\nBug: b/77725987\nChange-Id: I8f8b2dbec35e906878b7f7ed62690c3234db4211\n"
    },
    {
      "commit": "79e2607ab50163bfdc283f4a49decec26a216df5",
      "tree": "0cdb2c65412b64a55ddf1a486ab3d961a0301a3e",
      "parents": [
        "b4b91460b2d01d36ddcb7d55111ccd8faf390c2a"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Fri Apr 06 17:58:50 2018 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Fri Apr 13 08:29:30 2018 -0700"
      },
      "message": "Move profile dependent modules to libartbase\n\nMove mem_map and zip_archive to libartbase.  This should be the last two\nremaining modules that profile_compilation_info is dependent upon.\n\nBug: 22322814\nTest: make -j 50 checkbuild\n      make and boot a device\n\nChange-Id: I136ee23e426aa8ec7441e3d3f1978f1bebf4b562\n"
    },
    {
      "commit": "8a78f81a16a7c8225b48bf634b67f5697f72e15f",
      "tree": "1e7e6ee76ec6dc88d55d8681bf5816108b18b51b",
      "parents": [
        "be2d2ad255585f639d657022ab55a78b682298be",
        "6d66fcf87dee9d2207ea745969b1f89836b0f8c5"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Apr 13 09:34:00 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 13 09:34:00 2018 +0000"
      },
      "message": "Merge changes I8687ab9e,I61f879f2\n\n* changes:\n  Move RelativePatcher from libart-compiler.so to dex2oat.\n  Rewrite null checks in read barrier introspection thunks.\n"
    },
    {
      "commit": "be2d2ad255585f639d657022ab55a78b682298be",
      "tree": "51c82fa65b8fc5df721702cbfa8a9db20b9fc62c",
      "parents": [
        "66d8f06c620c848c40bcb47eebcd2c8b367d44f5",
        "ef2fa26b0c4549ccee4b6c2a2b2d2caae6b85edc"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 12 23:48:27 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 12 23:48:27 2018 +0000"
      },
      "message": "Merge \"Move dexanalyze experiments to their own file\""
    },
    {
      "commit": "ef2fa26b0c4549ccee4b6c2a2b2d2caae6b85edc",
      "tree": "41b06b13faf6a2b69b03900c25d07650162c899c",
      "parents": [
        "fe6cf7cb0865cc1710d14ff8a41817794e965ea5"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 12 15:14:07 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 12 15:17:16 2018 -0700"
      },
      "message": "Move dexanalyze experiments to their own file\n\nReduce how much code is in the main file.\n\nBug: 77721545\nTest: test-art-host-gtest-dexanalyze_test\nChange-Id: I03e00b954170ff2e602edaa2e019f96e54016ecf\n"
    },
    {
      "commit": "d5d597f672ea36b8ea6a806e783abd87d9382b49",
      "tree": "7a6a074bf4cdb32cd62dd030276e75618438d18a",
      "parents": [
        "fe6cf7cb0865cc1710d14ff8a41817794e965ea5"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Mar 09 14:52:40 2018 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Apr 12 14:59:59 2018 -0700"
      },
      "message": "Disable lld for unrecognized --keep-unique flag.\n\nBug: 77976998\nTest: make checkbuild and boot\nChange-Id: I4db5ad37e9c126f8b6b0d163a35b772155b19b9b\n"
    },
    {
      "commit": "66d8f06c620c848c40bcb47eebcd2c8b367d44f5",
      "tree": "dc85326d5d93a11d12fd48a05feef43f9001f724",
      "parents": [
        "fe6cf7cb0865cc1710d14ff8a41817794e965ea5",
        "0be7fa708455e2ffbf3779166269acee7a4a6791"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 12 19:16:40 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 12 19:16:40 2018 +0000"
      },
      "message": "Merge \"Fix typo in clean vars for dexanalyze_test\""
    },
    {
      "commit": "03da784d893a784572cc8b18c503e85fb387a3b9",
      "tree": "16cc1a942788c53fd58341247c35f9f6f11ba71d",
      "parents": [
        "fe6cf7cb0865cc1710d14ff8a41817794e965ea5"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 12 11:12:52 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 12 11:12:52 2018 -0700"
      },
      "message": "ART: Fix oatdump check\n\nResolution may not be possible, e.g., for missing superclasses.\nWeaken a CHECK.\n\nTest: mmma art\nChange-Id: I3992c4e10c03a11918a355c36c6b954845c420b0\n"
    },
    {
      "commit": "0be7fa708455e2ffbf3779166269acee7a4a6791",
      "tree": "dc85326d5d93a11d12fd48a05feef43f9001f724",
      "parents": [
        "fe6cf7cb0865cc1710d14ff8a41817794e965ea5"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 12 10:13:29 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 12 10:32:14 2018 -0700"
      },
      "message": "Fix typo in clean vars for dexanalyze_test\n\nBug: 77721545\nTest: make\n\nChange-Id: If408ffc115ae998000ab00305706d06536be75a5\n"
    },
    {
      "commit": "fe6cf7cb0865cc1710d14ff8a41817794e965ea5",
      "tree": "cd20962317aac8c2b727bc7f33047d9e22de3a5c",
      "parents": [
        "6490021b4bd60fa823bb1aa914802209c0c97388",
        "2e0478a62e314ff4ce2334da7608543fa93e7c68"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 12 16:40:35 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 12 16:40:35 2018 +0000"
      },
      "message": "Merge \"Add dexanalyze tool\""
    },
    {
      "commit": "df25b47cd8a423239cdc7095f7170414814fea1f",
      "tree": "7c1966debe707216c29a14ed754a0b55c5e1f8a5",
      "parents": [
        "d7d9f00b9e87e491f2fc0631ed64ad1acde9c744"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Apr 06 20:27:49 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Apr 12 15:57:28 2018 +0100"
      },
      "message": "Implement dead object poisoning in unevacuated regions.\n\nWhen an unevacuated region is cleared from the from-space,\nreplace memory areas used by dead objects with a poison\nvalue, so as to catch dangling references to such objects\nearlier.\n\nThis poisoning mechanism is only turned on in debug mode.\n\nTest: art/test.py\nTest: Device boot test with libartd\nBug: 74064045\nChange-Id: I2f89a31648d292baae09859494410f88eca21759\n"
    },
    {
      "commit": "daf374cc169ebc9beca38f1c6edf1883f061ae74",
      "tree": "11a71b327d8345014ce8b0cb55670aab20853660",
      "parents": [
        "b8a5e8b0c4a03e5c2b401b968f3b25eac26ec460"
      ],
      "author": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Thu Apr 12 06:51:01 2018 -0700"
      },
      "committer": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Thu Apr 12 06:54:50 2018 -0700"
      },
      "message": "profman: removed unused header\n\nWhile root-causing a spurious getattr selinux denial, I noticed\nsys/stat.h is no longer used. Remove.\n\nTest: mmm art/profman\nChange-Id: I3e35946b80fe91cead268f2b89210ebd85e89892\n"
    },
    {
      "commit": "6d66fcf87dee9d2207ea745969b1f89836b0f8c5",
      "tree": "0f13a17dff10d96c646c2ff65d7179ef97c170c0",
      "parents": [
        "7a69505c2f65aef8f016891456c35475f8264d46"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Apr 12 13:15:27 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Apr 12 14:29:01 2018 +0100"
      },
      "message": "Move RelativePatcher from libart-compiler.so to dex2oat.\n\nFor AOSP master, aosp_taimen-userdebug:\n - before:\n   /system/lib/libart-compiler.so: 2084640\n   /system/lib64/libart-compiler.so: 2921496\n   /bin/dex2oat: 528372\n - after:\n   /system/lib/libart-compiler.so: 2059264 (-24.8KiB)\n   /system/lib64/libart-compiler.so: 2920856 (-640B)\n   /bin/dex2oat: 550056 (+21.2KiB)\n\nTest: m\nTest: m test-art-host-gtest\nBug: 77951326\nChange-Id: I8687ab9e00049acc46a6d229e5121b36d5379737\n"
    },
    {
      "commit": "6490021b4bd60fa823bb1aa914802209c0c97388",
      "tree": "0906831d041a1c45d08a18f7a98c0af2d79ed7ca",
      "parents": [
        "61c50b384edcee2bafe156b8a087eef9e54f5e63",
        "957e708d11bfd2b72cdea1cfa109908537267b36"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 12 12:32:17 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 12 12:32:17 2018 +0000"
      },
      "message": "Merge \"Improve debug logging for bug 77342775.\""
    },
    {
      "commit": "7a69505c2f65aef8f016891456c35475f8264d46",
      "tree": "3926019c2d1407da1ecba7282ede28bb2c430265",
      "parents": [
        "6c3533991522d036cbb5a656c44f63bf633a2925"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Apr 12 10:26:50 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Apr 12 13:09:38 2018 +0100"
      },
      "message": "Rewrite null checks in read barrier introspection thunks.\n\nRely on the implicit null check in the fast path.\n\nTest: Manual; run-test --gdb 160, break in the introspection\n      entrypoint, find the mf.testField0000 read barrier\n      code in the caller (this one has a stack map for null\n      check, most other reads do not need one), break there,\n      step into the thunk, overwrite the base register with\n      0 and observe the NPE being thrown. Repeat with --64.\nTest: Pixel 2 XL boots.\nTest: testrunner.py --target --optimizing\nBug: 36141117\nChange-Id: I61f879f22f5697a4108f1021eb0e3add742c8755\n"
    },
    {
      "commit": "61c50b384edcee2bafe156b8a087eef9e54f5e63",
      "tree": "7405b6c03080d441f5091f1354ead4afa68459ca",
      "parents": [
        "72247af0392ab23d778b0b1b822df8e13a36821a",
        "3f4a0bc6a7d824e9da8ffbd2745f6856abaa8306"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 12 11:39:55 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 12 11:39:55 2018 +0000"
      },
      "message": "Merge \"Add extra output when patchoat_test fails.\""
    },
    {
      "commit": "72247af0392ab23d778b0b1b822df8e13a36821a",
      "tree": "1abba8fa23f824bd9cf041b135c17c3eb9a3c4aa",
      "parents": [
        "203d5d8437e85bf8e4faabe77554ed802778722b",
        "7b0e844d8f0a59c6e1e9ac0c441409d2e435ac36"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Apr 12 11:34:42 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 12 11:34:42 2018 +0000"
      },
      "message": "Merge \"Distinguish the various pre-allocated OutOfMemoryError use cases.\""
    },
    {
      "commit": "203d5d8437e85bf8e4faabe77554ed802778722b",
      "tree": "ee1a31ffbaa690083e3c264040bb8edec9177453",
      "parents": [
        "b38b862273df997fc7b9c4176e46d9e672fe082e",
        "283ad2dfa5610e098db4791c9aded3a05fb62c40"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 12 10:15:18 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 12 10:15:18 2018 +0000"
      },
      "message": "Merge \"ART: Memory order updates to trace.{h,cc}\""
    },
    {
      "commit": "957e708d11bfd2b72cdea1cfa109908537267b36",
      "tree": "b27e57f5886ffe868a250883d515460d54500c04",
      "parents": [
        "6c3533991522d036cbb5a656c44f63bf633a2925"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Apr 11 17:25:42 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Apr 12 10:13:58 2018 +0100"
      },
      "message": "Improve debug logging for bug 77342775.\n\nThe previous logging did not show the class loader\nand space for `target_class`.\n\nTest: Rely on TreeHugger.\nBug: 77342775\nBug: 77903751\n\n(cherry picked from commit 2e3667ddabf98531290356bcb09929d481c70616)\n\nChange-Id: I03e35688e0227eb74dcd59b99ce7bcad493d7847\n"
    },
    {
      "commit": "3f4a0bc6a7d824e9da8ffbd2745f6856abaa8306",
      "tree": "09fb1283dcf61560df88d204a2674aae7352ea26",
      "parents": [
        "6c3533991522d036cbb5a656c44f63bf633a2925"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Apr 12 10:08:58 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Apr 12 10:10:09 2018 +0100"
      },
      "message": "Add extra output when patchoat_test fails.\n\nPrint up to 16 bytes of the data from the first difference.\n\nTest: m test-art-host-gtest-patchoat_test\nBug: 70918261\nChange-Id: Icd0247c3a745bfca0bc9745c8756452cd9b89feb\n"
    },
    {
      "commit": "283ad2dfa5610e098db4791c9aded3a05fb62c40",
      "tree": "6ebd362ad8e21e8a7c552fc9dae197f6d6f6d9ba",
      "parents": [
        "b2be0823115cfdd7907207e3dac9fcb669941811"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Mar 26 13:37:41 2018 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Apr 12 09:13:52 2018 +0100"
      },
      "message": "ART: Memory order updates to trace.{h,cc}\n\nAdds comments and DCHECKS to clarify memory semantics.\n\nRelaxes some atomic operations on Trace::cur_offset_ and makes its\ninitialization sequentially-consistent.\n\nAdds GUARDED_BY annotations to fields only accessed with the\nstreaming_lock_.\n\nBug: 31023171\nTest: art/test.py --host --stream -j32\nTest: art/test.py --host --trace -j32\nTest: art/test.py --target --stream -j4\nTest: art/test.py --target --trace -j4\nChange-Id: I31ad9a3861c7f258ed225207b3c2b39669ad8d36\n"
    },
    {
      "commit": "b38b862273df997fc7b9c4176e46d9e672fe082e",
      "tree": "6e30013c1c565ffca13b5055b4de1167a177d9a4",
      "parents": [
        "49720a09e33bce331f7231671c0795864bbac0b3",
        "db20a4b08389e73d4f74308644100e5e202fe2bc"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 12 03:00:34 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 12 03:00:34 2018 +0000"
      },
      "message": "Merge \"ART: Fix core image detection\""
    },
    {
      "commit": "db20a4b08389e73d4f74308644100e5e202fe2bc",
      "tree": "6e30013c1c565ffca13b5055b4de1167a177d9a4",
      "parents": [
        "49720a09e33bce331f7231671c0795864bbac0b3"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Apr 11 15:44:19 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 12 03:00:16 2018 +0000"
      },
      "message": "ART: Fix core image detection\n\nAccept any .art name starting with \"core-.\" Correctly detects\nimages with multiple dashes.\n\nBug: 64382372\nTest: mmma art\nTest: art/test/testrunner/testrunner.py -b --host\nTest: Device boots\nChange-Id: I6c8006411b0ec16225b137dd349d53d9bc0ac03d\n"
    },
    {
      "commit": "49720a09e33bce331f7231671c0795864bbac0b3",
      "tree": "19283c83c14c4f6cbf2c9ecc1793b12479169eb1",
      "parents": [
        "dc83dea435e059b7ff0969636d0a6bec689e60f6",
        "f5abfc42f0d986b9f8eb782d7e761f1a08784210"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 11 23:08:21 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 11 23:08:21 2018 +0000"
      },
      "message": "Merge \"Add stored class loader context option\""
    },
    {
      "commit": "2e0478a62e314ff4ce2334da7608543fa93e7c68",
      "tree": "871b75216bf0fd227fb17a0c738289edffaf0a82",
      "parents": [
        "dc83dea435e059b7ff0969636d0a6bec689e60f6"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 06 14:33:25 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 11 14:47:01 2018 -0700"
      },
      "message": "Add dexanalyze tool\n\nUsed to gather statistics about dex files.\n\nSample output:\nCumulative analysis for 240 DEX files\nNum string ids: 9809636\nNum method ids: 11334990\nNum field ids: 8281881\nNum type ids: 2291729\nNum class defs: 1604550\nSame class direct: 1577080\nOther class direct: 5114002\nSame class virtual: 2118445\nOther class virtual: 15998142\nSame class static: 693507\nOther class static: 6496367\nNum strings accessed from code: 5832974\nUnique(per class) method ids accessed from code: 15169103\nUnique(per class) string ids accessed from code: 4279695\nSame class invoke: 4389032\nOther class invoke: 27608511\nInvokes from code: 31997543\n\nBug: 77709234\nBug: 77721545\nTest: time dexanalyze -count-indices \u003cAPKS\u003e\nTest: mm test-art-host-gtest-dexanalyze_test -j64\nTest: mm test-art-target-gtest-dexanalyze_test -j64\n\nChange-Id: I3cd3fd10a9c540c7780942fc33f4eb4c7ff5d914\n"
    },
    {
      "commit": "5d2dbf8958857d139e5f7e06940b2f6b713bc522",
      "tree": "48fcb1b3177ba69988171adb8c10d99839958fbb",
      "parents": [
        "dc83dea435e059b7ff0969636d0a6bec689e60f6"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Apr 11 12:31:11 2018 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Apr 11 13:44:48 2018 -0700"
      },
      "message": "Fix build warnings for x86+arm targets\n\nThis likely doesn\u0027t fix all of the issues, but it at least removes the\npages of overriding command warnings for these configurations.\n\nTest: lunch aosp_x86_arm-eng; m nothing\nTest: build-aosp_arm.ninja is identical\nTest: build-aosp_arm64.ninja is identical\nChange-Id: Iacdfd56d098eec08cf588c98ca00c7c7e10c6261\n"
    }
  ],
  "next": "f5abfc42f0d986b9f8eb782d7e761f1a08784210"
}
