)]}'
{
  "log": [
    {
      "commit": "5df5acf4dc296d22a868a7c5010a7f5cf2350539",
      "tree": "596bae1feca4dbeebc10bb294d4d6a0ef91afb82",
      "parents": [
        "c3c743a8e9bd0321b9ae82bd450846d526807aec",
        "6530cab77a36d6d284c9d61084e39cd2c7fb91f8"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Apr 24 15:07:47 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 24 15:07:49 2017 +0000"
      },
      "message": "Merge \"Revert \"ART: Support for SourceDebugExtension\"\""
    },
    {
      "commit": "6530cab77a36d6d284c9d61084e39cd2c7fb91f8",
      "tree": "d04da8c615716cabac429319a124b013ff0a39e4",
      "parents": [
        "40dc110da3d951465bd2e1ea80ccec8bf99bddaa"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Apr 24 14:32:00 2017 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Apr 24 14:41:31 2017 +0100"
      },
      "message": "Revert \"ART: Support for SourceDebugExtension\"\n\nThis reverts commit 70a45017d6371521c251d67a9aac7d1c86fb6a06.\n\nPending fix for run-jdwp-tests.sh --mode\u003ddevice.\n\nBug: 30109642\nTest: art/tools/run-jdwp-tests.sh\n\nChange-Id: I62f84e0fb09b6fe280ca6b518fbd2bc431318a56\n"
    },
    {
      "commit": "c3c743a8e9bd0321b9ae82bd450846d526807aec",
      "tree": "34094c2ff267330f5cdc1b20b4c6d61c02d85717",
      "parents": [
        "7386c272ecbc34050ac24d0f8eda078865d750de",
        "b81e9e90ee60e602286899fc3fa0048c2fcb1c30"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Apr 24 11:33:59 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 24 11:33:59 2017 +0000"
      },
      "message": "Merge \"Improve deterministic boot image compilation with CC collector.\""
    },
    {
      "commit": "7386c272ecbc34050ac24d0f8eda078865d750de",
      "tree": "fe2833dcdd0069b690a631073c5279faacfd1710",
      "parents": [
        "40dc110da3d951465bd2e1ea80ccec8bf99bddaa",
        "23caed84eba735b2615f5962b5161f6dc9e8bd4e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Apr 24 09:13:26 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 24 09:13:27 2017 +0000"
      },
      "message": "Merge \"Lower profiler saver thread priority.\""
    },
    {
      "commit": "40dc110da3d951465bd2e1ea80ccec8bf99bddaa",
      "tree": "edc4e6d103606bc2f9379060c90f5fdd4bf588db",
      "parents": [
        "5a0336dd8926e1ddee517f7bf39fd6ed3c68f656",
        "70a45017d6371521c251d67a9aac7d1c86fb6a06"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Apr 24 08:05:58 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 24 08:06:00 2017 +0000"
      },
      "message": "Merge \"ART: Support for SourceDebugExtension\""
    },
    {
      "commit": "5a0336dd8926e1ddee517f7bf39fd6ed3c68f656",
      "tree": "d04da8c615716cabac429319a124b013ff0a39e4",
      "parents": [
        "7b96e726420f56e489dc1da929737171cf008986",
        "3a842f5adcbdeb3fd3db4206006a784ccabfc865"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Apr 24 08:03:43 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 24 08:03:44 2017 +0000"
      },
      "message": "Merge \"ART: Add method verifier check for call site id\""
    },
    {
      "commit": "9aef9924c7e6282600db20bb26ab8da20f8f4ac8",
      "tree": "250eef4b5cc3d255145a482dbf34c3736534c167",
      "parents": [
        "a2dfb0f481810aced8af861a154be69e66eba782"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sun Apr 23 13:53:50 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sun Apr 23 13:55:55 2017 -0700"
      },
      "message": "Handle null WellKnownClasses::java_lang_Object\n\nMay be null early during runtime creation. Fixes gcstress tests.\n\nBug: 37531237\nBug: 12687968\n\nTest: test/run-test --host --gcstress --gdb 004-ThreadStress\nTest: test-art-host\n\nChange-Id: I5bee19ba102b046fdbf2ab53722b7e1b87db98b1\n"
    },
    {
      "commit": "5e36c2ff6f2454586a70d702fa4f9dac53841e4a",
      "tree": "429b3f41458014eb230f41c46d5c4274586b6d6e",
      "parents": [
        "9dd326eb801c962a7ff6df5917aa9f4b88db250a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 21 19:11:15 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 21 19:46:22 2017 -0700"
      },
      "message": "ART: Fix missing include\n\nAdd required headers.\n\nBug: 37187694\nTest: mmma art\nChange-Id: I0f39498453973ed9bfbad97965f2dff215caea98\n"
    },
    {
      "commit": "9dd326eb801c962a7ff6df5917aa9f4b88db250a",
      "tree": "e3b5afc9de9151785fcacd1082ad752e4fabb82b",
      "parents": [
        "498305d881ee0a4678a0498692fb1425361d5055",
        "c15a2f4f45661a7f5f542e406282c146ea1a968d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Apr 22 02:22:47 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Apr 22 02:22:49 2017 +0000"
      },
      "message": "Merge \"ART: Add object-readbarrier-inl.h\""
    },
    {
      "commit": "c15a2f4f45661a7f5f542e406282c146ea1a968d",
      "tree": "50ad6104b0b8739f272782c35a7022cca64d2601",
      "parents": [
        "9ae527f615f61aec4aaca310c52f373e8c3d8d58"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 21 12:09:39 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 21 16:48:00 2017 -0700"
      },
      "message": "ART: Add object-readbarrier-inl.h\n\nMove some read-barrier code into a new header. This prunes the\ninclude tree for the concurrent-copying collector. Clean up other\nrelated includes.\n\nTest: mmma art\nChange-Id: I40ce4e74f2e5d4c692529ffb4df933230b6fd73e\n"
    },
    {
      "commit": "1ca689096b532e007dc9f8ba16db4731e6afd719",
      "tree": "e07c8c5c0eba7494d7dba628caaa1cd2bbe6066f",
      "parents": [
        "9ae527f615f61aec4aaca310c52f373e8c3d8d58"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 18 11:26:22 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 21 15:55:16 2017 -0700"
      },
      "message": "More robust GC verification and corruption dumping\n\nAdded a test for GC heap corruption dumping, added more info to the\ndump like adjacent bytes and card table.\n\nAdded heap corruption detection in\nConcurrentCopying::MarkNonMoving().\n\nBug: 37187694\nBug: 12687968\n\nTest: mm test-art-host-gtest-verification_test -j20\n\nChange-Id: I8c90e45796d0784265aa091b2f8082f0cfb62719\n"
    },
    {
      "commit": "c1d4cd74227cfba9b5fef9cdd319e35ceb66df2e",
      "tree": "ed6e644141a6deaf2f436ca10b5afd187ea048c0",
      "parents": [
        "6b8b07521125e7744327d00e64f897b4dd5d1db9"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 21 13:24:52 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 21 13:24:52 2017 -0700"
      },
      "message": "ART: Fix Mac build\n\nAnother missing transitive include.\n\nTest: m\nChange-Id: I3e2691bcf8ddb38e48c7e32dbd9695459f4d9d16\n"
    },
    {
      "commit": "6b8b07521125e7744327d00e64f897b4dd5d1db9",
      "tree": "1a8d6cd6c50fdcb5edc388588e36eb41c78e1324",
      "parents": [
        "e0ffd22714fd4bc4edf81000966b98eae59788dd",
        "a1d2f957a21319d1110bebb9a52f46fd1c67ffaf"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 21 18:57:25 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 21 18:57:27 2017 +0000"
      },
      "message": "Merge changes I6ff2d6f8,I8f60f116\n\n* changes:\n  ART: Clean up art_field.h\n  ART: Clean up art_method.h\n"
    },
    {
      "commit": "e0ffd22714fd4bc4edf81000966b98eae59788dd",
      "tree": "aedc83b3a2cb5b5d0e7afae181784451bce2b727",
      "parents": [
        "2a9dc4dcc5cb6cec1e9a4411ea81aee2ee9daa74",
        "6b040570b5f71bdb6a0aacf51a7613edf35785b7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 21 18:56:17 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 21 18:56:18 2017 +0000"
      },
      "message": "Merge changes from topic \u0027art_move_inline_method_anlyzer_to_compiler\u0027\n\n* changes:\n  ART: Clean up InlineMethodAnalyzer\n  ART: Move InlineMethodAnalyzer into compiler\n"
    },
    {
      "commit": "2a9dc4dcc5cb6cec1e9a4411ea81aee2ee9daa74",
      "tree": "fdd228b34741d240c32376d7efa43daf95a49389",
      "parents": [
        "9bb7ab6750d39461f57fb089d7950e1c137d8e87",
        "1f7079b72965cba0b1a40f53be97a4944ecb4a51"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Apr 21 18:41:23 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 21 18:41:24 2017 +0000"
      },
      "message": "Merge \"Ignore the optimized location passed to DexFile.loadDex()\""
    },
    {
      "commit": "b81e9e90ee60e602286899fc3fa0048c2fcb1c30",
      "tree": "e4f6d7d370029913f18168bb6f143e95adb876d8",
      "parents": [
        "8d0f3aaf28358697ec812955cdf975ca6c6ff901"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Apr 20 17:35:32 2017 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Apr 21 19:06:29 2017 +0100"
      },
      "message": "Improve deterministic boot image compilation with CC collector.\n\nAllow deterministic compilation with the read barrier configuration.\n\nTest: Compare boot.art produced by different builds of the same tree.\nBug: 37442966\nChange-Id: I6cc0d0d7fdfe4f954765764d9f7f3778b7307028\n"
    },
    {
      "commit": "b95c74b9788886b24b04db782ce64867cb4960d5",
      "tree": "f9b01a5b509d70bf66cfb69433f23d7019b892ce",
      "parents": [
        "d68677c5fde1ace16ea58d65733776c954e7acb4"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 20 19:43:21 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 21 09:41:03 2017 -0700"
      },
      "message": "ART: Move InlineMethodAnalyzer into compiler\n\nMove the infrastructure, which is now only used by the compiler.\n\nTest: mmma art\nChange-Id: I4a61e35f23736b226523d7349f49208ad852ad2f\n"
    },
    {
      "commit": "9bb7ab6750d39461f57fb089d7950e1c137d8e87",
      "tree": "44d48b62e16b9ab802f0424eda393f975d665bf6",
      "parents": [
        "d68677c5fde1ace16ea58d65733776c954e7acb4",
        "3ed8ec10be0c79e7f7bbe73a754da0daf997b994"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 21 16:34:44 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 21 16:34:46 2017 +0000"
      },
      "message": "Merge \"Store java_lang_Object_ in the flip callback\""
    },
    {
      "commit": "3ed8ec10be0c79e7f7bbe73a754da0daf997b994",
      "tree": "53e3f3e105d1d4f582a3f35cf874a1f58e1328eb",
      "parents": [
        "bdbc63b892c571101a301ce805ca136acd769218"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 20 19:28:54 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 21 09:26:58 2017 -0700"
      },
      "message": "Store java_lang_Object_ in the flip callback\n\nThere was a race where the GC thread would not have is_marking \u003d\ntrue, and call\nWellKnownClasses::ToClass(WellKnownClasses::java_lang_Object). This\nmeant that the returned class was maybe in the from-space for the\nno image case. The fix was to move this decoding into the flip\ncallback since this callback is called before flipping any thread\nroots.\n\nBug: 37531237\nBug: 12687968\nTest: test-art-host\n\nChange-Id: I9a09249e9c6ea2b3b124e957a9e4b61017869306\n"
    },
    {
      "commit": "a1d2f957a21319d1110bebb9a52f46fd1c67ffaf",
      "tree": "db9b6eda7cd4764e13c07256df14a7c14888ee75",
      "parents": [
        "c6ea7d00ad069a2736f603daa3d8eaa9a1f8ea11"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 20 22:53:58 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 21 08:41:28 2017 -0700"
      },
      "message": "ART: Clean up art_field.h\n\nClean up the header. Fix up other headers including the -inl file,\nin an effort to prune the include graph. Fix broken transitive\nincludes by making includes explicit.\n\nTest: m\nChange-Id: I6ff2d6f89b741d8188e19426eccf4743fec688fc\n"
    },
    {
      "commit": "c6ea7d00ad069a2736f603daa3d8eaa9a1f8ea11",
      "tree": "a6d3332a8592fb806841314d55b206b573d37d86",
      "parents": [
        "d68677c5fde1ace16ea58d65733776c954e7acb4"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Feb 01 16:46:28 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 21 08:40:33 2017 -0700"
      },
      "message": "ART: Clean up art_method.h\n\nClean up the header. Fix up other headers including the -inl file,\nin an effort to prune the include graph. Fix broken transitive\nincludes by making includes explicit. Introduce new -inl files\nfor method handles and reference visiting.\n\nTest: source build/envsetup.sh \u0026\u0026 lunch aosp_angler-userdebug \u0026\u0026 mmma art\nTest: source build/envsetup.sh \u0026\u0026 lunch aosp_mips64-userdebug \u0026\u0026 mmma art\nChange-Id: I8f60f1160c2a702fdf3598149dae38f6fa6bc851\n"
    },
    {
      "commit": "d68677c5fde1ace16ea58d65733776c954e7acb4",
      "tree": "c949275647f1a46b30ad64af4c3ce5436431eca2",
      "parents": [
        "6d3c61d8c6d2f96dec8345263c948fae3caa4e1a",
        "9cb0c46402117e5fa83680289c8c097041296fb6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 21 14:24:57 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 21 14:24:58 2017 +0000"
      },
      "message": "Merge \"Fix verifier crash on abstract final class.\""
    },
    {
      "commit": "3a842f5adcbdeb3fd3db4206006a784ccabfc865",
      "tree": "3aaa5a0d63cd1c588c4a381db0b9c3ab7e0b68c5",
      "parents": [
        "6d3c61d8c6d2f96dec8345263c948fae3caa4e1a"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Apr 21 15:24:10 2017 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Apr 21 15:24:10 2017 +0100"
      },
      "message": "ART: Add method verifier check for call site id\n\nBug: 37248626\nTest: dex2oat on bug data\nChange-Id: Iaccd39ae9d4b3ab5134f7b5a9063a7efa2cab498\n"
    },
    {
      "commit": "23caed84eba735b2615f5962b5161f6dc9e8bd4e",
      "tree": "9352996b31bb5d24e141f5369aae0f3bd8f68639",
      "parents": [
        "6d3c61d8c6d2f96dec8345263c948fae3caa4e1a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 21 14:30:18 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 21 14:30:18 2017 +0100"
      },
      "message": "Lower profiler saver thread priority.\n\nSpotted while looking at bug reports. Doesn\u0027t hurt, and better\nbe safe than sorry.\n\nbug:37446669\ntest:manual, looking at bugreports\nChange-Id: Idbd1abc74231fe62207ef5a16c83498e729b2f17\n"
    },
    {
      "commit": "9cb0c46402117e5fa83680289c8c097041296fb6",
      "tree": "e315160be2ee9052e460d6b4b2f9b825057ff0f4",
      "parents": [
        "38870a8a2717ccf1bcd3faddc53b1999985bb29f"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Apr 21 13:31:41 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Apr 21 13:54:00 2017 +0100"
      },
      "message": "Fix verifier crash on abstract final class.\n\nRemove a check for erroneous class. It should not matter to\nthe verifier whether the class is just resolved, initialized\nor resolved erroneous. The check was also inherently racy\nand could yield different behavior based on the timing of\nthe verification.\n\nTest: 161-final-abstract-class\nTest: testrunner.py --host\nBug: 37248840\nChange-Id: Ic4d964050bbe52e3de4438ada9e75676956cb6b4\n"
    },
    {
      "commit": "bdbc63b892c571101a301ce805ca136acd769218",
      "tree": "de0bcc8aa203c2d00ec5bebd2eb0191ed435ace1",
      "parents": [
        "4e34bd190287f10214e8ea11a61025f18d2429b8",
        "42151c061f1bc60b24c309aecc8381a9c8346383"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 21 00:49:23 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 21 00:49:25 2017 +0000"
      },
      "message": "Merge changes If234ff55,I2d83fc46,I5ad78a15\n\n* changes:\n  Be able to run jvmti-stress on RI\n  Do native method bind in jvmti-stress\n  Agent libraries need to be searched for JNI functions\n"
    },
    {
      "commit": "0af8cde95a267c86c3e3982f88cab1c7ffb62625",
      "tree": "5d4c722652a375f088b802d1ef321a54e026ecc5",
      "parents": [
        "65af20b1aaa2b23abaae3e4a21d7b6cdcb156889"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Apr 20 13:35:05 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Apr 20 22:47:20 2017 +0000"
      },
      "message": "Do native method bind in jvmti-stress\n\nExtend the jvmti-stress test suite to intercept the NativeMethodBind\nevent for every method.\n\nAlso fix small issue where we tried to add a local reference to a null\nthread in ti_method.cc if we had an event trigger before VMInit.\n\nTest: ./test/testrunner/testrunner.py --host --jvmti-stress -j40\nBug: 37432636\n\nChange-Id: I2d83fc460b18edf035ed7296b8e2b06cff3671e5\n"
    },
    {
      "commit": "65af20b1aaa2b23abaae3e4a21d7b6cdcb156889",
      "tree": "8bf0c219ec23392afe2f04972b6abc2665c9ab80",
      "parents": [
        "aa03f6fa38da0166790f2b22b679e6568ad56f7d"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Apr 20 09:15:08 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Apr 20 22:47:01 2017 +0000"
      },
      "message": "Agent libraries need to be searched for JNI functions\n\nThis makes agent libraries the option of last resort for native\nmethod implementations. This will allow one to not need to manually\nlink all native methods in an agent library.\n\nBug: 37522517\nBug: 37432636\nTest: ./test.py --host -j40\nChange-Id: I5ad78a15e7e2799d2a877c5d603342899e2a1bd1\n"
    },
    {
      "commit": "bc632f05acd06f9000e67517fdeb8296f739e079",
      "tree": "444d10061ec4556ee24fe175a410d4e720cec528",
      "parents": [
        "4c408ca7262122729fc9b1e53ad439507bd2ec19"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 20 13:31:39 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 20 13:44:38 2017 -0700"
      },
      "message": "Improve VerifyNoFromSpaceRefsObjectVisitor logging\n\nRemove read barriers in PrettyTypeOf to prevent recursive failures.\n\nPass down holder and offset information to\nVerifyNoFromSpaceRefsFieldVisitor.\n\nTest: test-art-host\nBug: 37531237\nChange-Id: I704ec18ebecfc1ca2982b38f67a2f0788e59dfe9\n"
    },
    {
      "commit": "4c408ca7262122729fc9b1e53ad439507bd2ec19",
      "tree": "7091aa5819cb0c9f32586127514a39922d957f51",
      "parents": [
        "38870a8a2717ccf1bcd3faddc53b1999985bb29f",
        "28a24b308f665de64c785e2590f9b23ec6ec25aa"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 20 16:47:51 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 20 16:47:52 2017 +0000"
      },
      "message": "Merge changes from topic \u0027partial_tlab\u0027\n\n* changes:\n  Fix some gtests\n  Use partial TLAB regions\n"
    },
    {
      "commit": "38870a8a2717ccf1bcd3faddc53b1999985bb29f",
      "tree": "b79db0f347eae175d590de844797d1be2ff58d70",
      "parents": [
        "aa03f6fa38da0166790f2b22b679e6568ad56f7d",
        "5fdd778d07e0c87203b3c9d776fda3544c51a3a4"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 20 15:16:44 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 20 15:16:45 2017 +0000"
      },
      "message": "Merge \"Add descriptor validation to ClassLinker::FindClass().\""
    },
    {
      "commit": "5fdd778d07e0c87203b3c9d776fda3544c51a3a4",
      "tree": "fbe0d48d423b9e2b95c3275cf76536dce88003ba",
      "parents": [
        "25009fdd7a5dccc957afc8178ca5d3733f899147"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Apr 20 11:26:03 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Apr 20 13:54:12 2017 +0100"
      },
      "message": "Add descriptor validation to ClassLinker::FindClass().\n\nAnd add tests for odd signatures passed to JNI GetFieldID().\nPreviously, passing the signature \"java/lang/String\" instead\nof \"Ljava/lang/String;\" would call the class loader with the\ndot name java.lang.String and the class loader would find\nthat class only to fail the DescriptorEquals() check back\nin ClassLinker::FindClass().\n\nTest: 647-jni-get-field-id\nBug: 33577836\nBug: 37156832\nChange-Id: I6612a272ec24b0d54b728fd35003e9c24a7e2e95\n"
    },
    {
      "commit": "aa03f6fa38da0166790f2b22b679e6568ad56f7d",
      "tree": "0e1efb6327f3e5531bb7504b078bef6dd14b1ad1",
      "parents": [
        "de9e54abcfbb1d9e30a5f8d3d899a23a2ac58334",
        "d4ac767281d3d4f6c420d5d41ed9dddf0c62606b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Apr 20 12:32:48 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 20 12:32:50 2017 +0000"
      },
      "message": "Merge \"Fix fault_handler with heap poisoning.\""
    },
    {
      "commit": "d4ac767281d3d4f6c420d5d41ed9dddf0c62606b",
      "tree": "1d847fc64884139e49948c6b704d8c3d5dd34e2e",
      "parents": [
        "8d0f3aaf28358697ec812955cdf975ca6c6ff901"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Apr 20 12:50:13 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Apr 20 13:13:44 2017 +0100"
      },
      "message": "Fix fault_handler with heap poisoning.\n\ntest: test-art-host\nChange-Id: Ifeb3d5ff4cfdcb703d5874bca90c9c1438d86f08\n"
    },
    {
      "commit": "de9e54abcfbb1d9e30a5f8d3d899a23a2ac58334",
      "tree": "5228e08e1ab8740670059dd2acb68e90d9e41b30",
      "parents": [
        "8d0f3aaf28358697ec812955cdf975ca6c6ff901",
        "bdb540dc8d09c48ee19cf035f418bcae0f00660e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 20 11:01:32 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 20 11:01:34 2017 +0000"
      },
      "message": "Merge \"Vdex: Workaround arrays with erroneous component type.\""
    },
    {
      "commit": "bdb540dc8d09c48ee19cf035f418bcae0f00660e",
      "tree": "59a1d36ca6d626c827da70db758751e33a76cb60",
      "parents": [
        "aebc6870db9c1c4df78512732f11325740550663"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Apr 19 13:50:34 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Apr 20 10:37:31 2017 +0100"
      },
      "message": "Vdex: Workaround arrays with erroneous component type.\n\nThe assignability DCHECK is only reliable when classes are not\nerroneous. For arrays whose component type could be erroneous,\nthe verifier can join types even if they\u0027re not assignable.\n\nbug:33770646\nTest: verifier_deps_test\nChange-Id: I4ec1b12b2e2c7d5b57b51a64aea381f951a38dcd\n"
    },
    {
      "commit": "28a24b308f665de64c785e2590f9b23ec6ec25aa",
      "tree": "3e9f0779038cefbbae5581b5844ce742ea782f9b",
      "parents": [
        "6bc7774426cc0b6bbab5566fa62b3c509455e583"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 19 23:54:33 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 19 23:55:36 2017 -0700"
      },
      "message": "Fix some gtests\n\nForgot to retest.\n\nTest: test-art-host-gtest\n\nChange-Id: I72b07c3872079452a3a01db4fbd2c4ee0060f294\n"
    },
    {
      "commit": "6bc7774426cc0b6bbab5566fa62b3c509455e583",
      "tree": "06c47a48c43924e8cdc80ed3ec31b8fddb4b39b6",
      "parents": [
        "8d0f3aaf28358697ec812955cdf975ca6c6ff901"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 18 17:46:23 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 19 21:26:56 2017 -0700"
      },
      "message": "Use partial TLAB regions\n\nInstead of having 256K TLAB regions, have 256K TLABs split into\n16K regions. This fixes pathological cases with multithreaded\nallocation that caused many GCs since each thread reserving\n256K would often bump the counter past the GC start threshold. Now\nthreads only bump the counter every 16K.\n\nSystem wide results (average of 5 samples on N6P):\nTotal GC time 60s after starting shell: 45s -\u003e 24s\nAverage .Heap PSS 60s after starting shell: 57900k -\u003e 58682k\n\nBinaryTrees gets around 5% slower, numbers are noisy.\n\nBoot time: 13.302 -\u003e 12.899 (average of 100 runs)\n\nBug: 35872915\nBug: 36216292\n\nTest: test-art-host\n\n(cherry picked from commit bf48003fa32d2845f2213c0ba31af6677715662d)\n\nChange-Id: I5ab22420124eeadc0a53519c70112274101dfb39\n"
    },
    {
      "commit": "9a2eea3e6fe2dce60935f312b6a32d25a9ed2187",
      "tree": "17aa7f5238d880cb0f27c9cca6a89c19a596f950",
      "parents": [
        "6c99499c8a3bad181847d6bdfe28dae06e09477b"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Apr 19 15:44:20 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Apr 19 18:18:16 2017 -0700"
      },
      "message": "base: make SafeCopy work on older Linux kernels.\n\nprocess_vm_readv is documented to not split transfer across a single\niovec element, but this appears to not be the case for the newer\nkernels we have on our workstations.\n\nSplit up transfers across page boundaries, to avoid this. This has the\nside effect of limiting the maximum size of a transfer, but 64 pages\nought to be enough for anybody.\n\nTest: safe_copy_test on 3.13.0-101-generic (failing before)\nTest: safe_copy_test on 4.4.0-66-generic (still passing)\nChange-Id: I6a6dbf0cd2aeaa7eab39f6d41285d46ebd760e30\n"
    },
    {
      "commit": "77c14157ad11aa01b696518c791c64a978e54cb1",
      "tree": "7d8f7de24962423f1f35c00ee5475239eaba249d",
      "parents": [
        "1cfe8728e0b7186b194d5b38f37be8461a305e43"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Apr 19 13:20:19 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Apr 19 13:20:51 2017 -0700"
      },
      "message": "fault_handler: hopefully fix darwin build.\n\nTest: none\nChange-Id: I08adf266c6287a289d213a0b1fa854f223fec72d\n"
    },
    {
      "commit": "3955baf83fd881d7152fad9d2eef73c61a7847b7",
      "tree": "f06eb9abdd3ad0bca6b9f80e7dc3df475d40e4ec",
      "parents": [
        "9088df87d94a9c9de6bdbec12fd2d64bfff88601",
        "143f61c29e77328e19bcdba3cc94df7334c40358"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 19 19:57:35 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 19 19:57:36 2017 +0000"
      },
      "message": "Merge changes Ie3d5e176,Ic1fbb885,I10bafcff\n\n* changes:\n  fault_handler: use SafeCopy to verify the validity of ArtMethod.\n  fault_handler: use SafeCopy to decode x86 instruction length.\n  base: add SafeCopy.\n"
    },
    {
      "commit": "9088df87d94a9c9de6bdbec12fd2d64bfff88601",
      "tree": "d7909df92bc80134cddf335ea657ef7acbbafddc",
      "parents": [
        "ed5d0ee21e2b8ebf2fca332bb482a4c7a3b58fb6",
        "d78ddec5f8eaf1f27e9043f6f42be90149ccb966"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 19 19:31:06 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 19 19:31:07 2017 +0000"
      },
      "message": "Merge \"Implement can_generate_native_method_bind capability\""
    },
    {
      "commit": "143f61c29e77328e19bcdba3cc94df7334c40358",
      "tree": "e1116ca3ad55f10bef00e07730c9326308f1bd08",
      "parents": [
        "91119d69f0736f6dbd350c433632af2618c7575a"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Apr 17 20:10:29 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Apr 19 10:48:47 2017 -0700"
      },
      "message": "fault_handler: use SafeCopy to verify the validity of ArtMethod.\n\nReimplement ArtMethod::GetDeclaringClassUnchecked and VerifyClassClass\nin terms of SafeCopy, to be able to safely verify the validity of\nputative ArtMethods in FaultManager::IsInGeneratedCode.\n\nBug: http://b/30836730\nTest: m test-art-host\nChange-Id: Ie3d5e176ea569cedcefd320e2480a1e1e496a53a\n"
    },
    {
      "commit": "72fdec392833d5a6449d57039bbddf8ab6a9782f",
      "tree": "4598e0465a3291aa039fa8d0aee2b242b1c34269",
      "parents": [
        "ad70f8f9971d4dab0b0be0ca2d45db73d058ca69",
        "16d4843433e024100b4ecd183f827ad5bd8772a6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 19 17:13:11 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 19 17:13:13 2017 +0000"
      },
      "message": "Merge \"Allow dex2oat to handle relative paths.\""
    },
    {
      "commit": "d78ddec5f8eaf1f27e9043f6f42be90149ccb966",
      "tree": "e3c21f93e419ba35486cf8f641d816523a06b9a3",
      "parents": [
        "66f43b988ad84568a46c1760b314723e9229e6d0"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Apr 18 15:20:38 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Apr 19 09:44:25 2017 -0700"
      },
      "message": "Implement can_generate_native_method_bind capability\n\nThis capability lets one observe and even replace the implementations\nof native methods when they are bound.\n\nTest: ./test.py --host -j40\n\nBug: 37432636\nChange-Id: I2432a8e4da1a677e8011ce495296f4ab9f42eb3e\n"
    },
    {
      "commit": "46d342f845f5faadac1a61d064ccca3a5d2601c7",
      "tree": "6f8d60f15e341f876f52d590116fbba4b605b80d",
      "parents": [
        "bea9172064af539ae4235aa9b169691ca85fb57e",
        "d1ef87339c5af782652678d5849d1dfab14d79ce"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Apr 19 11:32:49 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 19 11:32:50 2017 +0000"
      },
      "message": "Merge \"ARM64: Heap poisoning for link-time Baker CC read barrier thunks.\""
    },
    {
      "commit": "bea9172064af539ae4235aa9b169691ca85fb57e",
      "tree": "d2b9d0fb8867b876ac07bc5f148e83c227bbb559",
      "parents": [
        "aebc6870db9c1c4df78512732f11325740550663",
        "cdd798de1b2e7807f1cab8ebbfbb165069beae6b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 19 10:13:12 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 19 10:13:14 2017 +0000"
      },
      "message": "Merge \"Follow-up to 70d60275cc2860bde50e5f9c5b151e94f745ae14\""
    },
    {
      "commit": "d1ef87339c5af782652678d5849d1dfab14d79ce",
      "tree": "8b8b936ce58043248b2b58497e7b210c49a704b1",
      "parents": [
        "1cae72e6cfc0b4cd4ad20467dfea243139296998"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Apr 18 13:55:13 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Apr 19 10:31:50 2017 +0100"
      },
      "message": "ARM64: Heap poisoning for link-time Baker CC read barrier thunks.\n\nAnd fix running out of scratch registers for HArraySet\nwith large constant index and a reference to poison.\n\nTest: Nexus 6P boots with heap poisoning enabled.\nTest: testrunner.py --target with heap poisoning enabled on Nexus 6P.\nBug: 29516974\nBug: 30126666\nBug: 36141117\nChange-Id: Ifb38f4a0e23a2963468772f34f294febfc340b8c\n"
    },
    {
      "commit": "cdd798de1b2e7807f1cab8ebbfbb165069beae6b",
      "tree": "3cd00e41bdc8972936f39e6ec7f3cd262b45fa1e",
      "parents": [
        "2203253254e18ebde386740d3c841c04c432a42e"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Apr 18 18:28:51 2017 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Apr 19 10:16:45 2017 +0200"
      },
      "message": "Follow-up to 70d60275cc2860bde50e5f9c5b151e94f745ae14\n\nTest: make -j build-art-host\nChange-Id: Id6e81518041bd64dec537ff3da2fa049d39b27d0\n"
    },
    {
      "commit": "0d8cf9106c1db0c9544ae018c9e2ff02152330f4",
      "tree": "16cfd15d9d84cc3cbe8fa003fe11dee4b01edbe1",
      "parents": [
        "ea24e09568d695593af1f896c5630a589ab44944",
        "1c8f4ff04062407db3d2dd834dd6bc24f6662c4d"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Apr 19 07:23:36 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 19 07:23:38 2017 +0000"
      },
      "message": "Merge \"Always check result of Thread::ModifySuspendCount\""
    },
    {
      "commit": "1f7079b72965cba0b1a40f53be97a4944ecb4a51",
      "tree": "bfa230da1e0ccea2f5cb343a40fb0cf6eb691ff0",
      "parents": [
        "77ced6adfd4de14a868364c4f03986be79d3a081"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Apr 18 21:25:37 2017 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Apr 18 21:35:27 2017 -0700"
      },
      "message": "Ignore the optimized location passed to DexFile.loadDex()\n\nThis ensures that apps don\u0027t trigger dex2oat to locations\nthat are not recognized (anymore) by the runtime.\n\nThe background compilation job will takes care of optimizing\nthe dex files loaded via DexClassLoader.\n\nTest: m test-art-host\nBug: 36824842\nChange-Id: I6883740407203b4aa9511e7d15a8201db3df1168\n"
    },
    {
      "commit": "ea24e09568d695593af1f896c5630a589ab44944",
      "tree": "7978daba15322390df18a33cc6712e5110c439e0",
      "parents": [
        "77ced6adfd4de14a868364c4f03986be79d3a081",
        "a25504e7026109227691ca944f9359ca23d733ab"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 19 02:41:02 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 19 02:41:03 2017 +0000"
      },
      "message": "Merge \"Call mirror::CallSite::VisitRoots\""
    },
    {
      "commit": "16d4843433e024100b4ecd183f827ad5bd8772a6",
      "tree": "30b6f526051faaf8cc5ebbc15a7dfeef051a153f",
      "parents": [
        "2203253254e18ebde386740d3c841c04c432a42e"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Apr 05 17:05:46 2017 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Apr 18 17:03:11 2017 -0700"
      },
      "message": "Allow dex2oat to handle relative paths.\n\nDuring installation at compile time, the PackageManager is passing\nshared libraries to dex2oat with -classpath. For split apps, we want the\nsplits to have the proper dependencies, and are now passing previous\nparts of the split apk as shared libraries as we compile them all. These\napks are staged in a temp dir during compilation, so we pass a relative\npath for them instead.\n\nSince PackageManager can now pass relative paths to dex2oat as shared\nlibraries, dex2oat has an added --classpath-dir switch to specify the\ndirectory to use for relative class paths. At runtime when checking\nshared libraries, we use oat file functionality to resolve relative paths\nto determine if the paths match.\n\nBug: 34169257\nTest: cts-tradefed run singleCommand cts -d --module\nCtsAppSecurityHostTestCases -t android.appsecurity.cts.SplitTests\n\nMerged-In: I9667f0069c8d12e94598f8a78888d3855d870824\n(cherry-picked from commit f79ac83a8c18b0bd81aafc9c8823f6bed35d8847)\n\nChange-Id: I8e4703fdd4bfeb94f982e93abb7eb0cd71060fce\n"
    },
    {
      "commit": "a25504e7026109227691ca944f9359ca23d733ab",
      "tree": "ebf4288caea3d996e585b7521971897b21b51532",
      "parents": [
        "741a81af441cbcb7255229bf250bc009d2894e92"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 18 16:14:19 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 18 23:24:07 2017 +0000"
      },
      "message": "Call mirror::CallSite::VisitRoots\n\nNeeded to visit CallSite static class root.\n\nTest: test/run-test --no-patchoat --relocate --host --64 --interpreter --gdb 952\n\nBug: 33191717\n\nChange-Id: I1fad3df8ad810c5c7905afadfa25cdc0901ef035\n"
    },
    {
      "commit": "91119d69f0736f6dbd350c433632af2618c7575a",
      "tree": "b38e77c02921bdf036809c6a102ebcefa39b5e89",
      "parents": [
        "682282eaac86202652e17752ef32f14c89e2ccda"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Apr 18 11:18:56 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Apr 18 14:04:20 2017 -0700"
      },
      "message": "fault_handler: use SafeCopy to decode x86 instruction length.\n\nPrevent a crash in the x86 fault handler when pc points to garbage and\nwe try to figure out its instruction length.\n\nBug: http://b/30836730\nTest: m test-art-host\nChange-Id: Ic1fbb8856e30140f0e1ebc9caccf9559e88ff137\n"
    },
    {
      "commit": "682282eaac86202652e17752ef32f14c89e2ccda",
      "tree": "c779c7a48e7fa41b4aad0cb1f7bb4953fde241cc",
      "parents": [
        "c36a970fcd4878eafd03d41eeff0a4cbdd400326"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Apr 17 18:31:26 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Apr 18 14:04:20 2017 -0700"
      },
      "message": "base: add SafeCopy.\n\nAdd a function that uses process_vm_readv on Linux to safely\ndereference pointers without the risk of segfault.\n\nBug: http://b/30836730\nTest: safe_copy_test on host\nChange-Id: I10bafcffe2172e17b00f65455d1dd6a08aa631d7\n"
    },
    {
      "commit": "70713df8e245ef0df597474b96ac33fcfb3d99ed",
      "tree": "fd08e1a9cb59458a9059447230ba8d7482ee6992",
      "parents": [
        "741a81af441cbcb7255229bf250bc009d2894e92"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Apr 18 13:03:31 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Apr 18 13:57:10 2017 -0700"
      },
      "message": "Fix obsolete method change check.\n\nWe were incorrectly checking for changes in the obsolete-method map.\nThis could cause issues if a class was redefined multiple times.\n\nBug: 37475600\n\nTest: ./test.py --host -j40\nTest: cts-tradefed run cts-dev --module CtsJvmtiRedefineClassesHostTestCases\n\nChange-Id: Icf39d5154c0e48461405b700bf1fa20830195fc1\n"
    },
    {
      "commit": "e4e7d601ef8c6b23f7598af2053549ca48fa6c2c",
      "tree": "b768fe36ee20ad9ada193783ce8bd2e4832f2d3c",
      "parents": [
        "2888e85164673d3b196330ef315b9f47dc866419",
        "35b59a262f660adaf30db11bc0c3d14bb56ebf79"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 18 18:24:00 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 18 18:24:01 2017 +0000"
      },
      "message": "Merge \"Differentiate between native alloc and normal background GC\""
    },
    {
      "commit": "2888e85164673d3b196330ef315b9f47dc866419",
      "tree": "bfa61c4fb44e9849ad3e0bae9e166670bcaa5515",
      "parents": [
        "c36a970fcd4878eafd03d41eeff0a4cbdd400326",
        "d1fbcfffdf1e2143acf8084b99f647481e7b0290"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 18 18:21:41 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 18 18:21:42 2017 +0000"
      },
      "message": "Merge \"ART: Make less lock-level noise on abort\""
    },
    {
      "commit": "35b59a262f660adaf30db11bc0c3d14bb56ebf79",
      "tree": "d022eb3b0d944daa054e124165c8b8e988c9c9d8",
      "parents": [
        "36831abc29f76baee9a7673a2c18465f33df3f05"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Apr 17 15:24:43 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 18 17:29:02 2017 +0000"
      },
      "message": "Differentiate between native alloc and normal background GC\n\nAdded a new GC cause kGcCauseForNativeAllocBackground.\n\nBug: 35872915\n\nTest: test-art-host\n\nChange-Id: I94e17f8bd53af29f2862b9910bd8abd2df97e229\n"
    },
    {
      "commit": "c36a970fcd4878eafd03d41eeff0a4cbdd400326",
      "tree": "67de8d6aebab3dfdb127ed445a51ce76a3146a91",
      "parents": [
        "b2410c931a0ffa8df7c0911309ddac7d59314ad2",
        "71b1708f1e610143dc657e370f85eebbde4a900e"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 18 17:14:00 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 18 17:14:02 2017 +0000"
      },
      "message": "Merge \"Use correct type for GetValueFromShadowFrame\""
    },
    {
      "commit": "71b1708f1e610143dc657e370f85eebbde4a900e",
      "tree": "165b24e1d70cdc3d92f845f8eb7485f2a9d3e061",
      "parents": [
        "27fb1dc467effbd8df43e6207743fdb7bcee4044"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Apr 17 20:12:29 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 18 09:49:40 2017 -0700"
      },
      "message": "Use correct type for GetValueFromShadowFrame\n\nThe field type is not necessarily the input type for boxed\nprimitives. If the field type is \u003c 32 bits, it means there will be\npartial object pointer in the JValue. If a conversion check is\nlater needed in GetUnboxedTypeAndValue, it will crash. The fix is\nto use the PTypes.\n\nBug: 37446461\nTest: test-art-host\nChange-Id: I0c4b405f0c13910523b98a87ef12b9f302a5e241\n"
    },
    {
      "commit": "2203253254e18ebde386740d3c841c04c432a42e",
      "tree": "fd54fd5bbf17bd0614830f0d2f45ca1790be68b8",
      "parents": [
        "2aac653df76bba3e4e7b44372efe131b1984802b",
        "70d60275cc2860bde50e5f9c5b151e94f745ae14"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Apr 18 16:11:55 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 18 16:11:56 2017 +0000"
      },
      "message": "Merge \"JDWP: fix Dbg::ResumeThread\""
    },
    {
      "commit": "1c8f4ff04062407db3d2dd834dd6bc24f6662c4d",
      "tree": "a116c7d55fc1bcff2b451028f46a1196ee15d990",
      "parents": [
        "c1be9f2b776b4900e0603013f7c4d84e534f0bb0"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Apr 14 15:05:12 2017 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Apr 18 18:06:54 2017 +0200"
      },
      "message": "Always check result of Thread::ModifySuspendCount\n\nEnsures that we never ignore the result of ModifySuspendCount so that\nwe can react if the suspend count is not updated as expected.\n\nThis CL does the following:\n* Adds __attribute__((warn_unused_result)) on the method to raise an\n  error at compilation time if the result is ignored.\n* Wraps calls with DCHECK where the result used to be ignored.\n\nBug: 27385848\nTest: make -j test-art-host\nTest: art/tools/run-jdwp-tests.sh --mode\u003dhost --variant\u003dX64\nChange-Id: I2d0e1ab7158c70ec8076c8bae6e4b814aee75af6\n"
    },
    {
      "commit": "2aac653df76bba3e4e7b44372efe131b1984802b",
      "tree": "cd9c1f5fd5977fe98352c8c0d3dcc6e740a0b778",
      "parents": [
        "1cae72e6cfc0b4cd4ad20467dfea243139296998",
        "21cf95d8f34dc9cc20c75896a0cc4df9a8fd77e6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 18 15:12:58 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 18 15:12:59 2017 +0000"
      },
      "message": "Merge \"ART: Call ThreadGroup.add in Thread::FinishStartup\""
    },
    {
      "commit": "70a45017d6371521c251d67a9aac7d1c86fb6a06",
      "tree": "f9352ab3e446094013fd986fcfa10e6ed5ea26ea",
      "parents": [
        "1cae72e6cfc0b4cd4ad20467dfea243139296998"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Mar 30 16:30:31 2017 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Apr 18 14:05:55 2017 +0100"
      },
      "message": "ART: Support for SourceDebugExtension\n\nAdds support for reading SourceDebugExtension class annotation from\nDEX files.\n\nBug: 30109642\nTest: art/tools/run-jdwp-tests.sh --mode\u003dhost --test org.apache.harmony.jpda.tests.jdwp.ReferenceType.SourceDebugExtensionTest\nChange-Id: I2187a2776953a21d36f8b2d165bef6733c02811e\n"
    },
    {
      "commit": "4cb99a13d21443a028a8e8a54261e215ca4b5a74",
      "tree": "a6d1400ac5c32b0bdb7d53337c04cc9d736d2d4c",
      "parents": [
        "36831abc29f76baee9a7673a2c18465f33df3f05",
        "d38ba0a3abd7f6140f0851d826449afec5689d57"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 18 11:29:25 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 18 11:29:26 2017 +0000"
      },
      "message": "Merge \"Fix Arena allocation tracking.\""
    },
    {
      "commit": "d1fbcfffdf1e2143acf8084b99f647481e7b0290",
      "tree": "e66ea4e451815ab705f5d070f16089ced6f2cecd",
      "parents": [
        "36831abc29f76baee9a7673a2c18465f33df3f05"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 17 21:40:28 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 17 21:40:28 2017 -0700"
      },
      "message": "ART: Make less lock-level noise on abort\n\nThe lock-level violations with the abort lock aren\u0027t really all\nthat interesting.\n\nTest: m test-art-host\nChange-Id: I8a5fc687009db914ec8f60d86068d87e71f8a894\n"
    },
    {
      "commit": "21cf95d8f34dc9cc20c75896a0cc4df9a8fd77e6",
      "tree": "0f0e14c2f3f1f6637558b5221deab4568665e0bb",
      "parents": [
        "36831abc29f76baee9a7673a2c18465f33df3f05"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 17 20:19:14 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 17 21:16:29 2017 -0700"
      },
      "message": "ART: Call ThreadGroup.add in Thread::FinishStartup\n\nART should add the main thread to the main ThreadGroup. Behavior\nof the Thread constructor changed.\n\nBug: 37444210\nTest: art/test/testrunner/testrunner.py -b --host -t 051\nTest: m test-art-host\nTest: m build-art-host \u0026\u0026 art/tools/run-libcore-tests.sh --mode\u003dhost\nChange-Id: I92cf2f9a6c5c3fdf385eb7925addc38b64fa4d98\n"
    },
    {
      "commit": "445452cda055221bda43d88f0317f808e24c52f2",
      "tree": "5aba814b733722a5109b7b4aaafc29a45f0392ff",
      "parents": [
        "4bb9a2b0b2fb2db93005740b969831114632d0b6",
        "4707af81bc10bda1c4320288246170e444c69942"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Apr 17 21:26:47 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 17 21:26:48 2017 +0000"
      },
      "message": "Merge \"Print runtime isa when invoking \u0027dalvikvm --showversion\u0027\""
    },
    {
      "commit": "f040be6668b6566066fc4bf7c447569b5b46d670",
      "tree": "1d0ab31a540a33947d44a2f06d1224a387506d3f",
      "parents": [
        "39d562895ab3ff835003fe3df6c13a93db492aa8"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 14 21:49:33 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 14 21:52:45 2017 -0700"
      },
      "message": "ART: Tentative fix for stack count issue in test 913\n\nUse kCountTransition \u003d\u003d kNo to also skip runtime methods in the\ncur_depth_ count of a StackVisitor.\n\nCurrently this is only used in the VisitRoots function of Thread.\nIf the additional load is too expensive, we can make this dependent\non the requested precision (and thus revert \"regular\" visits to\nthe old scheme of also counting transitions between managed stack\nframes and shadow frames, which is only an increment of a field).\n\nBug: 31385354\nBug: 32072923\nTest: m test-art-host\nChange-Id: Ief951585407dd6e03f8050774fe612e7b204247e\n"
    },
    {
      "commit": "1cda71a414c95cd7e8cf0c71a69bb6780f9e6326",
      "tree": "5f0bc54e984b5829cb9fd3db5d319a24691e1af9",
      "parents": [
        "452092b4c98a7ee9bae71ed1bbd34ccd837de9d8",
        "120504f52b5feedcb9ad7dedc54d7618a2f2c31b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Apr 15 01:03:50 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Apr 15 01:03:52 2017 +0000"
      },
      "message": "Merge \"Add check that TypeIndex is valid in StringByTypeIdx.\""
    },
    {
      "commit": "120504f52b5feedcb9ad7dedc54d7618a2f2c31b",
      "tree": "e03daac7c8b52a76edbf96a3c7d687c227111587",
      "parents": [
        "c569d4a08378aa8f832e89f25df0abde47158836"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri Apr 14 14:33:52 2017 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Sat Apr 15 01:00:08 2017 +0000"
      },
      "message": "Add check that TypeIndex is valid in StringByTypeIdx.\n\nStringByTypeIdx should fail gracefully if given a bad TypeIndex. This\nadds a check that the TypeIndex is valid before getting its TypeId.\n\nThis fixes a regression that removed this check when it was refactored\nin this CL: https://android-review.googlesource.com/#/c/243493/\n\nBug: 37287051\nTest: mm -j31 test-art-host-gtest-dex_file_test\nChange-Id: Ib68cb8135011f5f30335251583e181b089982754\n"
    },
    {
      "commit": "4707af81bc10bda1c4320288246170e444c69942",
      "tree": "cf719001b9beee4567b09976e6ad0295aa7bda6e",
      "parents": [
        "e2dfd30e752ed94944cb6f614f1a4cf18d038677"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Apr 13 16:35:42 2017 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Apr 14 17:37:22 2017 -0700"
      },
      "message": "Print runtime isa when invoking \u0027dalvikvm --showversion\u0027\n\nThe runtime ISA is appended at the end, after the version number.\n\nTest: dalvikvm --showversion\nBug: 36824842\nChange-Id: I09bbe3bf06054fe237543b5f96e9480631ea0838\n"
    },
    {
      "commit": "70d60275cc2860bde50e5f9c5b151e94f745ae14",
      "tree": "afc785bedfa86320cce7a1d3c4578ae9763f076f",
      "parents": [
        "c1be9f2b776b4900e0603013f7c4d84e534f0bb0"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Apr 14 14:18:36 2017 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Apr 14 14:22:18 2017 +0200"
      },
      "message": "JDWP: fix Dbg::ResumeThread\n\nA thread should be resumed if and only if it has been suspended by\nthe debugger. Therefore, we must check the debug suspend count, not\nthe suspend count (which includes debug suspend count). Otherwise we\ncould end up resuming a thread that has been suspended for another\nreason (like a GC) but not by the debugger itself.\n\nBug: 27385848\nTest: art/tools/run-jdwp-tests.sh --mode\u003dhost --variant\u003dX64\nChange-Id: I70ed6dfc233501e92332634650babf21ba911048\n"
    },
    {
      "commit": "e0f8ed966a22834815c8ec1a9ddbf0bfd35865ea",
      "tree": "940ca3d349ad1168abb041d92b5b8d8dd9ba3250",
      "parents": [
        "c1be9f2b776b4900e0603013f7c4d84e534f0bb0"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 13 16:52:23 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 13 19:52:38 2017 -0700"
      },
      "message": "ART: Refactor run-test 913\n\nRemove references to ART. Filter roots from the JIT. Canonicalize\nsome thread IDs. Move the test to its own thread, and filter\nstack-locals of other threads.\n\nThese changes ensure that the test is less dependent on the main\nthread and its environment, which is required to use it in CTS.\n\nAlso fix a reporting issue for roots.\n\nBug: 32072923\nTest: art/test/testrunner/testrunner.py --host -t 913\nChange-Id: I8480ba7751fb6420c256db87cba11b8a65e25ea5\n"
    },
    {
      "commit": "d58d0841b47caf71247ddb3752ccffb9340e576e",
      "tree": "e6aca2c19972a007e79a0d363a2e3d49a52ee259",
      "parents": [
        "704f16f78688f1a1e5084e289d15041b7667d93e",
        "a4cd6779fc5fc73d84d5ca269b89a33064267cce"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 13 23:24:21 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 13 23:24:21 2017 +0000"
      },
      "message": "Merge \"Add check that map offset is sane to DexFile object init.\""
    },
    {
      "commit": "704f16f78688f1a1e5084e289d15041b7667d93e",
      "tree": "1635e7b28cb33422f47da5b638aa61d1c9cdfd47",
      "parents": [
        "52e3e5748880f8a65f564e122bb925e71be448eb",
        "d08f66f519f6cf75c2eb05a489b6e87f739badff"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 13 23:21:54 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 13 23:21:54 2017 +0000"
      },
      "message": "Merge \"Various debug ART GC performance improvements\""
    },
    {
      "commit": "a4cd6779fc5fc73d84d5ca269b89a33064267cce",
      "tree": "fbfea67a5f6e284ec7b8dc3a2022d6f03579666f",
      "parents": [
        "ce121a5fe3e537872af077c801443be9a525859b"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Apr 13 14:36:29 2017 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Apr 13 14:43:13 2017 -0700"
      },
      "message": "Add check that map offset is sane to DexFile object init.\n\nThe DexFile constructor calls InitializeSectionsFromMapList, which\nuses the header\u0027s map_offset before any checks are done on the file.\n\nBug: 37235346\nTest: mm test-art-host-gtest-dex_file_test\nChange-Id: I4fb8fcb57f9ef7e0182965b7ce663424b953abcb\n"
    },
    {
      "commit": "d08f66f519f6cf75c2eb05a489b6e87f739badff",
      "tree": "aa00ac17e22021d9342f342c3d7635677be9b0f7",
      "parents": [
        "dbe35eddc4324468e08afc0829787f02ee736cea"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 13 11:47:53 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 13 14:18:45 2017 -0700"
      },
      "message": "Various debug ART GC performance improvements\n\nRemoved unnecessary read barriers in SizeOf and a few other places.\nDisabled disallow read barrier check.\n\nBefore:\nGC time: 15.817s\nReal 0m26.113s\nuser  1m16.780s\nsys 0m3.152s\n\nAfter:\nGC time: 9.212s\nreal  0m19.875s\nuser  1m9.916s\nsys 0m1.916s\n\nBug: 35644369\nTest: test-art-host\n\nChange-Id: I79a65259deff2a478a96e02ae69b14730b6dcbe6\n"
    },
    {
      "commit": "e1f79b62f37e8008fe1889f0a7c783be367a0cef",
      "tree": "550b6aa2c23de5160d1a3f4913fd4890d47601bf",
      "parents": [
        "c83010128175bf8be0b6cbf07bd96c743a2d5d5f"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Apr 12 21:11:28 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 13 10:27:18 2017 -0700"
      },
      "message": "ART: Fix GetArgumentsSize\n\nFix the copy-paste mistake in GetArgumentsSize for abstract and\nproxy methods. Use the usual computation derived from the shorty.\n\nBug: 34163329\nTest: art/test/testrunner/testrunner.py --host -t 910\nChange-Id: I71eaab70063303bea8eaa391ea067ebf8027820f\n"
    },
    {
      "commit": "7b331261c6bdb6316a649ab591813f4dd1a5892f",
      "tree": "22b60227265c73903428ea55cde3123ea992ac4e",
      "parents": [
        "b1a52116a1ca418dcccad2ca2acd6cb36f8ca0e7",
        "f4f2daafb38c9c07ea74044a0fb89a2a19288b7a"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Apr 13 12:54:22 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 13 12:54:23 2017 +0000"
      },
      "message": "Merge \"ARM64: Use link-time generated thunks for Baker CC read barrier.\""
    },
    {
      "commit": "d38ba0a3abd7f6140f0851d826449afec5689d57",
      "tree": "039757ab2e782fcda1a667cb91a84fa142e49d05",
      "parents": [
        "4766f2cd27c3de80eb74c302a9eb4cc7c97e5de1"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Apr 13 13:43:43 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Apr 13 13:48:57 2017 +0100"
      },
      "message": "Fix Arena allocation tracking.\n\nAdd missing allocation kind name and try to avoid\nbit-rot in future by explicitly instantiating\nArenaAllocatorStatsImpl\u003ctrue\u003e in debug builds.\n\nBug: 34083438\nTest: Rely on TreeHugger.\nChange-Id: Ibe78a9f15d04b2ca2f03143fb4f49c01ae18471e\n"
    },
    {
      "commit": "b1a52116a1ca418dcccad2ca2acd6cb36f8ca0e7",
      "tree": "21c315941ce943d4522c1108f74ec2830792ac4b",
      "parents": [
        "89d424832002732983fa40df244a087e0dd21028",
        "b9005fa3d370198fea7a750b645954d618594139"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 13 11:17:06 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 13 11:17:07 2017 +0000"
      },
      "message": "Merge \"MIPS32: Add direct calls to math intrinsics.\""
    },
    {
      "commit": "687fb792b2a819bb43d45eb720ed68a077ed1beb",
      "tree": "ca2a6bb4b229c363a3eb1f19e4365f1b3193ff7f",
      "parents": [
        "dbe35eddc4324468e08afc0829787f02ee736cea",
        "bb766464bced8ca7db9cdaf635ae04759151a088"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 13 01:32:51 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 13 01:32:52 2017 +0000"
      },
      "message": "Merge changes I49c02b92,I898e5cff\n\n* changes:\n  Ensure one can call DisposeEnvironment during event callbacks.\n  run-tests with jvmti-stress configuration\n"
    },
    {
      "commit": "bb766464bced8ca7db9cdaf635ae04759151a088",
      "tree": "113c502563db8680eb38d1204ae265620bc9ef31",
      "parents": [
        "8f2c6d479aeda3165c4f54c1076ec7ac335fccc7"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Apr 12 16:13:33 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Apr 12 16:54:50 2017 -0700"
      },
      "message": "Ensure one can call DisposeEnvironment during event callbacks.\n\nPreviously calling DisposeEnvironment during an event callback would\ncause a currently in-use iterator to be invalidated. This could cause\nundefined behavior.\n\nBug: 37283252\nTest: ./test/testrunner/testrunner.py --host --jvmti-stress -j40\nChange-Id: I49c02b925f0da5d4f66965f0fca21bf8dc83132a\n"
    },
    {
      "commit": "dbe35eddc4324468e08afc0829787f02ee736cea",
      "tree": "80af29b8a1e9efedbec26603a2bee9a482b9b98b",
      "parents": [
        "de833ef742ccfc0d23921fa43086fd07d80ca5ba",
        "74c2058ed83f43aa59f467ac4ecc730edbe42e41"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 12 18:39:45 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 12 18:39:46 2017 +0000"
      },
      "message": "Merge \"MIPS64: Add direct calls to math intrinsics.\""
    },
    {
      "commit": "b9005fa3d370198fea7a750b645954d618594139",
      "tree": "17013ee81fb25be28820ad61afac30138ccc3e15",
      "parents": [
        "de833ef742ccfc0d23921fa43086fd07d80ca5ba"
      ],
      "author": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Fri Mar 24 12:11:54 2017 -0700"
      },
      "committer": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Wed Apr 12 11:08:24 2017 -0700"
      },
      "message": "MIPS32: Add direct calls to math intrinsics.\n\n- cos       - sin       - acos      - asin\n- atan      - atan2     - cbrt      - cosh\n- exp       - expm1     - hypot     - log\n- log10     - nextAfter - sinh      - tan\n- tanh\n\nTest: run-test --no-prebuild --optimizing 123-inline-execute2\nTest: run-test --no-prebuild 123-inline-execute2\nTest: run-test --optimizing 123-inline-execute2\nTest: run-test 123-inline-execute2\nTest: Booted MIPS32R2 and MIPS64R6 emulators.\n\nNote: Ran tests under both emulators, and on CI20 hardware.\n\nChange-Id: I4c1782d609a985ae49737f47c43caa5b0b6a10e3\n"
    },
    {
      "commit": "de833ef742ccfc0d23921fa43086fd07d80ca5ba",
      "tree": "c6fc9818d2943fa4bd038773a91c278b48530f52",
      "parents": [
        "34478ae3a5e5da25c8e1051e95831b5e007cfe57",
        "0ecb236aedb3debd0d000fb219a75e39879549a2"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 12 17:56:13 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 12 17:56:15 2017 +0000"
      },
      "message": "Merge \"Fix broken DCHECK.\""
    },
    {
      "commit": "34478ae3a5e5da25c8e1051e95831b5e007cfe57",
      "tree": "6920f1a00a34d10cf5e20508a394d74d30042bbf",
      "parents": [
        "5ec409da4af7198c4dbbdb887a1cb50029ce948b",
        "55c05f5b4e2c0cc084ee332bf7ae54ea44cde8ad"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 12 17:28:38 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 12 17:28:38 2017 +0000"
      },
      "message": "Merge \"Clear zygote space cards for CC\""
    },
    {
      "commit": "5ec409da4af7198c4dbbdb887a1cb50029ce948b",
      "tree": "6596989c39d0760c8cdbaea31ae1cc3ff48774ec",
      "parents": [
        "4766f2cd27c3de80eb74c302a9eb4cc7c97e5de1",
        "1d4950167b45369299fe30d7381516c3b5380a01"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 12 17:27:39 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 12 17:27:40 2017 +0000"
      },
      "message": "Merge \"Fix -XX:DumpGCPerformanceOnShutdown for debug builds\""
    },
    {
      "commit": "f4f2daafb38c9c07ea74044a0fb89a2a19288b7a",
      "tree": "13fd63a65c12e60074bc2bc1e693fbb3b788ed8e",
      "parents": [
        "26c25d5da32fe1bdd94dd1404197c14994ecab60"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 20 18:26:59 2017 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Apr 12 17:02:06 2017 +0100"
      },
      "message": "ARM64: Use link-time generated thunks for Baker CC read barrier.\n\nRemaining work for follow-up CLs:\n  - array loads,\n  - volatile field loads,\n  - use implicit null check in field thunk.\n\nTest: Added tests to relative_patcher_arm64\nTest: New run-test 160-read-barrier-stress\nTest: m test-art-target-gtest on Nexus 6P.\nTest: testrunner.py --target on Nexus 6P.\nBug: 29516974\nBug: 30126666\nBug: 36141117\nChange-Id: Id68ff171c55a3f1bf1ac1b657f480531aa7b3710\n"
    },
    {
      "commit": "0ecb236aedb3debd0d000fb219a75e39879549a2",
      "tree": "69eb8921ea73e4ef0171cd9feef253168a4a3af6",
      "parents": [
        "4766f2cd27c3de80eb74c302a9eb4cc7c97e5de1"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Apr 12 09:01:47 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Apr 12 09:01:47 2017 -0700"
      },
      "message": "Fix broken DCHECK.\n\nThe DCHECK in ti_class_definition was incorrectly checking that the\noriginal dex file was a primitive long instead of a boxed long.\n\nBug: 37271822\nTest: ./test/testrunner/testrunner.py --host --jvmti-stress -j40\nChange-Id: I901c6e2f6f93dca584faff70134cee957d8462c3\n"
    },
    {
      "commit": "467610e9b9251bdeaedc759cecf4de5208a38798",
      "tree": "72f4fc453b21e4e26c897b8d606d2335c1c6b64b",
      "parents": [
        "ea07a65281b0199dacc134fa377e1d71bff832d7",
        "9e2c81b67caf4d3b44f8c577b48d632c9b02b220"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Apr 12 04:07:43 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 12 04:07:44 2017 +0000"
      },
      "message": "Merge changes Ic7d75e1e,Iaf828034\n\n* changes:\n  ART: Fix GetSystemProperty (2)\n  ART: Fix GetSystemProperty\n"
    },
    {
      "commit": "1d4950167b45369299fe30d7381516c3b5380a01",
      "tree": "fd07613cfb67795d927afac0d9876b4a71257803",
      "parents": [
        "ef6787bd892b55588ebb2835cc3a3bc4e9e08d04"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 11 17:50:00 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 11 19:15:32 2017 -0700"
      },
      "message": "Fix -XX:DumpGCPerformanceOnShutdown for debug builds\n\nThere was a failing DCHECK from CheckUnattachedThread. The fix is\nto dump after attaching the shutdown thread.\n\nBug: 35644369\nTest: test-art-host\n\nChange-Id: I3d927e380888418167c101b2f09d1e547fe728cf\n"
    },
    {
      "commit": "ea07a65281b0199dacc134fa377e1d71bff832d7",
      "tree": "40428c689271559eab170b9299caa6865cc5caec",
      "parents": [
        "66e226ac2fb525c7a7cbbb21a9cbbe347f531a1c",
        "9e6dee2569ba3ec393b91ee4afe0f63a4daecfa9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 11 23:51:05 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 11 23:51:07 2017 +0000"
      },
      "message": "Merge changes Ib29b3920,Ice5efad9\n\n* changes:\n  ART: Move trampoline logging to -verbose:dex\n  ART: Add -verbose:dex\n"
    },
    {
      "commit": "9e2c81b67caf4d3b44f8c577b48d632c9b02b220",
      "tree": "016f50d05edff30516323a55078279a82293d4fe",
      "parents": [
        "8018810a3fa49708fb7aeda01a675ad9e0d0b8c0"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Apr 11 16:47:29 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Apr 11 16:47:29 2017 -0700"
      },
      "message": "ART: Fix GetSystemProperty (2)\n\nAdd live-phase Java-call fallback for java.library.path.\n\nBug: 31455788\nTest: manual\nChange-Id: Ic7d75e1e17760fce5506359058b754eb283b9c41\n"
    },
    {
      "commit": "55c05f5b4e2c0cc084ee332bf7ae54ea44cde8ad",
      "tree": "cc9e60bc33332ff8a0a02f68c21963769ff8dd7e",
      "parents": [
        "ef6787bd892b55588ebb2835cc3a3bc4e9e08d04"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 11 11:12:28 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 11 16:44:53 2017 -0700"
      },
      "message": "Clear zygote space cards for CC\n\nThere may be dirty cards from reference processing or from zygote\ncompaction. Having these dirty cards in the zygote space is\nunnecessary and causes PSS increase from GrayAllDirtyImmuneObjects\nin future GCs. Clearing the zygote space cards when the zygote\nspace is created fixes this issue and reduces PSS.\n\nSystem wide PSS for zygote space, before:\n7,899K: .Zygote\n7,896K: .Zygote\n8,067K: .Zygote\n8,547K: .Zygote\n\nAfter:\n4,881K: .Zygote\n5,003K: .Zygote\n5,582K: .Zygote\n5,259K: .Zygote\n5,176K: .Zygote\n\nBug: 12687968\nBug: 37219911\n\nTest: Device boots\nTest: test-art-host\n\n(cherry picked from commit d5a67447de577546b76c0565aed5af56176bbeb4)\n\nChange-Id: I4746c4829056f558b454c78c5991426feb460904\n"
    },
    {
      "commit": "8018810a3fa49708fb7aeda01a675ad9e0d0b8c0",
      "tree": "9271cf593a20c99952f21c525089fc9e9c6ce201",
      "parents": [
        "66e226ac2fb525c7a7cbbb21a9cbbe347f531a1c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Apr 11 15:59:24 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Apr 11 15:59:24 2017 -0700"
      },
      "message": "ART: Fix GetSystemProperty\n\nAlign with VMRuntime.getClassPath to emit \".\" for an empty path.\n\nBug: 31455788\nTest: manual\nChange-Id: Iaf828034d414f45c20960ab6fd0ceb598362c6f1\n"
    },
    {
      "commit": "66e226ac2fb525c7a7cbbb21a9cbbe347f531a1c",
      "tree": "00075f983d6473386f30e8873aa4359075932b8f",
      "parents": [
        "60efed530d38893eb6c1ff2c4135ecf5320f8fff",
        "0471ece3d0166097619da19c9f43522200bfda78"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 11 21:41:00 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 11 21:41:01 2017 +0000"
      },
      "message": "Merge \"Add option for duplicate classes check to return all dupes.\""
    }
  ],
  "next": "9e6dee2569ba3ec393b91ee4afe0f63a4daecfa9"
}
