)]}'
{
  "log": [
    {
      "commit": "3bada4be05bb44f2dccb043ba7aef17f15b520f0",
      "tree": "f67a4016995702af1cec2ab0556909bcfffd68e8",
      "parents": [
        "a654e0378a8d0bb149362399917e4da2959e6991"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 19 12:32:47 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 19 12:32:47 2017 +0100"
      },
      "message": "Avoid binding const references to temporaries.\n\nTest: Rely on TreeHugger.\nChange-Id: I52930cfaea4b5e977f125500bb8c9160f9c8db33\n"
    },
    {
      "commit": "17481b5244e0cb23a5d3762cf035a2399600f715",
      "tree": "2577108fdd4168d7b972b47eadff0edfef94de19",
      "parents": [
        "015a070503c297e0327bdaee0235c7bcb6687be0",
        "5f80500bba3df590f0bfffea2ebe2adee7c40763"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 18 18:39:16 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 18 18:39:19 2017 +0000"
      },
      "message": "Merge \"Made idiom recognition more robust.\""
    },
    {
      "commit": "015a070503c297e0327bdaee0235c7bcb6687be0",
      "tree": "e0f25e951ec2a8f334c4b0f2ad6e609ecb3211d5",
      "parents": [
        "ff120c2ad8862d595908907fb8f83d024ca45957",
        "5f07820bd9df33d68faf4a501b681b9a7913d458"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 18 17:44:38 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 18 17:44:40 2017 +0000"
      },
      "message": "Merge \"Use StringBssEntry for testing PC-relative patching.\""
    },
    {
      "commit": "5f80500bba3df590f0bfffea2ebe2adee7c40763",
      "tree": "ed18a25cc6dd29acea8641069295d81c3390d88d",
      "parents": [
        "536e54a6af85127d7f17037360deb08e0a7dc4eb"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue May 16 16:42:41 2017 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu May 18 09:30:36 2017 -0700"
      },
      "message": "Made idiom recognition more robust.\n\nRationale:\nRecognition is now more robust with respect to\noperation order or even cancelling constants.\n\nTest: test-art-target, test-art-host\nChange-Id: I4e920150e20e1453bb081e3f0ddcda8f1c605672\n"
    },
    {
      "commit": "662ee25b95a908ab063d4a8ae136ab695ea22229",
      "tree": "1b8e89a0c1ac009490dd2e8c3a6c73ae30e4bf3e",
      "parents": [
        "c1c3351492674f2e264f41d93ffc80b633726689",
        "79d8fa7c52c1810d4618c9bd1d43994be5abb53d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 18 16:03:44 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 18 16:03:47 2017 +0000"
      },
      "message": "Merge \"optimizing: Build HConstructorFence for HNewArray/HNewInstance nodes\""
    },
    {
      "commit": "79d8fa7c52c1810d4618c9bd1d43994be5abb53d",
      "tree": "411a76dec2adf4139328d5e607b498b72c9aa2af",
      "parents": [
        "acac09dad3d5aa3922e6cdf54ff2e4fa6f176484"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Apr 18 09:37:23 2017 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu May 18 14:14:13 2017 +0000"
      },
      "message": "optimizing: Build HConstructorFence for HNewArray/HNewInstance nodes\n\nAlso fixes:\n* LSE, code_sinking to keep optimizing new-instance if it did so before\n* Various tests to expect constructor fences after new-instance\n\nSidenote: new-instance String does not get a ConstructorFence; the\nspecial StringFactory calls are assumed to be self-fencing.\n\nMetric changes on go/lem:\n* CodeSize -0.262% in ART-Compile (ARMv8)\n* RunTime -0.747% for all (linux-armv8)\n\n(No changes expected to x86, constructor fences are no-op).\n\nThe RunTime regression is temporary until art_quick_alloc_* entrypoints have their\nDMBs removed in a follow up CL.\n\nTest: art/test.py\nBug: 36656456\nChange-Id: I6a936a6e51c623e1c6b5b22eee5c3c72bebbed35\n"
    },
    {
      "commit": "5f07820bd9df33d68faf4a501b681b9a7913d458",
      "tree": "a3fd449682c7b9887d47cb792fd92281e8367365",
      "parents": [
        "76e9b6152f3c1fd137cb0686f728ab59299c33d4"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu May 18 13:32:53 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu May 18 13:39:25 2017 +0100"
      },
      "message": "Use StringBssEntry for testing PC-relative patching.\n\nPrepares for removal of LinkerPatch::Type::kDexCacheArray.\n\nTest: m test-art-host-gtest\nBug: 30627598\nChange-Id: I69104892447a3b210228fceacf4bfdfd856d5866\n"
    },
    {
      "commit": "c1ff6bf32443ef79b0db30b10a08efbfa92420c4",
      "tree": "99cc8c5087526008da5fe137ebc388a332c7484b",
      "parents": [
        "aad63d06328e745a7f13e812bf41676274aa8f49",
        "00916b9eb0d83f333a00d7c8b839a62aed967857"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed May 17 18:47:16 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 17 18:47:18 2017 +0000"
      },
      "message": "Merge \"X86: Fix LoadString/Class for non-PIC boot image.\""
    },
    {
      "commit": "00916b9eb0d83f333a00d7c8b839a62aed967857",
      "tree": "2fe301ea898918e550f971fc2f164cf4ab3768a5",
      "parents": [
        "2fad527ddf2b8d85df82468932ed724407f46be8"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed May 17 17:45:45 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed May 17 18:06:02 2017 +0100"
      },
      "message": "X86: Fix LoadString/Class for non-PIC boot image.\n\nDo not check for PIC/non-PIC mode when recording patches.\nThis was erroneously missed in\n    https://android-review.googlesource.com/397193\nand broke 916-obsolete-jit for no-image as it actually\ntries to compile the boot image in non-PIC mode.\n\nTest: testrunner.py --host --no-image -t 916-obsolete-jit\nBug: 33192586\nChange-Id: I068fbaa576635ea4f7d49521df55c98ba99dd34e\n"
    },
    {
      "commit": "47aa869c1600b349de716f6990de0f431ce558a9",
      "tree": "2ca9a3b1919caef73f9ed810048adab331307858",
      "parents": [
        "e74e120dbd3243ae6f43db6fd91ec201f96ef5ea",
        "365719c23d809e595cf320bfba40e76bb4e87940"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 17 14:02:58 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 17 14:02:59 2017 +0000"
      },
      "message": "Merge \"No need to lock when calling Thread.interrupted.\""
    },
    {
      "commit": "2fad527ddf2b8d85df82468932ed724407f46be8",
      "tree": "d2420c1e23ad166d4995946d1c479efee8fc27d9",
      "parents": [
        "d1c22768e77d2c9c06d7dfa36bde24bf5b6ac8a0"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed May 17 12:57:18 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed May 17 13:28:14 2017 +0100"
      },
      "message": "Ignore --compile-pic option for JIT.\n\nTest: testrunner --host --pictest --jit\nBug: 33192586\nChange-Id: I1e05874752c6a3b448ffbeff9681637a35acda2a\n"
    },
    {
      "commit": "d1c22768e77d2c9c06d7dfa36bde24bf5b6ac8a0",
      "tree": "d5f7c10205caa55ba75da223f6f7d012a8787130",
      "parents": [
        "8e0a5dee37e848ae9bc7ff11c8a0eb66048a5e9e",
        "764d454d1d51448deb81f6e8d2d7d317c7f4d1b4"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed May 17 09:16:30 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 17 09:16:31 2017 +0000"
      },
      "message": "Merge \"Remove LoadString/Class kind kBootImageLinkTimeAddress.\""
    },
    {
      "commit": "a1633a7077781d9c64a77b27deb1707d1a56906d",
      "tree": "505f2560cfd247b2e1aab86d3ab96e5c399cb05d",
      "parents": [
        "a774575ae3af3d46955f941ddd08a79caf2aaa94",
        "c8e93c736c149ce41be073dd24324fb08afb9ae4"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue May 16 15:56:01 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 16 15:56:04 2017 +0000"
      },
      "message": "Merge \"Min/max SIMDization support.\""
    },
    {
      "commit": "764d454d1d51448deb81f6e8d2d7d317c7f4d1b4",
      "tree": "029f9e65cfe7e953df55b7af45e099924ffdbbac",
      "parents": [
        "7974468d32b817be1d49dfcf513605f646c481bc"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 16 10:31:41 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 16 15:08:55 2017 +0100"
      },
      "message": "Remove LoadString/Class kind kBootImageLinkTimeAddress.\n\nWe no longer support non-PIC boot image compilation.\n\nAlso clean up some obsolete code for method patches\nand make JIT correctly report itself as non-PIC.\n\nTest: testrunner.py --host\nTest: testrunner.py --target\nBug: 33192586\nChange-Id: I593289c5c1b0e88b82b86a933038be97bbb15ad2\n"
    },
    {
      "commit": "365719c23d809e595cf320bfba40e76bb4e87940",
      "tree": "0939f0d8dc47723978a665fa11dd637f6976d521",
      "parents": [
        "d6705a0586377f1b0d7d14d3abe2b270bb0adb18"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 08 13:11:50 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue May 16 01:58:03 2017 +0100"
      },
      "message": "No need to lock when calling Thread.interrupted.\n\nAlso intrinsify the Thread.interrupted call.\n\nThe rationale behind this optimization is that the flag can only\nhave two values, and only self can set it to false.\n\nTest: libcore, jdwp, run-tests, 050-sync-test\nChange-Id: I5c2b43bf872ba0bfafcb54b2cfcd19181864bc4c\n"
    },
    {
      "commit": "3738e98cb8833b24e998ec3b6906bf58850741c3",
      "tree": "fa449a53f9e22c676d633a6615da9195c5e2cb2a",
      "parents": [
        "f6730e338384c8878b5c0ca2e6efaa45ba9e5da8"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 12 16:07:28 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon May 15 14:27:45 2017 -0700"
      },
      "message": "Fix determinism for app images\n\nClear the dalvik.system.DexFile cookie to make the long array\nunreachable before the GC.\n\nTest: test-art-host\nTest: Ran 10x: mma -j40 \u0026\u0026 shasum $OUT/system/framework/oat/arm64/services.* \u0026\u0026 rm $OUT/system/framework/oat/arm64/services.* \u0026\u0026 rm $OUT/obj/JAVA_LIBRARIES/services_intermediates/oat/arm64/*\n\nBug: 34090128\n\nChange-Id: I5a872de3e907461803a77254902d78ff6e657b43\n"
    },
    {
      "commit": "c8e93c736c149ce41be073dd24324fb08afb9ae4",
      "tree": "8e7154cf1bbcee8f5837ee9cb930174e2516ac03",
      "parents": [
        "92f4672f811a4eccdc596f7c2235804abd196fde"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@ajcbik2.mtv.corp.google.com",
        "time": "Wed May 10 10:49:22 2017 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon May 15 11:44:58 2017 -0700"
      },
      "message": "Min/max SIMDization support.\n\nRationale:\nThe more vectorized, the better!\n\nTest: test-art-target, test-art-host\n\nChange-Id: I758becca5beaa5b97fab2ab70f2e00cb53458703\n"
    },
    {
      "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "ff48700df9da9aa0c6a8c1f65c9d862f936e1a89",
      "tree": "932dd5749a82d9477d24200db6d747d6008a0a5d",
      "parents": [
        "15cb9753075bcaa5b91a6497a2d35e8bd98af1f0"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Mar 07 16:50:01 2017 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri May 05 16:08:50 2017 +0100"
      },
      "message": "Improve the implementation of UnsafeCASObject with Baker read barriers.\n\nOn ARM and ARM64, avoid loading the reference altogether when the\nGC is not marking.\n\nAlso, extract the code logic for updating a reference field from\nGenerateReferenceLoadWithBakerReadBarrier routines and move it to\nnew routines (UpdateReferenceFieldWithBakerReadBarrier), to make\nthe implementation more legible.\n\nTest: Run ART target tests in Baker read barrier configuration.\nBug: 29516974\nChange-Id: I11c53f0607e997cd02ec7911725e98ef3dc97d90\n"
    },
    {
      "commit": "fe307fd79220135b1a5c74eca28fb2b58c30c2df",
      "tree": "8e7c63a3347c4fbc70278b50d296cfda35c43844",
      "parents": [
        "4eacc7f1c97dff74eb6c01d838a1ee586ae969ae",
        "eee1c0ec2b08a6be642b329dc2fe885391127da3"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 05 13:33:28 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 05 13:33:30 2017 +0000"
      },
      "message": "Merge \"ARM: Link-time generated thunks for Baker CC read barrier.\""
    },
    {
      "commit": "0a51fc30486bff07e6752c73edbefe168d1d9e7b",
      "tree": "fdc6d04bde43d5e04303d178db2d21b665189470",
      "parents": [
        "eee1c0ec2b08a6be642b329dc2fe885391127da3"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 02 13:12:02 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 05 12:51:27 2017 +0100"
      },
      "message": "Refactor Baker CC read barrier link-time thunk generation.\n\nDo not keep any knowledge of Baker thunk type in the\nArmBaseRelativePatcher, keep it strictly within the\nderived classes.\n\nTest: Nexus 6P boots.\nTest: testrunner.py --target on Nexus 6P\nBug: 29516974\nBug: 30126666\nBug: 36141117\nChange-Id: I7d9efcd2df1439bb51985467c5e3e53ddeb5a293\n"
    },
    {
      "commit": "eee1c0ec2b08a6be642b329dc2fe885391127da3",
      "tree": "960bb4df48b4a320df3c58682449abb24b5fb122",
      "parents": [
        "c7cee403ad9a3f7097f5157a621a6a8cb991222e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Apr 21 17:58:41 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 05 12:51:11 2017 +0100"
      },
      "message": "ARM: Link-time generated thunks for Baker CC read barrier.\n\nRemaining work for follow-up CLs:\n  - use implicit null check in field thunk,\n  - use 16-bit LDRs for fields and GC roots.\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: Iad5addab72d790a9d61879f61f2e75b246bcdf5a\n"
    },
    {
      "commit": "4ae432df025804031ea89285dd9f89051124a966",
      "tree": "7eae9b85539dd305d7c0aa02c061e960719e9389",
      "parents": [
        "acac09dad3d5aa3922e6cdf54ff2e4fa6f176484"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu May 04 14:15:08 2017 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu May 04 14:15:08 2017 -0700"
      },
      "message": "optimizing: Fix undefined behavior in graph checker\n\nChecking a variable being null after dereference is undefed behavior\nand the null check is often optimized out.\n\nChange-Id: I4d80510af6d49def1f9f7bd82c25eb366169babb\n"
    },
    {
      "commit": "f3fb1fc453c253a075050910a558c89c1330b5af",
      "tree": "ca758f050dc3a892e360af094f36fde056e40fef",
      "parents": [
        "9459127abb57b0892d3ddeb1e30ac0bf28c93761",
        "c61c0761150340263160b568d8a952e9a3d80d56"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 04 14:46:32 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 04 14:46:33 2017 +0000"
      },
      "message": "Merge \"MIPS: Change remaining entrypoints to save everything.\""
    },
    {
      "commit": "286fb4487c73d5ef1a9ff7ad69929d37d9dcdbee",
      "tree": "aa1975dd6671301ebd295d8bfdf69256bef78d40",
      "parents": [
        "c7cee403ad9a3f7097f5157a621a6a8cb991222e",
        "e39e702b7d09ed92a8b6af635bc0ea25c147f8b7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 04 13:17:13 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 04 13:17:14 2017 +0000"
      },
      "message": "Merge \"ARM/VIXL: Remove obsolete DeduplicateDexCacheAddressLiteral().\""
    },
    {
      "commit": "e39e702b7d09ed92a8b6af635bc0ea25c147f8b7",
      "tree": "05e98008abefb36256c783c31430ddebb317279f",
      "parents": [
        "3f5f85d9382416b053359c3c1f11ab824843f3b4"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu May 04 11:54:35 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu May 04 11:54:35 2017 +0100"
      },
      "message": "ARM/VIXL: Remove obsolete DeduplicateDexCacheAddressLiteral().\n\nTest: Rely on TreeHugger.\nBug: 30627598\nChange-Id: Ib6215e2051d14c8a4926e05bd7719d2b9a8122c1\n"
    },
    {
      "commit": "3d0731a2a3bde17999e3566b773ab611363352e5",
      "tree": "77c6f9c3529dd4013180c57baa97833e772396bd",
      "parents": [
        "824fd239f7260d9cc0e9ce95e512bacfb156a81b",
        "e22445fba0e5747ea787429ac64577a9a62aded3"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu May 04 00:05:16 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 04 00:05:20 2017 +0000"
      },
      "message": "Merge \"Fixed bug due to not updating TC information (with regression test)\""
    },
    {
      "commit": "e22445fba0e5747ea787429ac64577a9a62aded3",
      "tree": "d6416b9fff5180af78867d32ea24e3663cf369e2",
      "parents": [
        "7113885fcd983b33ee1e350865d21517d6297843"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed May 03 14:29:20 2017 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed May 03 14:29:20 2017 -0700"
      },
      "message": "Fixed bug due to not updating TC information\n(with regression test)\n\nBug: 37768917\nTest: test-art-target, test-art-host\nChange-Id: Ia0cd4e0874941a047625448cbb95b7b4733d70d1\n"
    },
    {
      "commit": "952b23505e2512c9327e6d20c8304493bf8fcf7c",
      "tree": "ff82866fef9b738a3d90df30fd31c0fdafb8c4de",
      "parents": [
        "15cb9753075bcaa5b91a6497a2d35e8bd98af1f0"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed May 03 19:49:14 2017 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed May 03 19:52:06 2017 +0100"
      },
      "message": "Improve the documentation of an ARM64 parallel move resolver corner case.\n\nTest: m test-art-host-gtest-codegen_test\nBug: 34760542\nBug: 34834461\nChange-Id: I7e716c4b665ed51af9908042f88fb2e4bcefb849\n"
    },
    {
      "commit": "3650acb134b4e68ba3f190772b02105f74081bf2",
      "tree": "af9fe3020cd389105a8bb03c8680289f4287953e",
      "parents": [
        "19052df43919bac16ce7df488f377f06a434ce4a",
        "07f01dfa26e97f48662b6ef40fdc0926cecd7664"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 03 18:23:56 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 03 18:23:57 2017 +0000"
      },
      "message": "Merge \"inliner: Do not assume that the outermost_graph has an art method\""
    },
    {
      "commit": "07f01dfa26e97f48662b6ef40fdc0926cecd7664",
      "tree": "6441225d973ef1c8d21b8b0c368b8652d1257055",
      "parents": [
        "70940dfe99df0084a3f3fed1a88255ec976a60e3"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Apr 28 19:58:01 2017 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed May 03 09:35:39 2017 -0700"
      },
      "message": "inliner: Do not assume that the outermost_graph has an art method\n\nThe outermost method may be in an unresolved class. If that\u0027s the case\ndo not assume anything about the referrer in HLoadClass.\n\nTest: m test-art-host\nBug: 37588888\nChange-Id: I1a59325740ac9c5bcadc12661f5a82f642747bf9\n"
    },
    {
      "commit": "29825550d6bd7f1185e16b3925c7f084078e688e",
      "tree": "ce96bd0b74266b14d47419cd1d4dd969801198eb",
      "parents": [
        "15cb9753075bcaa5b91a6497a2d35e8bd98af1f0",
        "d01745ef88bfd25df574a885d90a1a7785db5f5b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 03 14:13:58 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 03 14:13:59 2017 +0000"
      },
      "message": "Merge \"optimizing: constructor fence redundancy elimination - remove dmb after LSE\""
    },
    {
      "commit": "c33292b2d1cde87c4922436a074efab0cc1cff17",
      "tree": "1bbb9ca3b4e532bc9934af07bb284347157ff36d",
      "parents": [
        "7113885fcd983b33ee1e350865d21517d6297843",
        "1352f13e76aec57c522f9323cbe04d1368273a94"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 02 19:25:32 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 02 19:25:33 2017 +0000"
      },
      "message": "Merge \"Split image_test and oatdump_test.\""
    },
    {
      "commit": "1352f13e76aec57c522f9323cbe04d1368273a94",
      "tree": "757c7d9c055f4dadfff5814d702d17d938630763",
      "parents": [
        "3f5f85d9382416b053359c3c1f11ab824843f3b4"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Apr 28 15:28:29 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 02 17:48:53 2017 +0100"
      },
      "message": "Split image_test and oatdump_test.\n\nWith sufficient -j, splitting the oatdump_test makes gtests\nfinish faster, splitting image_test makes valgring tests\nfinish faster.\n\nmake -j 48 valgrind-test-art-host-gtest\n  - before: #### make completed successfully (05:20:16 (hh:mm:ss)) ####\n  - after: #### make completed successfully (03:05:43 (hh:mm:ss)) ####\nNote that the new image_*test variants are still running\nlong after the rest of the tests is finished. Further\nsplitting may still be beneficial for host tests. Target\ntests with lower -j parameter do not benefit that much.\n\nTest: make -j 48 valgrind-test-art-host-gtest\nBug: 36849303\nChange-Id: I2b887e6b3266f9d3efd7b4d71dde0fcf012829d2\n"
    },
    {
      "commit": "d01745ef88bfd25df574a885d90a1a7785db5f5b",
      "tree": "058eb1593dbb0fe8a8e26b901909bec8aa01d474",
      "parents": [
        "a57c334075b193de9690fff97acf6c1b1d1283fc"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Apr 05 16:40:31 2017 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue May 02 09:45:45 2017 -0700"
      },
      "message": "optimizing: constructor fence redundancy elimination - remove dmb after LSE\n\nPart one of a few upcoming CLs to optimize constructor fences.\n\nThis improves load-store-elimination; all singleton objects that are not\nreturned will have their associated constructor fence removed.\n\nIf the allocation is removed, so is the fence. Even if allocation is not\nremoved, fences can sometimes be removed.\n\nThis change is enabled by tracking the \"this\" object associated with the\nconstructor fence as an input. Fence inputs are considered weak; they do not keep\nthe \"this\" object alive; if the instructions for \"this\" are all deleted,\nthe fence can also be deleted.\n\nBug: 36656456\nTest: art/test.py --host \u0026\u0026 art/test.py --target\nChange-Id: I05659ab07e20d6e2ecd4be051b722726776f4ab1\n"
    },
    {
      "commit": "7113885fcd983b33ee1e350865d21517d6297843",
      "tree": "72efffab78226beefa48388f2d332c7de1cc25ba",
      "parents": [
        "19cb5cae136665c6ebb082062508d874fa7d271e",
        "d58bc3212a968fe5a2e1fba51df9a7efedcf1b60"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue May 02 16:06:24 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 02 16:06:57 2017 +0000"
      },
      "message": "Merge \"Allow same-length integral type mixing in SIMD.\""
    },
    {
      "commit": "bf065261f65692a312439b453bdd328369793d69",
      "tree": "1c83096a38d4d1ec749cac861e2326744d19b728",
      "parents": [
        "874610010fc9f2191a55c281347995da0f43ce61",
        "65ffd8ef044465c47d4f97ab2556310f9ee30a01"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue May 02 16:04:38 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 02 16:04:39 2017 +0000"
      },
      "message": "Merge \"Bug fix on shift that exceeds \"lane width\".\""
    },
    {
      "commit": "874610010fc9f2191a55c281347995da0f43ce61",
      "tree": "7de4adebb8773887ade6a689046f2c545006ce8b",
      "parents": [
        "3c30abd983dfc015032de185f76471d31a6cc412",
        "f5bea5e9acd03a218e43ac460743210de202e8d7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 02 15:29:43 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 02 15:29:45 2017 +0000"
      },
      "message": "Merge \"Document some dex2oat command line options.\""
    },
    {
      "commit": "920f9b19e66c1ece38a28ddf45bd371ee83701ab",
      "tree": "c76047e2d030055cba56c6231fd7ad9396109183",
      "parents": [
        "267a4360581197c5a606c767fc1d7aaed5d53ace",
        "6c3af16609a71286b3d2e93131034248a4f639ba"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue May 02 13:49:34 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 02 13:49:36 2017 +0000"
      },
      "message": "Merge \"Use dex2oat instead of dex2oatd in non-debug run-tests.\""
    },
    {
      "commit": "f5bea5e9acd03a218e43ac460743210de202e8d7",
      "tree": "87c43b700883ab1404d3cf20fd44cc267d38388a",
      "parents": [
        "df48db90d5709542f2531fd1df310e81814ab788"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue May 02 12:46:07 2017 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue May 02 14:42:04 2017 +0100"
      },
      "message": "Document some dex2oat command line options.\n\nAlso process option `--dump-cfg-append` correctly.\n\nTest: m build-art-host\nChange-Id: I062154c267c1a6eec22af42d985f19a555bdf4ca\n"
    },
    {
      "commit": "267a4360581197c5a606c767fc1d7aaed5d53ace",
      "tree": "c05093f0e5cb1ff85b00db293995c1b5598ea7ce",
      "parents": [
        "df48db90d5709542f2531fd1df310e81814ab788",
        "5633ce718b9544af1c7b1a811ed2872889019c84"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 02 13:14:30 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 02 13:14:32 2017 +0000"
      },
      "message": "Merge \"MIPS: java.lang.Integer.valueOf intrinsic.\""
    },
    {
      "commit": "6c3af16609a71286b3d2e93131034248a4f639ba",
      "tree": "1ccde82894a10fd143c48049e12175a72c37e43a",
      "parents": [
        "9975c7126de5414263d52597a91a431c2dcb379f"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Apr 27 11:18:56 2017 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue May 02 13:08:48 2017 +0100"
      },
      "message": "Use dex2oat instead of dex2oatd in non-debug run-tests.\n\nThe \"$inline$\" and \"$noinline$\" substrings in methods\u0027 names are now\nalways honored when compiling with a core image, regardless of the\ndebug mode status.\n\nTest: art/test/testrunner/testrunner.py --ndebug --debug\nChange-Id: I3c3e0fb9c33644093bb5fb218180b68dcc10fc83\n"
    },
    {
      "commit": "c83dd7bfde2171c879efb92a31a363505385ffb9",
      "tree": "3539033c43497e7d8bfd01cc4c4983a02957016a",
      "parents": [
        "a7c6a23cc96a24ccb1b32bd4397e4a8bdde58e16"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue May 02 04:14:17 2017 +0000"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon May 01 21:26:23 2017 -0700"
      },
      "message": "Revert \"Add concurrent card graying for immune spaces\"\n\nBug: 37876887\n\nThis reverts commit 88d329a698ba186aeb1f1ef8794355512ada84a9.\n\nTest: mm\n\nChange-Id: I93880fb7cd8c4c27c65777079d48947075f8cb64\n"
    },
    {
      "commit": "65ffd8ef044465c47d4f97ab2556310f9ee30a01",
      "tree": "b520b0071f80d6c6f9c4cc649a079969ef3e0d20",
      "parents": [
        "c009d14ce52bca0de34b441f8a575b0d36c1d69e"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon May 01 16:50:45 2017 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon May 01 16:50:45 2017 -0700"
      },
      "message": "Bug fix on shift that exceeds \"lane width\".\n\nRationale:\nARM is a bit less forgiving on shifting more than\nthe lane width of the SIMD instruction (rejecting\nsuch cases is no loss, since it yields 0 anyway\nand should be optimized differently).\n\nBug: 37776122\nTest: test-art-target, test-art-host\nChange-Id: I22d04afbfce82b4593f17c2f48c1fd5a0805d305\n"
    },
    {
      "commit": "d58bc3212a968fe5a2e1fba51df9a7efedcf1b60",
      "tree": "62d442542629674b503d7005977e73c99b3d5d37",
      "parents": [
        "18df7714111bdd3c5737f1ef2fa587d9957f8a2f"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon May 01 14:49:18 2017 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon May 01 15:14:27 2017 -0700"
      },
      "message": "Allow same-length integral type mixing in SIMD.\n\nRationale:\nJust like the incoming sequential code, the SIMD\ncode allows for some type matching, as long as\nit is integral and same length.\n\nBug: 37764324\nTest: test-art-target, test-art-host\nChange-Id: Ide1c5403e0f3b8c5372e8ac6dd282d8211ca8f1b\n"
    },
    {
      "commit": "18df7714111bdd3c5737f1ef2fa587d9957f8a2f",
      "tree": "dcb8a86843ffa3a3f0b5155d53ea578f88fa0f01",
      "parents": [
        "73ff983db34faadda86bfe0bbdd5d4d5f916e0b9",
        "472821b210a7fc7a4d2e3d45762c7b5b9628a35b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 01 17:33:45 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 01 17:33:46 2017 +0000"
      },
      "message": "Merge \"Enable string \"array get\" vectorization.\""
    },
    {
      "commit": "a44d67e7ff3c0d3967f4e9a2d9d1d18c5701c7e7",
      "tree": "ebddf325e3bdc4a78c929ff6d317ace77186c7aa",
      "parents": [
        "a57c334075b193de9690fff97acf6c1b1d1283fc",
        "88d329a698ba186aeb1f1ef8794355512ada84a9"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon May 01 17:04:10 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 01 17:04:11 2017 +0000"
      },
      "message": "Merge \"Add concurrent card graying for immune spaces\""
    },
    {
      "commit": "88d329a698ba186aeb1f1ef8794355512ada84a9",
      "tree": "bb34e52fde853941b0e17f08cbcdc07b9b7e527d",
      "parents": [
        "3f5f85d9382416b053359c3c1f11ab824843f3b4"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 27 11:32:14 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon May 01 09:37:01 2017 -0700"
      },
      "message": "Add concurrent card graying for immune spaces\n\nWe now age the cards and gray the objects before the GC pause. This\nis done to reduce how much work is required during the pause and\nallows increasing the card size without regressing the GC pause\ntime.\n\nWe rescan the cards in the pause and only process the cards that were\ndirtied since the concurrent graying.\n\nPause time spent graying objects on maps (Pixel). The average is the\nper GC metric.\n\nDisabled entrypoint switching for x86 and x86_64. This is to fix a\ncase where the gray bit is set but the entrypoint is null, resulting\nin crashes.\n\nAlso reverted to checking \"is gc marking\" for x86 and x86_64 codegen\nto prevent performance regressions.\n\n128 byte cards without the change:\nSum: 1.912ms 99% C.I. 125us-244us Avg: 159.333us Max: 244us\n\n512 byte cards without the change:\nSum: 12.027ms 99% C.I. 0.940ms-1.495ms Avg: 1.202ms Max: 1.495ms\n\n512 byte cards with concurrent graying:\nSum: 1.385ms 99% C.I. 51us-239us Avg: 86.562us Max: 239us\n\nBug: 36457259\nBug: 12687968\nBug: 31022084\n\nTest: test-art-host\n\n(cherry picked from commit a3856d0d801f066b9b09649b3a17bdbb747f012d)\n\nChange-Id: I7e8f8a5716f96dde827377234f854482452bc9cd\n"
    },
    {
      "commit": "c61c0761150340263160b568d8a952e9a3d80d56",
      "tree": "105418862af2193d590fc5da868e4c72da7d6e6a",
      "parents": [
        "a57c334075b193de9690fff97acf6c1b1d1283fc"
      ],
      "author": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Mon Apr 10 13:54:23 2017 -0700"
      },
      "committer": {
        "name": "Alexey Frunze",
        "email": "Alexey.Frunze@imgtec.com",
        "time": "Sun Apr 30 15:30:58 2017 -0700"
      },
      "message": "MIPS: Change remaining entrypoints to save everything.\n\nThis also fixes two issues:\n1. Missing restore of the callee-clobbered gp register on\n   MIPS32\n2. Incorrect DCHECK causing test 916-obsolete-jit to fail\n   on MIPS32 in the ART_READ_BARRIER_TYPE\u003dTABLELOOKUP\n   configuration\n\nTest: booted MIPS32R2 in QEMU\nTest: test-art-target-gtest\nTest: testrunner.py --target --optimizing\nTest: booted MIPS64 (with 2nd arch MIPS32R2) in QEMU\nTest: same tests as above for both MIPS32R6 and MIPS64R6\nTest: repeat all of the above in two configurations:\n      ART_READ_BARRIER_TYPE\u003dTABLELOOKUP,\n      ART_USE_READ_BARRIER\u003dfalse.\n\nChange-Id: I06a3c24579242a632ec8c373c233217d558a8401\n"
    },
    {
      "commit": "5633ce718b9544af1c7b1a811ed2872889019c84",
      "tree": "2ffc0f10ba7f2b9f19403187f3eaee37f17b811c",
      "parents": [
        "a57c334075b193de9690fff97acf6c1b1d1283fc"
      ],
      "author": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Mon Apr 10 15:47:40 2017 -0700"
      },
      "committer": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Sun Apr 30 08:29:49 2017 -0700"
      },
      "message": "MIPS: java.lang.Integer.valueOf intrinsic.\n\nTest: run-test --64 --optimizing 640-checker-integer-valueof\nTest: run-test --64 640-checker-integer-valueof\nTest: run-test --64 --no-prebuild --optimizing 640-checker-integer-valueof\nTest: run-test --64 --no-prebuild 640-checker-integer-valueof\nTest: run-test --optimizing 640-checker-integer-valueof\nTest: run-test 640-checker-integer-valueof\nTest: run-test --no-prebuild --optimizing 640-checker-integer-valueof\nTest: run-test --no-prebuild 640-checker-integer-valueof\nTest: mma test-art-host\nTest: mma test-art-target\n\nBooted on both MIPS32 and MIPS64 emulators.\n\nChange-Id: I5b2f21cf2334c392080cff9654150504207f4c01\n"
    },
    {
      "commit": "a57c334075b193de9690fff97acf6c1b1d1283fc",
      "tree": "3e1ddee842f9c4e78e957f9f6e655ff88ed9ff58",
      "parents": [
        "5887c37b729e16bdef149d900ebc7c9a77a75cb3",
        "88307edcd5c35bd5f602b4c6b2464c2d4332753e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Apr 29 06:53:52 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Apr 29 06:53:54 2017 +0000"
      },
      "message": "Merge \"Fix up code warning and errors\""
    },
    {
      "commit": "88307edcd5c35bd5f602b4c6b2464c2d4332753e",
      "tree": "cb41c36536ae87483daa24b6fcf4381b9a5df15d",
      "parents": [
        "18457f487316b2ed2dd584f3e1f07e939e18aef5"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Tue Apr 25 22:33:06 2017 -0700"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Fri Apr 28 11:04:12 2017 -0700"
      },
      "message": "Fix up code warning and errors\n\nDiscovered by new LLVM rebase.\n\nClean up, no functionality change.\n\nTest: build\nBug: 37752547\nChange-Id: I7df6097706e0772226dcb07611e7d044a6085421\n"
    },
    {
      "commit": "472821b210a7fc7a4d2e3d45762c7b5b9628a35b",
      "tree": "d3dad427cdfcf4ebe8d324bcd3b7618ed42d14dd",
      "parents": [
        "70940dfe99df0084a3f3fed1a88255ec976a60e3"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Apr 27 17:23:51 2017 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Apr 28 09:49:26 2017 -0700"
      },
      "message": "Enable string \"array get\" vectorization.\n\nRationale:\nLike its scalar counterpart, the SIMD implementation of array get from\na string needs to deal with compressed and uncompressed cases.\nMicro benchmarks shows 2x to 3x speedup for just copying data!\n\nTest: test-art-target, test-art-host\nChange-Id: I2fd714e50715b263123c215cd181f19194456d2b\n"
    },
    {
      "commit": "46847395470e414cd2aa1c6ea13e9a3d08e2b46b",
      "tree": "58855458907fe55c863e74be0b9a554664c0ee61",
      "parents": [
        "cf7d5d6b352442a7abf02a5b53a4575d395d0e97"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 28 14:56:39 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 28 14:56:39 2017 +0100"
      },
      "message": "Honor --force-determinism for vdex.\n\nb/37442966\nTest: build\n\nChange-Id: I220450ad204cf41ed24c2c98cdfc35aa9041a35e\n"
    },
    {
      "commit": "70940dfe99df0084a3f3fed1a88255ec976a60e3",
      "tree": "a39abfe50bec4299b40a6a6fcbf7e9109df51f3a",
      "parents": [
        "191412bbfd6d85a17a17e92807b553b1b49d4e2e",
        "80248d7ba4e952f0e0110c036b48963080ef9470"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Apr 27 21:01:14 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 27 21:01:15 2017 +0000"
      },
      "message": "Merge \"MIPS64: Add add_a.df, ave_s/u.df and aver_s/u.df MSA instructions\""
    },
    {
      "commit": "ec0c057557836d2848399f43908d1e1e4977f355",
      "tree": "c09b8bf84d26be2975a9215036794ddfecc95ce6",
      "parents": [
        "04471122e705aba2b3b30651457097a8f3ac97b6",
        "db14fcf45effb7dd4b3febd697ff5f0541119835"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Apr 27 20:59:14 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 27 20:59:16 2017 +0000"
      },
      "message": "Merge \"Pack booleans in the already existing bit field.\""
    },
    {
      "commit": "4e868fa7b8c47600695ff92deeb373674956a67d",
      "tree": "acdb92a2b765cc87a08459267e430a8866e608cf",
      "parents": [
        "4dc06e2ef900132d8395539842c35533da8b912a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 21 17:16:44 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Apr 27 16:04:13 2017 +0100"
      },
      "message": "Make vdex and dexlayout compatible.\n\nUnquicken the vdex before dexlayout, to keep the dex integrity.\n\nbug: 37558732\nTest: run-test with speed-profile\n\nChange-Id: Ifcd5c2e4378ccb0df0a66d07f68df31d94b83220\n"
    },
    {
      "commit": "4dc06e2ef900132d8395539842c35533da8b912a",
      "tree": "2114165e7cb3fe775537d2ebc728bbd5ed696479",
      "parents": [
        "8e2252df6fbd1313ca17724be36199d32e8e44cc",
        "49cda06d5bf003f588ba7839bbf89d606237dfa7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Apr 27 11:40:05 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 27 11:40:07 2017 +0000"
      },
      "message": "Merge \"Rename and obsolete compiler filter names.\""
    },
    {
      "commit": "dc8d7b63a8de1749b8832257549d0b60c9cf4c50",
      "tree": "12670940247a2ca216adae64d40a0b30179f537e",
      "parents": [
        "204db008e0d6d21463038acb9b9aeff407a285a9",
        "72155d2f05e38b265cb79a31abdbe65cd29d3a5b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 27 10:53:09 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 27 10:53:11 2017 +0000"
      },
      "message": "Merge \"fix a null pointer dereference\""
    },
    {
      "commit": "72155d2f05e38b265cb79a31abdbe65cd29d3a5b",
      "tree": "b699f16d33985384efa8494ba93866298c59c46b",
      "parents": [
        "0d2ea2f09937e55600f8a1eda6b102fef1ab9c0b"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Apr 25 15:17:16 2017 -0700"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Wed Apr 26 10:40:05 2017 -0700"
      },
      "message": "fix a null pointer dereference\n\nCaught by the static analyzer:\nart/compiler/optimizing/graph_checker.cc:501:10: warning: Called C++\nobject pointer is null [clang-analyzer-core.CallAndMessage]\n\nBug: None\nTest: Still builds; static analyzer no longer complains.\nChange-Id: Iba20a0cd859cca0cf38f6e10c3685cc986b5baa5\n"
    },
    {
      "commit": "02b1976a9d25fb3649f734962f1127786cf9dc81",
      "tree": "d2889650a4d04495fa230384fd7dad66e46d52f3",
      "parents": [
        "d21711eae1224c18690d1a460b5b986fb4885654",
        "66d691de219e840b3f84385d8bd1b7001562b0e5"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Apr 26 15:27:13 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 26 15:27:15 2017 +0000"
      },
      "message": "Merge \"ARM64: Link-time generated thunks for ArrayGet Baker CC read barrier.\""
    },
    {
      "commit": "db14fcf45effb7dd4b3febd697ff5f0541119835",
      "tree": "4197a7be031e7206b1c4f55a51821e9b273b1b36",
      "parents": [
        "06660db82d6b3d59080584431addf3797a468a70"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Apr 25 15:53:58 2017 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Apr 25 16:13:55 2017 -0700"
      },
      "message": "Pack booleans in the already existing bit field.\n\nAlso adds is_string_char_at boolean in preparation of\n[un]compressed string vectorization support.\n\nTest: test-art-target, test-art-host\nChange-Id: Ia99b28564727bf91b3d5cfc49f6d40a4dd1ffd3b\n"
    },
    {
      "commit": "66d691de219e840b3f84385d8bd1b7001562b0e5",
      "tree": "4034e867246db26acaa1a36b89b823ce5d0f1a58",
      "parents": [
        "38870a8a2717ccf1bcd3faddc53b1999985bb29f"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Apr 07 17:53:39 2017 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Apr 25 18:29:33 2017 +0100"
      },
      "message": "ARM64: Link-time generated thunks for ArrayGet Baker CC read barrier.\n\nTest: Added a test to relative_patcher_arm64\nTest: m test-art-target-gtest on Nexus 6P.\nTest: Nexus 6P boots.\nTest: testrunner.py --target on Nexus 6P.\nTest: Nexus 6P boots with heap poisoning.\nTest: testrunner.py --target on Nexus 6P with heap poisoning.\nBug: 29516974\nBug: 30126666\nBug: 36141117\nChange-Id: Id0f23089c55cbb53b84305c11bb4b03718561ade\n"
    },
    {
      "commit": "6d7abbd2324f544c6b6da42bb6b9b531df0ce3cd",
      "tree": "669705a042bbc77c7963c117a9bf6f7a2308f9c8",
      "parents": [
        "0dfc315a096bf5678cb5182771e3fdcca8ea4433"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 24 13:19:09 2017 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 24 14:18:45 2017 -0700"
      },
      "message": "ART: More header cleanup - method_verifier.h\n\nMove enumerations to own header. Move the compiler interface (of what\nthe compiler can tolerate) into its own header. Replace or remove\nmethod_verifier.h where possible.\n\nTest: mmma art\nChange-Id: I075fcb10b02b6c1c760daad31cb18eaa42067b6d\n"
    },
    {
      "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": "2d4d161f26b06561c8f0118592c6a7291b3e1680",
      "tree": "272824cdb154e61a806279974b179000dcb22d01",
      "parents": [
        "1cd51da49c7b3335bc9fbde86fbb1c1308096807",
        "8de5916666ab5d146ac1bdac7d7748e197ae347e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 21 20:01:32 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 21 20:01:33 2017 +0000"
      },
      "message": "Merge \"Factor vector unary/binary shared code out into superclass.\""
    },
    {
      "commit": "1cd51da49c7b3335bc9fbde86fbb1c1308096807",
      "tree": "188a79fcdd41701169b1f54b89b62aa3564a5bb2",
      "parents": [
        "6b8b07521125e7744327d00e64f897b4dd5d1db9",
        "0225b7712202d95ac7ba40ec96e95e14c4ce0895"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Apr 21 20:00:37 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 21 20:00:38 2017 +0000"
      },
      "message": "Merge \"ARM64: Improve SIMD LDR/STR.\""
    },
    {
      "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": "8de5916666ab5d146ac1bdac7d7748e197ae347e",
      "tree": "87a7cfda1a91ef4335f78a59edf2d5fcca6e8e46",
      "parents": [
        "f99f62f8e04aecbbe1615e242a19ac475f66e565"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Apr 21 09:42:01 2017 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri Apr 21 11:00:26 2017 -0700"
      },
      "message": "Factor vector unary/binary shared code out into superclass.\n\nTest: test-art-target, test-art-host\nChange-Id: I42770d9a9142f2e53d3b5bd60bd25593b2154a7c\n"
    },
    {
      "commit": "0225b7712202d95ac7ba40ec96e95e14c4ce0895",
      "tree": "cb5fdd6a7b95322ce7fa95b77aba8021e287c7fb",
      "parents": [
        "6d3c61d8c6d2f96dec8345263c948fae3caa4e1a"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Wed Apr 19 15:43:53 2017 +0100"
      },
      "committer": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Fri Apr 21 17:41:42 2017 +0100"
      },
      "message": "ARM64: Improve SIMD LDR/STR.\n\nTest: 640-checker-*-simd\nTest: test-art-target, test-art-host\n\nChange-Id: I2bcdef3f5cb7c0e7d1b3d02910fbf89ac694d89a\n"
    }
  ],
  "next": "6b040570b5f71bdb6a0aacf51a7613edf35785b7"
}
