)]}'
{
  "log": [
    {
      "commit": "a4a2851dcc3d4f69b888cf1c34ad9b4e73d36fe9",
      "tree": "70494ba8b893f3dab7887e10bc0c452f5fbf98bd",
      "parents": [
        "b31d141d09614cd33f450221c1393ee5e18355e0",
        "5825ed40f29ff4604b1229bed6e9eb0326c6d093"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Sep 03 14:23:48 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 03 14:23:48 2018 +0000"
      },
      "message": "Merge \"ART: Disable two tests for ASAN/interp-ac.\""
    },
    {
      "commit": "5825ed40f29ff4604b1229bed6e9eb0326c6d093",
      "tree": "de827c968124df714f287fabdedbc67ac6076b25",
      "parents": [
        "ddfbb5f63c1ceb445bc62f48e9333706f9eebe2f"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Sep 03 14:14:17 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Sep 03 14:16:31 2018 +0100"
      },
      "message": "ART: Disable two tests for ASAN/interp-ac.\n\nThese are flaky because the stack guard reservation is\ninsufficient for this configuration.\n\nTest: SANITIZE_HOST\u003daddress testrunner.py --host --interp-ac \\\n      -t 018-stack-overflow -t 107-int-math2  # All skipped.\nTest: SANITIZE_TARGET\u003daddress testrunner.py --target --interp-ac \\\n      -t 018-stack-overflow -t 107-int-math2  # All skipped.\nBug: 31098551\nChange-Id: I2029e0424c3717efa599c3b2e637f888646ead31\n"
    },
    {
      "commit": "04695984d8687f13174ca03a943603831d7d0227",
      "tree": "897d895e7ca561347215ec2d1babdabb922509c0",
      "parents": [
        "ddfbb5f63c1ceb445bc62f48e9333706f9eebe2f",
        "d1aa7d0eec33e5f297d1eadedda714d4d0a3ef91"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Sep 03 12:11:51 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 03 12:11:51 2018 +0000"
      },
      "message": "Merge \"ART: Remove unneeded SideEffects for fatal instructions.\""
    },
    {
      "commit": "22e7b7dd78a0cbde0ef0efe6d77650efdbdbafbc",
      "tree": "3b79199ee6419c90f72883d35e1434c173417d08",
      "parents": [
        "c677cc2911258e077a65abddbbc82c47a68c4172",
        "95c9ef930171cba93a82418ef7647f5965da40eb"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Aug 31 22:10:11 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 31 22:10:11 2018 +0000"
      },
      "message": "Merge changes If64a9720,I31c3b54c\n\n* changes:\n  Add fieldnull tool\n  Implement IterateOverInstances JVMTI function\n"
    },
    {
      "commit": "d1aa7d0eec33e5f297d1eadedda714d4d0a3ef91",
      "tree": "e8a3876705be966611a06659e9f4b848205f3957",
      "parents": [
        "11529ab4cdf06e579182fa4252170aa4541f4ce9"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Fri Jun 22 11:35:46 2018 +0100"
      },
      "committer": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Fri Aug 31 12:34:32 2018 +0100"
      },
      "message": "ART: Remove unneeded SideEffects for fatal instructions.\n\nRemove \"CanTriggerGC\" side effect for NullCheck, BoundsCheck and\nDivZeroCheck - instructions which have fatal slow paths. Even though\nGC might happen after going through those instructions\u0027 slow path\nexecution doesn\u0027t return to the next instruction after the\nexceptional one so side effects can be relaxed.\n\nPerformance improvement (angler, arm64, little core):\n - Geomean:                      2.8%\n - Particular benchmarks\n   - algorithm/Sort.SystemSort: 13.0%\n   - stanford/IntMM:            12.7%\n   - stanford/Puzzle:            9.5%\n   - benchmarksgame/revcomp:     8.9%\n   - reversigame/Reversi:        3.5%\n\nTest: 510-checker-try-catch.\nTest: 706-checker-scheduler.\nTest: 527-checker-array-access-split.\nTest: test-art-host, test-art-target.\n\nChange-Id: I55ac011822e5dbac82c828a700213dbea87329c8\n"
    },
    {
      "commit": "c09cd0513b860c4301ca7bd6a9065b583d102295",
      "tree": "1c7aa4ed2b9b5b1335829461e764c94565afb71d",
      "parents": [
        "40f8a74cba008af768316f0b5bfe9502174b6d02"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Aug 23 16:36:36 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Aug 31 11:50:53 2018 +0100"
      },
      "message": "Reserve boot image memory in one go.\n\nLoad boot image components into the reserved memory.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host\nTest: Pixel 2 XL boots.\nTest: m test-art-target-gtest\nTest: testrunner.py --target --optimizing\nBug: 77856493\nChange-Id: I214f947979bc0bbfc6df4312527504e90b88a01d\n"
    },
    {
      "commit": "bbbcb535a9116b87c73f9fbdb74d6cfd74d8c026",
      "tree": "fa857b9083dc78006f41655b0fcabac43f44a444",
      "parents": [
        "134380d7c70d95962ed818458185e608ad17ff08"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Aug 30 12:50:27 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Aug 30 12:50:27 2018 -0700"
      },
      "message": "Implement IterateOverInstances JVMTI function\n\nThis JVMTI function can be useful since it allows one to easily\niterate over all instances of a class, including subclasses.\n\nBug: 32635074\nTest: ./test.py --host\n\nChange-Id: I31c3b54ca599964c64aa31fbf666253e9b8000c4\n"
    },
    {
      "commit": "6c4b63b0960eb2b333e406877c8f598ad5897b06",
      "tree": "0b337d6c80a0352df9cf69d41d6e7bd92d70d173",
      "parents": [
        "b9bdf3906c3939a11f06a2db92d0bd4ff36b5f3b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Aug 30 19:51:34 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Aug 30 19:53:40 2018 +0100"
      },
      "message": "Fix expected file for tests.\n\nTest: 117-nopatchoat\nChange-Id: I8abe930c92cb5308541c40b355b51c6c58deb434\n"
    },
    {
      "commit": "3d8a78a79aaa47be68162cb3e3fb2544f9b624a3",
      "tree": "0f9790f629c798f5c371e75ae20af60fa39a3203",
      "parents": [
        "c497fca9aa25a331af6428aa0fb6b083c6292089"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 29 21:10:16 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Aug 30 13:37:02 2018 +0100"
      },
      "message": "Revert \"Revert \"Remove OatFileAssistant::MakeUpToDate and friends.\"\"\n\nThis reverts commit baf3761013a30b8c5dc1d6179cddaeee0a764311.\n\nAlso remove the now deprecated --{no-}dex2oat option.\n\nChange-Id: I502c7011877f43f315abffa9b7d482ef13857125\nbug: 111174995\nbug: 111342996\n"
    },
    {
      "commit": "c497fca9aa25a331af6428aa0fb6b083c6292089",
      "tree": "ff93ffbc3e8d568eac71de496aa3834ebd0519ab",
      "parents": [
        "ecbb5701276dd5965d68fe825da31637ca62d8c1",
        "baf3761013a30b8c5dc1d6179cddaeee0a764311"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Aug 29 20:29:28 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 29 20:29:28 2018 +0000"
      },
      "message": "Merge \"Revert \"Remove OatFileAssistant::MakeUpToDate and friends.\"\""
    },
    {
      "commit": "baf3761013a30b8c5dc1d6179cddaeee0a764311",
      "tree": "5ec94a773e2c7e19842b1f2de02baf4343aff6c9",
      "parents": [
        "d6698e34246ea5d99167538b042a70ef203838e6"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Aug 29 20:28:25 2018 +0000"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Aug 29 20:29:06 2018 +0000"
      },
      "message": "Revert \"Remove OatFileAssistant::MakeUpToDate and friends.\"\n\nThis reverts commit d6698e34246ea5d99167538b042a70ef203838e6.\n\nReason for revert: 116-nodex2oat failing on no-prebuild\nTest: test/run-test --always-clean --dex2oat-jobs 4 --host --no-prebuild --compact-dex-level fast --interpreter --no-relocate --runtime-option -Xcheck:jni --pic-test --64 116-nodex2oat\n\nbug: 111174995\nbug: 111342996\n\nChange-Id: I05da1774e9274da35993ab301d1632022655583f\n"
    },
    {
      "commit": "090795a459ebd0599093b51fbb070e7a0e86021d",
      "tree": "bc6e9b2ee7b0cd325d4a989f57129ed1b9f05492",
      "parents": [
        "fcfb4dd31e9dc62bb54735dcd92ce847dd7bf273",
        "09bb51019d432dd8b31cf3ae928a3c723342da27"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 29 11:44:36 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 29 11:44:36 2018 +0000"
      },
      "message": "Merge \"Test for ZipFile.finalize.\""
    },
    {
      "commit": "fcfb4dd31e9dc62bb54735dcd92ce847dd7bf273",
      "tree": "335056d9f857bbe61114a03f494153b76cf72825",
      "parents": [
        "8f0f3b9784588fd72c934c358db09dc22e00c7c8",
        "d6698e34246ea5d99167538b042a70ef203838e6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 29 09:56:11 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 29 09:56:11 2018 +0000"
      },
      "message": "Merge \"Remove OatFileAssistant::MakeUpToDate and friends.\""
    },
    {
      "commit": "31151ca63cb4bedec4be8e4867bc9dd34c44c3b7",
      "tree": "d52b4c5de6dc5081512660a7d3d59feaa690ff73",
      "parents": [
        "faf64c9e19eea433e3f9391155717b8d8913a500",
        "1391390a775ca54fa1dd22ceccf211eae84073ea"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Aug 28 17:36:54 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 28 17:36:54 2018 +0000"
      },
      "message": "Merge \"Add core-simple to the standard boot classpath\""
    },
    {
      "commit": "6bfbdc7fe3751fb6af6ff65493ab9e0f74ed5ca8",
      "tree": "a2d391945f5b78e840155bbb420768d9dd402a5d",
      "parents": [
        "aa317ffafe685b96993ffb2617c530f8b950480f",
        "625ca4759941299e8a9cc876c985558c4d76bdc0"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Aug 28 16:27:48 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 28 16:27:48 2018 +0000"
      },
      "message": "Merge changes If4de1e1f,I11493096,I256c7758\n\n* changes:\n  Remove \u0027virtual\u0027 and \u0027override\u0027 qualifiers on final methods.\n  Remove superfluous \u0027virtual\u0027 specifiers in ART.\n  Use \u0027final\u0027 and \u0027override\u0027 specifiers directly in ART.\n"
    },
    {
      "commit": "aa317ffafe685b96993ffb2617c530f8b950480f",
      "tree": "b8063e02b4aadec31ab19242dbe00e07854a09bc",
      "parents": [
        "19379b58bd433da91230e4fe6cd96e7416d16adc",
        "d6f48f231fa806c20b10fa8d8a8ed821fa73f910"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Aug 28 14:57:10 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 28 14:57:10 2018 +0000"
      },
      "message": "Merge \"Ensure the JITted method has a polymorphic inline cache.\""
    },
    {
      "commit": "d6698e34246ea5d99167538b042a70ef203838e6",
      "tree": "f4fbf6db7cc7bbcc2ea513d30669d975635eefb1",
      "parents": [
        "d3678dc2531f95ced2d015b800ecd9018ce96c73"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Aug 24 18:25:07 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Aug 28 15:30:36 2018 +0100"
      },
      "message": "Remove OatFileAssistant::MakeUpToDate and friends.\n\nRemove dex2oat invocations for non boot-image compilation for ART.\n\nbug: 111174995\nbug: 111342996\nTest: test.py\nChange-Id: If7f92537898e326bfd9dfbd969018f4c08da98b7\n"
    },
    {
      "commit": "1391390a775ca54fa1dd22ceccf211eae84073ea",
      "tree": "6d722ffc3480bf93bf9ce71b9dfe1437b5ac1dc5",
      "parents": [
        "75eec5d14039d4cbc4ec9b96485b743573665627"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Aug 24 14:19:06 2018 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Aug 28 14:21:35 2018 +0100"
      },
      "message": "Add core-simple to the standard boot classpath\n\nTrack changes in build/make to add core-simple to the\nruntime boot classpath.\n\nBug: 113148576\nTest: Treehugger / build / boot\nTest: CTS: run cts-dev -m vm-tests-tf\nChange-Id: I649acd3e354948e5b1a56d0531aceb45f244aa9d\n"
    },
    {
      "commit": "d6f48f231fa806c20b10fa8d8a8ed821fa73f910",
      "tree": "d6ce52fbf095192947495c69bd865228dd39770f",
      "parents": [
        "0783ff082876230971e8bf0c77c10681d461c8c5"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Aug 28 09:17:30 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Aug 28 12:36:07 2018 +0100"
      },
      "message": "Ensure the JITted method has a polymorphic inline cache.\n\nIf the method is not run enough, it may only see one type.\n\nTest: 652-deopt-intrinsic\nChange-Id: I21a6795f20856e2ee0e5d4ff076a78b386d4e245\n"
    },
    {
      "commit": "f73cacaae3d8f89327d8886b37792a849cabd9ac",
      "tree": "79047e31d512d065db47af7e68fa155c1f638f11",
      "parents": [
        "bbc6e7edb5fca4a61ac53dd9bce79cb4f0bb3403"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Aug 24 17:19:07 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Aug 28 11:09:40 2018 +0100"
      },
      "message": "Remove superfluous \u0027virtual\u0027 specifiers in ART.\n\nRemove \u0027virtual\u0027 specifier on methods already bearing the \u0027override\u0027\nspecifier.\n\nTest: mmma art\nChange-Id: I114930969a5ca048d88de9ecd18e2c6403593e31\n"
    },
    {
      "commit": "bbc6e7edb5fca4a61ac53dd9bce79cb4f0bb3403",
      "tree": "0fbce767bc383358cf4cd65aafc74140e1850982",
      "parents": [
        "19379b58bd433da91230e4fe6cd96e7416d16adc"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Aug 24 16:58:47 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Aug 28 11:06:07 2018 +0100"
      },
      "message": "Use \u0027final\u0027 and \u0027override\u0027 specifiers directly in ART.\n\nRemove all uses of macros \u0027FINAL\u0027 and \u0027OVERRIDE\u0027 and replace them with\n\u0027final\u0027 and \u0027override\u0027 specifiers. Remove all definitions of these\nmacros as well, which were located in these files:\n- libartbase/base/macros.h\n- test/913-heaps/heaps.cc\n- test/ti-agent/ti_macros.h\n\nART is now using C++14; the \u0027final\u0027 and \u0027override\u0027 specifiers have\nbeen introduced in C++11.\n\nTest: mmma art\nChange-Id: I256c7758155a71a2940ef2574925a44076feeebf\n"
    },
    {
      "commit": "09bb51019d432dd8b31cf3ae928a3c723342da27",
      "tree": "eef5d2f738a5fce0d08aa55c2f72c92948d8b587",
      "parents": [
        "0a8b3153ca58f4dfe3db74556f36c088a687b63e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Aug 27 10:26:26 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Aug 28 11:04:23 2018 +0100"
      },
      "message": "Test for ZipFile.finalize.\n\nTest that ZipFile.finalize doesn\u0027t throw exceptions\nin the presence of a not fully constructed instance.\n\nTest: 718-zipfile-finalizer\nbug: 113311831\nChange-Id: Ib922d1ee85db2834a1dba516720aee925db179ea\n"
    },
    {
      "commit": "19379b58bd433da91230e4fe6cd96e7416d16adc",
      "tree": "8ed63cf734578fdfb275363d6970c82b24538e7b",
      "parents": [
        "56f64eb28b6f2c590031ca34b41ccc84bd7bf6e7",
        "a5ca8ebef24e38348213cef31417a4ccc7c3dd1a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Aug 28 08:42:37 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 28 08:42:37 2018 +0000"
      },
      "message": "Merge \"Default to usejit:true.\""
    },
    {
      "commit": "0783ff082876230971e8bf0c77c10681d461c8c5",
      "tree": "f415e75bb6ed16da2b19f6de9018d06d0d33a28b",
      "parents": [
        "a5ea63760beaa8e6f3b5104abfc5717295c8eba0",
        "fe42d218cf8a3dcaa832651ea62e49ce7384c867"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Aug 28 07:51:52 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 28 07:51:52 2018 +0000"
      },
      "message": "Merge \"dexdump2: Remove conversion from dollar sign to dot\""
    },
    {
      "commit": "a5ca8ebef24e38348213cef31417a4ccc7c3dd1a",
      "tree": "9300d5f3edaf39f170037e007c1b4c6a7dbd798b",
      "parents": [
        "75eec5d14039d4cbc4ec9b96485b743573665627"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Aug 24 13:39:13 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat Aug 25 18:46:06 2018 +0100"
      },
      "message": "Default to usejit:true.\n\nManually verified places that could be affected (go/lem, buildbots, CTS).\nAlso adjust two tests expecting JIT.\n\nbug: 64164063\nTest: m and tests\nChange-Id: I6dc441f0f58203546480a0f7220ad4d9cd593fd3\n"
    },
    {
      "commit": "90fdc4846b87817863c9b6888e86a14dfa38890e",
      "tree": "271b943f0bc11f4add3c48ea898970b2105bc159",
      "parents": [
        "e9dce6a280057315a8a58ed46190c9a893c90fba"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat Aug 25 00:12:36 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sat Aug 25 00:12:36 2018 +0100"
      },
      "message": "Fix checker expectations around environment uses.\n\nX86 and X86_64 make ArrayLength \"mark at use site\", meaning\nits environment uses move to its user. ARM and ARM64 do not\nhave this optimization.\n\nbug: 111545159\nTest: 565-checker-condition-liveness\nChange-Id: Id903d83205fdf6a3d916efecbd14eff025f89422\n"
    },
    {
      "commit": "fe42d218cf8a3dcaa832651ea62e49ce7384c867",
      "tree": "cca4e8ed50410e965363ff7e776de7eda4ebea1a",
      "parents": [
        "d3678dc2531f95ced2d015b800ecd9018ce96c73"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Aug 24 14:01:14 2018 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Aug 24 15:50:47 2018 +0100"
      },
      "message": "dexdump2: Remove conversion from dollar sign to dot\n\nThis was presumably added to render nested classes similar to how they\nare referred to in source, but since a dollar sign (\u0027$\u0027) is a valid\ncharacter in a class name and its use is growing thanks to annotation\nprocessors and D8/R8 it only resulted in very wrong names. If you are\nat the level where you can understand dexdump\u0027s output, you can handle\ndollar signs being present in nested class names.\n\nBefore:\n\n    [000234] -..Lambda.Lambda.fcyZxanqBZSHC_nf-noKh-e3bnY.\u003cclinit\u003e:()V\n        0000: new-instance v0,\n        L-$$Lambda$Lambda$fcyZxanqBZSHC_nf-noKh-e3bnY; // type@0000\n        0002: invoke-direct {v0},\n        L-$$Lambda$Lambda$fcyZxanqBZSHC_nf-noKh-e3bnY;.\u003cinit\u003e:()V // method@0001\n        0005: sput-object v0, L-$$Lambda$Lambda$fcyZxanqBZSHC_nf-noKh-e3bnY;.INSTANCE:L-$$Lambda$Lambda$fcyZxanqBZSHC_nf-noKh-e3bnY; // field@0000\n        0007: return-void\n\nAfter:\n\n    [000234] -$$Lambda$Lambda$fcyZxanqBZSHC_nf-noKh-e3bnY.\u003cclinit\u003e:()V\n        0000: new-instance v0, L-$$Lambda$Lambda$fcyZxanqBZSHC_nf-noKh-e3bnY; // type@0000\n        0002: invoke-direct {v0}, L-$$Lambda$Lambda$fcyZxanqBZSHC_nf-noKh-e3bnY;.\u003cinit\u003e:()V // method@0001\n        0005: sput-object v0, L-$$Lambda$Lambda$fcyZxanqBZSHC_nf-noKh-e3bnY;.INSTANCE:L-$$Lambda$Lambda$fcyZxanqBZSHC_nf-noKh-e3bnY; // field@0000\n        0007: return-void\n\nBug: 113152880\nTest: art/test/dexdump/run-all-tests\nTest: dalvik/dx/tests/run-all-tests\nChange-Id: I22a1d3db5b7e0fe6b6c77b5cf8f37e7254bd40f4\n"
    },
    {
      "commit": "75eec5d14039d4cbc4ec9b96485b743573665627",
      "tree": "db9e4158d5cbfb84d2f0c0f6157e5b0edad8587a",
      "parents": [
        "d3678dc2531f95ced2d015b800ecd9018ce96c73",
        "61ba8d2421a98e9b16510be4f9af7ca7bc4c9055"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 24 14:07:24 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 24 14:07:24 2018 +0000"
      },
      "message": "Merge \"Fix longstanding bug around implicit NPEs and GC, version 2.\""
    },
    {
      "commit": "c2291a6bb017b8a4c0e776a0ec4ee106162b8a42",
      "tree": "054c6c2da23ec9714a65be410135eb08941a73b4",
      "parents": [
        "11529ab4cdf06e579182fa4252170aa4541f4ce9"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Aug 20 14:24:05 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Aug 22 14:51:09 2018 +0100"
      },
      "message": "Add an ART test target exercising Generational CC collection.\n\nAdd an `art-generational-cc` test target runing ART run-tests and\ngtests in Generational Concurrent Copying (CC) Garbage Collection\nmode (on host).\n\nTest: art/test/testrunner/run_build_test_target.py art-generational-cc\nBug: 67628039\nChange-Id: Id1a778394b0f30d528606aef3d5e33b41e3c8651\n"
    },
    {
      "commit": "76eb485c321a819c960074a83a42e298af59cec3",
      "tree": "35e810ea86fa7344d64e3d4ee767dc9d834aeb4a",
      "parents": [
        "2a403e51bbe94d742f71aad73d08a26b70824f46"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Aug 22 12:24:43 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Aug 22 12:26:49 2018 +0100"
      },
      "message": "Remove the `art-gtest-valgrind64` testrunner configuration.\n\nTest: n/a\nBug: 29282211\nChange-Id: I7af82dc5edcc877e9ed3c1a076542f1a1a406f54\n"
    },
    {
      "commit": "b1e1dc3aa52e6bb258adabede233d98266d0e1f5",
      "tree": "830c8c6b7aeea562bb9b6709819fdb850df80881",
      "parents": [
        "5c4b3cc8b167ff492e5ec6d414416b67c7dd501f"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jul 10 19:19:31 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Aug 21 17:53:01 2018 +0100"
      },
      "message": "Sweep only objects in the live stack in sticky-bit CC collections.\n\nReuse the same strategy used in sticky-bit Concurrent Mark-Sweep\n(CMS) collections for sticky-bit Concurrent Copying (CC) collections\nwalk the live stack (which contains allocations made outside the\nregion space since the previous GC thread flip phase) and free\nunmarked objects.\n\nAs a side effect, this change address a bug that used to trigger GC\ncrashes during a sticky-bit CC (young-generation) collection involving\nan unreachable newly allocated object in the non-moving space with a\ndangling reference to an object cleared or moved from a newly\nallocated region of the region space.\n\nTest: ART run-tests \u0026 gtests, libcore tests, JDWP tests (host \u0026 device)\nTest: Device/emulator boot test\nBug: 67628039\nBug: 12687968\nChange-Id: If5d94d854effdc8a614c1c3e3facb2221824aff2\n"
    },
    {
      "commit": "88cf462fc30ceaa1493f9d58e47985cf0cd82112",
      "tree": "d5dadbb69645f083ea50611e3973dcf6cf3a5431",
      "parents": [
        "c0dec2236b976794ff8f6cc3c2f41c36756ffaf9",
        "c34bebf39410f5571d3d5813157b61f274d435c3"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Aug 21 14:08:32 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 21 14:08:32 2018 +0000"
      },
      "message": "Merge \"Remove unnecessary indirection from MemMap.\""
    },
    {
      "commit": "c34bebf39410f5571d3d5813157b61f274d435c3",
      "tree": "73909d3b34a2908e9de44cc60c4a2ff74eabefd7",
      "parents": [
        "f345404c725330914b8313d2c1af17226c5b92ca"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Aug 16 16:12:49 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Aug 21 13:51:00 2018 +0100"
      },
      "message": "Remove unnecessary indirection from MemMap.\n\nAvoid plain MemMap pointers being passed around by changing\nthe MemMap to moveable and return MemMap objects by value.\nPreviously we could have a valid zero-size MemMap but this\nis now forbidden.\n\nMemMap::RemapAtEnd() is changed to avoid the explicit call\nto munmap(); mmap() with MAP_FIXED automatically removes\nold mappings for overlapping regions.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Pixel 2 XL boots.\nTest: m test-art-target-gtest\nTest: testrunner.py --target --optimizing\nChange-Id: I12bd453c26a396edc20eb141bfd4dad20923f170\n"
    },
    {
      "commit": "61ba8d2421a98e9b16510be4f9af7ca7bc4c9055",
      "tree": "9a79331dd5ebd46ed46f853b24ab072f43debf28",
      "parents": [
        "eb369ce3669be74dd89b21f8b3ab31ace4a47086"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Aug 07 09:55:57 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Aug 20 17:18:31 2018 +0100"
      },
      "message": "Fix longstanding bug around implicit NPEs and GC, version 2.\n\nThe TODO has been there since M (so forever :)):\nhttps://android-review.googlesource.com/c/platform/art/+/122794/13//COMMIT_MSG#13\n\nWe hardly see the issue in our tests as we need to have:\n1) A GC happening while creating the NPE object.\n2) ParallelMoves between the NullCheck and implicit null check operation\n   that moves references.\n\nThe CL piggy backs on the \"IsEmittedAtUseSite\" flag, to set implicit\nnull checks with it. The liveness analysis then special cases implicit\nnull checks to record environment uses at the location of the actual\ninstruction that will do the implicit null check.\n\nTest: test.py --gcstress\nTest: run-libcore-tests --gcstress\nbug: 111545159\nChange-Id: I3ecea4fe0d7e483e93db83281ca10db47da228c5\n"
    },
    {
      "commit": "e85595e8edf1dade430f53e6149cffd41d74f629",
      "tree": "df6d474f41b38d1deddceb63bb6c6a5a84611cf5",
      "parents": [
        "134380d7c70d95962ed818458185e608ad17ff08"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Aug 17 15:54:34 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Aug 17 15:54:34 2018 -0700"
      },
      "message": "Add explicit native method test to 988\n\nRealized this test doesn\u0027t include any explicit check that native\nmethods are traced correctly and this will be useful to have for\nfuture work.\n\nTest: ./test.py --host -j50\nChange-Id: I208458b6fe7d69e4d78e6757aa5ef2b437665edb\n"
    },
    {
      "commit": "38c7dbc82fef7ebcc79a23edd875a4670aa03e34",
      "tree": "08a64f45a0b0e73678c31b7effa5b34db2583b09",
      "parents": [
        "8780c78a1f54265a37a9389ecc6b55c050955728",
        "de3bd98600548b1367138891a73a95a2b345c84b"
      ],
      "author": {
        "name": "Tamas Kenez",
        "email": "tamaskenez@google.com",
        "time": "Thu Aug 16 09:39:31 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 16 09:39:31 2018 +0000"
      },
      "message": "Merge \"Update 3 art tests\u0027 check expectations for D8 v1.3.15-dev.\""
    },
    {
      "commit": "de3bd98600548b1367138891a73a95a2b345c84b",
      "tree": "7be3fd8a688c5a8c9a2f079baaab1f2f22932562",
      "parents": [
        "2b1a76fec7d1f7ba8b013c7d0967d216ef662a22"
      ],
      "author": {
        "name": "Tamas Kenez",
        "email": "tamaskenez@google.com",
        "time": "Wed Aug 15 15:30:56 2018 +0200"
      },
      "committer": {
        "name": "Tamas Kenez",
        "email": "tamaskenez@google.com",
        "time": "Wed Aug 15 15:33:28 2018 +0000"
      },
      "message": "Update 3 art tests\u0027 check expectations for D8 v1.3.15-dev.\n\nTest: art/test/run-test --host 458-checker-instruct-simplification\n      art/test/run-test --host 618-checker-induction\n      art/test/run-test --host 669-checker-break\nChange-Id: I136bc6306a3c3dc01dfe4e7b3780863e709d5138\n"
    },
    {
      "commit": "5c84472ef4ec70867bd76ba6076c264f641cb130",
      "tree": "b00b3930bbbc0efdf2abb1638657b7ee8c06a54b",
      "parents": [
        "9e113dd00d94526d7e6e546ac9bd4f066db3a019"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Aug 15 09:56:57 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Aug 15 10:30:11 2018 +0100"
      },
      "message": "ART: Improve test 160-read-barrier-stress.\n\nAdd tests for reading references for which we do not hold a\nto-space reference. Rewrite the test to test fields, arrays,\nGC roots and Unsafe separately, so that reads in one of the\ntests do not affect other tests and we exercise more code\npaths in the Baker read barriers with introspection.\n\nAdd a regression test for the reverted\n    https://android-review.googlesource.com/729224\nwhich erroneously clobbered r0 on ARM in UnsafeCASObject.\n\nTest: testrunner.py --target 160-read-barrier-stress\nTest: Repeat with the bad CL; fails for ARM, OK for ARM64.\nBug: 36141117\nChange-Id: I0cbc5f5b9a78865ba7ca14ae166ee19d7cf8dd3f\n"
    },
    {
      "commit": "248141f724cbb9d436f13181b5301172c4385cc2",
      "tree": "8828a0e319fa692c4a80e8cecadff7b68a845faa",
      "parents": [
        "6e99db490fabbc38d96cc618a7aa82a99b3d07cf"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Aug 10 10:40:07 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Aug 10 13:05:12 2018 +0100"
      },
      "message": "ARM/ARM64: Introspection Baker RB for intrinsics.\n\nNamely Unsafe.getObject/-Volatile().\n\nTest: Additional tests in 160-read-barrier-stress.\nTest: m test-art-host-gtest\nTest: Pixel 2 XL boots.\nTest: testrunner.py --target --optimizing\nTest: ART_HEAP_POISONING\u003dtrue testrunner.py --target --optimizing\nBug: 36141117\nChange-Id: I7305d75ab0ae8c9621843f9a382ad3a5e0aefa0b\n"
    },
    {
      "commit": "1c8636405da7069c8ef9719cdcf58513cd1e62e2",
      "tree": "2df70bbf39f6da12afaf81e4c5ed8b83c9237c8a",
      "parents": [
        "2ae301f49c350dc02a0dabee6cb8c3a4e9dc481e",
        "0ecac681bd0f55fad16027fe341f55edd632e3db"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Aug 07 17:36:53 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 07 17:36:53 2018 +0000"
      },
      "message": "Merge \"ARM64: Introspection Baker RB for volatile fields.\""
    },
    {
      "commit": "0ecac681bd0f55fad16027fe341f55edd632e3db",
      "tree": "016727b357ef37b9be41451359f5ca1c1edea8dd",
      "parents": [
        "008e09f35541bcce782cd172d0745b802a720033"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Aug 07 10:40:38 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Aug 07 16:27:17 2018 +0100"
      },
      "message": "ARM64: Introspection Baker RB for volatile fields.\n\nTest: Already covered by 160-read-barrier-stress.\nTest: m test-art-host-gtest\nTest: Pixel 2 XL boots.\nTest: m test-art-target-gtest\nTest: testrunner.py --target --optimizing --jit --64\nBug: 36141117\nChange-Id: I2f9a707587d1ee27c0efb19d77becba7ec7ffec4\n"
    },
    {
      "commit": "ca701c3e16d50cf869456fef49c8e467ec9073ec",
      "tree": "aa885193442acc48188faad7db666585c49795e3",
      "parents": [
        "bfeee243c7983be56f283080d93c22a4ba22979a",
        "4b22b34c698db8aa59343d0a5af89fc737532bce"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 07 04:58:44 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 07 04:58:44 2018 +0000"
      },
      "message": "Merge \"Modernize codebase by replacing NULL with nullptr\""
    },
    {
      "commit": "1c8605e7e2f9a42ec0569ed60e02256b4ae356de",
      "tree": "96b932eba5e5c8d382589b776854925012ff7b8e",
      "parents": [
        "8031b3e8a35c49a1ad7dcd8a0779aec430f28414"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Aug 05 12:05:01 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Aug 06 13:09:41 2018 +0100"
      },
      "message": "Look at phis in ReplaceUsesDominatedBy.\n\nWhen the instruction does not dominate the phi, but the instruction\nthat it is replacing does by being an input, do the replacement.\n\nIt was a missed improvement opportunity before, but the String.\u003cinit\u003e\nhandling in the builder needs it for correctness.\n\nbug: 111758226\nTest: 563-checker-fakestring\nChange-Id: I37f01e1aabc2a1f60e21fc57728f07248adbc946\n"
    },
    {
      "commit": "2e267723304c0ca0e9fd5445345dfce7beeb9df6",
      "tree": "186cf8ed45ee9a3a65ffa1f9b01570d617c8845a",
      "parents": [
        "8e7ddc234ecbde21b0e6755cf66bcad858a817d2",
        "101287d61b785377f1a2e4ad30fa9baad3605f73"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 03 15:29:32 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 03 15:29:32 2018 +0000"
      },
      "message": "Merge \"Update test expectations for 712-varhandle-invocations.\""
    },
    {
      "commit": "101287d61b785377f1a2e4ad30fa9baad3605f73",
      "tree": "32e1fb1ad6e12f3b6c6b0671835d5f2bcfe644fb",
      "parents": [
        "1c3f8ea47c9034c5fa49b7ebfac6ce2e43e548ea"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Aug 03 11:55:17 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Aug 03 14:40:35 2018 +0100"
      },
      "message": "Update test expectations for 712-varhandle-invocations.\n\nThe test can timeout in gcstress/debug/target mode.\n\nTest: 712-varhandle-invocations.\nChange-Id: I230e0d33166478fcdf5e7549860225daaa74bdee\n"
    },
    {
      "commit": "6a0f7e7e2fcb1b5bc85b4e41d5dfaf923cf9f236",
      "tree": "6c9c28d13421f42fcc8f0591f0425fbfd63b7103",
      "parents": [
        "f50419eee7290542db07bff23c4f65e693ba037f",
        "b1f9c79c550e4d9d77d85ab723b642cd0eb7afad"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Aug 03 12:12:22 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 03 12:12:22 2018 +0000"
      },
      "message": "Merge \"Remove all multidex.jpp files.\""
    },
    {
      "commit": "b1f9c79c550e4d9d77d85ab723b642cd0eb7afad",
      "tree": "99e6c330f7b9c9c4e7c659788e4920ebdd96555a",
      "parents": [
        "b27d874ebc0c067d96994a6ebe3c10eaeb2e4a75"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Aug 03 11:10:49 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Aug 03 11:11:52 2018 +0100"
      },
      "message": "Remove all multidex.jpp files.\n\nThese are unused since jack was removed from the tree.\n\nTest: Rely on TreeHugger\nChange-Id: Iaf16bc70ed943d46cd56a3140deb7508c8bf985f\n"
    },
    {
      "commit": "7ec95c52b9a75da2cfaeff0ed14122ca47520380",
      "tree": "53475e06bfdf44b85e23b5241341c8a0796da39e",
      "parents": [
        "b27d874ebc0c067d96994a6ebe3c10eaeb2e4a75"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Aug 01 15:09:37 2018 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Aug 03 10:23:57 2018 +0100"
      },
      "message": "Update expected call stack for caller of Thread.currentThread()\n\nUnstartedRuntime::UnstartedThreadCurrentThread provides support for the\nThread.currentThread() in the unstarted runtime. It only supports a\nsingle use of that method and checks the caller stack to verify that it\nis being called from the correct place.\n\nThis updates the stack to match a corresponding change in the Thread\nclass.\n\nDitto for UnstartedRuntime::UnstartedThreadGetNativeState and usage of\nthe native Thread.getState().\n\nThe Java change also removed an unused field (threadStatus) from the\nThread, so this change updates the 913-heaps test\u0027s expected.txt file\nto account for that.\n\nTested using:\n    art/test/testrunner/run_build_test_target.py -j80 art-test\n\nBug: 74379469\nTest: make checkbuild, flash and see above\nChange-Id: I98eae86b190c8a1f0bd1a13662e477cb472f0cc2\n"
    },
    {
      "commit": "4b22b34c698db8aa59343d0a5af89fc737532bce",
      "tree": "985c0e28dcdf5a497737690b50d31c4eb7bbda85",
      "parents": [
        "9e53f5f19167848d043f91e6d20436e9b568b55a"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Thu Aug 02 14:43:21 2018 -0700"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Thu Aug 02 14:43:21 2018 -0700"
      },
      "message": "Modernize codebase by replacing NULL with nullptr\n\nFixes -Wzero-as-null-pointer-constant warning.\n\nTest: m\nBug: 68236239\nChange-Id: Id869744db54b5b366454a5e13b467ac1f4df2845\n"
    },
    {
      "commit": "a9f303c089aa2b2fc82d97201352945678ef54ae",
      "tree": "0df0eb5294a3ee72aea8ca670762c02ca9ffa8dd",
      "parents": [
        "1bfd891d06e276d602b4a6ccf1a9f70967195218"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jul 20 16:43:56 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Aug 02 17:41:21 2018 +0100"
      },
      "message": "Rewrite Class init entrypoint to take a Class arg.\n\nFixes invalid type index being passed to the entrypoint for\nclass init check across dex files when the target type does\nnot have a TypeId in the compilation unit\u0027s DexFile.\n\nThe size of the aosp_taimen-userdebug prebuilts:\n  - before:\n    arm/boot*.oat: 16782748\n    arm64/boot*.oat: 19764400\n    oat/arm64/services.odex: 20162432\n  - after:\n    arm/boot*.oat: 16811692 (+28.3KiB, +0.17%)\n    arm64/boot*.oat: 19801032 (+35.8KiB, +0.19%)\n    oat/arm64/services.odex: 20232208 (+68.1KiB, +0.35%)\nThis increase comes from doing two runtime calls instead of\none for HLoadClass/kBssEntry that MustGenerateClinitCheck().\n\nTest: Additional test in 476-clinit-inline-static-invoke\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing --jit\nTest: Pixel 2 XL boots.\nTest: testrunner.py --target --optimizing --jit\nTest: testrunner.py --jvm\nBug: 111433619\nChange-Id: I2fccd6944480ab4dac514f60d38e72c1014ae7b2\n"
    },
    {
      "commit": "61d5041fd5e55589c188ebd2677b26106e982ccb",
      "tree": "4517f26557a185ae0ef466a3083425fe6f682728",
      "parents": [
        "350b6a312222b9b27bfee0e72ce261a45cb60e1c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Aug 02 01:07:24 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Aug 02 01:43:26 2018 -0700"
      },
      "message": "Add skip for 1946-asan + interp-ac\n\nThis combination is so slow the test won\u0027t finish in the 15 minute\ntimeout.\n\nTest: SANITIZE_HOST\u003daddress ./test/testrunner/testrunner.py -b --host --interp-ac -t 1946\nChange-Id: Idf17570aac82f0fcbbd10be03ee91223319878d7\n"
    },
    {
      "commit": "d132db875c519f84df5f89baa70afaaed2ddecaf",
      "tree": "ea5899a495aa4eabac7bdadb41f712a851bc597a",
      "parents": [
        "72fb8639a61e100dcc39645c35a5c3e394ab0eba",
        "c3e740b8afda95944aac533497201d37db5e5a68"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 01 22:48:51 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 01 22:48:51 2018 +0000"
      },
      "message": "Merge \"Disable inlining test with debuggable.\""
    },
    {
      "commit": "c3e740b8afda95944aac533497201d37db5e5a68",
      "tree": "512e5aa1bb877fd4aab78fa49a208e518bfd08df",
      "parents": [
        "91f0fdb4372d3f2bcfcd9db67afcbe7ee1901048"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 01 20:33:44 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 01 20:33:44 2018 +0100"
      },
      "message": "Disable inlining test with debuggable.\n\nTest: 566-polymorphic-inlining\nChange-Id: Ieedb37330376fd7a0919a3e090795caf2c9bf5f0\n"
    },
    {
      "commit": "b2a42f5f61213b74e9f581029e894ac2c08b846b",
      "tree": "9e593952ef3c6452072ecc43409a39e9028acbda",
      "parents": [
        "d0c6ec392756fd038ebb8aeaad19aed94c5fd1a5"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Aug 01 07:02:32 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Aug 01 17:02:10 2018 +0000"
      },
      "message": "Increase stack size for tests 1917 and 1934\n\nBoth these tests could fail under asan due to running out of stack\nspace. We increase the stacks of the secondary threads to 10 mb to\nsolve this problem.\n\nThis partially reverts 30f3e9ce8150f24154db3fa06d11a3b43df9f77b.\n\nTest: SANITIZE_HOST\u003daddress art/test/testrunner/testrunner.py -b --host --interp-ac -t 1934\nTest: SANITIZE_HOST\u003daddress art/test/testrunner/testrunner.py -b --host --interp-ac -t 1917\n\nBug: 111837501\nBug: 112071036\nChange-Id: I22450565c02d88cfbf584f67748eaa470b4920fc\n"
    },
    {
      "commit": "30f3e9ce8150f24154db3fa06d11a3b43df9f77b",
      "tree": "870976e2c9e33f36c9576b8f8d9ac7e43190ebf7",
      "parents": [
        "ca182f2c81e7102d3ccd1c4ec5c96e602ad343fe"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Aug 01 13:37:24 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Aug 01 13:37:24 2018 +0100"
      },
      "message": "Run ART run-tests with ASan in interpreter access-checks mode.\n\nTest: art/test/testrunner/run_build_test_target.py art-asan\nBug: 62448488\nBug: 109813469\nChange-Id: I515fedb319e6b9e71724f5e9c87cd722a3936fd3\n"
    },
    {
      "commit": "c98f83e301451cb7a62aab21a7dfcddc8eb17c42",
      "tree": "18d0477a315cf35352e4c44b3a66ce5d185a5fc4",
      "parents": [
        "f5dcd31d89282b6c9324fdc960e6e7e2281c16f1"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jul 26 08:28:36 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jul 26 11:33:25 2018 -0700"
      },
      "message": "Add raw_monitor_enter_no_suspend extension\n\nIn some circumstances it is useful to be able to lock a jvmti-monitor\nwithout having to worry about the suspension state of the current\nthread. This adds an extension\ncom.android.art.concurrent.raw_monitor_enter_no_suspend that allows\none to do that. This function will gain the monitor lock and return\neven if the current thread is suspended. The normal RawMonitorLock\nwill not return unless the thread is not in a suspended state.\n\nTest: ./test.py --host\nBug: 76205593\n\nChange-Id: I9d9fcd586d1d2555f4adc8ac85597daa3dfcb0c4\n"
    },
    {
      "commit": "86ae9c3dd44a919dd2213b7be08b4f4293608702",
      "tree": "d592abcd32b7918e7b4e4f1f6311f7aa511f171e",
      "parents": [
        "be272b93ffcec3ccfd2311a58fd28c3927561ed1"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 25 13:18:54 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 25 13:32:23 2018 +0100"
      },
      "message": "Re-enable tests for no-image \u0026 jit.\n\nWe are not enforcing $inline$ directives for JIT since\n    https://android-review.googlesource.com/643247\nso these tests can be re-enabled.\n\nTest: testrunner.py --host --no-image --jit\nBug: 36365552\nChange-Id: If55c77437358b4529981f434401708e75ecbb1e5\n"
    },
    {
      "commit": "4ac9ade09d796ce4fc866a02d05c1fba64578f78",
      "tree": "4b6894e379bb224dc86141acf573949c37af24c4",
      "parents": [
        "c19adea473a8415adcbdeb8eedb1245d4ae92351"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jul 24 10:27:21 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jul 24 17:42:44 2018 -0700"
      },
      "message": "Move dexdump, dexlist, openjdkjvmti to ClassAccessor\n\nTest: test-art-host\nBug: 79758018\n\nChange-Id: Iecdcf81b9dd2fa5cd938579847d4934467abf813\n"
    },
    {
      "commit": "2ab1bdd1ed06ff2cbcfbed946fb58778be23ad4f",
      "tree": "ce63864f7f62b433ca863866406bee2e7af73065",
      "parents": [
        "fca0b491a34144acf6769ab9c5fb528ac81bd325"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 12 09:59:56 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 23 18:39:09 2018 +0100"
      },
      "message": "Elide ClinitCheck for superclasses with trivial init.\n\nWe cannot generally elide ClinitCheck for superclasses\nbecause of escaping instances of erroneous classes and\nbecause a subclass can be successfully initialized while\nthe superclass is initializing and the subclass remains\ninitialized even when the superclass initializer throws.\n\nHowever, for those superclasses that have trivial init,\ni.e. that class and its superclasses (and superinterfaces\nwith default methods) initialize only their own static\nfields using constant values, there is no chance to end\nup in one of these weird situations and we can safely\neliminate the ClinitCheck.\n\nThe size of the aosp_taimen-userdebug prebuilts:\n  - before:\n    arm/boot*.oat: 16856928\n    arm64/boot*.oat: 19846592\n    oat/arm64/services.odex: 24662880\n  - after:\n    arm/boot*.oat: 16848696 (-8.0KiB, -0.05%)\n    arm64/boot*.oat: 19842320 (-4.2KiB, -0.02%)\n    oat/arm64/services.odex: 24629952 (-32.2KiB, -0.13%)\nwith minor changes to other app prebuilts.\n\nTest: Improved 478-checker-clinit-check-pruning.\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Pixel 2 XL boots.\nTest: testrunner.py --target --optimizing\nBug: 62478025\nChange-Id: I865f567443f1b7f172e5e6559d8eb3232adb7833\n"
    },
    {
      "commit": "b07dcdba37e9a5652b7754a6bd9c3538880d6668",
      "tree": "15524fb0505323ec78bf4d8841245da6fe61d6ee",
      "parents": [
        "6250dfa22577160b270f3f3165260739707cf7d3",
        "c945e0d410ca8d4e9ba09272e8727a3192f1e449"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jul 20 13:06:30 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 20 13:06:30 2018 +0000"
      },
      "message": "Merge changes I87f2999f,I8af0e845\n\n* changes:\n  Remove ArtMethod\u0027s declaring class state checks.\n  ObjPtr\u003c\u003e-ify ArtMethod and mirror::Method.\n"
    },
    {
      "commit": "125a47c0d5c77894eeef2229ec26e72a42bfa5e5",
      "tree": "154b14d532a132272bd5709bd38f3cb5ab200552",
      "parents": [
        "6514f95435e6e2fe20e75b7c7b73cd1046e56f7b",
        "ca8de0a70eab62707f3c71a211093f340fdcd5f4"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jul 20 08:04:51 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 20 08:04:51 2018 +0000"
      },
      "message": "Merge \"Move .art.rel data to a section in .art, part 1.\""
    },
    {
      "commit": "a8416b6de39609443be89a31014f49bcd23db716",
      "tree": "71394b2fe934127ebfeef365963a1a44e0b80e4e",
      "parents": [
        "c1d762ae37d37765f6aaabc5bf4a429c5d0cca88",
        "e01844ac1363912451bf75a9763d13150cd87b30"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Jul 19 19:05:04 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 19 19:05:04 2018 +0000"
      },
      "message": "Merge \"ART: disable test 712 for interpreter+gcstress\""
    },
    {
      "commit": "c1d762ae37d37765f6aaabc5bf4a429c5d0cca88",
      "tree": "ccf0b78a40c8ab070178819dd17524b99dac6743",
      "parents": [
        "59d0872519e8abd1ec17003c17b5c3780ed831df",
        "ce75049c31e7064b00104ca7f65fe12faeabc391"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 19 16:22:31 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 19 16:22:31 2018 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Handle a special case of lock aliasing during lock verification\"\"\""
    },
    {
      "commit": "e01844ac1363912451bf75a9763d13150cd87b30",
      "tree": "5274f7937d657142a006460a6ef34e77e3db5131",
      "parents": [
        "79deffcd99bb3c87ea1c2c36509ef156d4010b2e"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Jul 19 14:21:44 2018 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Jul 19 16:19:54 2018 +0100"
      },
      "message": "ART: disable test 712 for interpreter+gcstress\n\nTemporary suspension of 712-varhandle-invocations for test configs\nwith interpreter and gcstress .\n\nBug: 111630237\nTest: art/test.py --host --64 --gcstress --interpreter -r -t 712\nChange-Id: Ie3111bfb130652f3ae9ae9c2760ecc3d157a33b5\n"
    },
    {
      "commit": "59d0872519e8abd1ec17003c17b5c3780ed831df",
      "tree": "718c0ff45c67d962a822527ae003eb75e720c4a4",
      "parents": [
        "79deffcd99bb3c87ea1c2c36509ef156d4010b2e",
        "8e524ad3c690c183b1a71f6114796974a107c5dd"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 19 15:18:47 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 19 15:18:47 2018 +0000"
      },
      "message": "Merge \"Always produce PIC code for AOT compilation.\""
    },
    {
      "commit": "d93e374e273dd45f5d829399da1d4201bf46057e",
      "tree": "280dc72b2aec4696bbc35ad39ca8d3479107380e",
      "parents": [
        "7f7f9d3991f3a55da8934a3b72890d4776373598"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 18 10:58:13 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 19 16:04:38 2018 +0100"
      },
      "message": "ObjPtr\u003c\u003e-ify ArtMethod and mirror::Method.\n\nAnd clean up some forgotten things after old CLs.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 31113334\nChange-Id: I8af0e845c24d674d0efab21d80c29949b1cc0593\n"
    },
    {
      "commit": "ca8de0a70eab62707f3c71a211093f340fdcd5f4",
      "tree": "a391c1307e87edad399418236a2a1842a8f06f34",
      "parents": [
        "7f7f9d3991f3a55da8934a3b72890d4776373598"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 04 11:56:08 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 19 13:42:20 2018 +0100"
      },
      "message": "Move .art.rel data to a section in .art, part 1.\n\nRefactor the code so that we can collect all relocation\noffsets while writing the image.\n\nTest: Manually verify that the aosp_taimen-userdebug boot\n      image is identical before and after this change;\n      using WIP follow-up code, check that we record the\n      same locations as the patchoat-generated .rel files.\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nBug: 77856493\nChange-Id: Id8c78e417e77e859a82a680504253f41e84560d6\n"
    },
    {
      "commit": "eee2ee8e17aa65656e9946c5beb4a0a49fee7509",
      "tree": "db3d326e3ba40af8e7fd3e3aeea5e3752b07c700",
      "parents": [
        "14daacad754fbe83de98282b05379b81f3ec4036"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jul 18 11:00:52 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jul 18 11:02:54 2018 -0700"
      },
      "message": "Add test 071-dexfile to skips for gcstress\n\nLike some other tests it can send error messages due to the\nbacktracing being slower.\n\nTest: Treehugger\nBug: 111543628\nChange-Id: I8bece29c8c875ff578a17ab72e48baa8b232a160\n"
    },
    {
      "commit": "23ea0245da0559ef9a3021bf1996cc0ee2dc7d07",
      "tree": "28c053988edab0debca7d4cb11809828e6a4a98f",
      "parents": [
        "1bec084ee8058b258912724aec1773ad2e04af0c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jul 17 16:22:14 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jul 17 23:30:02 2018 +0000"
      },
      "message": "Add another test that the slower gcstress causes timeouts\n\nTest 141-class-unload can also timeout due to gcstress making a\nfinalize function take longer causing a warning message to be printed.\n\nTest: Treehugger\nBug: 111543628\nChange-Id: I308cf2ff0a998ac0c0be1a63d552ebd205845dfc\n"
    },
    {
      "commit": "f03645487278d274f01d2ed963bfee63d7a16cc9",
      "tree": "65590fc3261c8402f0eda191d70b8127c81e7595",
      "parents": [
        "663078ec903a079d43521be0dfd5c5c8e64ff6d2",
        "b7f10d59557cb6b6cd6824f3bf4d77f961248846"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 17 18:02:39 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 17 18:02:39 2018 +0000"
      },
      "message": "Merge \"Add some tests to gcstress knownfailures\""
    },
    {
      "commit": "b7f10d59557cb6b6cd6824f3bf4d77f961248846",
      "tree": "6508f9c4d8fe8f16c40fdc177ecb59425feb2c82",
      "parents": [
        "543d8450658a2a246d8841a13c006bd38cb9de8b"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jul 17 08:55:23 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jul 17 09:00:08 2018 -0700"
      },
      "message": "Add some tests to gcstress knownfailures\n\nSeveral tests were broken under gcstress by the new libbacktrace based\ngcstress.\n\nThe tests are:\n  * 151-OpenFileLimit, the new gcstress needs to be able to open\n    /proc/self/maps to function.\n  * 530-checker-lse2, The test times out due to the 30% slowdown.\n  * 712-varhandle-invocations \u0026 624-checker-stringops, The new\n    gcstress with its more accurate thread walking seems to expose\n    gc-bugs through these tests. See b/111545159.\n\nBug: 111544552\nBug: 111543628\nBug: 111545159\nTest: ./test/testrunner/testrunner.py --host --gcstress\nChange-Id: I08d93e2c794c2b91aa5c0ed1c503846f17657231\n"
    },
    {
      "commit": "33602449cf4e315330a460d8dbccdbda6bdef7da",
      "tree": "96fe782c8eeecb0278e23c8d1d86267d1b320598",
      "parents": [
        "728ca71cc4530bd1e41f2b36347968d8658eabca",
        "18ba1dacaaf426cbeb3c0aff6db9c58a752f9a96"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 16 17:46:38 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 16 17:46:38 2018 +0000"
      },
      "message": "Merge \"ART: Implement loop full unrolling.\""
    },
    {
      "commit": "8abeb067cd6caabc47a71029c814d6e29bcf90f3",
      "tree": "5dba6444476a0a432d2e39d924b0b4282df13678",
      "parents": [
        "06a45b7588830c04dec723beee365a2e4c1c52f2"
      ],
      "author": {
        "name": "Mads Ager",
        "email": "ager@google.com",
        "time": "Mon Jul 16 15:42:18 2018 +0200"
      },
      "committer": {
        "name": "Mads Ager",
        "email": "ager@google.com",
        "time": "Mon Jul 16 16:06:56 2018 +0200"
      },
      "message": "Update test expectations for 911-get-stack-trace.\n\nD8 version 1.3.8-dev has become less aggressive in applying\nredundant field load elimination. Therefore, there is a load\nthat is no longer eliminated which changes the offsets.\n\nWhen we added the more aggressive field load elimination\nwe did the reverse change here:\n\nhttps://android-review.googlesource.com/c/platform/art/+/707549\n\nThis is going back to what it was before.\n\nTest: art/test/testrunner/testrunner.py -b --host -t 911-get-stack-trace\nChange-Id: I80194d605ce85705562e7d3e2642d04ec90575dc\n"
    },
    {
      "commit": "8e524ad3c690c183b1a71f6114796974a107c5dd",
      "tree": "6ee124814e8f33fd4706eb15fcad2cae0019546b",
      "parents": [
        "5991b184a40e4ce181d67d683ced46caa6143b53"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jul 13 10:27:43 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Jul 16 10:12:51 2018 +0100"
      },
      "message": "Always produce PIC code for AOT compilation.\n\nChange sharpening to use PIC load kinds for AOT compilation\nand add \"Jit\" to the direct addressing load kind names. Use\nPIC code also for the Integer.valueOf() intrinsic codegen.\nRemove all support for non-PIC linker patches.\n\nThe dex2oat --compile-pic option is retained for now but\nignored by the compiler.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Pixel 2 XL boots.\nTest: testrunner.py --target --optimizing\nBug: 77856493\nChange-Id: I54d666f6522f160a1b6ece4045a15d19363acbb6\n"
    },
    {
      "commit": "f58dc65c52f5e3f15eaaa1e25d7259e64649ade3",
      "tree": "4485299d9959a658909879b5a234fd807d7627ff",
      "parents": [
        "0b4a439f808f4602c7b97364e49c5546f5100d51"
      ],
      "author": {
        "name": "Evgeny Astigeevich",
        "email": "evgeny.astigeevich@linaro.org",
        "time": "Mon Jun 25 17:54:07 2018 +0100"
      },
      "committer": {
        "name": "Evgeny Astigeevich",
        "email": "evgeny.astigeevich@linaro.org",
        "time": "Fri Jul 13 16:30:32 2018 +0100"
      },
      "message": "ART: Delete code optimizing a%1 and a%-1 from InstructionCodeGeneratorARM64\n\nIn InstructionWithAbsorbingInputSimplifier there is code optimizing a%1\nand a%-1. So the code in InstructionCodeGeneratorARM64 optimizing such\ncases can be deleted.\n\nThis patch deletes the code from InstructionCodeGeneratorARM64 and adds\nadditional tests.\n\nTest: 012-math, 014-math3, 411-optimizing-arith, 411-checker-hdiv-hrem-pow2\nTest: 701-easy-div-rem, 442-checker-constant-folding\nTest: test-art-host, test-art-target\nChange-Id: Ib80c0aa4c3e28b07fa79bb43783274c9d7fc456a\n"
    },
    {
      "commit": "ce75049c31e7064b00104ca7f65fe12faeabc391",
      "tree": "6f7bb5977a99db0d89c74238576956f0aa1d4dad",
      "parents": [
        "0495fb053094181de232e3fa390806a9110ba208"
      ],
      "author": {
        "name": "Alexey Grebenkin",
        "email": "a.grebenkin@samsung.com",
        "time": "Thu May 31 23:42:20 2018 +0300"
      },
      "committer": {
        "name": "Alexey Grebenkin",
        "email": "a.grebenkin@samsung.com",
        "time": "Fri Jul 13 17:07:25 2018 +0300"
      },
      "message": "Revert \"Revert \"Handle a special case of lock aliasing during lock verification\"\"\n\nThis reverts commit 753a055b5398fcf00d2633565452679c8fb93e9d.\n\nReason for revert: Fixed failing tests\n\nTest: m test-art-host\n\nChange-Id: I4a8be656288199108c05c9d302393e1efa41a7a4\n"
    },
    {
      "commit": "253a37bd15c48a3c374312873066bc83a8f7f3aa",
      "tree": "bae027039db39f17dc44779c6cd54920be1b7f77",
      "parents": [
        "5991b184a40e4ce181d67d683ced46caa6143b53",
        "225ed1dd42d008bdb189da92e185906d08b2ff2f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 12 21:39:37 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 12 21:39:37 2018 +0000"
      },
      "message": "Merge \"Everyone -- even \"NDK\" users -- gets C++14 by default now.\""
    },
    {
      "commit": "225ed1dd42d008bdb189da92e185906d08b2ff2f",
      "tree": "c3fb25ce505581e5c6cc2bb78dbbdba826db9cfd",
      "parents": [
        "e83d3416e09e6454af38c250a4fda81537d8da9f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 12 10:33:02 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 12 10:33:02 2018 -0700"
      },
      "message": "Everyone -- even \"NDK\" users -- gets C++14 by default now.\n\nBug: http://b/32019064\nTest: builds\nChange-Id: I87b169661620c4fd788eea7670060f5e3020e453\n"
    },
    {
      "commit": "bbd2cc2e23691515def685fc3dcea6cd792a2f4e",
      "tree": "45d84f370b70b9aaee23aaa514dd3073d78893ba",
      "parents": [
        "c06bfc9b18e6421ac60e7b27f8f1e90b45772f52",
        "51b8aafd3beb8855a258383a9eb876a783375629"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 12 10:43:28 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 12 10:43:28 2018 +0000"
      },
      "message": "Merge \"Fix HClinitCheck elimination in instruction builder.\""
    },
    {
      "commit": "51b8aafd3beb8855a258383a9eb876a783375629",
      "tree": "002f77eb0308dbb11b6e5e5a88ce4bc19c6ff836",
      "parents": [
        "e824cfdcfd41d400237a806ff93caca7f2e51878"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jun 09 15:17:05 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 12 09:23:17 2018 +0100"
      },
      "message": "Fix HClinitCheck elimination in instruction builder.\n\nTo handle escaping instances of erroneous classes correctly,\nwe can omit the HClinitCheck only when using a class in the\nstatic method of the very same class. Even for superclasses\nwe need to do the check. The new test exposes the cases\nwhere we were previously diverging from the RI.\n\nAlso clean up the CompilerDriver by inlining one function\ndirectly to the HInstructionBuild::IsInitialized(.) and\nremoving some related functions that are no longer used.\n\nThe size of the aosp_taimen-userdebug prebuilts:\n  - before:\n    arm/boot*.oat: 16891788\n    arm64/boot*.oat: 19815520\n    oat/arm64/services.odex: 20071624\n  - after:\n    arm/boot*.oat: 16949532 (+56.4KiB, +0.34%)\n    arm64/boot*.oat: 19889752 (+72.5KiB, +0.37%)\n    oat/arm64/services.odex: 20224328 (+149.1KiB, +0.76%)\nwith minor changes to other app prebuilts.\n\nNote: Some of that could be reclaimed by reinstating the old\noptimization for classes where no bytecode can be executed\nduring initialization (no \u003cclinit\u003e to execute in that class\nor superclasses).\n\nTest: 174-escaping-instance-of-bad-class\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: testrunner.py --jvm -t 174\nTest: Pixel 2 XL boots.\nTest: testrunner.py --target --optimizing\nBug: 62478025\nChange-Id: I41f026ea7fecc615c06e87f3b6cb847de0ede8a6\n"
    },
    {
      "commit": "2a90bc93225f38624333d1d7fa8785f90c687fe5",
      "tree": "8183353ae38facf846e32d6dbdcc01bd9885fa80",
      "parents": [
        "839f53a179df5225dac6964732486fc8dc5c79b0"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jul 10 21:57:42 2018 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jul 10 16:08:22 2018 -0700"
      },
      "message": "Revert^2 \"Move Trace to use trampolines\"\n\nThis reverts commit 27d85eaf54d1cf5f9279ba4d333488b0fbbf441f.\n\nAn ancestor of the original CL got a typo put in it during a minor\nrefactor. This caused a check to be reversed and was not noticed since\nit was a rebase.\n\nReason for revert:  Fixed issue causing --trace failures on some tests\n\nChange-Id: I066519950294edae7b2c22a5850b4a9a96ba46c9\nTest: ./test.py --host --trace --ntrace\n"
    },
    {
      "commit": "27d85eaf54d1cf5f9279ba4d333488b0fbbf441f",
      "tree": "64f9c8896038ada2f7a17bd7cc62c488027dd548",
      "parents": [
        "19af3b9b7fda03417a724fb7e465a3457d528eab"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jul 10 21:55:37 2018 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jul 10 21:55:37 2018 +0000"
      },
      "message": "Revert \"Move Trace to use trampolines\"\n\nThis reverts commit 19af3b9b7fda03417a724fb7e465a3457d528eab.\n\nCaused the following tests to fail.\n\ntest-art-host-run-test-debug-prebuild-interpreter-no-relocate-trace-cms-checkjni-picimage-pictest-ndebuggable-no-jvmti-cdex-fast-916-obsolete-jit32\ntest-art-host-run-test-debug-prebuild-interpreter-no-relocate-trace-cms-checkjni-picimage-pictest-ndebuggable-no-jvmti-cdex-fast-916-obsolete-jit64\n\nIt seems we did not setup the tracing fully correctly.\n\nReason for revert: Caused failure of 2 tests on buildbots\nTest: None\n\nChange-Id: Ied420b95c24ce530a19cdd39dc2403e5cc99fde5\n"
    },
    {
      "commit": "19af3b9b7fda03417a724fb7e465a3457d528eab",
      "tree": "efa7d558db285cca5143ba30b6bba7495b616269",
      "parents": [
        "3e36a9c24f591097b4403fe77b1d426c03aeb56a"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jun 13 14:51:20 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jul 10 08:44:52 2018 -0700"
      },
      "message": "Move Trace to use trampolines\n\nChange method tracing to use instrumentation trampolines instead of\ninterpreter. This is generally faster but can slow down recursion as\nthe stack gets longer. Due to this we need to disable several tests\nwhich will no longer finish in a reasonable time.\n\nTest: ./test.py --host --trace --ntrace\n\nChange-Id: Id4fb7c997a854859f2998f72018980973d8493f8\n"
    },
    {
      "commit": "c916736ca1e375c276df251446baf2ac8ff3eb13",
      "tree": "64f5243c1b95e63a24861af5508b3f71311b51c0",
      "parents": [
        "2c8206ffeb07cebe2f612b8c66c0f4f4132e2be2"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jun 11 16:46:43 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jul 10 08:44:17 2018 -0700"
      },
      "message": "Ensure proxy methods are reported by instrumentation\n\nPreviously we would not report proxy methods to instrumentation in all\ncases. Specifically if the instrumentation trampolines were not\ninstalled we would never report proxy method entry or exit. This fixes\nthat and ensures that proxy methods are always reported to\ninstrumentation regardless of what instrumentation method is being\nused. It also ensures that these methods will only ever be reported\nonce per entry.\n\nTest: ./test.py --host\nTest: ./test/testrunner/testrunner.py \\\n         --host \\\n         --run-test-option\u003d\u0027--with-agent libtifast.so\u003dMethodEntry,MethodExit\u0027\n\nChange-Id: I78f1d4b3b3f242e8915989ab26f7c204baab08e5\n"
    },
    {
      "commit": "2d441b1253cca39bf3078422e8f0b2f4ec1bb408",
      "tree": "3db740023b1322749856f943c4b25b8158da8a44",
      "parents": [
        "e824cfdcfd41d400237a806ff93caca7f2e51878"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jun 08 15:33:21 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jul 10 08:44:17 2018 -0700"
      },
      "message": "Make instrumentation trampoline able to jump to jit code\n\nIn order to get the benefit of the instrumentation trampoline it must\nbe able to jump to jit code. This patch adds support for doing that\nand adds code to ensure that we will not be jumping back and forth\nbetween the trampoline and the interpreter all the time if the jit has\nnot yet compiled the current method.\n\nNote we also disable the jit-gc when turning on these trampolines\nsince otherwise we could end up either sending instrumentation events\nmultiple times or running uninitialized memory.\n\nBug: 110263880\nTest: ./test/testrunner/testrunner.py --host --runtime-option\u003d-Xplugin:libtracefast-trampolined.so\nTest: ./test/testrunner/testrunner.py --host --runtime-option\u003d-Xplugin:libtracefast-trampolined.so --runtime-option\u003d-Xjitthreshhold:0\nTest: ./test.py --host\n\nChange-Id: Ie6e92ec6367452fe4fde24d520d808b7af91d1b5\n"
    },
    {
      "commit": "97c465ca6ee4c76766f8abaa3a98ee0329019c5c",
      "tree": "ea4236d021cfa3df45e27efe1556732a06c6737b",
      "parents": [
        "91b6befbb0a323ccbdce5f0631e260346e04f045",
        "753a055b5398fcf00d2633565452679c8fb93e9d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jul 05 20:05:48 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 05 20:05:48 2018 +0000"
      },
      "message": "Merge \"Revert \"Handle a special case of lock aliasing during lock verification\"\""
    },
    {
      "commit": "753a055b5398fcf00d2633565452679c8fb93e9d",
      "tree": "e334f68df51c6078fd51f293a38146c6fcb6c106",
      "parents": [
        "82898ed01eedfb82a5b4adfe1327b827210af3ca"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jul 05 20:05:20 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jul 05 20:05:20 2018 +0000"
      },
      "message": "Revert \"Handle a special case of lock aliasing during lock verification\"\n\nFails run-test with --tracing or --debuggable.\n\nThis reverts commit 82898ed01eedfb82a5b4adfe1327b827210af3ca.\n\nChange-Id: I8005a1fbe63c6508d9abd5bea77679201c71ab46\n"
    },
    {
      "commit": "91b6befbb0a323ccbdce5f0631e260346e04f045",
      "tree": "ceb3c5608472a396f4f090c315c5cf16386fabd1",
      "parents": [
        "4a72f8b1baec1fb93105e381edb1bad60e372540",
        "82898ed01eedfb82a5b4adfe1327b827210af3ca"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 05 16:32:16 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 05 16:32:16 2018 +0000"
      },
      "message": "Merge \"Handle a special case of lock aliasing during lock verification\""
    },
    {
      "commit": "82898ed01eedfb82a5b4adfe1327b827210af3ca",
      "tree": "c801d41b2491271324a06343efc8618d5ea063a2",
      "parents": [
        "dc53f1616d656a757fb26039f387b7ee44ff2f1d"
      ],
      "author": {
        "name": "Alexey Grebenkin",
        "email": "a.grebenkin@samsung.com",
        "time": "Thu May 31 23:42:20 2018 +0300"
      },
      "committer": {
        "name": "Alexey Grebenkin",
        "email": "a.grebenkin@samsung.com",
        "time": "Thu Jul 05 12:41:54 2018 +0300"
      },
      "message": "Handle a special case of lock aliasing during lock verification\n\nCheck whether the two instructions immediately before a monitor-enter\nare const-class, establishing previously untracked lock aliasing\nin a low-overhead manner.\n\nTest: m test-art-host\nChange-Id: I94c187cbc422f8f0c13b688b09a5d9579a735b56\n"
    },
    {
      "commit": "ab86413a9b5fab9eb7d3967d30277b2e7b580e9a",
      "tree": "aec564fbeda491eb02360ab65335d26dd924a8e5",
      "parents": [
        "0e4563c4ccd3a36dff11c33fc98aa9cedae722e4"
      ],
      "author": {
        "name": "Søren Gjesse",
        "email": "sgjesse@google.com",
        "time": "Wed Jul 04 15:45:13 2018 +0200"
      },
      "committer": {
        "name": "Søren Gjesse",
        "email": "sgjesse@google.com",
        "time": "Wed Jul 04 15:45:13 2018 +0200"
      },
      "message": "Move a 530-checker-lse test from java to smali\n\nThe test expectations was updated in\nhttps://android-review.googlesource.com/c/platform/art/+/707705 due\nto D8 also performing the same optimization.\n\nMoved the test to smali to be independent of the dexer output, and reverted\nthe test expectations to test this optimization on Art again.\n\nTest: art/test/testrunner/testrunner.py -b --host -t 530-checker-lse\nChange-Id: I8c8a37ea08adb44ea9e00284cce43d93a768e7bf\n"
    },
    {
      "commit": "18ba1dacaaf426cbeb3c0aff6db9c58a752f9a96",
      "tree": "e6d82d3b8856137a1b09a2843ea88165d97afbfe",
      "parents": [
        "0e32908d0ee4be5905cdd409dd3c45331fc98465"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Wed May 16 19:06:32 2018 +0100"
      },
      "committer": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Wed Jul 04 13:12:18 2018 +0100"
      },
      "message": "ART: Implement loop full unrolling.\n\nPerforms whole loop unrolling for small loops with small\ntrip count to eliminate the loop check overhead, to have\nmore opportunities for inter-iteration optimizations.\n\ncaffeinemark/FloatAtom: 1.2x performance on arm64 Cortex-A57.\n\nTest: 530-checker-peel-unroll.\nTest: test-art-host, test-art-target.\nChange-Id: Idf3fe3cb611376935d176c60db8c49907222e28a\n"
    },
    {
      "commit": "a8d5a5f709cc7611352d58fb6f2fb50411563653",
      "tree": "be3f0cf1d59e5797100cae0d859e12605ac0b378",
      "parents": [
        "7583d915800ad330da0232dfdb0a4d1bda2d074c",
        "8a62a4c9570b345b715a022d33d443413a634392"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 04 07:50:56 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 04 07:50:56 2018 +0000"
      },
      "message": "Merge \"Handle String.\u003cinit\u003e with a phi input.\""
    },
    {
      "commit": "8a62a4c9570b345b715a022d33d443413a634392",
      "tree": "4b34426f14301f230e9d6b5f23486a038cf6e548",
      "parents": [
        "b5271dd44a30f498689e503340d3c8d01bf31f07"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jul 03 09:39:07 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jul 03 11:22:34 2018 +0100"
      },
      "message": "Handle String.\u003cinit\u003e with a phi input.\n\nWe wrongly assumed only irreducible loops could lead\nto this situation, but any loop can actually be in between\na String NewInstance and a String.\u003cinit\u003e.\n\nbug: 109666561\nTest: 563-checker-fakestring\nChange-Id: I018a22f7e22c15e140252544415f51d544f7cc13\n"
    },
    {
      "commit": "003e64b4108125d6f59bc1b663fd71864abadab9",
      "tree": "488f963dc86f905245df46a6ba99e534b1666edd",
      "parents": [
        "d20a4d76c33cd6e609ad6b1b3cde09fdcbdde05c"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jun 27 13:20:52 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Jun 28 19:43:13 2018 +0100"
      },
      "message": "hiddenapi: Refactor before new features are added\n\nRefactor the hiddenapi build tool to take a command name as its\nfirst argument and create a notion of a \"class path\" group of dex\nfiles. These changes will be needed for creating a new command\nthat resolves SDK stubs against the boot class path.\n\nBug: 79409988\nTest: m hiddenapi\nTest: m test-art-host-gtest-hiddenapi_test\nTest: art/test.py -r -t 674-hiddenapi -t 999-redefine-hiddenapi\nChange-Id: I93c36154cc8c5e8c0e9414cf02e2c6ea298ae0e8\n"
    },
    {
      "commit": "f5020eecfde4e91e4499418f9e189f08cd4ecbd5",
      "tree": "f4777bfc1b122a4c9dfa15e7eb35ac3c306baf2f",
      "parents": [
        "0028ce042e6b0f8446d59d0632c344824aae20fc",
        "b40d361019897e8b8484b772ccc0be433abafb5f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 27 15:49:25 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 27 15:49:25 2018 +0000"
      },
      "message": "Merge \"ART: Finish old move of OatDexFile\""
    },
    {
      "commit": "cd059b6568f5ada2922ef34a45603720f03945e2",
      "tree": "004971d8017619e41a86656372afa7021877e4c4",
      "parents": [
        "86c84f7edbe58a7a18ac40abba0ef268ed367271",
        "5084cda031d1ffcc1819070d127215adf17a1835"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jun 27 13:25:03 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 27 13:25:03 2018 +0000"
      },
      "message": "Merge \"ART: disable 638-no-line-number after move to d8\""
    },
    {
      "commit": "de4efa65db3c38df49c680159bedf72afcc1fc71",
      "tree": "42566e66d3dd8581bc961758c4a5caef324fc933",
      "parents": [
        "f07d5617770c37d87447c8bddf105eb0469ab093",
        "0044b53dfb4752a3379211e696506c29b5ce039f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 27 12:45:05 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 27 12:45:05 2018 +0000"
      },
      "message": "Merge \"ART: Clean-up d8 expections\""
    },
    {
      "commit": "4ced1a8537f887d9d878042d9ea2415b1b959512",
      "tree": "b5808c7f882b02d08c9e6ab2bc35346a016d5178",
      "parents": [
        "893753811f4686edf11c953701e3cc857b8f45e0",
        "a3234e96206a841c83f9f5bf0d4e14fb07b72a5e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 27 12:16:14 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 27 12:16:14 2018 +0000"
      },
      "message": "Merge \"ARM64: Optimization of HRem and HDiv when a denominator is power of 2\""
    },
    {
      "commit": "893753811f4686edf11c953701e3cc857b8f45e0",
      "tree": "ee9f04d1c89be2966cdabc013cdc71f47d19a993",
      "parents": [
        "639f5150805006a2c3a07daa804abcdba0bc3ece",
        "a6e2614354803077bd6e2f015873a717a7cc6690"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 27 11:35:33 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 27 11:35:33 2018 +0000"
      },
      "message": "Merge \"ART: Extend the range of clonable instructions.\""
    },
    {
      "commit": "5084cda031d1ffcc1819070d127215adf17a1835",
      "tree": "64481429fc4216d7cdae7a34eb953dd024befdab",
      "parents": [
        "a98d9e76ed2486db9a7490a6e421a509ab2f6e2d"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jun 27 10:08:15 2018 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Jun 27 11:56:06 2018 +0100"
      },
      "message": "ART: disable 638-no-line-number after move to d8\n\nThe slicer library generates different DEX offsets with d8 generated\nbytecode.\n\nBug: b/110869946\nBug: b/110150973\nTest: art/test.py --host --64 --redefine-stress -r -t 638-no-line-number\nChange-Id: I866baeff31fc8eb9b8cb8c0eb13da482738bb1a3\n"
    }
  ],
  "next": "0044b53dfb4752a3379211e696506c29b5ce039f"
}
