)]}'
{
  "log": [
    {
      "commit": "6b2018f4b847a60f39c86d67e1cae8a00ce977bc",
      "tree": "01782290b819d8978df4b90882d2c22d46d57bd5",
      "parents": [
        "23d75aa98de3cea87e1c088a70309ee0fdb4a0c7"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu May 04 13:55:28 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon May 15 13:42:02 2017 -0700"
      },
      "message": "sigchain: limit use of SetHandlingSignal.\n\nThe native bridge and user signal handlers are able to not return to\nour signal handler, leaving the HandlingSignal flag set to true for the\nrest of the lifetime of the thread. Fix this by only using\nSetHandlingSignal for handlers that we know will return (i.e. the ART\nfault handler).\n\nThis effectively reverts commit 90444558, which means sigprocmask\u0027s\nbehavior is back to filtering out claimed signals when inside a user\nsignal handler.\n\nInclude an update to test/115-native-bridge from Zhenhua Wang, to make\nsure we keep handling signals when a signal handler longjmps away\ninstead of returning.\n\nBug: http://b/37988407\nTest: m test-art-host\nTest: m test-art-target\nChange-Id: Ia7159ddfa38f1f055e5cd6089c849a208d335752\n"
    },
    {
      "commit": "23d75aa98de3cea87e1c088a70309ee0fdb4a0c7",
      "tree": "59487355e5e81ae552c0f00ab36f8eb16bac25a6",
      "parents": [
        "ed00ddb614d68559931d831cb74d3ba8f01599c9",
        "6fb693a39b263af3e62b97f8d9f2c2289cab3c1a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 15 19:50:55 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 15 19:51:02 2017 +0000"
      },
      "message": "Merge \"ART: Delete dex_instruction_visitor\""
    },
    {
      "commit": "6fb693a39b263af3e62b97f8d9f2c2289cab3c1a",
      "tree": "59487355e5e81ae552c0f00ab36f8eb16bac25a6",
      "parents": [
        "ed00ddb614d68559931d831cb74d3ba8f01599c9"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon May 15 08:49:45 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon May 15 10:25:32 2017 -0700"
      },
      "message": "ART: Delete dex_instruction_visitor\n\nUnused visitor and test.\n\nTest: m test-art-host\nChange-Id: Idb9403a1d41b6b2142b1e10cd9172a1771d6c5be\n"
    },
    {
      "commit": "ed00ddb614d68559931d831cb74d3ba8f01599c9",
      "tree": "73d2fcf7879b46ccd62d94c64635134378f39a06",
      "parents": [
        "5362c423af5f99afad03f874c6f489e255762607",
        "13056a1720aca64945541812a3c7602acfe4a937"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 15 14:05:55 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 15 14:05:56 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Use IsMarked instead of Mark for profiling info.\"\"\""
    },
    {
      "commit": "5362c423af5f99afad03f874c6f489e255762607",
      "tree": "0b8dbf522dad7be6181bbc3470d825dd43ab7164",
      "parents": [
        "a152c4b160f5f296e55c545d37c29d17b4db2212",
        "fd4d0d3eb9b5c7fe2fa1df97d9c0763900b2be52"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Sat May 13 01:25:16 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat May 13 01:25:17 2017 +0000"
      },
      "message": "Merge \"sigchain: always call InitializeSignalChain on startup.\""
    },
    {
      "commit": "a152c4b160f5f296e55c545d37c29d17b4db2212",
      "tree": "5496a518583c525f04b5e490f0d7b82630ddb4ff",
      "parents": [
        "54db2e2ff3a5520e75480f5ce2cf25b8dd37588c",
        "3837011236058617292bee831708449e5100c08c"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri May 12 23:46:13 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 12 23:46:15 2017 +0000"
      },
      "message": "Merge \"MIPS64: Add ilvr.df MSA instructions\""
    },
    {
      "commit": "54db2e2ff3a5520e75480f5ce2cf25b8dd37588c",
      "tree": "edf6158c580470805ec44810da174eb34ffdc446",
      "parents": [
        "bc9a87c33a3f1553934872387a0bb3178b5140e8",
        "4b8a96be815a921926f2712287ac7bea26131754"
      ],
      "author": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Fri May 12 20:33:54 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 12 20:33:55 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Profile compression: Replace method index with difference with the last method_index\"\"\""
    },
    {
      "commit": "fd4d0d3eb9b5c7fe2fa1df97d9c0763900b2be52",
      "tree": "25c774814eb3b6e595ea9c267fcb93fee03bf3eb",
      "parents": [
        "bc9a87c33a3f1553934872387a0bb3178b5140e8"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Apr 26 19:09:47 2017 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri May 12 12:37:40 2017 -0700"
      },
      "message": "sigchain: always call InitializeSignalChain on startup.\n\nProcesses that link against libsigchain because they might want to\ndynamically load libart.so (e.g. surfaceflinger) might never explicitly\ncall InitializeSignalChain. In this scenario, the lazy initialization\nthat occurs when sigprocmask is called can happen at unexpected times,\nsuch as from pthread_exit, leading to deadlocks or crashes.\n\nAdd __attribute__((constructor)) to InitializeSignalChain to have it be\nautomatically called upon process start. Keep the existing calls to it\nin the wrapper functions in order to sidestep problems around static\ninitialization order.\n\nBug: https://issuetracker.google.com/37119593\nTest: run-test 004-SignalTest\nTest: m test-art-host\nTest: m test-art-target\nChange-Id: I7906c1f625ccca0350ea9310140a3f43a657be4c\n"
    },
    {
      "commit": "bc9a87c33a3f1553934872387a0bb3178b5140e8",
      "tree": "ea678f1a8cb6b3a3ea2c9248fea114054ac8c3a3",
      "parents": [
        "bcd27692d787c510285308daffad1d6d9f44b0bc",
        "4d198e08d2f67c1f63489e3bb1c6c9f71d398917"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 12 19:36:47 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 12 19:36:49 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Compress profile files\"\"\""
    },
    {
      "commit": "bcd27692d787c510285308daffad1d6d9f44b0bc",
      "tree": "d1c458ac4f6089ba08a786521e861af972f1f22d",
      "parents": [
        "13b392640f95c1153524096435f939b2908cfb2f",
        "26699c6b66546dad072ee3c5b1401fdf6a7503aa"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 12 18:17:30 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 12 18:17:32 2017 +0000"
      },
      "message": "Merge \"ART: Refactor VerifiedMethod\""
    },
    {
      "commit": "4b8a96be815a921926f2712287ac7bea26131754",
      "tree": "d98e0c6f45c47b7a8c2bc9312b32834e1173b5c7",
      "parents": [
        "4d198e08d2f67c1f63489e3bb1c6c9f71d398917"
      ],
      "author": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Fri May 12 18:00:14 2017 +0000"
      },
      "committer": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Fri May 12 18:00:42 2017 +0000"
      },
      "message": "Revert \"Revert \"Profile compression: Replace method index with difference with the last method_index\"\"\n\nThis reverts commit 509d4240279c09aa755ebbd399fd333380ba40f2.\n\nChange-Id: I9bc1b461b7a34c2016b5a3027011434e1025f7b6\n"
    },
    {
      "commit": "4d198e08d2f67c1f63489e3bb1c6c9f71d398917",
      "tree": "05655c2cccfa668105725afab42715d46a9d7b68",
      "parents": [
        "13b392640f95c1153524096435f939b2908cfb2f"
      ],
      "author": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Fri May 12 17:45:29 2017 +0000"
      },
      "committer": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Fri May 12 10:56:58 2017 -0700"
      },
      "message": "Revert \"Revert \"Compress profile files\"\"\n\nThis reverts commit 1cf1fe29533e63858f094e4b6595b0d8a03aa7cd.\n\nReason for revert: Fixed the test\n\nTest: ART_HEAP_POISONING\u003dtrue \\\n     make -j64 valgrind-test-art-host-gtest-profile_compilation_info_test64\nBug: 36281963\nChange-Id: I5ae8003436d4d2140cd3512aedfc2bf5982ba277\n"
    },
    {
      "commit": "13b392640f95c1153524096435f939b2908cfb2f",
      "tree": "26fa41c649d1d328bda3ae3c49a734c46860c52a",
      "parents": [
        "30148eefec1bb45f152172833afde82af0866b9f",
        "bb84610d2de3c12b0e0cdc724df29479b9501461"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 12 16:19:00 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 12 16:19:02 2017 +0000"
      },
      "message": "Merge \"ART: Remove CompiledClass\""
    },
    {
      "commit": "26699c6b66546dad072ee3c5b1401fdf6a7503aa",
      "tree": "a1e37d2de86d623bc7cb4d4ab828b254eb17c5d8",
      "parents": [
        "30148eefec1bb45f152172833afde82af0866b9f"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri May 12 08:19:28 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri May 12 09:15:44 2017 -0700"
      },
      "message": "ART: Refactor VerifiedMethod\n\nOnly a small percentage of methods have a non-empty safe-cast set.\nChange VerifiedMethod to use a pointer to a set.\n\nReduces native allocations at compile time. For a large well-known\napplication, VerifiedMethod memory drops from 12.7MB to 6.3MB.\n\nBug: 38250868\nTest: m test-art-host\nChange-Id: I6f0128a2cf09a8afb29027b24975aec12054ce2f\n"
    },
    {
      "commit": "30148eefec1bb45f152172833afde82af0866b9f",
      "tree": "d25d31f7c1c53f4baf746baafa76b891596c5d49",
      "parents": [
        "d6705a0586377f1b0d7d14d3abe2b270bb0adb18",
        "f4e23a8a671e27065bf1cbef7e41403de166f321"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 12 14:58:45 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 12 14:58:46 2017 +0000"
      },
      "message": "Merge \"MIPS: Drop unnecessary code for R6 (NAN2008)\""
    },
    {
      "commit": "13056a1720aca64945541812a3c7602acfe4a937",
      "tree": "290248e07990fa39527d4d48df60ae81506437bb",
      "parents": [
        "99a77162e9dc351da14bb7819a2718395d7277ed"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 11 11:48:28 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri May 12 14:27:11 2017 +0100"
      },
      "message": "Revert \"Revert \"Use IsMarked instead of Mark for profiling info.\"\"\n\nBug in the original change was that we were infitely looping on the\nsame inline cache entry, expecting null when it was actually an old\npointer to a GC\u0027ed class object.\n\nbug: 37693252\n\nThis reverts commit 3afefba4b5558f5f726338485c1f6ddc7f107719.\n\nChange-Id: I12a86afe6163809b19f43927543eb9dd898454f0\n"
    },
    {
      "commit": "f4e23a8a671e27065bf1cbef7e41403de166f321",
      "tree": "d25d31f7c1c53f4baf746baafa76b891596c5d49",
      "parents": [
        "d6705a0586377f1b0d7d14d3abe2b270bb0adb18"
      ],
      "author": {
        "name": "Lena Djokic",
        "email": "Lena.Djokic@imgtec.com",
        "time": "Tue May 09 15:43:45 2017 +0200"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Fri May 12 15:08:27 2017 +0200"
      },
      "message": "MIPS: Drop unnecessary code for R6 (NAN2008)\n\nThe latest MIPS64R6 emulator supports NAN2008 standard (it correctly\nsets FCSR.NAN2008 to 1 as it is required from R6). Because of that,\nmany workarounds can be removed.\n\nThis simplifies code generator and intrinsics.\n\nTest: ./testrunner.py --target --optimizing in QEMU for MIPS64R6\nTest: ./testrunner.py --target --optimizing in QEMU for MIPS32R6\nTest: ./testrunner.py --target --optimizing in QEMU for MIPS32R2\n\nChange-Id: Ib5335835b61f55690ff574bca580ea8f809657bb\n"
    },
    {
      "commit": "bb84610d2de3c12b0e0cdc724df29479b9501461",
      "tree": "c653ec839e370b2cf200a3303abd81b2c36bedd9",
      "parents": [
        "0af0ec2b59e624861dc3461ba9ce192fd350fd12"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu May 11 21:03:35 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu May 11 21:03:35 2017 -0700"
      },
      "message": "ART: Remove CompiledClass\n\nReplace by direct storage of the class status, and modify accessor\nto return boolean value of whether the item exits. Reduces RAM\nrequirements and allocations for dex2oat.\n\nTest: m test-art-host\nChange-Id: I6a80ac3d644c7fd0da167996ab991b6d2796a458\n"
    },
    {
      "commit": "d6705a0586377f1b0d7d14d3abe2b270bb0adb18",
      "tree": "2fcd1e87f58a794130b51d20aa9396d400d20aa4",
      "parents": [
        "0af0ec2b59e624861dc3461ba9ce192fd350fd12",
        "1cf1fe29533e63858f094e4b6595b0d8a03aa7cd"
      ],
      "author": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Fri May 12 02:48:04 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 12 02:48:06 2017 +0000"
      },
      "message": "Merge changes I73637476,I5a94be6c\n\n* changes:\n  Revert \"Compress profile files\"\n  Revert \"Profile compression: Replace method index with difference with the last method_index\"\n"
    },
    {
      "commit": "1cf1fe29533e63858f094e4b6595b0d8a03aa7cd",
      "tree": "70520486d9746dbae04345b600bf95858a7c0ff7",
      "parents": [
        "509d4240279c09aa755ebbd399fd333380ba40f2"
      ],
      "author": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Fri May 12 02:43:23 2017 +0000"
      },
      "committer": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Fri May 12 02:46:20 2017 +0000"
      },
      "message": "Revert \"Compress profile files\"\n\nThis reverts commit 4f0a15a85eaa0a7665f703d435a9b61059eed536.\n\nReason for revert: art-test gtest-heap-poisoning is broken with this change.\n\nChange-Id: I736374766b216122cae4e7e97451951cda1551f9\n"
    },
    {
      "commit": "509d4240279c09aa755ebbd399fd333380ba40f2",
      "tree": "830bea8dd99157a92bdefdee061781fcb23282de",
      "parents": [
        "d59f564f9bb9301855a3613912e287c4eba49655"
      ],
      "author": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Fri May 12 02:42:45 2017 +0000"
      },
      "committer": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Fri May 12 02:44:31 2017 +0000"
      },
      "message": "Revert \"Profile compression: Replace method index with difference with the last method_index\"\n\nThis reverts commit d59f564f9bb9301855a3613912e287c4eba49655.\n\nReason for revert: git_master-art-host - art-gtest-heap-poisoning is broken with this change.\n\nChange-Id: I5a94be6c4609defcee1c0d374009b16e70310a0d\n"
    },
    {
      "commit": "0af0ec2b59e624861dc3461ba9ce192fd350fd12",
      "tree": "115859d212b18aa392cf0409b96f5e2014a3ccc3",
      "parents": [
        "cad518333be281786548437f6be459d8efc791d2",
        "24bd3f9d63c81f448b7fe1854742fda0343a2297"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 11 21:51:22 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 11 21:51:24 2017 +0000"
      },
      "message": "Merge \"Clear odex/vdex/art file before running run-test\""
    },
    {
      "commit": "cad518333be281786548437f6be459d8efc791d2",
      "tree": "a7f7fb3af7cda514a8d1a0218f7729ab0b011055",
      "parents": [
        "05850204bdd25621a1264a400f7f68eba24f30a5",
        "d59f564f9bb9301855a3613912e287c4eba49655"
      ],
      "author": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Thu May 11 21:42:31 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 11 21:42:34 2017 +0000"
      },
      "message": "Merge \"Profile compression: Replace method index with difference with the last method_index\""
    },
    {
      "commit": "24bd3f9d63c81f448b7fe1854742fda0343a2297",
      "tree": "7a1f53beca51b24703c615a08ddad609cf56e7df",
      "parents": [
        "b75e66e7636b3100432c7459130f55e12c12e0ab"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu May 11 00:36:53 2017 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu May 11 13:22:14 2017 -0700"
      },
      "message": "Clear odex/vdex/art file before running run-test\n\nThis allows individual tests to call the RUN script\nmultiple times.\n\nTest: ./test/testrunner/testrunner.py [--host|--target] [--no-prebuild]\nBug: 38213479\nChange-Id: Ibbac7404b44ea175a5aba0459dd7c7868c530954\n"
    },
    {
      "commit": "05850204bdd25621a1264a400f7f68eba24f30a5",
      "tree": "3c36cac50eb6fd22a0a860d725b0dcd6acae26b5",
      "parents": [
        "f1373968236e720d88ebe64c101e417053bf2f7b",
        "4f0a15a85eaa0a7665f703d435a9b61059eed536"
      ],
      "author": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Thu May 11 19:54:30 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 11 19:54:32 2017 +0000"
      },
      "message": "Merge \"Compress profile files\""
    },
    {
      "commit": "d59f564f9bb9301855a3613912e287c4eba49655",
      "tree": "19c46a2191b1a363ea95cc90cbfb8129e1df5093",
      "parents": [
        "4f0a15a85eaa0a7665f703d435a9b61059eed536"
      ],
      "author": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Mon May 08 17:01:48 2017 -0700"
      },
      "committer": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Thu May 11 12:53:45 2017 -0700"
      },
      "message": "Profile compression: Replace method index with difference with the last method_index\n\nStore the difference with the last method index in the profile rather than\nputting the actual method index. Leveraging the common difference values,\ncompressing the profile will reduce the size further.\n\nResults:\n\nApp1\n    Without - 74K\n    With - 58K\nApp2\n    Without - 54K\n    With - 30K\nApp3\n    Without 40K,\n    With - 24K\n\nBug: 36281963\n\nTest: dexlayout_test, profile_assistant_test, \\\n     profman_test, profile_compilation_info_test\n\nChange-Id: I96bcadac250c08aaf23ade7465c5ac6ba9ea75dc\n"
    },
    {
      "commit": "f1373968236e720d88ebe64c101e417053bf2f7b",
      "tree": "fd4d3b99ea09fad75769c8814fa5c515fe0bb872",
      "parents": [
        "63529dd46f4a38f9c35c549399480c725beee884",
        "cdae15f6738e89a283e959325cf40710ed47632a"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Thu May 11 17:51:48 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 11 17:51:49 2017 +0000"
      },
      "message": "Merge \"Remove 597-deopt-new-string from blacklist.\""
    },
    {
      "commit": "4f0a15a85eaa0a7665f703d435a9b61059eed536",
      "tree": "830bea8dd99157a92bdefdee061781fcb23282de",
      "parents": [
        "b75e66e7636b3100432c7459130f55e12c12e0ab"
      ],
      "author": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Wed Apr 26 19:26:46 2017 -0700"
      },
      "committer": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Thu May 11 10:31:40 2017 -0700"
      },
      "message": "Compress profile files\n\nThe change brings in new serialization format:\nmagic,version,number_of_dex_files,uncompressed_size_of_zipped_data,\n    compressed_data_size\nzipped[dex_location1,number_of_classes1,methods_region_size,dex_location_checksum1, \\\n        method_encoding_11,method_encoding_12...,class_id1,class_id2...\n    dex_location2,number_of_classes2,methods_region_size,dex_location_checksum2, \\\n        method_encoding_21,method_encoding_22...,,class_id1,class_id2...\n .....]\n\nThe data is compressed using zlib level 1 compression.\n\nSample app profile statistics on host with and without the change:\n\nApp1\n    Without - 10ms, 160K\n    With - 15ms, 74K\nApp2\n    Without - 4ms, 106K\n    With - 7ms, 54K\nApp3\n    Without 3ms, 74K,\n    With - 7ms, 54K\n\nBug: 36281963\nTest: dexlayout_test, profile_assistant_test, \\\n     profman_test, profile_compilation_info_test\nChange-Id: Iefa51a5a76adb33eef22aa76cdf85c3fe0a59a2a\n"
    },
    {
      "commit": "63529dd46f4a38f9c35c549399480c725beee884",
      "tree": "6d67e0788607f788910a503b10000d990463ce47",
      "parents": [
        "f4afd9f34035a67f4f845fc8c273589da7a09adc",
        "d8b6a53074be7d6b98c651ed8d2127f089da39a6"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu May 11 16:15:45 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 11 16:15:47 2017 +0000"
      },
      "message": "Merge \"MIPS64: Saves 128-bit vector registers along SuspendCheckSlowPath\""
    },
    {
      "commit": "f4afd9f34035a67f4f845fc8c273589da7a09adc",
      "tree": "eae23d40e4094f77dd6ffbd05997c75d11dca342",
      "parents": [
        "6c28d1129b65a907aafd763d18a2f77aca4cc5d4",
        "b59d5fbcd44f837e3f14cd7fe58268ad55afe788"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 11 16:02:35 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 11 16:02:37 2017 +0000"
      },
      "message": "Merge \"ARM/ARM64: Clean up relative patchers.\""
    },
    {
      "commit": "6c28d1129b65a907aafd763d18a2f77aca4cc5d4",
      "tree": "36e702fc270cb3e4b81cb43bf59641c8acf02c19",
      "parents": [
        "de6fc4a429b69f074dc6d28b52197b425aacd78c",
        "6ca115b5fa185a2cc162a453f425efd87d8f38bd"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 11 14:47:26 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 11 14:47:28 2017 +0000"
      },
      "message": "Merge \"Use a sentinel when clearing JIT table entries.\""
    },
    {
      "commit": "6ca115b5fa185a2cc162a453f425efd87d8f38bd",
      "tree": "6c6ccb5ec5094a54a8c558707f4b2a305c90b87c",
      "parents": [
        "ddc38fe3e5618e3922ecc445193dacb2f39ef736"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 10 15:09:35 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 11 15:46:10 2017 +0100"
      },
      "message": "Use a sentinel when clearing JIT table entries.\n\nThis can help diagnosing crashes we see.\n\nbug: 38128052\nbug: 37949368\nTest: test.py --jit\nChange-Id: I7bf70785e8bd93fb0575ac64b1fb5bcb7d462b10\n"
    },
    {
      "commit": "de6fc4a429b69f074dc6d28b52197b425aacd78c",
      "tree": "879e5eacda2af3bad1aa9dc81ea08922c6c26cc8",
      "parents": [
        "99a77162e9dc351da14bb7819a2718395d7277ed",
        "e1811ed6b57a54dc8ebd327e4bd2c4422092a3a0"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 11 11:59:40 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 11 11:59:42 2017 +0000"
      },
      "message": "Merge \"ARM64: Share address computation across SIMD LDRs/STRs.\""
    },
    {
      "commit": "99a77162e9dc351da14bb7819a2718395d7277ed",
      "tree": "1c02905cb5f2573bd3bf8c8f1effc50c91086593",
      "parents": [
        "32a680a5799fffede606b817fae1643250bb1d76",
        "7d157fcaaae137cc98dbfb872aa1bdc0105a898f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 11 11:42:28 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 11 11:42:30 2017 +0000"
      },
      "message": "Merge \"Clean up some uses of \"auto\".\""
    },
    {
      "commit": "32a680a5799fffede606b817fae1643250bb1d76",
      "tree": "5b87a4207a0dbaa74cd4b457db21e9e6dd1d20f3",
      "parents": [
        "58d7ddc678e5bcd2364c24c4bdc8a3cfbcfc5358",
        "3afefba4b5558f5f726338485c1f6ddc7f107719"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 11 10:52:56 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 11 10:52:56 2017 +0000"
      },
      "message": "Merge \"Revert \"Use IsMarked instead of Mark for profiling info.\"\""
    },
    {
      "commit": "3afefba4b5558f5f726338485c1f6ddc7f107719",
      "tree": "24fed2cf58a56a11ec4883367938b1d5bf2ff4a5",
      "parents": [
        "a30183dfe048cac0d53a0f07608c5f6fc516119a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 11 10:52:41 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 11 10:52:41 2017 +0000"
      },
      "message": "Revert \"Use IsMarked instead of Mark for profiling info.\"\n\nCrashes in some configs.\n\nbug: 37693252\n\nThis reverts commit a30183dfe048cac0d53a0f07608c5f6fc516119a.\n\nChange-Id: I356d397a3f3e29fbef510f48c1c7633677ca5e78\n"
    },
    {
      "commit": "7d157fcaaae137cc98dbfb872aa1bdc0105a898f",
      "tree": "2b7d8affda23908e5bfbfaad446079db2ef1ee09",
      "parents": [
        "58d7ddc678e5bcd2364c24c4bdc8a3cfbcfc5358"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed May 10 16:29:23 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu May 11 11:14:54 2017 +0100"
      },
      "message": "Clean up some uses of \"auto\".\n\nMake actual types more explicit, either by replacing \"auto\"\nwith actual type or by assigning std::pair\u003c\u003e elements of\nan \"auto\" variable to typed variables. Avoid binding const\nreferences to temporaries. Avoid copying a container.\n\nTest: m test-art-host-gtest\nChange-Id: I1a59f9ba1ee15950cacfc5853bd010c1726de603\n"
    },
    {
      "commit": "58d7ddc678e5bcd2364c24c4bdc8a3cfbcfc5358",
      "tree": "60dfbcf84b234f25514007bb80beed946b4fbe8a",
      "parents": [
        "a76e0caa541b4e5bd849c42bb8009330c0a49c4f",
        "f7caf682c6b4769b2a3dd2f2241532b98709c1a3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 11 09:56:44 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 11 09:56:45 2017 +0000"
      },
      "message": "Merge \"Instruction scheduling for ARM.\""
    },
    {
      "commit": "a76e0caa541b4e5bd849c42bb8009330c0a49c4f",
      "tree": "53276e278d1532051e8c3f081829bcc4c07e9b74",
      "parents": [
        "7e4f71f9014c5dc573b4dbbf7faefc4c72d5f55d",
        "a30183dfe048cac0d53a0f07608c5f6fc516119a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 11 09:35:33 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 11 09:35:34 2017 +0000"
      },
      "message": "Merge \"Use IsMarked instead of Mark for profiling info.\""
    },
    {
      "commit": "e1811ed6b57a54dc8ebd327e4bd2c4422092a3a0",
      "tree": "e3ce48e66190c11a8b5342f4ec0d1046ba28d788",
      "parents": [
        "7113885fcd983b33ee1e350865d21517d6297843"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Thu Apr 27 16:50:47 2017 +0100"
      },
      "committer": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Thu May 11 10:06:04 2017 +0100"
      },
      "message": "ARM64: Share address computation across SIMD LDRs/STRs.\n\nFor array accesses the element address has the following structure:\nAddress \u003d CONST_OFFSET + base_addr + index \u003c\u003c ELEM_SHIFT\n\nTaking into account ARM64 LDR/STR addressing modes address part\n(CONST_OFFSET + index \u003c\u003c ELEM_SHIFT) can be shared across array\naccess with the same data type and index.\n\nFor example, for the following loop 5 accesses can share address\ncomputation:\n\nvoid foo(int[] a, int[] b, int[] c) {\n  for (i...) {\n    a[i] \u003d a[i] + 5;\n    b[i] \u003d b[i] + c[i];\n  }\n}\n\nTest: test-art-host, test-art-target\n\nChange-Id: I46af3b4e4a55004336672cdba3296b7622d815ca\n"
    },
    {
      "commit": "3837011236058617292bee831708449e5100c08c",
      "tree": "1f9d72542f9309017433f3a1fe13a5a2dac4e000",
      "parents": [
        "7e4f71f9014c5dc573b4dbbf7faefc4c72d5f55d"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Wed May 10 14:30:28 2017 +0200"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Thu May 11 10:35:34 2017 +0200"
      },
      "message": "MIPS64: Add ilvr.df MSA instructions\n\nThese instructions are needed for compressed string support\nin ART Vectorizer.\n\nTest: mma test-art-host-gtest\nChange-Id: I269473bb8bcce5aba72201380bb71860e5498d73\n"
    },
    {
      "commit": "7e4f71f9014c5dc573b4dbbf7faefc4c72d5f55d",
      "tree": "9d0282eef466e288c44357bfe112947c21dd6050",
      "parents": [
        "0e08ab440b3f8fae780ca899c693e02f0f9ddf2c",
        "2abb686ddbf7c8fe54f2c1cb41ab90d7c8b04c7a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 11 00:19:54 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 11 00:19:58 2017 +0000"
      },
      "message": "Merge \"Add test for getError() of NativeBridge.\""
    },
    {
      "commit": "0e08ab440b3f8fae780ca899c693e02f0f9ddf2c",
      "tree": "1c47e4b29ca7766203f3e2c3d70306843050b387",
      "parents": [
        "99cdddaf8e5bc6b31d0eb375755ec4071a9fb527",
        "093a6fbcaa1f9fd2924e97906109482a8f31a247"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Wed May 10 23:58:23 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 10 23:58:25 2017 +0000"
      },
      "message": "Merge \"Fix page accounting for multidex\""
    },
    {
      "commit": "99cdddaf8e5bc6b31d0eb375755ec4071a9fb527",
      "tree": "7854fc769e7ed34e4d8c30f6128ed58728cadd41",
      "parents": [
        "b75e66e7636b3100432c7459130f55e12c12e0ab",
        "2665bc8159698429f20a08f814e63c434910d608"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Wed May 10 23:29:40 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 10 23:29:42 2017 +0000"
      },
      "message": "Merge \"Add explicit default copy constructor\""
    },
    {
      "commit": "2abb686ddbf7c8fe54f2c1cb41ab90d7c8b04c7a",
      "tree": "383e04ffa288f5104e266d441a83243dc638a065",
      "parents": [
        "b75e66e7636b3100432c7459130f55e12c12e0ab"
      ],
      "author": {
        "name": "Yanbing Jiang",
        "email": "yanbing.jiang@intel.com",
        "time": "Tue Jan 17 13:23:43 2017 +0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed May 10 15:28:20 2017 -0700"
      },
      "message": "Add test for getError() of NativeBridge.\n\nNativeBridge v3 introduced getError() of which the functionality\nis same as dlerror(). This patch forces the routine of ART to\nNativeBridge to execute getError() on ART host test by loading\ninvalid library from Java.\n\nTest: make test-art-host-run-test-115-native-bridge\nChange-Id: Iba389c22b6587176cbfe57d42af49041560c5b00\nSigned-off-by: Zhenhua WANG \u003czhenhua.wang@intel.com\u003e\n"
    },
    {
      "commit": "b75e66e7636b3100432c7459130f55e12c12e0ab",
      "tree": "70520486d9746dbae04345b600bf95858a7c0ff7",
      "parents": [
        "0ac500f2d5d8e9948e5041e601c9dec805c7b74b",
        "8fd2694aa1103911baf32eb05813cc11ab00ef4b"
      ],
      "author": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Wed May 10 20:58:04 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 10 20:58:05 2017 +0000"
      },
      "message": "Merge \"Testrunner: Fix concurrecy for --target\""
    },
    {
      "commit": "a30183dfe048cac0d53a0f07608c5f6fc516119a",
      "tree": "2171d837a43fabfc3004cc3a681b3ef1957a2b5c",
      "parents": [
        "e6cf6204eff91e50d600d5c3c83e424ecab526b7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 10 15:13:28 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 10 21:50:39 2017 +0100"
      },
      "message": "Use IsMarked instead of Mark for profiling info.\n\nThe profiling info contains weak roots to classes, so don\u0027t Mark\nthem in case a class gets unloaded.\n\nbug: 37693252\nTest: test.py --jit\nChange-Id: Ida785ed49054f02f43474aebc780ec5b85371860\n"
    },
    {
      "commit": "cdae15f6738e89a283e959325cf40710ed47632a",
      "tree": "0036bf914ecac8be8f88d6c29f34df52cf6bd938",
      "parents": [
        "0ac500f2d5d8e9948e5041e601c9dec805c7b74b"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Wed May 10 13:46:45 2017 -0700"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Wed May 10 13:46:45 2017 -0700"
      },
      "message": "Remove 597-deopt-new-string from blacklist.\n\nBug: 36467228\nTest: run 597-deopt-new-string under no-image and jit.\nChange-Id: I6ad465bb3e82b4f86344d9a7f4bdffe06cf6ce1b\n"
    },
    {
      "commit": "093a6fbcaa1f9fd2924e97906109482a8f31a247",
      "tree": "cd19863d64d8526de6d3adc1bf1f3b6bfcd041e7",
      "parents": [
        "0ac500f2d5d8e9948e5041e601c9dec805c7b74b"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Tue May 09 15:41:09 2017 -0700"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@google.com",
        "time": "Wed May 10 12:50:43 2017 -0700"
      },
      "message": "Fix page accounting for multidex\n\nDexdiag was using the offset into the mapping rather than into the dex\nfile for determining the types of pages.  This resulted in multidex\nfiles having incorrect accounting.\n\nBug: 38181622\nTest: make test-art-target-gtest-dexdiag_test\nChange-Id: I00a4e21db5f57f75642a17e8edaa9c73b8b529b6\n(cherry picked from commit dda59691e059101b00c70c49e7e2718d3b7c5d99)\n"
    },
    {
      "commit": "0ac500f2d5d8e9948e5041e601c9dec805c7b74b",
      "tree": "8e732c89820d840bc620ce6dc31cbe2964c356b6",
      "parents": [
        "92f4672f811a4eccdc596f7c2235804abd196fde",
        "6e6444508de1afaeaf612970fad608b58b89b009"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 10 19:00:59 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 10 19:01:00 2017 +0000"
      },
      "message": "Merge \"ART: Make GC Pause Listener more precise\""
    },
    {
      "commit": "2665bc8159698429f20a08f814e63c434910d608",
      "tree": "789342315c3cc1cd8d8dba9ac5a7f348e3ff4aab",
      "parents": [
        "d5580a920370920f107914869361e92f8da8e91d"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Tue May 09 15:55:57 2017 -0700"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Wed May 10 11:10:23 2017 -0700"
      },
      "message": "Add explicit default copy constructor\n\nDefinition of implicit copy constructor is deprecated if it has a\nuser-declared destructor. This triggers -Wdeprecated compiler warning\nand breaks the build in latest Clang update.\n\nTest: Build\nBug: 37752547\nChange-Id: I9827e09d0ef846369917192c50db2bb80a0bd0bb\n"
    },
    {
      "commit": "92f4672f811a4eccdc596f7c2235804abd196fde",
      "tree": "03449148ef022c9c3afc50bc960f2851e0098f97",
      "parents": [
        "5528d1c7cf686d2edea51ff12881e495c2124f09",
        "952b23505e2512c9327e6d20c8304493bf8fcf7c"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed May 10 17:24:56 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 10 17:24:58 2017 +0000"
      },
      "message": "Merge \"Improve the documentation of an ARM64 parallel move resolver corner case.\""
    },
    {
      "commit": "5528d1c7cf686d2edea51ff12881e495c2124f09",
      "tree": "a40a13b14d3b43bde8b1525d301ba108f48bbc74",
      "parents": [
        "270970e660d3c99e62a88b18144d159dd8699c55",
        "2eb25e4513778c568919f99a053a79df3a5bbe17"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 10 17:11:48 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 10 17:11:49 2017 +0000"
      },
      "message": "Merge changes I93c26ff3,I0dc1a141\n\n* changes:\n  ART: Add IterateThroughHeapExt\n  ART: Refactor IterateThroughHeap\n"
    },
    {
      "commit": "6e6444508de1afaeaf612970fad608b58b89b009",
      "tree": "ea42cbed1450be598869ef406bb1a6c31a7e4f77",
      "parents": [
        "270970e660d3c99e62a88b18144d159dd8699c55"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 09 16:30:27 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 10 10:07:32 2017 -0700"
      },
      "message": "ART: Make GC Pause Listener more precise\n\nRefactor code to call the listener in FlipThreadRoots, after all\nthreads have been suspended.\n\nBug: 37283268\nTest: m test-art-host\nChange-Id: I313db07e014e65a997d0b58c8a70e4505425def0\n"
    },
    {
      "commit": "b59d5fbcd44f837e3f14cd7fe58268ad55afe788",
      "tree": "85770c18c51dac1fcdfdb5729fc4406056015fd7",
      "parents": [
        "270970e660d3c99e62a88b18144d159dd8699c55"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 09 14:19:21 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed May 10 17:50:08 2017 +0100"
      },
      "message": "ARM/ARM64: Clean up relative patchers.\n\nTest: Rely on TreeHugger.\nBug: 29516974\nBug: 30126666\nBug: 36141117\nChange-Id: I5c452bfae79e63de09211f396abc5413ac7a3e4d\n"
    },
    {
      "commit": "270970e660d3c99e62a88b18144d159dd8699c55",
      "tree": "910248487abab475a9109925a9089fedd08b45c1",
      "parents": [
        "201c81947f23b3f43c2ff78d9c1078dd53157fe5",
        "88abba2b0cb0151d89e16da3e64025878dc2f142"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 10 14:04:18 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 10 14:04:19 2017 +0000"
      },
      "message": "Merge \"ARM/AOT: Allow 16-bit LDR for Baker read barrier loads.\""
    },
    {
      "commit": "201c81947f23b3f43c2ff78d9c1078dd53157fe5",
      "tree": "f4bbe15fca8e33ce89b3ffd19760bf0b7c59c50a",
      "parents": [
        "e6cf6204eff91e50d600d5c3c83e424ecab526b7",
        "81cc43e7d3c4dcd197b3d3a0fa9d1a3be9413367"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 10 13:03:06 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 10 13:03:07 2017 +0000"
      },
      "message": "Merge \"Fix braino in enum use.\""
    },
    {
      "commit": "e6cf6204eff91e50d600d5c3c83e424ecab526b7",
      "tree": "24fed2cf58a56a11ec4883367938b1d5bf2ff4a5",
      "parents": [
        "c8a5b6c38a4e934a7953b07cc12046b01c32ae5d",
        "cf7127b4a368ed26eaf257286173d5337f67a0a7"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed May 10 12:37:36 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 10 12:37:38 2017 +0000"
      },
      "message": "Merge \"ART: Fix null dereference for JSR45\""
    },
    {
      "commit": "c8a5b6c38a4e934a7953b07cc12046b01c32ae5d",
      "tree": "f1f5e3f57298a3f05d41e1a7f6847d73bac8e851",
      "parents": [
        "ddc38fe3e5618e3922ecc445193dacb2f39ef736",
        "3082661d260449e1d773f077e914160c7ad58de5"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 10 11:59:42 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 10 11:59:45 2017 +0000"
      },
      "message": "Merge \"Revert \"ARM: Improve the code generated for HCondition with a constant input\"\""
    },
    {
      "commit": "3082661d260449e1d773f077e914160c7ad58de5",
      "tree": "4407aec4c23d0fa52b9a3334529042797da2d24f",
      "parents": [
        "b404f349d69f940ef2974915fe97c16070364efd"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 10 11:59:26 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 10 11:59:26 2017 +0000"
      },
      "message": "Revert \"ARM: Improve the code generated for HCondition with a constant input\"\n\nReverting to see if that change is responsible for a crash. Will share with ARM if it is.\n\nThis reverts commit b404f349d69f940ef2974915fe97c16070364efd.\n\nChange-Id: Idd04f9109447319445ff49f3fd7dc5b069b4883f\n"
    },
    {
      "commit": "81cc43e7d3c4dcd197b3d3a0fa9d1a3be9413367",
      "tree": "25deb318d103f24b87b890eeaf460640a5815513",
      "parents": [
        "ddc38fe3e5618e3922ecc445193dacb2f39ef736"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 10 12:04:49 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 10 12:05:52 2017 +0100"
      },
      "message": "Fix braino in enum use.\n\nbug:37655083\nTest: jdwp\nChange-Id: I9611a43553aa753d2b8e9cb0dcd99484560f3e62\n"
    },
    {
      "commit": "ddc38fe3e5618e3922ecc445193dacb2f39ef736",
      "tree": "090cf77abda6a5755371673966ceea83f858048c",
      "parents": [
        "45f9865cc974d344c9a859508c8ec8ce101f4c52",
        "4e92c3ce7ef354620a785553bbada554fca83a67"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 10 10:55:45 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 10 10:55:47 2017 +0000"
      },
      "message": "Merge \"Add runtime reasons for deopt.\""
    },
    {
      "commit": "cf7127b4a368ed26eaf257286173d5337f67a0a7",
      "tree": "081bae0092d7e4e33176341d1aa2345abb0629b4",
      "parents": [
        "cbf27b379c4632f4b17a07db128ada2db555d591"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue May 09 09:51:35 2017 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed May 10 11:10:06 2017 +0100"
      },
      "message": "ART: Fix null dereference for JSR45\n\nAvoid dereferencing DEX cache pointer if it is null. Arrays and\nprimitive types do not have DEX cache\u0027s installed.\n\nTest: art/tools/run-jdwp-tests.sh --mode\u003dhost\nBug: 38126955\nChange-Id: I151c18f428d040a4cd9f2fb497c731440bb9fda3\n"
    },
    {
      "commit": "45f9865cc974d344c9a859508c8ec8ce101f4c52",
      "tree": "c600c10efa46c53fe8fd2560925d866ef6fdc788",
      "parents": [
        "8dc0329f933e9dba996f13cb044642608b26becf",
        "3923703e7587c652dd65dc25b851df4343de331d"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed May 10 08:59:57 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 10 08:59:57 2017 +0000"
      },
      "message": "Merge \"SignalCatcher: Minor tweaks to log message.\""
    },
    {
      "commit": "8dc0329f933e9dba996f13cb044642608b26becf",
      "tree": "73d6bfb4cd437a6ccfb483533bb32d1638094247",
      "parents": [
        "1a9a9e363b37dd9ff008a0664e7f54431b670e0b",
        "36930eca8cd6ed2bb78da0c1d013db6a92d80670"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 10 08:48:00 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 10 08:48:02 2017 +0000"
      },
      "message": "Merge \"Be defensive in dex2oat when updating the vdex in-place.\""
    },
    {
      "commit": "4e92c3ce7ef354620a785553bbada554fca83a67",
      "tree": "42029deff4d3ba7f89b5fdbf79ff410da575f431",
      "parents": [
        "549844e9ccf432d1396b19af890eedb602b8ba04"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 08 09:34:26 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 10 09:27:33 2017 +0100"
      },
      "message": "Add runtime reasons for deopt.\n\nCurrently to help investigate. Also:\n1) Log when deoptimization happens (which method and what reason)\n2) Trace when deoptimization happens (to make it visible in systrace)\n\nbug:37655083\nTest: test-art-host test-art-target\nChange-Id: I0c2d87b40db09e8e475cf97a7c784a034c585e97\n"
    },
    {
      "commit": "2eb25e4513778c568919f99a053a79df3a5bbe17",
      "tree": "f99e41dfa6b480b7b44cf309559e5c19c56ab1e6",
      "parents": [
        "f787fd3bc5476f73edb1722b4f6a09d52f69cd12"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 09 17:14:58 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 09 17:14:58 2017 -0700"
      },
      "message": "ART: Add IterateThroughHeapExt\n\nAdd another heap extension. This is the same as IterateThroughHeap,\nbut delivers an additional parameter to the callback that is the\nheap id.\n\nBug: 37283268\nTest: m test-art-host\nChange-Id: I93c26ff3afe4205f00f2e4ed871384f862886746\n"
    },
    {
      "commit": "f787fd3bc5476f73edb1722b4f6a09d52f69cd12",
      "tree": "af2c1150d7fb7a457d5c14671f1bb8741a4b2f1a",
      "parents": [
        "1a9a9e363b37dd9ff008a0664e7f54431b670e0b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 09 16:04:20 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 09 16:04:20 2017 -0700"
      },
      "message": "ART: Refactor IterateThroughHeap\n\nFactor out callback. In preparation for extension API.\n\nBug: 37283268\nTest: m test-art-host\nChange-Id: I0dc1a141afe43a415be9326bed24bd835dbbdc8c\n"
    },
    {
      "commit": "8fd2694aa1103911baf32eb05813cc11ab00ef4b",
      "tree": "dc4676ee04c436286b3f8dc1046b8c0ec7062e14",
      "parents": [
        "1a9a9e363b37dd9ff008a0664e7f54431b670e0b"
      ],
      "author": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Tue May 09 11:30:47 2017 -0700"
      },
      "committer": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Tue May 09 21:59:46 2017 +0000"
      },
      "message": "Testrunner: Fix concurrecy for --target\n\nPopen was returning bytes instead of string which was causing the\nlogic of extracting out concurrency for the target device to break.\nNow, the output of the Popen will be converted to string and regex\nmatching is used instead of string split to better handle the case\nwhen the input string doesn\u0027t follow the pattern.\n\nTest: ./art/test/testrunner/testrunner.py --target\nBug: 38130322\n\nChange-Id: I6c2f3070e88e0cbd80a61380f6c4f714e8886b3c\n"
    },
    {
      "commit": "1a9a9e363b37dd9ff008a0664e7f54431b670e0b",
      "tree": "e417ca37120858ddffaa83c7cb8a140ef4b96933",
      "parents": [
        "d5580a920370920f107914869361e92f8da8e91d",
        "50e20d54670aecf1a4fdcf37ef1606d5ca990559"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue May 09 20:38:01 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 09 20:38:03 2017 +0000"
      },
      "message": "Merge \"Moved knowledge on masking shift operands to simplifier.\""
    },
    {
      "commit": "50e20d54670aecf1a4fdcf37ef1606d5ca990559",
      "tree": "cb61312693cd392c3f9a569153a55c3eef936714",
      "parents": [
        "e22445fba0e5747ea787429ac64577a9a62aded3"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri May 05 14:07:29 2017 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue May 09 10:41:39 2017 -0700"
      },
      "message": "Moved knowledge on masking shift operands to simplifier.\n\nRationale:\nIt is better to have a single place that simplifies shift\nfactors outside the 32-bit or 64-bit distance range, so\nthat other phases (induction variable analysis, loop optimizations,\netc.) do not have to know about that.\n\nTest: test-art-target, test-art-host\nChange-Id: Idfd90259cca085426cc3055eccb90f3c0976036b\n"
    },
    {
      "commit": "d5580a920370920f107914869361e92f8da8e91d",
      "tree": "fda96b1696d54b51b7b400d5b2ac560ce97dc5aa",
      "parents": [
        "3db6ff306fcfcc19f8fc92224f81d2e58458b24c",
        "9c48ee5bac5ef0d0af9c1ab079452c954affa019"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 09 15:51:23 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 09 15:51:25 2017 +0000"
      },
      "message": "Merge \"Lower flock LOG(FATAL) to LOG(WARNING)\""
    },
    {
      "commit": "3db6ff306fcfcc19f8fc92224f81d2e58458b24c",
      "tree": "aa4afb4f1a9ed0c00da297734ea422df0baba3dc",
      "parents": [
        "e9046539453e59450068d5e347f259b8f12fc5b1",
        "7050f9d4e6b20852da9f55ea553d6849c0c71c4c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 09 15:14:02 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 09 15:14:04 2017 +0000"
      },
      "message": "Merge \"Disable test 640-checker-integer-valueof in PIC mode\""
    },
    {
      "commit": "88abba2b0cb0151d89e16da3e64025878dc2f142",
      "tree": "231e5551a1b8d3c8bf162c9d0f30916b36ba2742",
      "parents": [
        "b9c3a99096c746b09af611e55e11b86600374011"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed May 03 17:09:25 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 09 15:43:34 2017 +0100"
      },
      "message": "ARM/AOT: Allow 16-bit LDR for Baker read barrier loads.\n\nTest: m test-art-target-gtest\nTest: testrunner.py --target on Nexus 6P.\nTest: testrunner.py --target on Nexus 6P with heap poisoning enabled.\nTest: Repeat the above tests with ART_USE_OLD_ARM_BACKEND\u003dtrue.\nBug: 29516974\nBug: 30126666\nBug: 36141117\nChange-Id: I458f2ec5fe9abead4db06c7595d992945096fb68\n"
    },
    {
      "commit": "e9046539453e59450068d5e347f259b8f12fc5b1",
      "tree": "6c87778631bd36bfcb65f70db77deff93c2d94a7",
      "parents": [
        "da33049d2312a6706468c436edeb8ef662efaa67",
        "e523aba9910113df15e5b4aded12a8b0264d3a70"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 09 14:32:07 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 09 14:32:07 2017 +0000"
      },
      "message": "Merge \"Add test for access thunk inlining.\""
    },
    {
      "commit": "da33049d2312a6706468c436edeb8ef662efaa67",
      "tree": "fe3c718872c0cb08480e0e10b9c5be36c491ace5",
      "parents": [
        "cbf27b379c4632f4b17a07db128ada2db555d591",
        "b404f349d69f940ef2974915fe97c16070364efd"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 09 13:40:31 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 09 13:40:36 2017 +0000"
      },
      "message": "Merge \"ARM: Improve the code generated for HCondition with a constant input\""
    },
    {
      "commit": "7050f9d4e6b20852da9f55ea553d6849c0c71c4c",
      "tree": "2b7dd84fdd6ec75a4ab149910d73615de7c9eb1b",
      "parents": [
        "cbf27b379c4632f4b17a07db128ada2db555d591"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Mon May 08 15:19:39 2017 +0200"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Tue May 09 15:16:08 2017 +0200"
      },
      "message": "Disable test 640-checker-integer-valueof in PIC mode\n\nThe java.lang.Integer.valueOf intrinsic is not supported in PIC mode.\n\nTest: ./testrunner.py --pictest -t 640-checker-integer-valueof\n\nChange-Id: I83f76203b93ae271d3681ab2f06d8be8ad41b9b9\n"
    },
    {
      "commit": "36930eca8cd6ed2bb78da0c1d013db6a92d80670",
      "tree": "8bf7bccb5e4711e4eca6fd0502aedd3072ae818f",
      "parents": [
        "cbf27b379c4632f4b17a07db128ada2db555d591"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue May 09 13:23:34 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue May 09 13:48:24 2017 +0100"
      },
      "message": "Be defensive in dex2oat when updating the vdex in-place.\n\nInvalidate the vdex header before doing any writing, in case\ndex2oat gets killed in the middle.\n\nbug: 38113240\nTest: test.py --speed-profile\nTest: test.py 629-vdex\n\nChange-Id: I4c04ba36db5f6a7066bb6695885e6ae5082d34fb\n"
    },
    {
      "commit": "e523aba9910113df15e5b4aded12a8b0264d3a70",
      "tree": "541d4fb5179f527a620f63956b0ee1e3cea5f2a6",
      "parents": [
        "b9c3a99096c746b09af611e55e11b86600374011"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 09 10:57:30 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 09 11:18:19 2017 +0100"
      },
      "message": "Add test for access thunk inlining.\n\nTest: testrunner.py --host -t 650-checker-inline-access-thunks\nBug: 20873367\nChange-Id: I8f92a6cf3b3f63c617ab8351340ddc0caaea69e6\n"
    },
    {
      "commit": "cbf27b379c4632f4b17a07db128ada2db555d591",
      "tree": "629e40a0c51cb2f62b2f033339e8ff7357b534bf",
      "parents": [
        "b42118ea6a2f4180c634fa2311d62e0927731e4a",
        "df674c45091d01f504bf1bb7d241678ecd449ae0"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 09 01:19:22 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 09 01:19:23 2017 +0000"
      },
      "message": "Merge \"Do not fsync profiles on close\""
    },
    {
      "commit": "b42118ea6a2f4180c634fa2311d62e0927731e4a",
      "tree": "a89f4675650b62fbb4033d521338597a2f8bb80f",
      "parents": [
        "a749ec28271e7053f1e27d3c0150965fdcd892ef",
        "95c466dd3348a875e42f8d5b85bd7eaddfb43cb9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 09 00:17:14 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 09 00:17:17 2017 +0000"
      },
      "message": "Merge \"ART: Fix GetErrorName.\""
    },
    {
      "commit": "9c48ee5bac5ef0d0af9c1ab079452c954affa019",
      "tree": "fbcdc20e631424c052b4c35465722ad77e35fdca",
      "parents": [
        "bf2dd4baecee0e82608a83eca9738205446bcb03"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon May 08 10:18:47 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon May 08 16:25:51 2017 -0700"
      },
      "message": "Lower flock LOG(FATAL) to LOG(WARNING)\n\nFailing to unlock a file should not be a fatal error.\n\nThe lock will usually be cleared right after this anyway by the file\nbeing closed. Even if it isn\u0027t though this should not cause deadlocks\nsince most places either don\u0027t retry if they don\u0027t get the lock the\nfirst time or are separate binaries (such as dex2oat) that are run\nwith external timeouts.\n\nBug: 36369345\nTest: ./test.py --host -j40\nChange-Id: Icd783c038de3c263805e8de1bbc35b2ee8918340\n"
    },
    {
      "commit": "a749ec28271e7053f1e27d3c0150965fdcd892ef",
      "tree": "946b5462e75c00cba8a99de536934598357121f5",
      "parents": [
        "e1e03503bd4222ef0201568268429ece4fba80d2",
        "b4949f536d63eb5c9e6654a86a34488807ef3665"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 08 23:12:45 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 08 23:12:47 2017 +0000"
      },
      "message": "Merge \"Testrunner: Fix --gdb issue\""
    },
    {
      "commit": "df674c45091d01f504bf1bb7d241678ecd449ae0",
      "tree": "94a6e024368b1742ee9aba7cbf31e0fd459aa393",
      "parents": [
        "3650acb134b4e68ba3f190772b02105f74081bf2"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Apr 27 19:30:16 2017 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon May 08 15:56:35 2017 -0700"
      },
      "message": "Do not fsync profiles on close\n\nThere\u0027s no need to fsync profile data right away. We get\nmany chances to write it again in case something goes\nwrong. We can rely on a simple close(), no sync, and let\nthe kernel decide when to write to disk. This should\nimprove the I/O behavior of saving profiles.\n\nBug: 36817443\nTest: m test-art-host-gtest\nChange-Id: I0df27947006d57b15d6311420c79288148736f62\n"
    },
    {
      "commit": "95c466dd3348a875e42f8d5b85bd7eaddfb43cb9",
      "tree": "50e49accab33648a0056807d95c803d9e3a47317",
      "parents": [
        "e1e03503bd4222ef0201568268429ece4fba80d2"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon May 08 14:50:47 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon May 08 14:54:37 2017 -0700"
      },
      "message": "ART: Fix GetErrorName.\n\nAdd missing case for JVMTI_ERROR_THREAD_SUSPENDED. Also return\nJVMTI_ERROR_ILLEGAL_ARGUMENT for unspecified inputs.\n\nRefactor the code\n* Remove the switch default case for case checking\n* Use a lambda to unify the return code. This saves 4K of so size.\n\nAdd a test.\n\nBug: 38133825\nTest: m\nTest: art/test/testrunner/testrunner.py -b --host -t 901\nChange-Id: If46b276b8abcd8b7b8ebbac1106f6b840761b997\n"
    },
    {
      "commit": "b4949f536d63eb5c9e6654a86a34488807ef3665",
      "tree": "e661e72a916009a39e1d6190a2d50f0cfa466cf1",
      "parents": [
        "3650acb134b4e68ba3f190772b02105f74081bf2"
      ],
      "author": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Mon May 08 13:52:46 2017 -0700"
      },
      "committer": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Mon May 08 13:52:46 2017 -0700"
      },
      "message": "Testrunner: Fix --gdb issue\n\nTestrunner was eating up the output of gdb.\nWith the change, it will print the entire run-test script output\nwith --gdb.\n\nTest: ./art/test/testrunner/testrunner.py --gdb -t 001-H\n\nChange-Id: I35254d0a67380946e1f033ec2a46a6bf272d4adc\n"
    },
    {
      "commit": "b404f349d69f940ef2974915fe97c16070364efd",
      "tree": "2d75a4452ab569c6aacad636fbf546faf3593d1c",
      "parents": [
        "6b90142986f76436503bcdca37ace6537ba8f0d4"
      ],
      "author": {
        "name": "Anton Kirilov",
        "email": "anton.kirilov@linaro.org",
        "time": "Thu Mar 30 16:00:41 2017 +0100"
      },
      "committer": {
        "name": "Anton Kirilov",
        "email": "anton.kirilov@linaro.org",
        "time": "Mon May 08 20:19:48 2017 +0100"
      },
      "message": "ARM: Improve the code generated for HCondition with a constant input\n\nTest: m test-art-target-run-test-409-materialized-condition\nTest: m test-art-target-run-test-570-checker-select\nChange-Id: Ie3418fbac1d2ecb4d7fc847d4722758e1e01bc2e\n"
    },
    {
      "commit": "e1e03503bd4222ef0201568268429ece4fba80d2",
      "tree": "de6c958cbb9b6d86ea7885ccaafbc6bfc74b734a",
      "parents": [
        "bf2dd4baecee0e82608a83eca9738205446bcb03",
        "89112da43c9f178c0582d9f3b13107796a7a6d79"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 08 17:24:56 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 08 17:24:58 2017 +0000"
      },
      "message": "Merge \"Extra test on coupled induction.\""
    },
    {
      "commit": "89112da43c9f178c0582d9f3b13107796a7a6d79",
      "tree": "7f022b349775dcc0b7aca1c7ffb30427a5ea1d6a",
      "parents": [
        "59cd177687681ff9a1bd4b005e77f2a15e290641"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri May 05 11:07:34 2017 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon May 08 08:39:25 2017 -0700"
      },
      "message": "Extra test on coupled induction.\n\nRationale:\nI had this test lying around to make sure\na coupled induction is never optimized\nincorrectly. Not really targeted to anything\nin particular, but good to have in our suite.\n\nTest: test-art-host\nChange-Id: I0d50c476c0012f4509a10ed56598dc33572a0e2e\n"
    },
    {
      "commit": "bf2dd4baecee0e82608a83eca9738205446bcb03",
      "tree": "a321c0bfb58a3d8caa1e4f95b1860656ab2fad97",
      "parents": [
        "b9c3a99096c746b09af611e55e11b86600374011",
        "6d482aa01d2190e7f972553f359df7958d31af57"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 08 14:47:09 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 08 14:47:11 2017 +0000"
      },
      "message": "Merge \"MIPS32: Implement branchless HCondition for longs\""
    },
    {
      "commit": "b9c3a99096c746b09af611e55e11b86600374011",
      "tree": "fcb2f5443f6accc41a7f93a2efb2f78d39d57830",
      "parents": [
        "f5ccfb506c3a8f8c0377e65cc9f0f832be64fec8",
        "f977691961b5a49a074a535fcb29a5ad4a318974"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 08 12:04:29 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 08 12:04:31 2017 +0000"
      },
      "message": "Merge \"Bump oat version after compiler filter name changes.\""
    },
    {
      "commit": "f5ccfb506c3a8f8c0377e65cc9f0f832be64fec8",
      "tree": "1f215957e975e60f1dc6931070ab6f99228f3e3e",
      "parents": [
        "81c50bf31d9f9e35890404a2baf93f2c1e061ad9",
        "46847395470e414cd2aa1c6ea13e9a3d08e2b46b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 08 12:04:24 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 08 12:04:26 2017 +0000"
      },
      "message": "Merge \"Honor --force-determinism for vdex.\""
    },
    {
      "commit": "d8b6a53074be7d6b98c651ed8d2127f089da39a6",
      "tree": "f0780307647818a97f041e62d31cc27fa4cc971a",
      "parents": [
        "81c50bf31d9f9e35890404a2baf93f2c1e061ad9"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Thu Apr 20 11:42:30 2017 +0200"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Mon May 08 13:05:20 2017 +0200"
      },
      "message": "MIPS64: Saves 128-bit vector registers along SuspendCheckSlowPath\n\nWe need to save 128 bits of data. This is only done for vector\nregisters that are live, so overhead is not too big.\n\nTest: mma test-art-host-gtest\nTest: ./testrunner.py --optimizing --target in QEMU (MIPS64)\n\nChange-Id: I2cdfeb8056dc5ef35c92f589d8c0399c41d913b2\n"
    },
    {
      "commit": "81c50bf31d9f9e35890404a2baf93f2c1e061ad9",
      "tree": "ec433bb500a2ec573eeb549b6f81e971e7e05936",
      "parents": [
        "21b2bad9cee87a72f6f2c0e7827867785caee134",
        "0a51fc30486bff07e6752c73edbefe168d1d9e7b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 08 10:32:40 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 08 10:32:41 2017 +0000"
      },
      "message": "Merge \"Refactor Baker CC read barrier link-time thunk generation.\""
    },
    {
      "commit": "21b2bad9cee87a72f6f2c0e7827867785caee134",
      "tree": "b71c601440148c6fbe70313bf1dfce30023d733b",
      "parents": [
        "93029177d766269e2685cf60625f61e38820e78d",
        "8b5d9b614ad9f13e2cb62d4956252677cd71add1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 08 10:14:47 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 08 10:14:48 2017 +0000"
      },
      "message": "Merge \"Resolve the tracked locations in profile saver\""
    },
    {
      "commit": "f977691961b5a49a074a535fcb29a5ad4a318974",
      "tree": "0b27b0f1b7f48e82381ae418df94adeed5f2f54a",
      "parents": [
        "93029177d766269e2685cf60625f61e38820e78d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri May 05 10:27:58 2017 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon May 08 10:55:22 2017 +0100"
      },
      "message": "Bump oat version after compiler filter name changes.\n\nbug:37988580\nTest: build\nChange-Id: I87aebe69b85168be9d1ecc2e31da675e818a5692\n"
    },
    {
      "commit": "93029177d766269e2685cf60625f61e38820e78d",
      "tree": "744e11e81a301a59c2be15adf3bc7fe4190ccdd5",
      "parents": [
        "91f956c925f015b8cd355e8ec2a697a4ba69f7ab",
        "ff48700df9da9aa0c6a8c1f65c9d862f936e1a89"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon May 08 08:58:16 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 08 08:58:18 2017 +0000"
      },
      "message": "Merge \"Improve the implementation of UnsafeCASObject with Baker read barriers.\""
    },
    {
      "commit": "8b5d9b614ad9f13e2cb62d4956252677cd71add1",
      "tree": "602baecc9afa6ce259ee794f8e3117170c81b9ae",
      "parents": [
        "91f956c925f015b8cd355e8ec2a697a4ba69f7ab"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri May 05 17:27:23 2017 -0700"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 08 08:46:03 2017 +0000"
      },
      "message": "Resolve the tracked locations in profile saver\n\nThe profile saver takes the dex locations it has to track as they are.\nOn the buildbot the locations are symlinked, but the dex file may be\ncompiled with an absolute path. This may cause a mismatch and cause the\ndex file to not be profiled (test 595-profile-saving will fail).\n\nNote that this is a valid use case in production as well. It may happen\nfor secondary dex files which can be loaded via symlinks.\n\nTest: test/run-test --output-path /tmp/link --always-clean --host --prebuild --interpreter --no-relocate --runtime-option -Xcheck:jni --no-image --64 595-profile-saving\n       test/run-test  --output-path /tmp/link --always-clean --host\n--no-prebuild --jit --no-relocate --runtime-option -Xcheck:jni\n--runtime-option -verbose:profiler --64  595-profile-saving\n\nBug: 36605597\nChange-Id: I0126d5255fd663d232a3f7fc50ce7d715072872a\n"
    },
    {
      "commit": "f7caf682c6b4769b2a3dd2f2241532b98709c1a3",
      "tree": "88ecbd1fa756e722fd79e2b696620cd61ac3305f",
      "parents": [
        "91f956c925f015b8cd355e8ec2a697a4ba69f7ab"
      ],
      "author": {
        "name": "xueliang.zhong",
        "email": "xueliang.zhong@linaro.org",
        "time": "Wed Mar 01 16:07:02 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 08 08:33:07 2017 +0000"
      },
      "message": "Instruction scheduling for ARM.\n\nPerformance improvements on various benchmarks with this CL:\n\nbenchmarks     improvements\n---------------------------\nalgorithm                1%\nbenchmarksgame           2%\ncaffeinemark             2%\nmath                     3%\nstanford                 4%\n\nTested on ARM Cortex-A53 CPU.\n\nThe code size impact is negligible.\n\nTest: m test-art-host\nTest: m test-art-target\nChange-Id: I314c90c09ce27e3d224fc686ef73c7d94a6b5a2c\n"
    },
    {
      "commit": "91f956c925f015b8cd355e8ec2a697a4ba69f7ab",
      "tree": "32e541c4e3c4b420626d96a894a8a4d2d0dcf98b",
      "parents": [
        "c286d17a84c0719fc672db4eef81a9429f7d6ce4",
        "326c1a28c3e5d9e7ea1b39d60608eab5481e38b6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 05 20:28:32 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 05 20:28:33 2017 +0000"
      },
      "message": "Merge \"Check static field initial value types match in dex file verifier.\""
    }
  ],
  "next": "c286d17a84c0719fc672db4eef81a9429f7d6ce4"
}
