)]}'
{
  "log": [
    {
      "commit": "7f8678ec4d2abec1f540fb441be60604bec86b6e",
      "tree": "e36b4d32dfc47fcebadf0ee5c7e4d1e3d51412a6",
      "parents": [
        "84e5bb990d48263849bab132d80d753495bc7204"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Aug 30 16:22:28 2019 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Sep 06 18:40:59 2019 +0000"
      },
      "message": "Revert^2 \"Prevent overflow for AOT hotness counters\"\n\nFixed bug where sbc usage was incorrect. sbc does -1 + carry.\n\nTest: test/run-test --always-clean --runtime-option -Xcheck:jni --64 674-hotness-compiled\nTest: test/run-test --always-clean --runtime-option -Xcheck:jni 674-hotness-compiled\nBug: 139883463\n\nThis reverts commit 7ab07777b08db86dda2891f3e7ae15df8f25a599.\n\nChange-Id: I6f8ac0320592a94314386b04cdb0c7e0e6da6994\n"
    },
    {
      "commit": "84e5bb990d48263849bab132d80d753495bc7204",
      "tree": "4c14da40ad65b10759c81892849e69119fbdaf53",
      "parents": [
        "acb12378f91cc96183b999721d2875e504bb8762"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Sep 05 19:56:46 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 06 15:31:38 2019 +0000"
      },
      "message": "Rename some build variables and targets for the ART APEX.\n\nTest: m\nBug: 135753770\nChange-Id: I66273981013710500e5e57c0a3c40a5fdc61e3d0\n"
    },
    {
      "commit": "8ea9b3711a5cc6c2d9ec4fe1e57e8c36fc62bced",
      "tree": "77ec6a1b7c2864f8e05f4a35d92abf0689b6d837",
      "parents": [
        "9d4fb714d84031f136bd1d5f0b70d53e710e5abf"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Sep 04 15:52:41 2019 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Sep 04 23:02:16 2019 +0000"
      },
      "message": "Use j.l.ThreadGroup class directly for GetThreadGroupInfo\n\nWe were using the class of the input to GetThreadGroupInfo in some\nsituations. This could lead to us reading the wrong field or not\nfinding expected fields. Change to always directly use the\nj.l.ThreadGroup class from WellKnownClasses. Also use some handles in\nthis function.\n\nTest: ./test.py --host\nBug: 140521090\nChange-Id: I3560662718311ccc0fa9b906f178407350ce9960\n"
    },
    {
      "commit": "3e29e19c9ae2c1785cfff17ad67d4bde8abda2a5",
      "tree": "59630052122c3fcc4d2f9e4a88a8220b09595e49",
      "parents": [
        "da144b68f4b66ccb0c8d6e677372087be0d83889"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Sep 03 14:24:04 2019 +0100"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Sep 04 16:49:58 2019 +0000"
      },
      "message": "Switch testrunner.py to report times with monotonic clock\n\nBug: b/138868214\nTest: art/test/testrunner/testrunner.py --target --32 --jit --target \\\n   --verbose --ndebug -t 159 --timeout 10\nTest: art/test/testrunner/testrunner.py --target --32 --jit --target \\\n   --verbose --ndebug -t 159 --timeout 1\n\nChange-Id: I3f59154a08fd84699adfc6d774c4ec3fe2729b05\n"
    },
    {
      "commit": "da144b68f4b66ccb0c8d6e677372087be0d83889",
      "tree": "c3a40fc83dd3d9aa51795521b8cbd34405c4d630",
      "parents": [
        "358b49d2124dc8e45f492f0728028d37cfbfb979"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Sep 03 11:57:53 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 03 13:14:47 2019 +0000"
      },
      "message": "Address syntax warnings in testrunner.py\n\nBug: N/A\nTest: manual\nChange-Id: I293d33cad3d367511cbe04a27c6de65fe6cd9ec3\n"
    },
    {
      "commit": "d6be5da75294d29060440a10e77f5d3461ed8d74",
      "tree": "2a92b0c53c3b40ef36cb8a81c4326b323d63b80c",
      "parents": [
        "ad909af6c4be163bf2d5f4ca1e0487cc619a5041"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Jul 16 17:14:46 2019 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon Sep 02 10:28:27 2019 +0000"
      },
      "message": "Update references to the ART APEX for tests.\n\nTest: art/tools/buildbot-build.sh --host \u0026\u0026 art/test.py --host --64 --optimizing\nTest: art/tools/run-gtests.sh in chroot\nTest: art/test/testrunner/testrunner.py --target --64 in chroot\nTest: art/tools/run-libcore-tests.sh --mode\u003ddevice --variant\u003dX64 in chroot\nTest: art/tools/run-jdwp-tests.sh --mode\u003ddevice --variant\u003dX64 in chroot\nBug: 135753770\nChange-Id: I876c5a2931970d6a75c1812e0f87bc65ab7bde0f\nMerged-In: I876c5a2931970d6a75c1812e0f87bc65ab7bde0f\n"
    },
    {
      "commit": "a86a5d162e6b59a32e8ea7991e6c8a157aca5a0a",
      "tree": "438596ce2b406fcae4cbb7427f906c26ae5814c1",
      "parents": [
        "bf8a5d8f4b0c181f38bf0f5fa270cd65140d9ff2"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Aug 30 11:03:05 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 30 21:13:33 2019 +0000"
      },
      "message": "Prevent attempts to run impossible configurations.\n\nSome configurations, such as --regalloc_gc --prebuild are\nfundamentally incompatible and will always fail. Add support for\nspecifying a list of these impossible configurations and automatically\nskipping them.\n\nTest: ./test/testrunner/testrunner.py --host -t 001-HelloWorld --all-compiler --all-prebuild\nChange-Id: I54ddac3e5c762cd9209e788fe2ab7d6b863b286c\n"
    },
    {
      "commit": "bf8a5d8f4b0c181f38bf0f5fa270cd65140d9ff2",
      "tree": "98ef51eae1c870b83ca683a14583f2526adc18e9",
      "parents": [
        "ab5f4c17a86b8c808dba862db566f0ffa1146367"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Aug 30 10:17:22 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 30 21:13:33 2019 +0000"
      },
      "message": "Add --all-\u003ctype\u003e options to testrunner\n\nIt is sometimes useful to test all combinations of a subset of\noptions. This adds the ability to do so by using a \u0027--all-\u003ctype\u003e\u0027\noption that acts like passing in every flag of the given type. For\nexample passing `--all-gc` acts like passing `--gcstress --cms\n--gcverify`.\n\nTest: ./test/testrunner/testrunner.py --host --all-gc --all-compiler --host -t 001-HelloWorld\nChange-Id: I13662194b3ba9e2cd55d9ed2e2974d5f306d9b5c\n"
    },
    {
      "commit": "ab5f4c17a86b8c808dba862db566f0ffa1146367",
      "tree": "8f43f6a0581f8284009d9a235473667a7c94145e",
      "parents": [
        "c94b44dac8bcee13ae7eedd6fe541ddf6dfc424b"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Fri Aug 16 13:59:11 2019 +0100"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Fri Aug 30 15:38:34 2019 +0000"
      },
      "message": "Allow space characters in SimpleName for DEX format 040.\n\nWe allow both ASCII and Unicode spaces (everything in the Unicode category\n\u0027Zs\u0027). This includes characters:\n\n  0x20, 0xa0, 0x1680, 0x2000..0x200a, 0x202f, 0x205f, 0x3000\n\nRe-enabled DX building in ART tests, as we temporarily need DX for testcase\ngeneration (until D8 is updated to support spaces in SimpleName).\n\nBug: 137432016\nTest: 2029-spaces-in-SimpleName\nTest: art/test.py --host -r -t 2029-spaces-in-SimpleName\nChange-Id: I02f0207a3a291caeb6c3070cc48ea8c55c792199\n"
    },
    {
      "commit": "7ab07777b08db86dda2891f3e7ae15df8f25a599",
      "tree": "1b0b2fa585e49e4a7913c09d67794763197c6490",
      "parents": [
        "154445799432cb53d23cd011485132be07c39b5a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Aug 30 08:26:59 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Aug 30 08:57:20 2019 +0000"
      },
      "message": "Revert \"Prevent overflow for AOT hotness counters\"\n\nThis reverts commit 79e6eb8b79be6249358b7801bc511290dacf10d0.\n\nBug: 139883463\n\nReason for revert: 674-hotness-compiled fails on target.\n\nChange-Id: I02fce74d70a4ae69dd5b4ae3924aa11728d9e16f\n"
    },
    {
      "commit": "154445799432cb53d23cd011485132be07c39b5a",
      "tree": "80f75f575956685031c4f77249606d501867126f",
      "parents": [
        "775d38d8492ba8c60dba968064d6e0ac44e0b372"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Aug 30 09:44:59 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Aug 30 08:57:20 2019 +0000"
      },
      "message": "Use \"items\" instead of \"iteritems\".\n\nThe method got removed in python3.\n\nTest: 701-easy-div-rem\nBug: 140161314\nChange-Id: I840bb96a9d48ba1acf87af53d8d10f0abf2eac64\n"
    },
    {
      "commit": "775d38d8492ba8c60dba968064d6e0ac44e0b372",
      "tree": "dba772e1f12be33fe128cfaeda375654b74b3501",
      "parents": [
        "86459c058c387d76f96d6644e8ec9fb1aa7f165d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Aug 30 08:28:01 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Aug 30 08:57:20 2019 +0000"
      },
      "message": "Revert \"Fix profile saver hotness for AOT code\"\n\nThis reverts commit 4cb48c1bd359bee98a1a4c0cff475d76a3b5483a.\n\nBug: 139883463\n\nReason for revert: Test fails on target.\n\nChange-Id: I1b3a7aec961b212d92e457d52da6ab921044f491\n"
    },
    {
      "commit": "86459c058c387d76f96d6644e8ec9fb1aa7f165d",
      "tree": "410d3aabee49e72bbd78e1a1e795b50180577bc3",
      "parents": [
        "79e6eb8b79be6249358b7801bc511290dacf10d0"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Aug 29 14:01:18 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Aug 29 23:54:46 2019 +0000"
      },
      "message": "ART: Change Python code in run-test\n\nWe rely on Python\u0027s os.path.realpath as the \"nuclear option\" to\nresolve the temp directory. However, between Python 2 and Python 3,\nit is better not to use print.\n\nBug: 140161314\nTest: art/test/testrunner/testrunner.py -b --host -t 001-HelloWorld\nChange-Id: I38ad20d63b94e5bf816cb019f9f95cb2934e33dc\n"
    },
    {
      "commit": "79e6eb8b79be6249358b7801bc511290dacf10d0",
      "tree": "1a04d214dd6223423abd442d8d9b0b61a3db2336",
      "parents": [
        "bae88c0759d48acf29b58d960ad2665e3462dfda"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Aug 26 12:33:46 2019 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Aug 29 16:05:52 2019 +0000"
      },
      "message": "Prevent overflow for AOT hotness counters\n\nPrevious, the addition did not have a check for overflow and might wrap\naround since the counter is only 16 bits.\n\nModified the test to exercise this.\n\nThe slowdown from fixing the overflow is 2% average on golem arm32/64.\nOverall this brings the slowdown from the counter to ~15% from ~13%.\n\nThe benchmarks that regress the most are loopy ones that I would\nconsider non-representative. Code size increases by 0.6%.\n\nBug: 139883463\nTest: test/run-test --host --64 --prebuild 674-hotness-compiled\nTest: test/run-test --host --prebuild 674-hotness-compiled\nTest: test/run-test --64 --prebuild 674-hotness-compiled\nTest: test/run-test ---prebuild 674-hotness-compiled\n\nChange-Id: Icf0ab2aedbc40ab10c9d952ce0f9c7b5e5feaf15\n"
    },
    {
      "commit": "4e8e0a5a2a6b0404a5ecd118e647adcb50c464af",
      "tree": "c9d2578609ba1024610764c335239aa9ae62f591",
      "parents": [
        "0414e244c82ed5140b5a7626f935b548e8588195"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Aug 29 16:28:26 2019 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Aug 29 16:28:26 2019 +0100"
      },
      "message": "Fix vpython embedded specification\u0027s bookends in testrunner.py.\n\nTest: Rely on the ART Buildbot\nBug: 140161314\nChange-Id: I1b7279aebd83ec8d7c900d6b321e90d1c4533fe5\n"
    },
    {
      "commit": "8feeef6bf1425ca3b5f012b318ae0439984f24fc",
      "tree": "6e8ed3e0180a2575568132e927a9856a068b016d",
      "parents": [
        "4cb48c1bd359bee98a1a4c0cff475d76a3b5483a"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Aug 29 10:11:21 2019 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Aug 29 11:49:33 2019 +0000"
      },
      "message": "Add required vpython version tag to testrunner.py\n\nBug: 140161314\nTest: art/test/testrunner/testrunner.py -b --host -t 001-Main\nChange-Id: I0bbbebb502437c5f7254f1f8401c3a0c7052d961\n"
    },
    {
      "commit": "4cb48c1bd359bee98a1a4c0cff475d76a3b5483a",
      "tree": "f017f7d687f94c4bd2f895a434a46185c03f0063",
      "parents": [
        "49484076e86b75b3449e18cc6827bd0a94ef1300"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Aug 27 17:08:11 2019 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Aug 29 01:37:05 2019 +0000"
      },
      "message": "Fix profile saver hotness for AOT code\n\nIf the counter is larger than the warm threshold, mark the method as\nhot. This fixes a bug for profiling arleady compiled methods where\nthey would not be marked as hot no matter what the counter was.\n\nAlso removed unused functions, and reverted HasSeenMethod to verify\nthat the method is hot.\n\nBug: 139883463\nTest: test-art-host\n\nChange-Id: I243e528e9f06da7223eed9b91ad613d4f1ad9524\n"
    },
    {
      "commit": "49484076e86b75b3449e18cc6827bd0a94ef1300",
      "tree": "011c5cb0ee53a8037c2baf79529a8ed10f9632d3",
      "parents": [
        "e09b87eb8d8c063ddaee53a70b4bc8dbf61ff66c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 28 11:03:37 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 28 11:34:21 2019 -0700"
      },
      "message": "ART: Add testrunner diagnostics for b/140161314\n\nTry to give interpreter info on import failures.\n\nBug: 140161314\nTest: art/test/testrunner/testrunner.py -b --host -t 001-Main\nTest: manual (fake exception)\nChange-Id: I9d8fd9b0dd115b2625cbf52eb1c96be70f7b4d09\n"
    },
    {
      "commit": "6d0e3de6d7c64ad5af2665974475ef747cf7b313",
      "tree": "293fafc287a6eabb8251a0fb56fc64c936f9bbdb",
      "parents": [
        "85059deed7dcf86cbfe5f7e84003d1c14e3a0efe"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Fri Aug 23 16:12:58 2019 +0100"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Tue Aug 27 09:17:41 2019 +0000"
      },
      "message": "Typo fix in test/README.md.\n\nBuild target name should be \u0027test-art-host-gtest\u0027 instead of\n\u0027test-art-host-gtest\u0027.\n\nTest: ran `m test-art-host-gtest` and ensured it does the right thing.\nChange-Id: I4f230de748750d4406b0aa93cc803676b408760c\n"
    },
    {
      "commit": "1ec82e562a31fbd7383555b610743d85b7b4a7d4",
      "tree": "c3330952f350174d81b6afee476183d263ecd42d",
      "parents": [
        "52699518fa40739d0e69bc8e364b7a4569872845"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 02 17:41:04 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 26 11:01:33 2019 -0700"
      },
      "message": "ART: Properly kill timed-out test\n\nThe python documentation states that a subprocess should be killed\nand waited on after timeout.\n\nTest: m test-art-host\nTest: manual\nChange-Id: Icf6233e1f8999070d2554b115d35fb1c304b1303\n"
    },
    {
      "commit": "52699518fa40739d0e69bc8e364b7a4569872845",
      "tree": "3944cfed2dd7d2242ba67d28c22ce0c538f0f990",
      "parents": [
        "9ac8e4327bd732e4b3b9b8dc6a29560013338d21"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 02 17:27:47 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 26 11:01:14 2019 -0700"
      },
      "message": "ART: Take actual time on timeout in testrunner\n\nBug: 138868214\nTest: m test-art-host\nTest: manual\nChange-Id: I73bd4fd72550c86d24a48bf4a2290f25795171f1\n"
    },
    {
      "commit": "05b0086ea31f281d61fdecd99921328b2dbf9f21",
      "tree": "ccca77ed59f7abc177f6e15c6eaa5672d360151e",
      "parents": [
        "6e163a83257c40ec76ae808bbea56b63d48b9bd8"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Aug 14 17:47:23 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 16 21:46:04 2019 +0000"
      },
      "message": "Add support for running specific tests to run-gtests.sh.\n\nTest: art/tools/run-gtests.sh\nTest: art/tools/run-gtests.sh -h\nTest: art/tools/run-gtests.sh -j4\nTest: art/tools/run-gtests.sh /apex/com.android.art/bin/art/arm/instruction_set_features_test\nTest: art/tools/run-gtests.sh -j4 /apex/com.android.art/bin/art/arm/instruction_set_features_test\nChange-Id: Ie29819d27e2657e7c32c2b1f9ce830cbc136f2ed\n"
    },
    {
      "commit": "9ce340f829f836560278ecd078fbefcf19c9d629",
      "tree": "3327d6d7dd3c0ff86861cdab67791ee7c8dbe3b8",
      "parents": [
        "d4fc62c66328c0944348a314e3770b4f2b8006ce"
      ],
      "author": {
        "name": "xueliang.zhong",
        "email": "xueliang.zhong@linaro.org",
        "time": "Tue Jan 22 17:46:09 2019 +0000"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Aug 15 20:35:11 2019 +0000"
      },
      "message": "ARM64: toFloat() intrinsics with ARMv8 FP16.\n\nThis CL intrinsifies toFloat() method with ARMv8.2 FP16 instructions.\n\nThis CL depends on the android framework and libcore changes:\nmoving FP16 implementations into libcore.\n\nTested with local micro benchmark on Pixel 3, compared to original\nandroid.util.Half.toFloat() Java implementation, this intrinsic is\n50% faster.\n\nIn real-life case, the FP16 toFloat() intrinsic can help\naccelerate ColorLong ARGB decoding in Android framework.\n\nThis intrinsic implementation archieves bit-level compatibility with the\noriginal Java implementation android.util.Half.toFloat().\n\nTest: 580-fp16\nTest: art/test/testrunner/run_build_test_target.py -j80 art-test-javac\nTest: test-art-host, test-art-target\n\nChange-Id: I059c69747067b84f2c532465e32a1dcd3c25269f\n"
    },
    {
      "commit": "be53085e183be3edafdf03cac58624c87383e7e9",
      "tree": "7406d4ff01c6d01e82a9a5119e57968bd33fec1a",
      "parents": [
        "5a75277056c8d528b0f68b7dbbb11609d0c91528"
      ],
      "author": {
        "name": "Georgia Kouveli",
        "email": "georgia.kouveli@linaro.org",
        "time": "Thu Jan 17 10:46:41 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 14 08:20:56 2019 +0000"
      },
      "message": "ARM64: Improve BoundsCheck for constant inputs.\n\nThis is a port of 2dd053d to ARM64.\n\nOriginal author: Georgia Kouveli \u003cgeorgia.kouveli@linaro.org\u003e\nCommitted by: David Horstmann \u003cdavid.horstmann@linaro.org\u003e\n\nTest: test-art-target, test-art-host\nTest: 1960-checker-bounds-codegen\nTest: 449-checker-bce\n\nChange-Id: I6564e4d147a0f40665b37c604487159a9d9aeae5\n"
    },
    {
      "commit": "72d7e94d70923c5ff4cbe947117801583eae4672",
      "tree": "cde1932ed801dc7f388b56282d3e2bca000e428a",
      "parents": [
        "f1bb75abb38609d72648e03eefac7320b5e804b4"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jul 23 13:10:20 2019 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Aug 13 17:54:27 2019 +0000"
      },
      "message": "Add obsolete object event\n\nAdd an extension event to notify agents that an object is becoming\nobsolete. This is meant to be used by agents performing allocation\ntracking using the VMObjectAlloc event to let them know that an object\nreplacement is occurring. This event is only triggered by calls to\nJVMTI functions that create obsolete objects. Normal GC actions\n(including a moving compaction) will not cause this event to trigger.\n\nTest: ./test.py --host\nBug: 134162467\n\nChange-Id: If48b880814a751ba6c24c18d0ad116db4f8fdf64\n"
    },
    {
      "commit": "f1bb75abb38609d72648e03eefac7320b5e804b4",
      "tree": "bca31cca9f36ba117d7f7825a268b5fd76af638c",
      "parents": [
        "a67daeba97fb1a469cb5764a7ced0d03fc206a38"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Aug 12 15:03:55 2019 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Aug 13 12:30:43 2019 +0000"
      },
      "message": "Add some more documentation on ART run-tests and gtests.\n\nExtend `test/README.md` with some general information based on\nfrequently asked questions about ART Testing.\n\nTest: Render `test/README.md` as HTML and check the output manually\nChange-Id: I867ba2dfa7c2fb68cafc58dbd03d90b1fc5008a7\n"
    },
    {
      "commit": "bac080b0beec961671a7753c88780d8bf700fa40",
      "tree": "101965980dec12c1355077dd9699822211b265e4",
      "parents": [
        "44b977d9e2974cdbd8ef11f35919166dada92bda"
      ],
      "author": {
        "name": "Georgia Kouveli",
        "email": "georgia.kouveli@linaro.org",
        "time": "Thu Jan 31 16:12:16 2019 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 13 00:43:36 2019 +0000"
      },
      "message": "Loop vectorizer should not remove instructions that can throw\n\nInstructions that are not used outside of the inner loop were\ninadvertently being removed. Make sure this does not happen.\n\nOriginal author: Georgia Kouveli \u003cgeorgia.kouveli@linaro.org\u003e\nCommitted by: David Horstmann \u003cdavid.horstmann@linaro.org\u003e\n\nTest: 1961-checker-loop-vectorizer\nTest: test-art-target\n\nChange-Id: I3af9e861e75669457e5925dd1d655db784a55287\n"
    },
    {
      "commit": "759845ff57929e26bfe922b30c814cb58e886bc1",
      "tree": "91ed3883cbce398f08308e2cff119dea04eb21cb",
      "parents": [
        "77251f97137f6a9fd5e88b18b653d022996cd369"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Tue Aug 06 16:04:36 2019 +0100"
      },
      "committer": {
        "name": "vichang",
        "email": "vichang@google.com",
        "time": "Mon Aug 12 15:36:42 2019 +0000"
      },
      "message": "Separate ICU4J from core-libart\n\n- It adds the new core-icu4j into boot classpath\n\nBug: 138994281\nTest: CtsLibcoreTestCases\nChange-Id: I6e8d971f304fe9f4836fcd73818720ed83d38154\n"
    },
    {
      "commit": "e47933ab3091a002806a3718cc626d2f8d84b620",
      "tree": "831bc2de70109894250e7b51a6d962d235224344",
      "parents": [
        "411a6de63982d1e6ec16e11141725ff95cbdfab9"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Aug 09 14:06:02 2019 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Sun Aug 11 15:11:03 2019 +0000"
      },
      "message": "Replace more occurrences of `make` with `m` in ART.\n\nCalling `make` is no longer supported since\nhttps://android-review.googlesource.com/c/platform/build/+/1092954/.\n\nTest: n/a\nChange-Id: Ie2a0bcf7ea45b5ce82b471de31abb848a102c0ad\n"
    },
    {
      "commit": "fa595885339140c3507f26d93cdc6b99081e23c5",
      "tree": "19d6240afee048aa37a778f09996c6ecad5266a6",
      "parents": [
        "918e9af6a7259e7178ec10257f568a60e832a962"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Aug 06 17:40:09 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Aug 09 07:36:39 2019 +0000"
      },
      "message": "Fix setting/getting the native priority of a thread.\n\nBug: 138415922\nTest: 720-thread-priority\nChange-Id: I6e1f34fce3838b7904281be00f315e5b7ade0c78\n"
    },
    {
      "commit": "6461124331de7707f3b109cec38337d851be997e",
      "tree": "551fe08dc46d71f903244080f90df751d648adb5",
      "parents": [
        "3cb59a4e22bff5a06f5bcd1deb86e2580dd36de3"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Fri Jul 05 16:32:41 2019 +0100"
      },
      "committer": {
        "name": "vichang",
        "email": "vichang@google.com",
        "time": "Thu Aug 08 11:06:51 2019 +0000"
      },
      "message": "Remove icu .dat file from Runtime module\n\nBug: 137009149\nBug: 130295968\nTest: device boots\nTest: m out/target/common/obj/JAVA_LIBRARIES/ahat-test-dump_intermediates/test-dump.hprof\nTest: art/build/apex/runtests.sh fails due to bug 138103882\nTest: art/tools/buildbot-build.sh\nTest: m test-art-host-gtest\nChange-Id: I0501fd6dd02dac3cf9780f5f1c0103e4b0475e1f\n"
    },
    {
      "commit": "7cfc8f5b2a7c1af68de5f2e79652cf55954794dc",
      "tree": "bef388a5083ed2b9cf497cd6689489828f2ae13e",
      "parents": [
        "70b93ffca22d665db661a7f15f2f1b59dc60839a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 07 10:41:09 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 07 15:49:47 2019 +0000"
      },
      "message": "Don\u0027t compile OSR methods that have phi equivalents at loop entry.\n\nWe currently don\u0027t handle this in the stack map, where we only encode\none stack slot for a dex register.\n\nBug: 136698025\nTest: 721-osr\nChange-Id: Ib395ed1165387ad5446a463c307cc0a45e365885\n"
    },
    {
      "commit": "635967b5d16e25630276c23aa47daf52ec493ea1",
      "tree": "4f9cba20e58ae2997b4d693d4e1e76ccd684637f",
      "parents": [
        "8d5a215a7e879d8aa9c7d9d2791ed107ecc41f59"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 07 10:15:39 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 07 14:11:21 2019 +0000"
      },
      "message": "Remove \tmessage ART creates for \"throw null\".\n\nThe new version of R8 transforms:\n  throw new NullPointerException()\n\nInto:\n  throw null\n\nART used to create a message for the pattern \"throw null\", which is\nsomething that now breaks ObjectsTest.requireNonNull.\n\nTest: libcore.java.util.ObjectsTest#test_requireNonNull_T\nChange-Id: I142ddc74a9c0cfc76d2479eb92078b7a7d077b27\n"
    },
    {
      "commit": "8d5a215a7e879d8aa9c7d9d2791ed107ecc41f59",
      "tree": "65c0f2ca31665dee941681339aa51759eda92f08",
      "parents": [
        "118ce36aa0568842283fbe79772fd9de73ec9cd7"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jul 02 19:40:28 2019 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Aug 07 13:29:48 2019 +0000"
      },
      "message": "Build and install the Testing Runtime APEX in ART device testing.\n\nReplace the Debug Runtime APEX with the Testing Runtime APEX for ART\ndevice testing.\n\nThis change does not change the behavior of ART device testing per se,\nas test rules have not been updated (yet) to make use of the\nadditional files (ART gtests) included only in the Testing Runtime\nAPEX.\n\nTest: ART (chroot-based) device testing\nBug: 129534335\nChange-Id: I1b9dfcb9fe483584b4065908c1b2e24d19703b52\n"
    },
    {
      "commit": "38a062eb7390f07ee0a318517f71d9b56491a5f7",
      "tree": "67204f1fbc785b888f9d5718e31cf22de6b2d727",
      "parents": [
        "e80ecf31e0d58a90d6b2a1d65ec090c03abc86dc"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Aug 02 13:59:27 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Aug 05 19:27:58 2019 +0000"
      },
      "message": "Weaken 2 DCHECK()s in reflection.\n\nReflection can be used on classes that are being initialized\nrather than just classes that are already initialized as we\nwere previously asserting.\n\nTest: Additional tests in 100-reflect2.\nChange-Id: I072c28533e9248856b49fddb4bc46109448ee8a9\n"
    },
    {
      "commit": "d4d6fb50b5e1552c114529854e29c3af5c4eb9c1",
      "tree": "6734ee945ffceab400b2f763134d5014d22a73d3",
      "parents": [
        "f0b1de829bfa96d7d52a57bf5fb2d84b7657e141"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Aug 05 12:28:39 2019 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Aug 05 12:42:44 2019 +0100"
      },
      "message": "Set relative path to ART tests back to `art/$ISA` instead of `test/$ISA`.\n\nThis is to address run-test failures. Some of the test logic still\nrelies on finding test libraries under `/data/nativetest{,64}/art/$ISA`.\n\nThis change is a partial revert of 61f071630083775fe64d177455a056daa7071eca.\n\nTest: Run ART run-tests on device\nTest: art/build/apex/runtests.sh\nBug: 129534335\nChange-Id: I1ce241ff994bfbd789affdcccf360d6f8c62ce61\n"
    },
    {
      "commit": "f0b1de829bfa96d7d52a57bf5fb2d84b7657e141",
      "tree": "9d8d46ba8dd33fce50e5856e87ba3fc4f66b1ee6",
      "parents": [
        "6a0b657a1875b4fbb020b806169e2f73fcb2578b"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jul 02 19:25:58 2019 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Aug 02 14:51:00 2019 +0000"
      },
      "message": "Introduce Make variables for the various Runtime APEX names.\n\nTest: make systemimage (with user lunch target)\nTest: make systemimage (with userdebug/eng lunch target)\nTest: art/build/apex/runtests.sh\nBug: 129534335\nChange-Id: I69a06acc777acba17deb5e32061d1099ae82beaf\n"
    },
    {
      "commit": "6a0b657a1875b4fbb020b806169e2f73fcb2578b",
      "tree": "955bb0e3413e18f2b13b7fee7fa3e6e48a214597",
      "parents": [
        "61f071630083775fe64d177455a056daa7071eca"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Fri Jul 26 20:38:37 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Aug 02 13:31:43 2019 +0000"
      },
      "message": "ART: ARM64: Optimize frame size for SIMD graphs.\n\nFor SIMD graphs allocate 64 bit instead of 128 bit on stack for\neach FP register to be preserved by the callee in the frame entry\nas ABI suggests (currently 64-bit registers are preserved but\nmore space on stack is allocated).\n\nNote: slow paths still require spilling full 128-bit Q-Registers\nfor SIMD graphs due to register allocator restrictions.\n\nTest: test-art-target.\nChange-Id: Ie0b12e4b769158445f3d0f4562c70d4fb0ea7744\n"
    },
    {
      "commit": "61f071630083775fe64d177455a056daa7071eca",
      "tree": "4d8e610f3939ca23f588bcdffe66aa859ae1a3c5",
      "parents": [
        "81448a21dd3f2c4608496e6dc7a1f093dcccf1e0"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Jun 26 12:44:04 2019 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Aug 02 10:36:58 2019 +0000"
      },
      "message": "Introduce a Testing Runtime APEX (test) module including ART gtests.\n\nDefine a new flavor of the Runtime APEX, having the same contents\nas the Debug Runtime APEX plus ART gtests that have dependencies\non Runtime APEX internal libraries.\n\nPreviously, when these ART gtests were built and installed in\nthe data partition, they would depend on \"legacy\" ART internal\nlibraries being installed in the system partition (not the ones\nfrom the Runtime APEX). As we plan to remove these ART libraries\nfrom the system partition, we needed a way to be able to build\nand install device ART gtests without triggering the installation\nof these legacy ART internal libraries.\n\nThis Testing Runtime APEX is meant to be used for ART testing only,\nand should never be included in any product.\n\nThis change adds build rules for the Testing Runtime APEX (and\ncorresponding unit tests), but does not replace the Debug Runtime APEX\nfor device testing yet (this will be implemented in a follow-up\nchange).\n\nAlso rename `art_apex_test` module type as `art_apex_test_host`.\n\nTest: m com.android.runtime.testing\nTest: art/build/apex/runtests.sh\nTest: art/build/apex/art_apex_test.py\nBug: 129534335\nChange-Id: I8d70bdcf7c6253dd5bc8786a702f130d444c3cb6\n"
    },
    {
      "commit": "81448a21dd3f2c4608496e6dc7a1f093dcccf1e0",
      "tree": "0b2bd5a6b9254a30d349fa2e72699a647219e2dc",
      "parents": [
        "5d93b8848c02c10001719be50c910cf6b156d233"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Aug 01 14:29:53 2019 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Aug 02 09:35:12 2019 +0000"
      },
      "message": "Fix 638-checker-inline-cache-intrinsic\n\nFixes regression from CL/1092314\n\nTest: test.py -b -r -t 638 --host --ndebug\nChange-Id: I26397724a6cb7ee63d0e1536449f614ed36c14af\n"
    },
    {
      "commit": "5d93b8848c02c10001719be50c910cf6b156d233",
      "tree": "706193c729b2c317fd97bbd083fb9c70879fa04b",
      "parents": [
        "7c502740ba2b3b8560b8d02af276b010392de5bb"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Thu Aug 01 15:00:01 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Aug 02 08:22:33 2019 +0000"
      },
      "message": "ART: Improve the timings for 597-deopt-busy-loop.\n\nTweak the timings to have the deoptimization to happen\nin the SIMD loop SuspendCheck as intended (after the array size\nwas changed).\n\nTest: 597-deopt-busy-loop.\nChange-Id: Idc519b3e27d2398ab393b66ba555c089629388b1\n"
    },
    {
      "commit": "c14ec8facf0ea51e7531fa0acbed3410468b0356",
      "tree": "a70bc3cffcaf763e4951c96918bc6f8b25a472b3",
      "parents": [
        "147a911636402f2658ce60bd3ad62eb197b00f74"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jul 18 16:08:41 2019 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Aug 01 17:50:27 2019 +0000"
      },
      "message": "Add resize arrays JVMTI extension\n\nAs a prototype for more general object replacement functionality add a\nnew JVMTI extension that allows one to change the size of arrays. This\nextension is \u0027com.android.art.heap.change_array_size\u0027. As far as any\nJVMTI agent, JNI or Java Language code can observer this extension\natomically replaces every reference (strong and weak, global and\nlocal, etc.) with a newly allocated array with the same contents but a\ndifferent length. Internally a whole new array will be created then\nthe old array will have its contents (including lock-word) copied and\nall references to the old array will be replaced with the new array.\n\nTest: ./test.py --host\nBug: 134162467\n\nChange-Id: I92a0beabb02e0c92c8c8f9639836014ff1266878\n"
    },
    {
      "commit": "422a9ebc5b9d780a3201243f02b58652b44d9896",
      "tree": "4fcd6abe72d70358d7bf6235266ab685b61678a1",
      "parents": [
        "9f18fbc433bba51a5b81249989a8726558135528"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Aug 01 12:54:07 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Aug 01 16:54:29 2019 +0000"
      },
      "message": "Do not hold lock when making class visibly initialized.\n\nDoing so can lead to deadlocks.\n\nBug: 138561860\nBug: 36692143\nTest: New test 177-visibly-initialized-deadlock\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: aosp_taimen-userdebug boots.\nTest: run-gtests.sh\nTest: testrunner.py --target --optimizing\nChange-Id: I6195a4a5a7d865f90c529da684697b9a3e23ff30\n"
    },
    {
      "commit": "5a11036542fbd2c00de1896c0ae2477f655e8ed3",
      "tree": "d56a0f15d6aff998497d9e20710247897e92b99d",
      "parents": [
        "5443493f2b421127e60903aa2605ef61a75f262f"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 31 13:33:38 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 31 16:43:37 2019 +0000"
      },
      "message": "Remove obsolete `doThrow` pattern from some tests.\n\nAnd mark methods with $noinline$ instead if they were not\nmarked yet. Also exercise some test methods that were\npreviously unused, only CHECK-ed.\n\nTest: testrunner.py --host --optimizing -t 536 -t 567 -t 570\nChange-Id: I8d8e8c07f2e0002dccd665878b47c547c6a375a3\n"
    },
    {
      "commit": "5443493f2b421127e60903aa2605ef61a75f262f",
      "tree": "5cb21d6766bfdc1b3f54e9401b199afca7d7d74a",
      "parents": [
        "2182147af64ac462635d212473c3ffab400a7831"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 31 13:18:36 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 31 13:27:28 2019 +0100"
      },
      "message": "Reduce array size in test 597-deopt-busy-loop/SimdLoop.\n\nLet the test pass in GC-stress configurations.\n\nTest: testrunner.py --host --gcstress -t 597-deopt-busy-loop\nBug: 138601207\nChange-Id: I1f3ca293b17fcc94b437da6ff0b37f9ce1c64179\n"
    },
    {
      "commit": "2182147af64ac462635d212473c3ffab400a7831",
      "tree": "a529e9cc57c2b720f35f3a74407b8ec281e6c65d",
      "parents": [
        "e65ade70584728c544c8db5a4e0a729750813380"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Jul 29 15:10:31 2019 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Jul 31 09:40:18 2019 +0000"
      },
      "message": "Call Jit::MaybeCompileMethod less frequently.\n\nWe have added more logic into the method (and may still add more).\n\nTest: test.py -b --host --64 --jit\nChange-Id: I8198db36b42a63c9e4ebf88651bea0e1ae70d5ae\n"
    },
    {
      "commit": "e65ade70584728c544c8db5a4e0a729750813380",
      "tree": "bf25c31f699f29a54f0e7dc976ab73925b12aa61",
      "parents": [
        "9df37b9f0fc2046ceabeea0d0638ac286bfc0f37"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Thu Jul 25 21:04:16 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 31 08:16:27 2019 +0000"
      },
      "message": "ART: Disable vectorization for debuggable graphs.\n\nSuspendCheck environment is incorrectly initialized with\na stale version of the loop induction variable (a pre-loop one)\nfor vectorized loops. The value can be retrieved from a\ncorresponding stack maps only in case of asynchronous\ndeoptimization in debuggable mode. Thus this workaround forbids\nloop optimizations on debuggable graphs so the bug is never\ntriggered.\n\nTest: test-art-target, test-art-host.\nBug: 138601207\nChange-Id: Ica9f61f471c024146b7823214ef952e1db2a4663\n"
    },
    {
      "commit": "9df37b9f0fc2046ceabeea0d0638ac286bfc0f37",
      "tree": "7f1bf36d2373c6666c24f8a35509f929c7e16944",
      "parents": [
        "92fc2c0241590e475a2a37c9864633b88f97b280"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Tue Jul 23 16:41:54 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 31 08:16:27 2019 +0000"
      },
      "message": "ART: ARM64: Fix saved fpu stack offsets for SIMD.\n\nFix the bug when a wrong stack offset was recorded for a FP\nsaved in a SlowPathCode: this happened when graph had SIMD\nloops and some regular FP registers live across a slow path.\n\nTest: test-art-target, test-art-host.\n\nChange-Id: I08b32c9877fcd468dafa6027c156e544d730f1f7\n"
    },
    {
      "commit": "f3677471a58c2738a3d9dd05f07f01c18a5e61be",
      "tree": "21b4279c1077e051b84aad12da29240672f54913",
      "parents": [
        "f1468b53d0427a45011fe6446d189babe0acd6e0"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jun 26 16:31:53 2019 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jul 29 22:22:53 2019 +0000"
      },
      "message": "Add ability to switch to index ids late.\n\nIn order to support some debugging features we need to have JNI code\nmostly running with jmethodIDs and jfieldIDs as opaque indexes\ndisconnected from any underlying art data-structure pointers. For\nperformance though we want to continue to use data-structure pointers\nas these IDs when debugging is not needed. To support both\npossibilities this adds support for changing from a \u0027swapablePointer\u0027\nto either \u0027pointer\u0027 or \u0027indicies\u0027 regime at runtime.\n\nThe SwapablePointer regime still uses pointers as the ids but creates\nthe data-structures needed to ensure that we can (1) detect that the\nmethods have pointer-type IDs and (2) we can change some\nWellKnownClass internal IDs from one to the other.\n\nCurrently one must select this mode explicitly using\n\u0027-Xopaque-jni-ids:swapable\u0027. Depending on when the final jni-id-type\nis selected a small amount of extra memory is used. Currently manual\ntesting of turning the default id-type to swapable and changing to\npointer immediately after zygote-fork shows a additional 40-90 kb of\nshared zygote-heap memory.\n\nTest: ./test.py --host\nTest: m libfieldcounts; \\\n      ./tools/jvmti-agents/field-counts/count-fields.py \u0027Ljava/lang/Class;.extData:Ldalvik/system/ClassExt;\u0027 \u0027Ldalvik/system/ClassExt;.jmethodIDs:Ljava/lang/Object;\u0027 \u0027Ldalvik/system/ClassExt;.staticJfieldIDs:Ljava/lang/Object;\u0027 \u0027Ldalvik/system/ClassExt;.instanceJfieldIDs:Ljava/lang/Object;\u0027 -p `adb shell pidof com.android.deskclock`;\n      Examine output\nBug: 134162467\n\nChange-Id: I1885b10056d5dcc65dad5ae4f858ddc12ba79403\n"
    },
    {
      "commit": "450b27a534002f9bf1a940c2195688f673b2367d",
      "tree": "552f497f2e95a2d5b3cb2e950e7f96fb7f5941eb",
      "parents": [
        "bf12191214c0d6215a98dfe846a51230d995dad9"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Jul 24 14:06:56 2019 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jul 26 13:46:27 2019 +0000"
      },
      "message": "Add some documentation for ART chroot-based device testing.\n\nAdd a `README.chroot.md` Markdown file in the `test` directory\ndocumenting ART chroot-based device testing and containing\ninstructions on how to use it.\n\nThis is a starting point; there should be more documentation and\nautomation in the future.\n\nTest: Render `README.chroot.md` as HTML and check the output manually\nBug: 34729697\nBug: 130188425\nChange-Id: Iba868a521b920c7300e3c1232b3474e69fa79512\n"
    },
    {
      "commit": "9a8634a7bc4f69e6c89933f906ddd0a45dd05aa7",
      "tree": "b4a14c7c497bdca695a72441815729f0f38dd708",
      "parents": [
        "6e4deeaf452133fd03413c099b6e472778940fca"
      ],
      "author": {
        "name": "Christoffer Quist Adamsen",
        "email": "christofferqa@google.com",
        "time": "Fri Jul 19 13:49:14 2019 +0200"
      },
      "committer": {
        "name": "Christoffer Quist Adamsen",
        "email": "christofferqa@google.com",
        "time": "Sat Jul 20 12:15:22 2019 +0000"
      },
      "message": "Prevent redundant field load elimination in 593-checker-long-2-float-regression\n\nTest: art/test/testrunner/testrunner.py -b --host -t 593\nChange-Id: I4517d3df0bad3a93aa5cb4e38900e5bc16b784c3"
    },
    {
      "commit": "4345aacf582a5206976d5bed98ab4abd7b9a8c40",
      "tree": "594191df77d214fac994b63761ac25bba257bb40",
      "parents": [
        "6b689ceb63b4fffaf0e617f7d363c841dd29e458"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jul 17 15:51:54 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 19 17:07:13 2019 +0000"
      },
      "message": "Cleanup some usages of include_dirs\n\nThe include_dirs property causes problems when unbundling as they can\ndirectly reference directories inside the runtime module repositories\nwhich will break the unbundled build as those repositories will not be\npresent. While these usages do not cause problems as they are\nreferences within the runtime module repository they need removing so\nthat the build can enforce no usage of runtime module repository paths\nin the include_dirs property.\n\nThis change:\n* Replaces include_dirs with local_include_dirs where possible.\n* Uses libnativehelper provided header libs, this is possible as they\n  have been updated to build against the NDK.\n* Adds headers for disassembler, libdexfile\n* Makes libart_runtime_headers build against NDK.\n\nTest: m checkbuild\nBug: 134379140\nChange-Id: Iaf065caf4b6a2fcf252f6d5da8fff5be97a242ea\n"
    },
    {
      "commit": "22940241f945710613c2657f9d6161302bed935d",
      "tree": "e85c8b7c73fa8b7964faf1a0d39a77a095c7c8e3",
      "parents": [
        "0c2c222733f3bb1dc9848f4f127a47046fda6221"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 18 12:53:03 2019 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 18 13:04:00 2019 -0700"
      },
      "message": "Disable test 660 for debuggable\n\nDebuggable prevents AOT initialization of classes.\n\nBug: 70735003\nTest: test/testrunner/run_build_test_target.py -j50 art-jit\n\nChange-Id: Iec862c287499ffc68e0ea65a9ca05dbc4bc79316\n"
    },
    {
      "commit": "0c2c222733f3bb1dc9848f4f127a47046fda6221",
      "tree": "bf46d1a9d1bf38dcbd01947b5ffcc28e659fbdef",
      "parents": [
        "1a225a76ee6bc29833aee048b6cfae20242bdc8b"
      ],
      "author": {
        "name": "Chang Xing",
        "email": "chxing@google.com",
        "time": "Fri Aug 04 14:36:17 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 18 17:13:59 2019 +0000"
      },
      "message": "Revert^2 \"Support clinit for app image during compilation\"\n\nAdd some spot fixes for app image class initialization and re-enable\ntest 660 features.\n\nBug: 70735003\nTest: test-art-host\n\nThis reverts commit abadf024efdc632f663d7fb503cd277b3f65fca2.\n\nChange-Id: Id16fd3ada3eb1bd57ea60c3cdc4a0cf9835950d7\n"
    },
    {
      "commit": "b5204f4216557b1f7bfd72be1fd49ec9d0960ecb",
      "tree": "95ca743a14876cda3e8e185ef4613220aba196ce",
      "parents": [
        "4bd5234a05db801892ce28ea0504aebb46d06a25"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jun 25 12:39:15 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 16 22:13:40 2019 +0000"
      },
      "message": "ART: Add interface class join heuristic\n\nDo not treat interfaces as regular classes. This will always\nlead to a join of java.lang.Object, rejecting semantically\nvalid programs.\n\nWe want to retain IMT dispatch, forcing us to verify interface\nassigment. In the absence of set types, the result is ambiguous\nand not well defined. In a best effort, attempt to find a joint\ninterface by walking the interface tables of the join arguments\nbackwards.\n\nIn the case of two non-interface classes, we still prefer the\nclass hierarchy.\n\nBug: 69826014\nTest: m test-art-host-gtest-reg_type_test\nChange-Id: I7e0086f045e5bb2a7c3ee3464de45fc5b02f4d3f\n"
    },
    {
      "commit": "d70a97c6d4a0954bed8991bd89a93bd3da9476f6",
      "tree": "82612bad0122b0083113edc4702dc3bad4168157",
      "parents": [
        "2808be84a8f86542450670acdb5e6b55498ff5f0"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 01 14:00:05 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 15 17:30:05 2019 +0000"
      },
      "message": "ART: Monitor-stack merging should not be handled as throwing\n\nMismatched stacks and other issues on merging register lines should\nnot be handled as a pending runtime exception. Actual exceptions\nwill be thrown at monitor-enter/exit and return sites. Both are\nalready covered: the former by being annotated kThrow, the latter\nby explicit checks for the stack (and end of control flow).\n\nThus, Fail() with pending_exc set to false in register line merging.\nThis still triggers lock verification at runtime.\n\nBug: 121245951\nTest: m test-art-host\nChange-Id: I06acca2920110e3de2a2bed7bae6695788f77449\n"
    },
    {
      "commit": "2808be84a8f86542450670acdb5e6b55498ff5f0",
      "tree": "f41b63e3109a6a6a9bd534f32b8d92f20eb9ef35",
      "parents": [
        "460f05480379d5c75555d06c4938bc990ce6ff83"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Thu Dec 20 19:15:11 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 15 09:30:36 2019 +0000"
      },
      "message": "ART: Introduce stackmap with no DexRegInfo.\n\nSome of safepoints don\u0027t need to have DexRegisterMap info;\nthis will decrease the stackmap size.\n\n.oat file size reduction:\n - boot.oat:           -233 kb (-5.4%)\n - boot-framework.oat: -704 kb (-4.9%)\n\nTest: 461-get-reference-vreg, 466-get-live-vreg.\nTest: 543-env-long-ref, 616-cha*.\nTest: test-art-target, +gc-stress.\n\nChange-Id: Idbad355770e30a30dcf14127642e03ee666878b8\n"
    },
    {
      "commit": "7409b9fb679d982b4a3c790fc9711f81d68ffca3",
      "tree": "e4432b275fabb2e0e8c837e9f8f5c74f34eb2ea7",
      "parents": [
        "ef1178a0920d6f8278a07c619af552e7f20b0255"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 08 09:29:52 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jul 12 17:23:51 2019 +0000"
      },
      "message": "ART: Collect test times in testrunner\n\nIn verbose mode, display test time.\n\nTest: art/test/testrunner/testrunner.py -b --host -v -t 001-HelloWorld\nChange-Id: I37c251dd005257c9173e5cb214fbf996654dab83\n"
    },
    {
      "commit": "bb5b4f35e7d4cfddb9aedb4f2ea35b017650cd58",
      "tree": "c62934250a5e74f1d194eeefa9bc8c7c9ee03131",
      "parents": [
        "4a30f89d65efa9b85c34bbd7aa23ea4cd38b920d"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jul 09 02:31:48 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 10 15:54:45 2019 +0000"
      },
      "message": "Revert \"Disable opaque JNI Ids for now.\"\n\nWe were incorrectly using a potentially out-of-date pointer to access\nclass object fields. This could cause segvs if the class object moves\nduring certain allocations relating to JNI id allocation.\n\nThis reverts commit 1be9c72dd49e7620dd76a8b9cef23d7cde0a6b01.\n\nReason for revert: Fixed issue with gcstress\nTest: ./test.py --host --debuggable --gcstress\nBug: 134162467\n\nChange-Id: I6ee7fc4485bbae6f0f1d4f4af0e8c2bc88bf4075\n"
    },
    {
      "commit": "11410de860d4e6bd6d3cc90aa604575430882302",
      "tree": "95ad8586ef841a3a5750c24a7780b58bf12cac3c",
      "parents": [
        "8d6651d8cc83d028cefc24153f4543a82dea4574"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 02 15:53:53 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 08 19:36:16 2019 +0000"
      },
      "message": "ART: Refactor run-test run_args\n\nUse an array instead of a string. This makes it easier to handle\nparameters with spaces.\n\nTest: art/test/testrunner/testrunner.py -b --host\nTest: art/run-test --host --invoke-with \"perf record -g -F 9999\" 001-HelloWorld\nChange-Id: Ic405c0f35aad4a9e36f9cb3b76fb307dadf7e732\n"
    },
    {
      "commit": "6623594e6c65035c3096c8edcbf6374d22f6d4e0",
      "tree": "cd3f6eaf7138994e8176f6ce0456b840087e615e",
      "parents": [
        "2cd9437e7067968400fe6f703a078b798b320693"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jun 03 16:05:17 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 08 08:43:52 2019 +0000"
      },
      "message": "Set image base address after the boot image.\n\nAnd restrict --base\u003d to boot image compilation.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host\nTest: aosp_taimen-userdebug boots.\nChange-Id: Ie94476ce421eb33d92405e543b2a83ebe0bbfaef\n"
    },
    {
      "commit": "d17eac6b037f67494e31671d1a1d9d233ba3f237",
      "tree": "75a285db021569d1f10c800ed185144ad457cefb",
      "parents": [
        "e81f10a3f672a8bcc421cab812e6435749181566"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jul 03 17:39:12 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 05 09:28:56 2019 +0000"
      },
      "message": "Fix for 689-zygote-jit-deopt on kernels before 3.11rc2\n\nNo JIT for zygote if cache flushes can signal faults. JIT for zygote\nneeds dual code mappings by design and the old kernel behaviour is\nincompatible with this. The new test 689-zygote-jit-deopt was running\nup against this issue on Nexus 6P test devices.\n\nTest: art/test/testrunner/testrunner.py --target --64 -t 689\nBug: 136584457\nChange-Id: Ibdafca270962d9e4a22ce1d9ba04f15771144899\n"
    },
    {
      "commit": "1a6f9fcce199f437a5945dfe0163188b923adb28",
      "tree": "a676d94336d22b635048ba24ba08f6df2aa041f8",
      "parents": [
        "0c89d573058f7f33a4e5bfd3ef0acd2832ea39ba"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 02 14:59:00 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 03 18:34:17 2019 +0000"
      },
      "message": "ART: Dump more env vars in run-test-jar\n\nAdd new and important environment variables.\n\nTest: manual\nChange-Id: I6a5b85a7b2672e76f94797bc5ce64036759e28ac\n"
    },
    {
      "commit": "8c344524e5251535e49cbe8e68ab5dc1cd7d1591",
      "tree": "0f3f6b3f7edde0f4ba42af9ec3ecd7a6f656ad8f",
      "parents": [
        "1aff1efe67be9238792704c6758028d12239e337"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 03 13:25:21 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 03 13:25:21 2019 +0100"
      },
      "message": "Add 689-zygote-jit-deopt as knownfailure while investigating.\n\nBug: 136584457\nChange-Id: I0c571dbf318f34720cac64b33a298d87e417e7e1\n"
    },
    {
      "commit": "af213ccb19231a4f46340bf8a791b4f498b8bda4",
      "tree": "f668938f3f225e27ffd6b75993e2d8ddf65ae148",
      "parents": [
        "0cc6a825b14893d0d23311d7d708087794675e77"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 01 10:50:55 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jul 02 12:50:41 2019 +0000"
      },
      "message": "Fix ClearEntryPointsInZygoteExecSpace.\n\nMethods allocated in the shared region now don\u0027t have a profiling\ninfo.\n\nAlso move test 689-zygote-jit-deopt to now use proper ZygoteHooks APIs\nto fork from zygote, and have non-bionic build create a shared region.\n\nTest: 689-zygote-jit-deopt\nBug: 119800099\nChange-Id: I400618673a0b5b2ba7389e46d692ea6a58dbeea8\n"
    },
    {
      "commit": "1be9c72dd49e7620dd76a8b9cef23d7cde0a6b01",
      "tree": "28c508dde96a47fa976d06f2b4b3ba08cb02925b",
      "parents": [
        "3768276ab9ec3ede28ac27c97dd42518b0e2dcd9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 01 09:49:38 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 01 09:49:38 2019 +0100"
      },
      "message": "Disable opaque JNI Ids for now.\n\nThey fail on gcstress.\nTest: test.py --debuggable --gcstress\nBug: 134162467\n\nChange-Id: If57dd2fe6b57abd92b6a67383eeb8f8d5d8e3b2e\n"
    },
    {
      "commit": "79d6c800cd8aa1da335ea0523c391852780ac02a",
      "tree": "a77faf41d7b658709113c72d7eaaaa1ce2ded6b5",
      "parents": [
        "01fbfbebceb00b94cc54738ebf425b6c4a79211a"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jun 27 15:50:11 2019 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 28 14:58:17 2019 +0000"
      },
      "message": "Revert^2 \"Support using opaque JNI ids\"\n\nWe weren\u0027t handing the fact that encoding jmethodIDs could cause OOM\nexceptions in some places in reflection.cc. This could lead to\nattempting to use a null jmethodID as if it were a real id. This issue\nis fixed by the parent CL.\n\nThis reverts commit b476a29a2c.\nThis reverts commit 3b2905366c.\nThis Unreverts commit d5d645ffec.\nThis Unreverts commit 21d5994583.\n\nReason for revert: Fixed issue causing 004 debuggable flakes\nTest: ./test.py --host --jit --debuggable\nBug: 134162467\n\nChange-Id: Iece08ab299cd8a20f8382be7be6c3796858e70eb\n"
    },
    {
      "commit": "673bd509ae61a06175796adc5e6599b7312209bb",
      "tree": "2a6ee7dcc6d592f3bc83410a4715d9253c9d2984",
      "parents": [
        "ee1f1264314303829f6dca288781ed114c65dd93"
      ],
      "author": {
        "name": "anuvarsh",
        "email": "anuvarshini.bc@intel.com",
        "time": "Thu Jun 27 16:44:11 2019 +0530"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 27 14:53:40 2019 +0000"
      },
      "message": "Tests for Load Hoist Store Sink\n\nTest: ./test.py --host\n\nChange-Id: I08032ae8f992b6312dbb6a82b300a48c94f54401\nSigned-off-by: anuvarsh \u003canuvarshini.bc@intel.com\u003e\n"
    },
    {
      "commit": "ee1f1264314303829f6dca288781ed114c65dd93",
      "tree": "ac042304d0cb4b978d1532cad704e8604236a897",
      "parents": [
        "da5e041d8cbd714e791974dbdd876c23141801cb"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jun 26 14:37:17 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jun 27 14:37:54 2019 +0000"
      },
      "message": "Fix search for implicit null check.\n\nThere are additional instructions that can be emitted at use\nsite for x86/x86-64, such as ArrayLength, and the implicit\nnull check may therefore be emitted later than at the next\ninstruction. Search for the implicit null check until we\nreach an instruction that\u0027s not emitted at use site.\n\nThis also reverts the blacklisting of the test, i.e.\n    commit 5be5260cfec2fc0a8c21ef1a08e7144523a8bfcd.\n\nTest: testrunner.py --host \\\n      --jit-on-first-use --debuggable -t 122-npe\nTest: testrunner.py --host \\\n      --optimizing --jit --jit-on-first-use \\\n      --debuggable --ndebuggable\nBug: 136021898\nChange-Id: I768f55d8c8975dbd0376802c10ca8508df3fe3b0\n"
    },
    {
      "commit": "b476a29a2cda22b86fc1d96e4cc65ce36fb878af",
      "tree": "039eaee2edf5495275088d1c467e522977c6bcd6",
      "parents": [
        "3b2905366c6ee1eaba2d6477078e505e377343ec"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 27 07:54:48 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 27 08:16:04 2019 +0000"
      },
      "message": "Revert \"Support using opaque JNI ids\"\n\nThis reverts commit 21d5994583c679cd5d8573b5d35dbd659bdca2c7.\n\nBug: 134162467\n\nReason for revert: Breaks debuggable\n\nChange-Id: I9510a6ac208d392ff25ee196a1a519fecd151445\n"
    },
    {
      "commit": "21d5994583c679cd5d8573b5d35dbd659bdca2c7",
      "tree": "521906398a2f04048cc51b4f409b6a3ebc0c6ffa",
      "parents": [
        "5dfbe7ae9ed9a1a82446d32118190105a211a2d2"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jun 19 12:58:22 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 26 20:22:39 2019 +0000"
      },
      "message": "Support using opaque JNI ids\n\nCurrently JNI ids (jmethodID \u0026  jfieldID) are created by simply\ncasting the corresponding ART structure pointer. This is great for\nsimplicity but means we are prevented from performing operations that\ncould change these pointer values. To support these use-cases add\nsupport for loading the runtime with a layer of indirection between\nthese ids and the internal art data types.\n\nCurrently the JNI id type can be toggled only by passing the new\n\u0027-Xopaque-jni-ids:{true,false}\u0027 flag during startup.\n\nThis changes the --debuggable test configuration to pass\n\u0027-Xopaque-jni-ids:true\u0027 in order to get test coverage of this feature\nusing the \u0027art-jit\u0027 configuration.\n\nTest: ./test.py --host --debuggable\nTest: ./test.py --host --debuggable --jit-on-first-use\nTest: ./test/testrunnner/run_build_test_target.py art-jit\nBug: 134162467\nChange-Id: Id8c8cb9a5b8ff18dc2f40892fae2d344a7214f44\n"
    },
    {
      "commit": "03625446dd614ce9262015caca89161b50e2812d",
      "tree": "7d095f411af6787258f24483825b7b929d6aa2ef",
      "parents": [
        "9b41e9514daed1f7f17edf0af20aeb5f33485b74"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 24 17:29:23 2019 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jun 26 15:51:09 2019 +0000"
      },
      "message": "Add a stress test for notifyStartupCompleted\n\nCall notifyStartupCompleted to stress test the freeing logic for\nrace conditions. This is done while dex files and app images are\nbeing loaded from another thread.\n\nTest: test/run-test --host 1002\nBug: 135486422\n\nChange-Id: I138586d83db7bc2f8d75f223170f9bf4af5e71eb\n"
    },
    {
      "commit": "41249cd548d60d72b94532b00a261332451fd6f2",
      "tree": "454392f0835f3fdd193a523d5c36f6f8fff30800",
      "parents": [
        "5be5260cfec2fc0a8c21ef1a08e7144523a8bfcd"
      ],
      "author": {
        "name": "anuvarsh",
        "email": "anuvarshini.bc@intel.com",
        "time": "Mon Jun 24 17:45:36 2019 +0530"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 26 08:20:48 2019 +0000"
      },
      "message": "Tests for Invariant Loops\n\nTest: ./test.py --host\n\nChange-Id: I6c2631af2c62a41b1811f646804d395bb0cefa35\nSigned-off-by: anuvarsh \u003canuvarshini.bc@intel.com\u003e\n"
    },
    {
      "commit": "5be5260cfec2fc0a8c21ef1a08e7144523a8bfcd",
      "tree": "ec182cc36841e8cedb49416675a75cd4ed0822de",
      "parents": [
        "1e52a07b4de0f000028e55c332aa46495f60879c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jun 25 13:21:48 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 26 06:02:23 2019 +0000"
      },
      "message": "Add 122-npe to knownfailures on debuggable jit-on-first-use\n\nThe test fails due to `Unexpected vreg location Kind\u003c-1\u003e` for unknown\nreasons.\n\nTest: ./test/testrunner/testrunner.py --host \\\n                                      --jit --jit-on-first-use \\\n                                      --debuggable --ndebuggable \\\n                                      -t 122\nBug: 136021898\nChange-Id: I52e14d800767885543ebd026e0c77b53a098f8f1\n"
    },
    {
      "commit": "1e52a07b4de0f000028e55c332aa46495f60879c",
      "tree": "1eb7dfdce749461c5a8997cbde49ed6d0fea2aa0",
      "parents": [
        "e0ce8bf743b7fc5816bc4045716d75378ce3b654"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jun 25 09:12:04 2019 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jun 25 16:25:13 2019 +0000"
      },
      "message": "Correct Indicies -\u003e Indices\n\nThis is a misspelling that is somewhat common in art/.\nFix up all the instances I could find.\n\nTest: ./test.py --host\nChange-Id: I0a5def6e4126cf4e61efb0619bd59eb45ba7f324\n"
    },
    {
      "commit": "04968fafaca9288f0660617366318082a7f5cbf1",
      "tree": "8a02553dd737d9deaa6466a98456e3746f3c0c88",
      "parents": [
        "7d94aa16f9a3d0368b931eecd24fbfd2724ba21d"
      ],
      "author": {
        "name": "anuvarsh",
        "email": "anuvarshini.bc@intel.com",
        "time": "Tue Jun 11 14:38:51 2019 +0530"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jun 25 13:22:38 2019 +0000"
      },
      "message": "Tests for Inlining Optimization\n\nTest: ./test.py --host\n\nChange-Id: I382dcb4501e0b4ce3dc9a2a0b19736ca2213cc21\nSigned-off-by: anuvarsh \u003canuvarshini.bc@intel.com\u003e\n"
    },
    {
      "commit": "72f6774bf65222b7c93c3e4d706938635cacf050",
      "tree": "e121e3ce1f5b0e5215b7054fb8689e8e4ceded45",
      "parents": [
        "2c029f35eebe7d8b0d00979342d64b2f2dad5a94"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Mar 06 15:48:08 2019 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Jun 24 13:13:42 2019 +0000"
      },
      "message": "Use flattened Runtime APEX contents in ART chroot-based device testing.\n\nCopy the contents of the flattened Debug Runtime Module\ndirectory (`/system/apex/com.android.runtime.debug`) to\n`/apex/com.android.runtime` within the chroot directory on the device.\n\nAvoid generating artifacts that are not expected in the `system`\ndirectory (`TARGET_OUT`) of a \"normal\" build.\n\nAdjust the chroot environment to have it use the system linker\nconfiguration of the built target (\"guest system\") and the linker\nconfiguration of the Runtime APEX, even if the linker configuration\nflavor of the \"guest system\" (e.g. legacy configuration) does not\nmatch the one of the \"host system\" (e.g. full-VNDK configuration).\nThis is done by renaming the configuration file provided by the \"guest\nsystem\" (created according to the build target configuration) within\nthe chroot environment, using the name of the configuration file\nexpected by the linker (governed by system properties of the \"host\nsystem\").\n\nTest: ART chroot-based on-device testing using the master-art branch\nTest: ART chroot-based on-device testing using the master branch (with\n      `TARGET_FLATTEN_APEX` set to `true` before building).\nBug: 124425036\nBug: 121117762\nChange-Id: Ied3f6ee8b2d68c3473fab864d1bbed9e88df59d3\n"
    },
    {
      "commit": "2c029f35eebe7d8b0d00979342d64b2f2dad5a94",
      "tree": "2c4e37ad1158ccdbbf9e5761ed239332ed1adba2",
      "parents": [
        "fd4a79c5660a315e30ac1999a0f57fa1dd79e510"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jun 21 14:26:30 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jun 24 09:50:20 2019 +0000"
      },
      "message": "Consolidate SAD tests.\n\nAnd rename SIMD SAD test classes to differentiate them.\n\nTest: testrunner.py --host --optimizing -t 660\nTest: testrunner.py --target --optimizing -t 660\nChange-Id: I93f88b835bc8bc868e7de1c3159c630b4838b434\n"
    },
    {
      "commit": "e8ad48f7ecc8cbc6b9e4e704b0c4345354473db0",
      "tree": "7d06c3e63b8905b1f6691f855dcb6e82f21f1ed9",
      "parents": [
        "d935af9786dc3de5bf01a7705b94a7950569732e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jun 20 16:47:37 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jun 21 08:38:58 2019 +0000"
      },
      "message": "Consolidate SIMD SAD tests.\n\nTest: testrunner.py --host --optimizing -t 660\nTest: testrunner.py --target --optimizing -t 660\nChange-Id: Ie98d7900e5ff2f3ba3a9af22dc27ce8b210ace29\n"
    },
    {
      "commit": "d935af9786dc3de5bf01a7705b94a7950569732e",
      "tree": "04f9a6c08943b52e9a1014b96aadaf739264820e",
      "parents": [
        "6390c90291b160af0c1febf303c6afe58d56134a"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jun 20 14:32:54 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jun 21 08:38:58 2019 +0000"
      },
      "message": "Consolidate SIMD hadd tests.\n\nTest: testrunner.py --host --optimizing -t 646\nTest: testrunner.py --target --optimizing -t 646\nChange-Id: Id9ffbdaf15d1a664b3b0671220dff17f2e98c3ed\n"
    },
    {
      "commit": "6390c90291b160af0c1febf303c6afe58d56134a",
      "tree": "64cae504f98c17cce2b6ee5cce8987e7ed9e579c",
      "parents": [
        "64b56033c5c396937d52497b3f7e41b6f0f56afb"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jun 20 14:26:33 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jun 21 08:38:58 2019 +0000"
      },
      "message": "Consolidate SIMD tests.\n\nTest: testrunner.py --host --optimizing -t 640\nTest: testrunner.py --target --optimizing -t 640\nChange-Id: Ia23f300a75d5357784c0c70f8df6a7be2d690f9d\n"
    },
    {
      "commit": "9d3b5ec3bf76855ccb3e01abad41f1fa9e305ade",
      "tree": "95f586f42e1213b7803c3551ada7b43567cf0226",
      "parents": [
        "34f3179392241ae54302d63e3fdd19fa3b448f87"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jun 20 09:47:01 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 20 19:39:24 2019 +0000"
      },
      "message": "Refactor 904 for safety\n\nSome functions that could potentially cause allocations were being\nperformed during the ObjectAllocated callback in test 904. If these\nallocations occurred the test could enter an infinite loop until it\nstack-overflows in native code.\n\nTo prevent this we move all potentially allocation causing code (such\nas calling java methods and getting jmethodIDs) out to the\ngetTrackingEventMessages function.\n\nTest: ./test.py --host\nChange-Id: Iccd2bea90ef037cc2fc496f46690770cfa2d00f7\n"
    },
    {
      "commit": "34f3179392241ae54302d63e3fdd19fa3b448f87",
      "tree": "4205b9714b8b81da7e0660d510f86e42a4947aaa",
      "parents": [
        "9b7f8b5e6dd3af8ce105ef40aedd2fbbc83b419a"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jun 20 08:43:45 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 20 19:00:16 2019 +0000"
      },
      "message": "Limit test 1941 to 100000 iterations\n\nThe test could take longer than the overall test timeout on some\ndevices due to scheduler issues. Limit the number of iterations to\nenable us to continue running the test.\n\nTest: ./test.py --host\nBug: 133767752\nChange-Id: I205cbdfa0ce623806fa597fd42a8cb9496358593\n"
    },
    {
      "commit": "4cd5411c1e8332d3fc33869a87e61ed78052679d",
      "tree": "e232497614fef8b0892710492eb51ab6f6fdf315",
      "parents": [
        "b11d521ed04d411aad61e5d5d7e4f81edfe49542"
      ],
      "author": {
        "name": "anuvarsh",
        "email": "anuvarshini.bc@intel.com",
        "time": "Mon Jun 10 14:53:42 2019 +0530"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jun 19 07:02:38 2019 +0000"
      },
      "message": "Test for loop optimization\n\nThis test case tests whether constant calculation is sunk\nof the loop\n\nTest: ./test.py --host\nChange-Id: I33ad79d21515e69bd469f6b18dd77dd515614713\nSigned-off-by: anuvarsh \u003canuvarshini.bc@intel.com\u003e\n"
    },
    {
      "commit": "90b3457f9c64efba370c51b216dabb164a40b1ff",
      "tree": "edf97bc304fc96e34f9f0bc353e89b6e5aa8cd85",
      "parents": [
        "024d69fb9936ca5a0031d35c9f248853cbc25d3f"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jun 14 15:23:15 2019 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Jun 17 14:23:57 2019 +0000"
      },
      "message": "Handle `--android-tzdata-root` in `test/run-test`.\n\nThis was missing from previous CLs and prevented\n`test/testrunner/testrunner.py` from passing a custom TZ data root to\nART run-tests (via `test/etc/run-test-jar`).\n\nTest: Set `ART_TEST_ANDROID_TZDATA_ROOT` to \"/system/etc/tzdata_module\"\n      and run ART run-tests using `art/test/testrunner/testrunner.py` on\n      device within the chroot environment.\nBug: b/132169989\nBug: b/121117762\nBug: b/119293618\n\nChange-Id: Ia669af6e6fc6c2c8fa57e557fc3a90065166d1ac\n"
    },
    {
      "commit": "43ae4acf219fe25a56e2055ebcebc4d08020a25d",
      "tree": "47b5fbb84c96d3b5cd869339ceb7dbcc955ab52e",
      "parents": [
        "5212552b43496541ffeeb1c34a161413248fec5c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jun 14 11:07:26 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 14 21:54:45 2019 +0000"
      },
      "message": "Yield during test 1941 tight loop\n\nTest 1941 performs a tight-loop in a thread. Perform Thread.yield()\nperiodically so that other threads will always have time to run.\n\nTest: ./test.py --host\nBug: 133767752\nChange-Id: I7d30a2d3b64115982c934ea1945c691e2ceff12d\n"
    },
    {
      "commit": "5212552b43496541ffeeb1c34a161413248fec5c",
      "tree": "f807fb222d8d31cd49105853ad506a181d2254da",
      "parents": [
        "8b1ac802f539cab4832831824a043ce936920c4c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jun 11 14:04:49 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 14 21:21:17 2019 +0000"
      },
      "message": "ART: Use signal_dumper in run-test by default\n\nBe hermetic and ensure best dump results (dex integration etc) by\ndefaulting to timeout over gdb.\n\nBug: 134837513\nTest: m test-art-host\nChange-Id: Ie8f623fb1d71d665eb8038a7dfa7f95849a8ba84\n"
    },
    {
      "commit": "8e05f09ca712c33bf2090cf03a3a8db858a23314",
      "tree": "c78491d8a9ef33f4073d0053dfbd6417bbaa13a9",
      "parents": [
        "23df24822ee70fe255e6c02fb130112e28fdf63a"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jun 10 11:10:38 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jun 12 08:44:25 2019 +0000"
      },
      "message": "Do not force-intern Strings in images.\n\nInterning all image Strings breaks the reference equality\nsemantics. See android.net.Uri.NOT_CACHED for an example\nwhere it goes against the intent of the Java code.\n\nInstead, only put interned strings (weakly and strongly) to\nthe image intern tables. Since image interns are referenced\nas long as the image is memory, we can promote weak interns\nto strong interns. Doing this before the image layout helps\nImageWriter::CalculateNewObjectOffsets() which would not\nhave previously found weak interns.\n\nAdded a regression test that relies on better initialization\nof app image classes, so it shall be \"active\" only after an\nimprovement in that area. (This can be checked by commenting\nout the NoClinitInDependency() check in CompilerDriver\u0027s\nInitializeClassVisitor::TryInitializeClass().)\n\nBug: 134746125\nTest: 176-app-image-string\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: aosp_taimen-userdebug boots.\nTest: run-gtests.sh\nTest: testrunner.py --target --optimizing\nChange-Id: I51fa1edf953c9060c41f39812f3ba27f12b02801\n"
    },
    {
      "commit": "0df2aba868ca2f808f73e75e248a036b161088f6",
      "tree": "6b7ecde53d4169d42a35727979656ee6e05b87bf",
      "parents": [
        "148c1609b165e79a2e30161bf8148786f3eee307"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jun 10 16:53:55 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 11 21:50:02 2019 +0000"
      },
      "message": "ART: Use SIGTERM for timeout dumping\n\nSwitch to using SIGTERM (15), the timeout default.\n\nBug: 134837513\nTest: m test-art-host\nTest: manual (change timeout)\nChange-Id: Ic962d0a59c1636dffe742a2cbea06099ab567791\n"
    },
    {
      "commit": "148c1609b165e79a2e30161bf8148786f3eee307",
      "tree": "fac06a80d58ac9d48bc8eb4c09caecaa5fd22ebf",
      "parents": [
        "298dc0f0475ce9753f3ba105c48ed74d124c668a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jun 10 16:47:46 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 11 21:50:02 2019 +0000"
      },
      "message": "ART: Rename timeout_dumper to signal_dumper\n\nTo reflect the more broad applicability.\n\nBug: 134837513\nTest: m test-art-host\nTest: manual (change timeout)\nChange-Id: I1206bd7b2be351ca2efae3564b677c28ea484766\n"
    },
    {
      "commit": "b7c640d364d32b79cb52d04750b063667a9a0c86",
      "tree": "9caafc96879f83f8e5dd3cd45b9005be6e2b7deb",
      "parents": [
        "3ffb5b1576f8af0c361284ebd8d2d54c70ede3ff"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Mar 20 15:52:13 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jun 10 18:33:25 2019 +0000"
      },
      "message": "JVMTI Force early return\n\nAdd support for can_force_early_return jvmti capability. This allows\none to force java frames to exit early. Exited frames have all of\ntheir normal locks released.\n\nWe implement this by modifying the existing method exit events to\nallow one to modify the exit value during the callback. This is used\nto implement ForceEarlyReturn by adding internal-only events that will\nchange the return value of methods once they return (using\nkForcePopFrame) avoiding the need to modify the actual interpreter\nvery deeply. This also makes it simple to continue to use the standard\ndeoptimization functions to force the actual return.\n\nIn order to simplify book-keeping the internal event is refcounted,\nnot associated with any specific jvmtiEnv, and only settable on\nspecific threads. The internal event is added by the ForceEarlyReturn\nfunction and then removed by the MethodExit event when we update the\nreturn value.\n\nBug: 130028055\nTest: ./test.py --host\nChange-Id: Ifa44605b4e8032605f503a654ddf4bd2fc6b60bf\n"
    },
    {
      "commit": "f1bd5f3dc7a99a62818b03dd78510a416b3c10bd",
      "tree": "4d3864724f3395ebf6bb46e022a9f1c31b7c7682",
      "parents": [
        "90ffe12e1b0c430d8ed7aed0b22a6f1f946b22e9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jun 10 09:11:07 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jun 10 12:23:45 2019 +0000"
      },
      "message": "Revert \"Tweak check script in case logs interleave with Java prints.\"\n\nThis reverts commit 01f2e3a488fa06d98e2efbaf3ea8066d8457f216.\n\nReason for revert: Flaes in art-linux-bionic \n\nChange-Id: I9dac6e516576f9f79b99e8bec7251f64bb6ffa24\n"
    },
    {
      "commit": "01f2e3a488fa06d98e2efbaf3ea8066d8457f216",
      "tree": "76e3b78c64b571af36c892ae7adebbf9ef511acb",
      "parents": [
        "8867f3b017546ff187a99ac57bc91ac2bcf1f4f9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jun 07 09:42:18 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 07 22:02:28 2019 +0000"
      },
      "message": "Tweak check script in case logs interleave with Java prints.\n\nTest: 71-dm-verify-redefinition\nChange-Id: I500af8c0532fd045099a2048d414adbd5fe018b4\n"
    },
    {
      "commit": "6087bc210f5b246476045ca21568f446ad79222a",
      "tree": "f11b8e4ea6d6015290dceb52de126e39d2e4d76f",
      "parents": [
        "9a45d01b40692d9b9568f5e80d21fc7f51bcac5c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jun 03 15:52:08 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 06 20:43:26 2019 +0000"
      },
      "message": "ART: Handle unresolved catch handler types differently in the verifier\n\nThe move-exception should not trigger a synthetic throw, as that\nmay be caught by another catch handler, while the code is unreachable.\nUse a specific flag and failure instead.\n\nBug: 134061982\nTest: art/test/testrunner/testrunner.py -b --host -t 800\nChange-Id: Ie6859e3a1910171b34882889ebece6cadc9dd508\n"
    },
    {
      "commit": "2a905b2b50fb77723f6627e2d6a5df218d21081f",
      "tree": "4fa5d59381ed16073bc5f57cf9c9522e6f81acdd",
      "parents": [
        "29bb803f2d41ea48e9f255dadd22b4c291e0a036"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 06 09:04:07 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 06 12:53:49 2019 +0000"
      },
      "message": "Move memory related regions of the JIT cache in its own class.\n\n- Moves the JIT lock into the global locks list\n- Jit cache has two regions: one inherited from zygote, and its own.\n\nBug: 119800099\nTest: boot, test.py\nChange-Id: I833ba2b5a3d3c10fa01286cdf52603fa174a2cc7\n"
    },
    {
      "commit": "d2f13ba7153aa7b77e4662844233c848535f8aac",
      "tree": "9a0f9bda0e886b1652cc306dba4a05648385beb0",
      "parents": [
        "e7d7e9dd01b6ce5a079ebc7e369f4a8d4e42f7d8"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jun 04 16:48:58 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 06 08:02:04 2019 +0000"
      },
      "message": "Remove requirement of a ProfilingInfo for jitted code.\n\nWhen pre-jitting (zygote or system server in jit zygote mode),\nthe profiling info is just memory overhead. Remove the need to have\none.\n\nBug: 119800099\nTest: boot, testrunner.py --jit\nChange-Id: Ie74d870eebef72c903225542e9b41dfe98132419\n"
    },
    {
      "commit": "eb104c8f28a445b42946f142d6023f6b18908005",
      "tree": "71a636395ea4f0ef3069c9773d8e582779b09d28",
      "parents": [
        "dddb6dea9455950e0d79f7d697a00190e7387e66"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jun 03 17:58:34 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jun 04 08:44:21 2019 +0000"
      },
      "message": "Fix wrong assumption on boolean type.\n\nWe should not infer that the instruction:\nphi(value1, equal(value1, 1))\n\nIs of type boolean. The `equal` could have been a simplification\nover a select.\n\nPartial revert of:\nhttps://android-review.googlesource.com/c/platform/art/+/296777\n\nBug: 123166624\nBug: 134396269\nTest: 698-selects\nChange-Id: I8c97b17309d6e5b0eeed321d02eb83c96cc07768\n"
    },
    {
      "commit": "f98a38740bfdc361e55956ace6a3b937a83faeb3",
      "tree": "8622e0d37cd0b7e692d1bdc24bf860584428615b",
      "parents": [
        "3068d582eff4552ff260d7966fcbdc93e17d0207"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri May 31 10:26:01 2019 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri May 31 10:44:08 2019 -0700"
      },
      "message": "Make test 1946 faster\n\nOn overloaded machines test 1946 will sometimes time-out. To make this\ntest faster we will turn one of the lists into a HashMap and using\nlambdas to delay expensive Arrays.toString calls. This leads to the\ntest being around 70% faster.\n\nPre-change:\n% time ./test/run-test --host --dev --64 1946\n\u003csnip\u003e\n./test/run-test --host --dev --64 1946  36.28s user 25.57s system 277% cpu 22.286 total\n\nPost-change:\n% time ./test/run-test --host --dev --64 1946\n\u003csnip\u003e\n./test/run-test --host --dev --64 1946  19.06s user 26.78s system 724% cpu 6.329 total\n\nTest: ./test.py --host\nBug: 74583462\nChange-Id: Id9b761ae95f87c96c0eb2fcdf5355a804d396267\n"
    },
    {
      "commit": "78da5e255d1281412e9f7e4f0c9b4e90ba7f02b5",
      "tree": "02cb6ed74963114aed467f0793c2f24cf9ef4fdb",
      "parents": [
        "49af704f0f824202e73a0928d76fca27b71cc598"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu May 30 14:14:34 2019 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 31 08:42:02 2019 +0000"
      },
      "message": "Eliminate dead LoadClass when pruning ClinitCheck.\n\nPrebuilt sizes for aosp_taimen-userdebug:\n - before:\n   arm/boot*.oat: 19192012\n   arm64/boot*.oat: 22603096\n - after:\n   arm/boot*.oat: 19150692 (-40KiB, -0.22%)\n   arm64/boot*.oat: 22565976 (-36KiB, -0.16%)\n\nTest: Add checker statements to 478-checker-clinit-check-pruning\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 35772576\nChange-Id: I2485e832e77b68357f3bc0268afa8bd6a87083d5\n"
    },
    {
      "commit": "49af704f0f824202e73a0928d76fca27b71cc598",
      "tree": "737203c0a6cf93a4d073038d778947d41c09b4b5",
      "parents": [
        "bee28948fd9ca995568549e9cf95108e09fe2475"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed May 29 18:30:33 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 30 20:51:28 2019 +0000"
      },
      "message": "Ensure non-standard returns release monitors\n\nWe were incorrectly failing to unlock monitors that were acquired by a\nframe when the frame is popped off the stack in a non-standard manner.\nThis can lead to monitors having an incorrect count and being\nimpossible for any other thread to lock.\n\nTest: ./test.py --host\nBug: 133901254\nChange-Id: I2efbb8854dd5530c66d780f6853ec6e05a69c83b\n"
    }
  ],
  "next": "f667508a2103cfafd1582df6aeea144490f1d11d"
}
