)]}'
{
  "log": [
    {
      "commit": "a5dca524abcbf55c3cfa778e3b72aa1efd1e9813",
      "tree": "77f128dd2fcab181b6a81831ec350fc2d3cc1e62",
      "parents": [
        "d395e73e9ed7c3fb5e8a48c3f3141a8997d4a82b"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Feb 27 12:42:11 2018 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Mar 08 16:55:17 2018 +0000"
      },
      "message": "ART: Update invoke-custom implementation\n\nAdds type checking for bootstrap arguments and support for variable\narity bootstrap arguments.\n\nAdds tests for malformed bootstrap arguments, variable arity bootstrap\narguments, and invocation arguments to passed to the CallSite\u0027s\nMethodHandle.\n\nRemoves unnecessary wrapping when j.l.Error\u0027s are raised during BSM\ninvocation.\n\nRemoves BSM argument type checking from verifier. This is now\nperformed during invocation.\n\nBug: 73927525\nTest: art/test/run-test --host 952-invoke-custom\nChange-Id: Id43226edad64ad9812e4ba1a069dfb70b8196dad\n"
    },
    {
      "commit": "c9d51092baaf870f58f0728936a8a179750cfc03",
      "tree": "2d0f5efde2b1a3455f5680dea47ef148442b3ce4",
      "parents": [
        "72efc159bf4e5cde85cd28e78316681effdceb5b",
        "453e0e557d608d82012a49fedd1b9c83bb54daee"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Mar 07 21:18:57 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 07 21:18:57 2018 +0000"
      },
      "message": "Merge \"Change Addr2line to use poll.\""
    },
    {
      "commit": "bac00b95fa7318b0fbcd808c2534dce4f71f86a2",
      "tree": "672ad56ab2d6d2d157edfcccab1edb223a4ec840",
      "parents": [
        "9417650bdfa66ecee688f940852a6c126a93716a",
        "8f81de5e6231fed74108a709e61136769fba44ab"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 07 16:33:27 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 07 16:33:27 2018 +0000"
      },
      "message": "Merge \"ART: Add to comments\""
    },
    {
      "commit": "74ed8d3b0b22bf7c2c5dbe0842f349c528d1cece",
      "tree": "711a9c274a72fc3eaea35136acfdc2b657dfc680",
      "parents": [
        "983eb7e98d5fde69e522de16777e7575728d1488"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Mar 07 11:19:54 2018 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Mar 07 11:28:39 2018 +0000"
      },
      "message": "ART: JitCodeCache remove only_for_tlb_shootdown\n\nScopedCodeCacheWrite should only be necessary for modifications that\naffect the instruction cache.\n\nTest: test.py --host -j32\nChange-Id: I1bc69a8ed80d1fb9bf15754da2248da1f9f4f755\n"
    },
    {
      "commit": "453e0e557d608d82012a49fedd1b9c83bb54daee",
      "tree": "a6179be23a0ce0ccd053e9398c933cb6634949b4",
      "parents": [
        "7a02c66fd9ed174fc2e49ccc9f582dd661b7de9e"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Mar 06 14:02:55 2018 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Mar 06 16:07:23 2018 -0800"
      },
      "message": "Change Addr2line to use poll.\n\nMoving from select to poll avoids any problems with the fd being\ntoo large for the call to FD_SET. It also slightly simplifies the code.\n\nMake sure that the call to read only ever occurs if there is really data\nto be read. There was a case with the previous use of the select call\nwhere the read would be called when there was no data to be read which\ncaused the process to hang forever.\n\nTest: Ran the 137 test forcing a crash and verified the addr2line\nTest: information is correct.\nTest: Ran the 141 test forcing a crash and verifying that when more than\nTest: two lines are returned by addr2line, it still display them all.\nTest: Modified the Addr2line call to pass in an emptry string for the\nTest: executable and verified there are no hangs.\nChange-Id: I3d750e7796d0c70122686aad1eb40856157c9770\n"
    },
    {
      "commit": "92abf46ea6ab790eb1834a633f97e8b55efc4f6f",
      "tree": "53219e46bef0fd98b609b2032bb5d64e9d019ddb",
      "parents": [
        "94e2e4f10f1b5217979cbfb9a4f9663b2ba8fd46",
        "a98a28262f645d100e2dee9587e7822d35ade6f9"
      ],
      "author": {
        "name": "Lokesh Gidra",
        "email": "lokeshgidra@google.com",
        "time": "Tue Mar 06 23:46:51 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 06 23:46:51 2018 +0000"
      },
      "message": "Merge \"Do fewer GCs shortly after zygote fork\""
    },
    {
      "commit": "7a02c66fd9ed174fc2e49ccc9f582dd661b7de9e",
      "tree": "8f193c8ecea0ff418370bf72babb97487e8c9c65",
      "parents": [
        "334f170654fed18711d8dcf5238c1ac8bad7ecd1",
        "8b089742252e827d863218413e8855e1bae75af5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 06 19:56:58 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 06 19:56:58 2018 +0000"
      },
      "message": "Merge \"Revert \"Add an option to disable native stack dumping on SIGQUIT.\"\""
    },
    {
      "commit": "8f81de5e6231fed74108a709e61136769fba44ab",
      "tree": "409ace9c4881692df49db138b3110cfa5a6b20ea",
      "parents": [
        "7a79ebbd7183cc0fda43512a0add884765fd2bf1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Mar 06 08:39:21 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Mar 06 08:39:21 2018 -0800"
      },
      "message": "ART: Add to comments\n\nFollow-up to commit 9ea84d0bd33694162eb27d9d06bb687f8794a6a0.\n\nBug: 73667005\nTest: m test-art-host\nChange-Id: I77cc688a35fc9413eca4c352f88d2b31e8ca11d1\n"
    },
    {
      "commit": "3ef920ec34c6dc2e5ba95ee1f8dc1f7434eca4a6",
      "tree": "133d2ee255439bbea9b72c1d4860648c07f43cf4",
      "parents": [
        "7a79ebbd7183cc0fda43512a0add884765fd2bf1",
        "c431b9dc4b23cc950eb313695258df5d89f53b22"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Tue Mar 06 16:23:56 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 06 16:23:56 2018 +0000"
      },
      "message": "Merge \"Move most of runtime/base to libartbase/base\""
    },
    {
      "commit": "fe491c7b9cdd64ff4ccc10f6b212cb92a59fc765",
      "tree": "ed31134594aacd68bcf7e43e310f28b3e8cfb7d8",
      "parents": [
        "769af031a5676c2a87a3fc1c4a4ee9bb86a7857d",
        "9ea84d0bd33694162eb27d9d06bb687f8794a6a0"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 06 01:54:11 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 06 01:54:11 2018 +0000"
      },
      "message": "Merge \"ART: Update dex-file fallback code\""
    },
    {
      "commit": "769af031a5676c2a87a3fc1c4a4ee9bb86a7857d",
      "tree": "18fdf1d6f61e1e7350cc0ac62a323f0f4adbacb4",
      "parents": [
        "18eba5e6680c1b8025816996419cb7c66f43e6c9",
        "976b298a4e2d9e79983c1b131093de1a27163bf5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 06 01:18:26 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 06 01:18:26 2018 +0000"
      },
      "message": "Merge \"ART: Use try-lock for interface marking\""
    },
    {
      "commit": "5776a5f0a2c29ecc84d33922f178493a4ae2e575",
      "tree": "2eb9ee125d77a6780060fb5f1da14be1ccb01794",
      "parents": [
        "9c673e9810d290d68cfeb355434d507203cc7564",
        "b8e7c370ccfc53cca8c7caeee7535693668f70fe"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 05 23:06:29 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 05 23:06:29 2018 +0000"
      },
      "message": "Merge \"ART: Refactor known-classloader visits\""
    },
    {
      "commit": "9ea84d0bd33694162eb27d9d06bb687f8794a6a0",
      "tree": "10772b12386d7d734ff20c61cd53de74ce87d274",
      "parents": [
        "f46f46cf5bd32788d5252b7107628a66594a5e98"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Mar 02 09:32:03 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Mar 05 15:01:12 2018 -0800"
      },
      "message": "ART: Update dex-file fallback code\n\nAllow non-executable oat files when the boot image is out of\ndate.\n\nBug: 73667005\nTest: m test-art-host\nChange-Id: Ib04339bd87fa5e268d0c636c98df62ee72d613c5\n"
    },
    {
      "commit": "976b298a4e2d9e79983c1b131093de1a27163bf5",
      "tree": "4b280c13c1fe9d35a6e89b6586c95c54788b10b4",
      "parents": [
        "78d627ded362a1820c78011bed0adb745948a0ce"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Mar 02 17:54:22 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Mar 05 14:26:49 2018 -0800"
      },
      "message": "ART: Use try-lock for interface marking\n\nUse ObjectTryLock for the performance optimization to help code\nthat uses classes for locks.\n\nBug: 72204414\nTest: art/test/testrunner/testrunner.py -b --host -t 170\nChange-Id: Ic00de7bc15cb7e8369ff7c68cefcb3375f9df140\n"
    },
    {
      "commit": "c431b9dc4b23cc950eb313695258df5d89f53b22",
      "tree": "422273559c3ae52caff0c6b1cf1a62a8312f0e26",
      "parents": [
        "f46f46cf5bd32788d5252b7107628a66594a5e98"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Fri Mar 02 12:01:51 2018 -0800"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Mon Mar 05 13:58:20 2018 -0800"
      },
      "message": "Move most of runtime/base to libartbase/base\n\nEnforce the layering that code in runtime/base should not depend on\nruntime by separating it into libartbase.  Some of the code in\nruntime/base depends on the Runtime class, so it cannot be moved yet.\nAlso, some of the tests depend on CommonRuntimeTest, which itself needs\nto be factored (in a subsequent CL).\n\nBug: 22322814\nTest: make -j 50 checkbuild\n      make -j 50 test-art-host\n\nChange-Id: I8b096c1e2542f829eb456b4b057c71421b77d7e2\n"
    },
    {
      "commit": "8b089742252e827d863218413e8855e1bae75af5",
      "tree": "bbfe333fced26fbc42f87a4469c59822611acd9f",
      "parents": [
        "f46f46cf5bd32788d5252b7107628a66594a5e98"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Mar 05 11:47:30 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Mar 05 13:43:15 2018 -0800"
      },
      "message": "Revert \"Add an option to disable native stack dumping on SIGQUIT.\"\n\nThis reverts commit a73280df8cac1279b6dea0424722f42ef0048613.\n\nBug: 27185632\nBug: 74121887\nTest: m test-art-host\nChange-Id: I24af48619577a78371c93cbad24d307d4d7a217d\n"
    },
    {
      "commit": "f46f46cf5bd32788d5252b7107628a66594a5e98",
      "tree": "e63323329298a7cc67799324a6edc2378cfb6822",
      "parents": [
        "4927ba0f5011b7394e52dca2c3cec52f265f8529",
        "58143d2c47734c46c1fa4855cb603c24f2d15454"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 05 19:02:39 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 05 19:02:39 2018 +0000"
      },
      "message": "Merge \"ART: Fixes for constructor parameter annotations\""
    },
    {
      "commit": "58143d2c47734c46c1fa4855cb603c24f2d15454",
      "tree": "261bd69b379e5a39e39e3c15947960e53f389d98",
      "parents": [
        "a1b035b963d091ca6824f285c33de69c6e16ac77"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Feb 20 08:44:20 2018 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Mar 05 15:21:52 2018 +0000"
      },
      "message": "ART: Fixes for constructor parameter annotations\n\nSynthesize empty parameter annotations for implicit parameters on\nconstructors. Reflective methods for recovering parameter annotations\nexpect them to be present though they may not be present in the DEX file.\n\nBug: b/68033708\nTest: art/test/run-test --host 715\n\nChange-Id: I0827c7e71ff7c7e044fc9dd6c5aac639a0e1a4c6\n"
    },
    {
      "commit": "443a6a5d7bb17443fd3c1ead930a90753eacfd65",
      "tree": "789480f84a370c1f85d17c1a793ca8254c2161a1",
      "parents": [
        "a2d18b7072158af6b1fb9260bbf4f5510c3def1d"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Mar 02 16:37:18 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Mar 02 16:38:45 2018 -0800"
      },
      "message": "Ensure loaded plugins are not copied.\n\nIf a loaded plugin was copied we would try to initialize it a second\ntime. This would happen if you were running on a libartd.so because\nthe compiler would not select the move constructor since it wasn\u0027t\nmarked as noexcept.\n\nBug: 74125483\nTest: Run dexmaker tests on a libartd runtime.\nChange-Id: If86e4d3ed8fc68fce7295fb3779cb46499f9c72c\n"
    },
    {
      "commit": "a2d18b7072158af6b1fb9260bbf4f5510c3def1d",
      "tree": "0a85cb327c62a904ce6cd86913e80164e2d00aac",
      "parents": [
        "398daffb3e216ff7d552e50f47f93523409bca6e",
        "6e74abb66162d2399c97594a2a0ed82f0f09b238"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 02 19:38:56 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 02 19:38:56 2018 +0000"
      },
      "message": "Merge \"ART: Restrict ImageSpace space check to first image\""
    },
    {
      "commit": "398daffb3e216ff7d552e50f47f93523409bca6e",
      "tree": "bed9a5450a6af4e7084e274995daa57b57588125",
      "parents": [
        "38d0083c65da325d3b714f487415866a2d6f31a8",
        "134cfddbbb70d4c4de26a3c94eb34c43e5df2003"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Mar 02 18:26:49 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 02 18:26:49 2018 +0000"
      },
      "message": "Merge \"x86-64: Fix art_quick_osr_stub for unwinder.\""
    },
    {
      "commit": "6e74abb66162d2399c97594a2a0ed82f0f09b238",
      "tree": "5cee9548b2a03daaef39a21bd3a4ff026b3bcbae",
      "parents": [
        "38d0083c65da325d3b714f487415866a2d6f31a8"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Mar 01 17:33:19 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Mar 02 09:39:31 2018 -0800"
      },
      "message": "ART: Restrict ImageSpace space check to first image\n\nThe \"secondary image inconsistent\" path is sensitive to running\nthe space check twice.\n\nAlso disable patching/compilation under low-space condition to\nnot fill up the space again.\n\nBug: 73667005\nTest: m\nTest: manual\nChange-Id: Ic93c28c272e6485b06fdb887a3d873a381db94af\n"
    },
    {
      "commit": "981218d156c184b93a4ddb127a72e9203ed63cbc",
      "tree": "0a784ba05c26823820cf12c1e2413aec4254b684",
      "parents": [
        "642de00355d62ebb53898242adaa1659a3b2ea00",
        "c6dfc7ac7fedc5ba5bcc6aac9cd344a7496cd474"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Mar 02 16:04:53 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 02 16:04:53 2018 +0000"
      },
      "message": "Merge \"ART: Do not mmap boot image tables for non-executable oat files.\""
    },
    {
      "commit": "642de00355d62ebb53898242adaa1659a3b2ea00",
      "tree": "6f4e3d95274c1ae02354826a3a233151b699d3bb",
      "parents": [
        "700ef3d1ada8cd2f67932edf94858e472edee3ea",
        "a26f4169b73d9c555a70fd8281f1d7b3add2c058"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Mar 02 16:03:15 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 02 16:03:15 2018 +0000"
      },
      "message": "Merge \"ARM64: Rewrite art_quick_osr_stub for unwinder.\""
    },
    {
      "commit": "134cfddbbb70d4c4de26a3c94eb34c43e5df2003",
      "tree": "9a63ec37e10477a172b07be71162caf11fa8d0b4",
      "parents": [
        "a26f4169b73d9c555a70fd8281f1d7b3add2c058"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Mar 02 15:39:15 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Mar 02 15:42:12 2018 +0000"
      },
      "message": "x86-64: Fix art_quick_osr_stub for unwinder.\n\nTest: testrunner.py --host --jit --64 570-checker-osr\nTest: Run the above test under gdb, break in the stub and\n      manually check that \"bt 3\" works correctly at every\n      instruction and \"bt 4\" works in called methods if we\n      also pass -Xcompiler-option --generate-debug-info.\nBug: 73954823\n\nChange-Id: I7352febb0c4c0414648e2b825511b83d9bcc268a\n"
    },
    {
      "commit": "c6dfc7ac7fedc5ba5bcc6aac9cd344a7496cd474",
      "tree": "8dd0a1efa4a1c59281e3752c4334a4f147345227",
      "parents": [
        "1ccfa59c180c62f88091048c3f7f65f1d511ed0c"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Mar 02 14:16:41 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Mar 02 14:24:09 2018 +0000"
      },
      "message": "ART: Do not mmap boot image tables for non-executable oat files.\n\nFix zygote crash causing boot loop in fall-back mode (trying\nto run without boot image) by allowing loading of oat files\nthat need mmapped boot image tables as non-executable\nwithout the boot image.\n\nNo regression test provided (would require boot test).\n\nTest: Rely on TreeHugger.\nBug: 74092284\nChange-Id: Ic233ac470a2ae0151235f9b2145c4aa529348b3a\n"
    },
    {
      "commit": "a26f4169b73d9c555a70fd8281f1d7b3add2c058",
      "tree": "a31f14296436763ef5cda202b468990893bfe38e",
      "parents": [
        "1ccfa59c180c62f88091048c3f7f65f1d511ed0c"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Mar 02 13:53:53 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Mar 02 14:05:47 2018 +0000"
      },
      "message": "ARM64: Rewrite art_quick_osr_stub for unwinder.\n\nTest: Pixel 2 XL boots.\nTest: testrunner.py --target --jit --64 570-checker-osr\nTest: Run the above test under gdb, break in the stub and\n      manually check that \"bt 3\" works correctly at every\n      instruction and \"bt 4\" works in called methods if we\n      also pass -Xcompiler-option --generate-debug-info.\nBug: 73954823\nChange-Id: I49b589d3079e5d3cc13280d2c998606e1cbb75a7\n"
    },
    {
      "commit": "3c18f4e9dc0829762ccf3910e74d14d1d86aa221",
      "tree": "3bf3cd70b085dec28490a2d122fab17f44e3bf14",
      "parents": [
        "a1b035b963d091ca6824f285c33de69c6e16ac77",
        "2dd2e1e2bc0d0c7fe5ad72c75a184c73266bbbcd"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Mar 02 12:18:47 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 02 12:18:47 2018 +0000"
      },
      "message": "Merge \"Catch references to unused regions in art::gc::ConcurrentCopying::Mark.\""
    },
    {
      "commit": "b8e7c370ccfc53cca8c7caeee7535693668f70fe",
      "tree": "df4ddcbc8eca282687cd41a1f8460d454b02d879",
      "parents": [
        "7b414bac4b69309498cb8d0264cf152e4f328db6"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Feb 20 18:24:55 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Mar 01 16:30:36 2018 -0800"
      },
      "message": "ART: Refactor known-classloader visits\n\nRefactor visiting dex Elements and DexFiles in known classloaders,\nunifying the walking code.\n\nTest: m test-art-host\nChange-Id: I4203ac4fbb0ee68660aadc0dfbf8affacbc03b8b\n"
    },
    {
      "commit": "02ce4cbf5039de4a0c14abe084904bc2d02fd432",
      "tree": "cfe173796435c6465ce1019e302d0c6163868c0e",
      "parents": [
        "8a346fa6a8b1eff8fbf96ee812b87ad597eed7b1"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 01 19:42:02 2018 +0000"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 01 11:44:39 2018 -0800"
      },
      "message": "Revert \"Temporarily add debug logging for b/31357497\"\n\nThis reverts commit a10ae7865a140d45fc01e934a44ba5c8781b4a52.\n\nReason for revert: No longer required\n\nBug: 31357497\nBug: 12687968\nChange-Id: I9e8a6d5f61196d97379bdc2e914b55d74e37a187\nTest: presubmit\n"
    },
    {
      "commit": "2dd2e1e2bc0d0c7fe5ad72c75a184c73266bbbcd",
      "tree": "3e837595a2e4247cbf286d7997d1af3d9a61e77d",
      "parents": [
        "878124c13b794900b0f5c437f52ac0f61538ab55"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Feb 28 16:24:51 2018 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Mar 01 19:23:18 2018 +0000"
      },
      "message": "Catch references to unused regions in art::gc::ConcurrentCopying::Mark.\n\nAlso avoid redundant calls to art::gc::space::RegionSpace::GetRegionType\nin art::gc::ConcurrentCopying::AssertToSpaceInvariant routines.\n\nTest: art/test.py\nBug: 73594598\nBug: 74064045\nChange-Id: I93f47795275c9ea5801660a0cf3da5c776650a67\n"
    },
    {
      "commit": "67bf42e89592c3a1c648f927f2ce3ccb189a1161",
      "tree": "054d5b7adf7cc62d4d2a2118a70c0fbdd1751610",
      "parents": [
        "d961043ff1dd6fddb68aa90c1f939cfafec24219"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Mon Feb 26 16:43:04 2018 -0800"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Wed Feb 28 15:08:21 2018 -0800"
      },
      "message": "Header library to remove dependence on runtime/\n\nAdd a new header library to remove libdexfile and others\u0027 dependence on\nruntime (typically runtime/base) includes in libdexfile.  Also a small step\nto tease dexlayout and profman away from relying on these as well.\n\nBug: 22322814\nTest: make -j 50 checkbuild\n      make -j 50 test-art-host-gtest\n\nChange-Id: I38e2fe399a75f4bc6318c77a71954c00ea73ec2b\n"
    },
    {
      "commit": "66ff8a8b82ff103d48d40e8dad01342c2d6f6d0d",
      "tree": "f1e177b7276d0387bc109fa12e6bd4cde060d5e9",
      "parents": [
        "878124c13b794900b0f5c437f52ac0f61538ab55"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Feb 28 13:27:55 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Feb 28 13:31:13 2018 +0000"
      },
      "message": "Revert \"Revert \"Full-stack integrity: check vdex contents.\"\"\n\nbug: 30972906\n\nInitial revert due to \u0027check\u0027 file of the test needing updating for target tests.\n\nThis reverts commit a19b7649faf8780737be7ce3ec48a12d81c6d69f.\n\nChange-Id: I455780bd88cd89ff80c9084d399e2beeb819b95f\n"
    },
    {
      "commit": "878124c13b794900b0f5c437f52ac0f61538ab55",
      "tree": "3a6f5c80571454823b5048bd19bfe0ae4d44c5e4",
      "parents": [
        "c1e588927783c033f134c7a7f68135f7c4b5f01b",
        "af290318c31180148bab64038d66a6059a1a89d5"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Feb 28 13:05:15 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 28 13:05:15 2018 +0000"
      },
      "message": "Merge \"Small documentation and stylistic changes.\""
    },
    {
      "commit": "c1e588927783c033f134c7a7f68135f7c4b5f01b",
      "tree": "f60e00f2b48fb286fb2bef7b4d2fdc53e8f32888",
      "parents": [
        "50caa3d20eec61a107c83c69f74ab126d5e5d8ce",
        "cd72dc997ffd88ae92867332d2833c6b5d48fe36"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Feb 28 12:45:52 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 28 12:45:52 2018 +0000"
      },
      "message": "Merge \"Fix an incorrect use of ScopedContentionRecorder in ReaderWriterMutex.\""
    },
    {
      "commit": "50caa3d20eec61a107c83c69f74ab126d5e5d8ce",
      "tree": "a5baa020b5d7941a3fd1af9ecec6c0b92f6a4ac7",
      "parents": [
        "c5323adb9acdebfb3db9aea1feb095aa13d8ae19",
        "e45b3b18c97ba00ec2c0b79c9cda9f05799189f3"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Feb 28 11:45:00 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 28 11:45:00 2018 +0000"
      },
      "message": "Merge \"Fix a dead lock between garbage colletion and sample-based tracing.\""
    },
    {
      "commit": "abd52cde778990acb0dbd97fc14a9c75c752a377",
      "tree": "0a99edc174661073159abfb55b052946d7806105",
      "parents": [
        "72866a8b2233bc327a4ba0f47474b8190640623f",
        "055407c8c0d7658d53fef595dec8ec8095797992"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Feb 27 20:38:06 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 27 20:38:06 2018 +0000"
      },
      "message": "Merge \"Correctly handle instrumenting threads multiple times.\""
    },
    {
      "commit": "af290318c31180148bab64038d66a6059a1a89d5",
      "tree": "f5369e0be49f4599ada2a1d70cd564dbe5ba5ff5",
      "parents": [
        "cc4e7b7c7b37d9f7bd6e2bfe22e36308150dddad"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Feb 27 20:02:17 2018 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Feb 27 20:02:17 2018 +0000"
      },
      "message": "Small documentation and stylistic changes.\n\nTest: art/test.py\nChange-Id: Ibc74ee4783314266bf1d027811715058626c57c8\n"
    },
    {
      "commit": "cd72dc997ffd88ae92867332d2833c6b5d48fe36",
      "tree": "a48165e3c59673b755993c960e0cca4db6f859fb",
      "parents": [
        "0bdc1fc702b5c9e45df93f92a052f0c0b1c26733"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Feb 27 19:15:31 2018 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Feb 27 19:20:50 2018 +0000"
      },
      "message": "Fix an incorrect use of ScopedContentionRecorder in ReaderWriterMutex.\n\nThe TID the blocked (current) thread and the TID of the mutex\u0027s\nexclusive owner thread should be respectively passed as second\nand third arguments to ScopedContentionRecorder\u0027s constructor.\n\nTest: art/test.py\nChange-Id: Ica37dfb1c15e25cd48fa46f499192de58e8a7e0e\n"
    },
    {
      "commit": "cc4e7b7c7b37d9f7bd6e2bfe22e36308150dddad",
      "tree": "a9320d2f496ca2795e521e73181f8bd126c81724",
      "parents": [
        "6dfaa0c6dc4a6906bd8522a9d9189be378695e0f",
        "a19b7649faf8780737be7ce3ec48a12d81c6d69f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 27 17:26:27 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 27 17:26:27 2018 +0000"
      },
      "message": "Merge \"Revert \"Full-stack integrity: check vdex contents.\"\""
    },
    {
      "commit": "a19b7649faf8780737be7ce3ec48a12d81c6d69f",
      "tree": "a96372834531ab26b0fae78ce9ef4fecac3ef2c1",
      "parents": [
        "d6f914ea4bd09f2d60db2783f7a3fd93d3ec0afb"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 27 17:26:11 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 27 17:26:11 2018 +0000"
      },
      "message": "Revert \"Full-stack integrity: check vdex contents.\"\n\nbug: 30972906\n\nTest fails on device.\n\nThis reverts commit d6f914ea4bd09f2d60db2783f7a3fd93d3ec0afb.\n\nChange-Id: I53902b0d6d4dbe8237f61bf01542acf538229c71\n"
    },
    {
      "commit": "e45b3b18c97ba00ec2c0b79c9cda9f05799189f3",
      "tree": "5804de06630ecf7d5fe33f41fd17333410b98010",
      "parents": [
        "0bdc1fc702b5c9e45df93f92a052f0c0b1c26733"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Feb 27 17:18:55 2018 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Feb 27 17:23:42 2018 +0000"
      },
      "message": "Fix a dead lock between garbage colletion and sample-based tracing.\n\nWe have been observing some rare deadlock in run-test 099-vmdebug\nbetween\n- a thread doing garbage collection, which had disabled weak\n  references access and was trying to (re-)acquire the mutator\n  lock;\n- a sampling profiling thread used in sample-based tracing, which\n  had acquired the mutator lock exclusively and was blocking on a\n  condition variable regarding weak references access.\n\nThis change prevents garbage collection from occurring when\nsampling the thread stacks in order to avoid this deadlock.\n\nTest: for i in $(seq 1 10); do art/test/testrunner/testrunner.py --ndebuggable --debuggable --host --64 --verbose --debug --ndebug --gcstress -t 099-vmdebug; done\nBug: 73624630\nChange-Id: I73272c2b1d7aa2554a88bb128d3646193bd1db04\n"
    },
    {
      "commit": "6dfaa0c6dc4a6906bd8522a9d9189be378695e0f",
      "tree": "47008066a23925b04c68bde37a2aa2e93d8597fc",
      "parents": [
        "7b5e244b9920de20807487b0bffee7ebb7f24ce4",
        "b47f7445d6c9329629d88f58e747c9e571cf823e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 27 14:52:58 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 27 14:52:58 2018 +0000"
      },
      "message": "Merge \"ART: add exynos-m3 to a53 #835769 \u0026 #843419 erratum exception list\""
    },
    {
      "commit": "7b5e244b9920de20807487b0bffee7ebb7f24ce4",
      "tree": "32d895616958a521bb11aab4d9434df8b843adc9",
      "parents": [
        "c57b3ae06f78b7386b6866a1ea265b3c790026dc",
        "d6f914ea4bd09f2d60db2783f7a3fd93d3ec0afb"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 27 12:24:54 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 27 12:24:54 2018 +0000"
      },
      "message": "Merge \"Full-stack integrity: check vdex contents.\""
    },
    {
      "commit": "d6f914ea4bd09f2d60db2783f7a3fd93d3ec0afb",
      "tree": "596ef15de83798868d8e6c6cb6cbcb9a45e203e8",
      "parents": [
        "b81dedbf4eae5c5a7e65836d3b6d3b6d541b6fa9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 15 13:56:50 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 27 10:40:05 2018 +0000"
      },
      "message": "Full-stack integrity: check vdex contents.\n\nFor priv-apps, if a vdex on /data has dex code, it must\nbe because the APK has compressed dex code.\n\nFall back to APK if not.\n\nFor test convenience, update --copy-dex-files to also\ntake a \"always\" variant.\n\nbug: 30972906\nTest: 677-fsi\n\nChange-Id: I49f0eab46650145316a86de2971a3b9c140bcff7\n"
    },
    {
      "commit": "055407c8c0d7658d53fef595dec8ec8095797992",
      "tree": "5e8f7de9dae6702ccc0af27f410575a6afa6aaaf",
      "parents": [
        "e4827a83c44abe17ecf04881bd935a4aa6849616"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Feb 26 13:44:04 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Feb 26 14:00:28 2018 -0800"
      },
      "message": "Correctly handle instrumenting threads multiple times.\n\nWe had a problem where if threads were instrumented multiple times we\nwould have CHECK failures as the final non-upcall frame would have an\nunexpected return-pc. This changes the check logic to ensure that we\nare robust with respect to that. This could happen when a thread was\ninstrumented while tracing was enabled.\n\nTest: ./test.py --host --trace --ntrace --stream -j50\nBug: 67384421\nChange-Id: Ic5aadf9e7db964aea653ac57a4d36eccbeac699d\n"
    },
    {
      "commit": "d78cecab78c0f85b82e6b510bc1db3f265eb43e3",
      "tree": "1316a422d6c734e182a2a19ffb13a452491e5936",
      "parents": [
        "08a6c3dd9f65a91cfa0df13c055262bb496f3a98",
        "cfda88fddc43c878f4475adf6c2b0f8cbaed10dd"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 26 21:16:21 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 26 21:16:21 2018 +0000"
      },
      "message": "Merge \"Add more info to class initialization check\""
    },
    {
      "commit": "cfda88fddc43c878f4475adf6c2b0f8cbaed10dd",
      "tree": "f9ffcdd52406478ec664c37c5e9a3d36eb2d7383",
      "parents": [
        "54d2c7e503550e602e6cbe4326455d7b44dc3d49"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Feb 26 10:09:39 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Feb 26 19:12:17 2018 +0000"
      },
      "message": "Add more info to class initialization check\n\nA check in class_linker.cc is occasionally failing on buildbots. Add\nmore information to it to assist in figuring out the issue.\n\nTest: Build\nChange-Id: I70d8b8ebefa7f53fc136fabb89482c0132e39b8c\n"
    },
    {
      "commit": "92105543a7e69774ac4a40aef7864e91443ca255",
      "tree": "b2bf37bc09c9c16860b74abb474c007d011ecb42",
      "parents": [
        "0bdc1fc702b5c9e45df93f92a052f0c0b1c26733",
        "76e6adb99db915381da89615f303b3b190c547b1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 26 16:35:20 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 26 16:35:20 2018 +0000"
      },
      "message": "Merge \"Use ASM for invoke-custom tests\""
    },
    {
      "commit": "76e6adb99db915381da89615f303b3b190c547b1",
      "tree": "9fcbebdbeda3f4d54d756d30868fec950f479f74",
      "parents": [
        "33ff84499a9fe5bff2683c45959cb939fa1aad11"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Feb 23 13:15:55 2018 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Feb 26 14:39:45 2018 +0000"
      },
      "message": "Use ASM for invoke-custom tests\n\nRemoves the dependency of binary blobs generated by the jack compiler.\n\nFixes the exception chain raised when a bootstrap method returns null.\n\nBug: 73807070\nTest: art/test/run-test --host 952-invoke-custom\nChange-Id: Iac615cdeec342b1b67f50bb1258768e199adff10\n"
    },
    {
      "commit": "0bdc1fc702b5c9e45df93f92a052f0c0b1c26733",
      "tree": "5716e96ac38c79d308eb9f08e5d6290ca8cae324",
      "parents": [
        "41c72afcb11c1019ffc27f333f087f3308962c46",
        "cc917d9f0495402f5301aa9df0071ad38ab78142"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Feb 23 21:18:15 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 23 21:18:15 2018 +0000"
      },
      "message": "Merge \"Fix issue with obsolete methods and const-method-handle\""
    },
    {
      "commit": "63e9e8700d0fe14a31d93e95efea603bab78a68e",
      "tree": "6a89ae90a962070ed559c9759232d429a5369507",
      "parents": [
        "c7ac275a5f06b0e1140bf600ec1e654f629c54ab",
        "440a9b3b3e6aa60c14e73a97dd85c9ada0898569"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Feb 23 17:53:23 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 23 17:53:23 2018 +0000"
      },
      "message": "Merge \"Add timestamps to JIT/DEX native debug info.\""
    },
    {
      "commit": "cc917d9f0495402f5301aa9df0071ad38ab78142",
      "tree": "98eec3063dcc7f2e279a3173c8b88d3ef749ed92",
      "parents": [
        "54d2c7e503550e602e6cbe4326455d7b44dc3d49"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Feb 22 13:28:28 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Feb 23 09:04:00 2018 -0800"
      },
      "message": "Fix issue with obsolete methods and const-method-handle\n\nWe were incorrectly using the non-obsolete version of the method to\nsearch for the target of const-method-handle instructions. This meant\nthat obsolete methods would see the wrong method-handle or crash.\n\nSince no java code (currently) compiles to dex code using\n\u0027const-method-handle\u0027 we needed to use ASM to construct the test\nclass.\n\nBug: 73744024\nTest: ./test.py --host -j50\n\nChange-Id: I14480170e12eee7f2df5ac084254039a040848c3\n"
    },
    {
      "commit": "d959ccd38899f9ea6fa836191a829f038c2c5712",
      "tree": "97bb12e18e2566180f62dcc813b04e6785f11b84",
      "parents": [
        "33ff84499a9fe5bff2683c45959cb939fa1aad11",
        "37602aa68202073c3738ae710693a5b73fb2610a"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Feb 23 14:01:44 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 23 14:01:44 2018 +0000"
      },
      "message": "Merge \"Fix \"jit at first use\" for proxy methods.\""
    },
    {
      "commit": "37602aa68202073c3738ae710693a5b73fb2610a",
      "tree": "479d3fe8e0d756dc882f09c5a7d8036677bbcd22",
      "parents": [
        "f70ea622cf22363ca7c2716714c2712faaf50238"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Feb 23 10:20:56 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Feb 23 12:00:48 2018 +0000"
      },
      "message": "Fix \"jit at first use\" for proxy methods.\n\nTest: testrunner.py --host --jit 767-proxy-jit-at-first-use\nBug: 73718713\nChange-Id: I1bc68d9a2fb0ae0dee7e8e9f96c2bd73a0ff7d7e\n"
    },
    {
      "commit": "33ff84499a9fe5bff2683c45959cb939fa1aad11",
      "tree": "a24ec7331df6b0a1eadd1de37b98e58ecca450dd",
      "parents": [
        "e42d71719442d40baf07a306a02a5653f444c10d",
        "befa3091a7a2abb5181970837c5ccee506573130"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 23 09:03:56 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 23 09:03:56 2018 +0000"
      },
      "message": "Merge \"Workaround for class loader issues in verifier.\""
    },
    {
      "commit": "e42d71719442d40baf07a306a02a5653f444c10d",
      "tree": "b9dfc3999609d1d2e84e636e9e12097b785b9465",
      "parents": [
        "c8483841a764dff86f72813381d51df00809ef68",
        "06537f7a6f0772cbef08bdded933828378b2d32a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 23 01:35:17 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 23 01:35:17 2018 +0000"
      },
      "message": "Merge \"native: Cleanup jni usage code\""
    },
    {
      "commit": "06537f7a6f0772cbef08bdded933828378b2d32a",
      "tree": "e1505a3dea19d6585973d2db0d9dd6988bf0f03d",
      "parents": [
        "a502c7202f56b8f5f2c5de567359fa7f6bab406f"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 22 15:03:05 2018 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Feb 22 15:28:50 2018 -0800"
      },
      "message": "native: Cleanup jni usage code\n\nMake the C++ signature consistent with the JNI descriptor by using the\nsame type as the descriptor whenever possible.\n\ne.g. \"()Ljava/lang/String;\" should actually be \"jstring fn(JNIEnv*,jobject)\"\ninstead of \"jobject fn(JNIEnv*,jobject)\".\n\nBug: 35325126\nChange-Id: I72318525fc3b18b013b8d6fa604d8dd6b5dd4400\nTest: make -j32 test-art-host  # and also manually that it boots\n"
    },
    {
      "commit": "54d2c7e503550e602e6cbe4326455d7b44dc3d49",
      "tree": "3b296e857591fe57926a3c697bb7c5e31e905554",
      "parents": [
        "117781a424a1db68aa0c5a21031c40154ca9044c",
        "81894bc0fd7d07d235f898d74f468ffb6548a741"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 22 21:54:17 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 22 21:54:17 2018 +0000"
      },
      "message": "Merge \"Make duplicate intern string check be debug only\""
    },
    {
      "commit": "20b2ce459f681f8c41bf0f5df31a24d4eb781f50",
      "tree": "4f56d4d75d56bbade360589cb518047ae5dc838b",
      "parents": [
        "037194d280ee072ff55603f971190c56eea894be"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Feb 22 12:52:03 2018 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Feb 22 12:53:00 2018 -0800"
      },
      "message": "Bump vdex version\n\nSince the quickening info offset table format changed, we need to\nbump the vdex version to prevent corruption.\n\nBug: 72608794\nTest: m\nChange-Id: I62842239ee1f19e53b4c3a9869964bc5bc75a666\n"
    },
    {
      "commit": "81894bc0fd7d07d235f898d74f468ffb6548a741",
      "tree": "989f3275dad0c2473dfbf2d99fb9c22070d2d122",
      "parents": [
        "8dbb4ba7ffdf42cf08c55b117370efc0ec5357e8"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Feb 22 11:29:22 2018 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Feb 22 11:29:22 2018 -0800"
      },
      "message": "Make duplicate intern string check be debug only\n\nThis check was expensive and costing up to 300ms per dex2oat\ninvocation. Disabling the check reduces OTA/first boot time by\n~10-20s for low preopt devices.\n\nTest: test-art-host\nBug: 70934104\nChange-Id: I7ed0a0d098bc725c6fbb24318b73816506c2deec\n"
    },
    {
      "commit": "2daa13448d5caeb7eb4f7fd3981c0d430264c7c3",
      "tree": "547222519fc7627a99eae914fbaa39eb294a82c6",
      "parents": [
        "b2f1edc3d1f162bd9007f10bc66009eac5b2daab"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Feb 20 16:19:28 2018 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Feb 22 10:37:31 2018 -0800"
      },
      "message": "Fix unquickening logic for quickened input dexes\n\nIn the case where an input dex is already quickened (i.e.\nobfuscation), do not attempt to unquicken it. This is done by\nswitching the quicken info table to the compact offset table (used by\ncdex debug infos).\n\nAdded test.\n\nPosssible to get a bit of extra savings by deleting the quicken info\nnum entries field.\n\nQuicken filter size regression average on golem: -0.14%.\n\nBug: 72608794\nBug: 63756964\nTest: test-art-host-gtest-dex2oat_test -j64\nChange-Id: I5534a7509b4c718a9b959fa43b82bde857e0b59e\n"
    },
    {
      "commit": "befa3091a7a2abb5181970837c5ccee506573130",
      "tree": "9c473fdacd240cfcc56ffa6fbaaf74b15c0fdb31",
      "parents": [
        "8ccef7e84280f63723588c1ad6194af0910e24d6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 22 14:50:01 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 22 17:54:57 2018 +0000"
      },
      "message": "Workaround for class loader issues in verifier.\n\nbug: 73760543\nbug: 73549918\nbug: 64759619\n\nTest: 676-resolve-field-type\nChange-Id: Iac30bd2dcfb7266c8ef6f5e283de5b6951ca07bf\n"
    },
    {
      "commit": "b2f1edc3d1f162bd9007f10bc66009eac5b2daab",
      "tree": "f4c196b5f313167737835a33227778eaf62ac774",
      "parents": [
        "b81dedbf4eae5c5a7e65836d3b6d3b6d541b6fa9",
        "b2ec9f5c128673c43f776cbe12c8eeb0a6884ebb"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Feb 22 16:20:17 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 22 16:20:17 2018 +0000"
      },
      "message": "Merge \"Remove duplication, split tests\""
    },
    {
      "commit": "b81dedbf4eae5c5a7e65836d3b6d3b6d541b6fa9",
      "tree": "a96372834531ab26b0fae78ce9ef4fecac3ef2c1",
      "parents": [
        "8ccef7e84280f63723588c1ad6194af0910e24d6",
        "b8b9387c0d7420b463a9ca11bf18ae86f3ed0a65"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 22 14:49:12 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 22 14:49:12 2018 +0000"
      },
      "message": "Merge \"ART: Support for VarHandle invokers\""
    },
    {
      "commit": "8ccef7e84280f63723588c1ad6194af0910e24d6",
      "tree": "85d48fcd675eb289a0d3c8c2751fc27ad5acf0d5",
      "parents": [
        "f70ea622cf22363ca7c2716714c2712faaf50238",
        "a68aabb0f068d8962ca9329b5115f0c8bbf29440"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Feb 22 12:55:37 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 22 12:55:37 2018 +0000"
      },
      "message": "Merge \"Don\u0027t fixup proxy method arguments after invoking the InvocationHandler.\""
    },
    {
      "commit": "b8b9387c0d7420b463a9ca11bf18ae86f3ed0a65",
      "tree": "d7fba6a12a1d074d8d0c1a80d1eae0fd9a41b5ed",
      "parents": [
        "ae3c5cc582442e3493aa23155f2ee2f6b4613923"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Jan 30 07:51:10 2018 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Feb 22 12:45:02 2018 +0000"
      },
      "message": "ART: Support for VarHandle invokers\n\nEnables VarHandles to invoked by a MethodHandle.\n\nBug: b/65872996\nTest: art/test/run-test --host 713\n\nChange-Id: I4672dd50654396c2b45bd212a523698cf22879eb\n"
    },
    {
      "commit": "1c128fa54eee5405be816402ac7fb0b299e9106d",
      "tree": "f0fd0cf305bfa5907a44f4ebf7290f007478c25f",
      "parents": [
        "5b3628898b84f6fb0e9deefff1e551946edcd596",
        "ccb0019c9c60617dcd420c6c92a931e1d82c4920"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 22 03:00:54 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 22 03:00:54 2018 +0000"
      },
      "message": "Merge \"Fix a memory leak\""
    },
    {
      "commit": "5b3628898b84f6fb0e9deefff1e551946edcd596",
      "tree": "6f0e0b482f23a9a1fdb4cf3699132e87fc3379be",
      "parents": [
        "8f6dc914758848c91a7d8a0a6733c8e24b9fa384",
        "b69d2d3c3af7a7a62efb38d04dec878ea9b0b43c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 22 02:29:08 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 22 02:29:08 2018 +0000"
      },
      "message": "Merge \"Remove generate-operator-out.py symlinks\""
    },
    {
      "commit": "b69d2d3c3af7a7a62efb38d04dec878ea9b0b43c",
      "tree": "4220e5b7475b5c53b19609ef46d1d081bf8357cb",
      "parents": [
        "c758875461cca47d1b342c3c56a218a704b04365"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Feb 21 13:37:17 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Feb 21 22:42:13 2018 +0000"
      },
      "message": "Remove generate-operator-out.py symlinks\n\nRewrite the operator out step to use a python_host_binary instead.\nTest: mma -j50\n\nChange-Id: I1503ad9851bf6d7bae8964f7cb91ba7f19b660ca\n"
    },
    {
      "commit": "b2ec9f5c128673c43f776cbe12c8eeb0a6884ebb",
      "tree": "724022162a4f3de021cebab32ee5ac67ec860f32",
      "parents": [
        "f13343eb8b2738e2812fd7bd9d5592f529e93c21"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Wed Feb 21 13:20:31 2018 -0800"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Wed Feb 21 13:51:15 2018 -0800"
      },
      "message": "Remove duplication, split tests\n\nThe code move to libdexfile/dex/descriptors_names.cc apparently did not\nremove the original code from runtime/utils.cc.  Fix that duplication\nand all the header mentions needed.  Also, split the test files to go\nalong with the new locations for the code to be tested.\n\nBug: 22322814\nTest: make -j 50 checkbuild\n      make -j 50 test-art-host-gtest\n      flash \u0026 boot marlin\n\nChange-Id: Ie734672c4bca2c647d8016291f910b5608674545\n"
    },
    {
      "commit": "99bd16bfd0cebb338dd33473cdf71176d560d6a3",
      "tree": "f46aa68c07facf98704a2e29c053e118f11018fe",
      "parents": [
        "ae3c5cc582442e3493aa23155f2ee2f6b4613923"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Feb 21 14:18:15 2018 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Feb 21 15:15:11 2018 +0000"
      },
      "message": "Extend error reporting in art::gc::Heap::GrowForUtilization.\n\nTest: art/test.py\nBug: 73712520\nChange-Id: I425368fd0bb69241e986b38c40a541e8f5c05c59\n"
    },
    {
      "commit": "440a9b3b3e6aa60c14e73a97dd85c9ada0898569",
      "tree": "26dcc48d91e3eec18ab1e4dd987962a0939f6531",
      "parents": [
        "d1652d14fbf477b3091eec3764b9890f2c072055"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Feb 15 17:47:29 2018 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Feb 21 12:57:12 2018 +0000"
      },
      "message": "Add timestamps to JIT/DEX native debug info.\n\nThis a forward-looking change intended to allow simpleperf to\nreliably correlate samples and native debug information.\n\nI have added the timestamps to both JIT and DEX, and refactored\nthe code in the process to avoid code duplication.\n\nTest: testrunner.py -t 137\nChange-Id: I45fa4310305aff540e036db9af15a86c5b8b7aff\n"
    },
    {
      "commit": "65466b5a78b29046e1b12961aeb9718014ee13f9",
      "tree": "247dcb91753bbd897106bb2ddb82fef666e04731",
      "parents": [
        "911ae191d32560e57e97ae52089702a8021ec5d8",
        "2bce0763cbbd8cf35ab4e14a1920afce735e9b89"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 21 03:52:40 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 21 03:52:40 2018 +0000"
      },
      "message": "Merge \"Register tests for profiling after the runtime has started\""
    },
    {
      "commit": "2bce0763cbbd8cf35ab4e14a1920afce735e9b89",
      "tree": "702989f754d38b7251d9116fc67c9087416c1440",
      "parents": [
        "a1322f062616c7979da49d2c2198eabb6b7b259d"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Feb 20 16:03:34 2018 -0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Feb 20 16:03:34 2018 -0800"
      },
      "message": "Register tests for profiling after the runtime has started\n\nEnsure that the profile saver thread starts after the runtime finishes\nstarting. In test mode (when -Xps-profile-path is passed) we were\nregistering the app info to early.\n\nTest: run-test 927-timers\nChange-Id: Iede588524dda3ff60aa3e2c61ed1d906f63a6c70\n"
    },
    {
      "commit": "9e937be874b4f76c50a05ec8f9d8e68ef2f9ae37",
      "tree": "8749995c91c7e9017e408567f04350c6fb52ba84",
      "parents": [
        "b4d3e6c90f7ee1bc4533671b0a3ae8401d7d8460"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Feb 15 17:06:58 2018 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Feb 20 21:05:04 2018 +0000"
      },
      "message": "Add check JNI tests for byte and 16-bit primitives.\n\nMake boolean checking check 32-bit values in case of truncation.\nAdd unit test for out-of-bound primitive call values.\nMake reflection\u0027s ArgArray anonymous as per more recent cppstyle and\naddress other minor style issues.\nTest: mma -j32 test-art-host; boot (eng) emulator and check logcat is clean\n\nBug: 73656264\nChange-Id: If7947e24ec3fe3303c1d3d0545605e82f651de25\n"
    },
    {
      "commit": "a68aabb0f068d8962ca9329b5115f0c8bbf29440",
      "tree": "8994b712856d9850eeed04a7a55993d4a0afbce4",
      "parents": [
        "11088ad5d79fe9ac7875b625fcea01ddf42db3bf"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Feb 20 17:55:55 2018 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Feb 20 17:56:03 2018 +0000"
      },
      "message": "Don\u0027t fixup proxy method arguments after invoking the InvocationHandler.\n\nThis is no longer needed, as proxy method reference arguments are now\nvisited as GC roots.\n\nTest: art/test.py\nBug: 73149739\nChange-Id: Id19ebbb16b494c73d999ea36b242ee1762b60f8b\n"
    },
    {
      "commit": "88c6d26dd8686bdb366d54937a505f10f3bf1cd8",
      "tree": "2f07c4ef2144c4a909760260389d070fe22af05e",
      "parents": [
        "38321bb87c3630afaef76f312e90df5bca6a0554"
      ],
      "author": {
        "name": "Chris Morin",
        "email": "cmtm@google.com",
        "time": "Tue Feb 13 15:26:21 2018 -0800"
      },
      "committer": {
        "name": "Christopher Morin",
        "email": "cmtm@google.com",
        "time": "Tue Feb 20 16:35:18 2018 +0000"
      },
      "message": "patchoat: take directories instead of filenames\n\npatchoat was already ignoring the basename part of the filename passed\nto it for both --output-image-file and --output-image-relocation-file.\nWe can therefore just pass in the directories instead.\n\nBug: 72828459\nTest: make test-art-host-gtest-patchoat_test\nChange-Id: I1a699d1f6746f068078ae768d30690431578d84e\n"
    },
    {
      "commit": "11088ad5d79fe9ac7875b625fcea01ddf42db3bf",
      "tree": "fac57f2119c3fc6a97b5a7a7779946bc0062a406",
      "parents": [
        "87df7addc6194ec5f2e0e1b85c59d96bafd94efd",
        "ad0777d89df7eb21d7d2001f9743882d10de3f5c"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Feb 20 13:50:18 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 20 13:50:18 2018 +0000"
      },
      "message": "Merge \"Visit proxy methods reference arguments when visiting Quick frames roots.\""
    },
    {
      "commit": "5919f737facdebbe8b738272e681ae33e085de98",
      "tree": "0b1e7d8569598611ced78c057820150daa0f54c5",
      "parents": [
        "bdf1bc45a9f13d50a216861dfad20192bad20c28",
        "65915f00f7caed1754f0a5156179eacde6cf18eb"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 20 03:29:50 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 20 03:29:50 2018 +0000"
      },
      "message": "Merge \"ART: Move CHECK to DCHECK in FindResolvedMethod\""
    },
    {
      "commit": "bdf1bc45a9f13d50a216861dfad20192bad20c28",
      "tree": "d81aa90cade80d2e0f76b5467ffd86bb6fbc3b1a",
      "parents": [
        "62d45e0b9a0aa28fbaeb5fee5c990300a20a5979",
        "315d7af1bc3ab97d2bf9a4e7df596bab1753ca80"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 19 22:47:41 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 19 22:47:41 2018 +0000"
      },
      "message": "Merge \"ART: Add more logging to FindResolvedMethod\""
    },
    {
      "commit": "62d45e0b9a0aa28fbaeb5fee5c990300a20a5979",
      "tree": "3584293ed70f1fa0cf51a9653addb897a620a28f",
      "parents": [
        "b2a9999a6d1bb804f06902404879bdbe55ed0ec3",
        "792111ca6220a771adb95d5741c82f06116cba73"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Feb 19 21:49:43 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 19 21:49:43 2018 +0000"
      },
      "message": "Merge \"Add option for not copying dex\""
    },
    {
      "commit": "65915f00f7caed1754f0a5156179eacde6cf18eb",
      "tree": "35568b5e6cdeaf7ac7f30491c0a3c973f031fc86",
      "parents": [
        "315d7af1bc3ab97d2bf9a4e7df596bab1753ca80"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Feb 19 13:10:49 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Feb 19 13:10:49 2018 -0800"
      },
      "message": "ART: Move CHECK to DCHECK in FindResolvedMethod\n\nTemporarily unblock non-debug configurations.\n\nBug: 73549918\nTest: mmma art\nChange-Id: Idbd7475b749f6d6e5734e72e5f27d8471b883135\n"
    },
    {
      "commit": "315d7af1bc3ab97d2bf9a4e7df596bab1753ca80",
      "tree": "b945a0831727870eebe6d6ad839bf6d2d8a7133c",
      "parents": [
        "b2a9999a6d1bb804f06902404879bdbe55ed0ec3"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Feb 19 12:33:46 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Feb 19 12:33:46 2018 -0800"
      },
      "message": "ART: Add more logging to FindResolvedMethod\n\nAdd more logging to aid in diagnostics.\n\nBug: 73549918\nTest: m test-art-host\nChange-Id: Id7fdc44032b2fa52fb8c1f213812d8cd81ade795\n"
    },
    {
      "commit": "ccb0019c9c60617dcd420c6c92a931e1d82c4920",
      "tree": "2933beeccfa8ea7f51d51d65f996b5f475ccf867",
      "parents": [
        "b2a9999a6d1bb804f06902404879bdbe55ed0ec3"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Sat Feb 17 23:16:39 2018 -0800"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Sun Feb 18 21:57:10 2018 -0800"
      },
      "message": "Fix a memory leak\n\ndex_file is meant to take ownership of `container`. There\u0027s at least\none path (`error_msg \u003d \"Invalid or truncated dex file\";`) where\n`container` never gets passed along to a dex_file.\n\nCaught by the static analyzer:\nart/runtime/dex/dex_file_loader.cc:406:45: warning: Potential memory\nleak\n\nBug: None\nTest: Reran the analyzer. Memory leak complaints are gone.\nChange-Id: Ib57008e444d32b366bb2beabec8e39b8e84fd9db\n"
    },
    {
      "commit": "792111ca6220a771adb95d5741c82f06116cba73",
      "tree": "d7bab74f1f106ddac9a562a986b4cf16f8e500e3",
      "parents": [
        "040fcf17961a3a402c7c0afcf5e63709cac4baa4"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Feb 15 13:02:15 2018 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sun Feb 18 13:38:10 2018 -0800"
      },
      "message": "Add option for not copying dex\n\nIf specified --avoid-copying-dex does not write the dex file into the\noutput vdex.\n\nAdded test to dex2oat_test.\n\nMotivation: Use this for preopt on low end devices to speed\nup first boot.\n\nBug: 70934104\nTest: test-art-host\n\nChange-Id: I181d35a923dccb0d08bb855c0a7f74af3ed1f48d\n"
    },
    {
      "commit": "e06e48e7b513c37c512b5a321ca7e0a3b0fc3ac6",
      "tree": "55080739c711d41f1b0ccaac25895204a96141f0",
      "parents": [
        "b09289548f89b56b36c03d3dc698568ccf298edd",
        "77d33985a4340bd3c185247fa3e66623858076d2"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Feb 17 01:39:54 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Feb 17 01:39:54 2018 +0000"
      },
      "message": "Merge \"Propagate an is_zygote flag through nativePostForkChild.\""
    },
    {
      "commit": "b09289548f89b56b36c03d3dc698568ccf298edd",
      "tree": "99d8efa0096d1c436e88bed3b64c8d75b6d2081b",
      "parents": [
        "cabc6df1eaa0d15f552033a1d8e62505fbef607a",
        "999646d7f3b2ced25a995c020d19a55caf3c18d5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Feb 17 00:40:50 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Feb 17 00:40:50 2018 +0000"
      },
      "message": "Merge \"Dex header cleanup and windows simplification\""
    },
    {
      "commit": "999646d7f3b2ced25a995c020d19a55caf3c18d5",
      "tree": "870d9d5d33bca66f4891f66a0b53505508ebe009",
      "parents": [
        "0694a5527862fc76056458622759976fa41d4da6"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Fri Feb 16 10:22:33 2018 -0800"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Fri Feb 16 14:45:23 2018 -0800"
      },
      "message": "Dex header cleanup and windows simplification\n\nRemove a few unnecessary inclusions, move one missed header to\nlibdexfile.  Also use android-base utilities for file loading in\ndexdump2 and dexlist.  (The utilities seem to work on Windows, where\nmmap did not.)\n\nBug: 22322814\nTest: make -j 50 test-art-host-gtest\nChange-Id: I6e6de1895921f664a2280451b01e367649436200\n"
    },
    {
      "commit": "c88a008aacd123ac99ca0742533cf50521d9761b",
      "tree": "1cd3d55f1bf37c51adce92573ada44425351a062",
      "parents": [
        "d937c49b19a6005cf94e23d464415be47e995d9b"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Feb 15 17:08:29 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Feb 16 10:04:52 2018 -0800"
      },
      "message": "Ensure that apis are unhidden even if there is no vdex\n\nWe were relying on the vdex to unhide apis during dequickening for\nJVMTI. This meant that hiddenapi flags could get through if there is\nno vdex file. We fixed this by making sure to get rid of hiddenapi\nflags even without vdex.\n\nBug: 73177368\nTest: ./test/run-test --dev --host --interpreter 674-hiddenapi;\n      # Examine output for slicer crashes.\nChange-Id: I8530afe11de8c5132470591564a089ca073efaca\n"
    },
    {
      "commit": "86f452c179dc6624b0394d7ca9276ab496c90dc8",
      "tree": "25f5c0415351d2c965ef43bc5012d55bcf39ab20",
      "parents": [
        "7d2894d67acf8e2665f5714e524266af7a41274e",
        "ea179f477465789605e0c8f57a3ec660c3d852e8"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 16 09:54:18 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 16 09:54:18 2018 +0000"
      },
      "message": "Merge \"Refactor method resolution in class linker.\""
    },
    {
      "commit": "7d2894d67acf8e2665f5714e524266af7a41274e",
      "tree": "bc1bb30666bbaef1c53d843ea6f7b97764b53477",
      "parents": [
        "f1c29aa501eeb38b6cc6a142887b2ea4e4fd5db1",
        "0a80b0e6d087f0efc78083c1c958f088f183e050"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 16 01:58:26 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 16 01:58:26 2018 +0000"
      },
      "message": "Merge \"Extend logging around instrumentation check\""
    },
    {
      "commit": "f1c29aa501eeb38b6cc6a142887b2ea4e4fd5db1",
      "tree": "44fd8e0de329a5890605b5b09406a906af072c9c",
      "parents": [
        "3e55ea3118c97f0ffecc24939a193a9d40dc315d",
        "ee9cb41260bc76cdb8572b10e99e6da866d9a8c8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 16 01:43:15 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 16 01:43:15 2018 +0000"
      },
      "message": "Merge \"Ensure that we always set the method hotness in the profile\""
    },
    {
      "commit": "3e55ea3118c97f0ffecc24939a193a9d40dc315d",
      "tree": "cbb4230d449d0837e6a62e32b24fb3a93ad4d2ea",
      "parents": [
        "7fe39afe80098d147e34149dac1d6304e858fe44",
        "fcbe15ce26930c0c4bb33998fc2abbe4f8770dbe"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 16 01:28:31 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 16 01:28:31 2018 +0000"
      },
      "message": "Merge \"Build debug library libdexfiled\""
    },
    {
      "commit": "0a80b0e6d087f0efc78083c1c958f088f183e050",
      "tree": "6e8f5943c4e86ca2ec048bafd28e02c3937a2201",
      "parents": [
        "7fe39afe80098d147e34149dac1d6304e858fe44"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Feb 15 15:58:37 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Feb 15 16:00:22 2018 -0800"
      },
      "message": "Extend logging around instrumentation check\n\nThis check in instrumentation.cc will very occasionally fail during\nlibjdwp tests. Add additional logging to try to figure out what is\ngoing on.\n\nBug: 69243589\nTest: build\nChange-Id: Ib0940a8b37e897fcfee7f2aeb4cd79e6fd7c2a50\n"
    },
    {
      "commit": "ee9cb41260bc76cdb8572b10e99e6da866d9a8c8",
      "tree": "c5192809ccfe6042800b5710fa22ec600060a81d",
      "parents": [
        "b40fa7c33075292beeb6840ac679ffd08fd1f719"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Feb 13 20:32:35 2018 -0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Feb 15 15:31:19 2018 -0800"
      },
      "message": "Ensure that we always set the method hotness in the profile\n\nThe method hotness were not recorded for methods extracted from the JIT\ncode cache.\n\nTest: gtest \u0026 run-test\nBug: 71588770\n\nChange-Id: Ifdf6340caa9faf5adb6f3b3b5b4046f31f34189c\n"
    },
    {
      "commit": "fcbe15ce26930c0c4bb33998fc2abbe4f8770dbe",
      "tree": "6513a2eaf1251e93578916b5171dc42984de7da3",
      "parents": [
        "b40fa7c33075292beeb6840ac679ffd08fd1f719"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Feb 15 09:41:13 2018 -0800"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Thu Feb 15 15:15:13 2018 -0800"
      },
      "message": "Build debug library libdexfiled\n\nAdd a debug version of libdexfile for use when CHECKs, etc., are\nenabled.\n\nBug: 22322814\nTest: make -j 50 checkbuild\nChange-Id: I263138611bcdde9dbc8f619bcb2a0a6d3a09fbf6\n"
    },
    {
      "commit": "0280eb019ba6c72e050df3fdbbd87111bbe59f39",
      "tree": "17ad6fea1a6eb6bfe218c88ff2f2d44e206fc090",
      "parents": [
        "b40fa7c33075292beeb6840ac679ffd08fd1f719",
        "ac4d45ae2999c0dbecbc31da3edbbc61d6ac6d61"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 15 21:25:21 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 15 21:25:21 2018 +0000"
      },
      "message": "Merge \"Reduce the scope of CheckJNI.\""
    },
    {
      "commit": "ac4d45ae2999c0dbecbc31da3edbbc61d6ac6d61",
      "tree": "73bad107232ca0eebec509039845d12bc42331c5",
      "parents": [
        "d1652d14fbf477b3091eec3764b9890f2c072055"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Feb 15 11:19:01 2018 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Feb 15 19:37:05 2018 +0000"
      },
      "message": "Reduce the scope of CheckJNI.\n\nCheckJNI wasn\u0027t anonymous so that it could friend JniEnvExt. Add\naccessors for the CheckJNI parts of JniEnvExt and make CheckJNI and\nrelated classes anonymous. This is equivalent to making functions\nwithin the scope of a file static and preferred now by cppstyle.\nMake the force_copy_ field that could be const, const.\nTest: m -j32; booted emulator.\n\nChange-Id: I7e740d3b9bf4a3fedd30c4f44a852af67898d2f0\n"
    },
    {
      "commit": "77d33985a4340bd3c185247fa3e66623858076d2",
      "tree": "75a8eeced018e8b29a3ddedce8319f25a6210ca1",
      "parents": [
        "57207cd8a6cd5c2eb7ad0ec2094bf54973492322"
      ],
      "author": {
        "name": "Robert Sesek",
        "email": "rsesek@google.com",
        "time": "Wed Jan 17 18:39:04 2018 -0500"
      },
      "committer": {
        "name": "Robert Sesek",
        "email": "rsesek@google.com",
        "time": "Thu Feb 15 14:06:56 2018 -0500"
      },
      "message": "Propagate an is_zygote flag through nativePostForkChild.\n\nThis flag is used to skip calling into Runtime::InitNonZygoteOrPostFork()\nin child-zygote processes. Doing so would spin up threads for Binder,\nwhich would make the process unable to fork like a zygote.\n\nBug: 63749735\nTest: m (with multi-project commits landed)\nChange-Id: I352af061e0ce6bd32e6f30b15ff2f8d3f4b58222\n"
    }
  ],
  "next": "ad0777d89df7eb21d7d2001f9743882d10de3f5c"
}
