)]}'
{
  "log": [
    {
      "commit": "4485c6964ad414d5c6d0535622cfad1c0a6b640f",
      "tree": "65334acd5b351ea6e854a32a72a93f76c71e481c",
      "parents": [
        "162629ee8ac0fee2df0c0cdec27dff34bc6f0062",
        "9894fc8079a5c6eb72e04099bdbd3239b75cf491"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Mar 21 19:37:48 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 21 19:37:48 2016 +0000"
      },
      "message": "Merge \"Disable LZ4HC compressed images\""
    },
    {
      "commit": "9894fc8079a5c6eb72e04099bdbd3239b75cf491",
      "tree": "e844552eb54f71bc320efe5ddee1d0aaeb277c5d",
      "parents": [
        "7c06aef061fa176331b77a88c1ff2c6ae401a5f0"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 17 19:19:15 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Mar 21 11:25:23 2016 -0700"
      },
      "message": "Disable LZ4HC compressed images\n\nSeem to get randomly compressed incorrectly on volantis. Added\nverifiation in the image writer.\n\nUsing LZ4HC now silently uses LZ4. This is still safe since both use\nthe same decompression code.\n\nBug: 27560444\n\nChange-Id: I652eee7498dc84994993be3a5b0447ec5b246304\n"
    },
    {
      "commit": "162629ee8ac0fee2df0c0cdec27dff34bc6f0062",
      "tree": "ae93cdca5de17799d707fb72e253366e13bb67f7",
      "parents": [
        "3890e85aaab150bc0a5e116be762c786c882e1ec",
        "f6a35de9eeefb20f6446f1b4815b4dcb0161d09c"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 21 17:36:44 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 21 17:36:44 2016 +0000"
      },
      "message": "Merge \"Optimizing: Fix register allocator validation memory usage.\""
    },
    {
      "commit": "f6a35de9eeefb20f6446f1b4815b4dcb0161d09c",
      "tree": "cf484acbd6889b92a7fe3e8615611129088c3894",
      "parents": [
        "459898dc4470559ba1e1d578bc52a914d1f573f5"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 21 12:01:50 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 21 16:50:08 2016 +0000"
      },
      "message": "Optimizing: Fix register allocator validation memory usage.\n\nAlso attribute ArenaBitVector allocations to appropriate\npasses. This was used to track down the source of the\nexcessive memory alloactions.\n\nBug: 27690481\n\nChange-Id: Ib895984cb7c04e24cbc7abbd8322079bab8ab100\n"
    },
    {
      "commit": "ae207dbf2cb73ef3cfff6dd5c502920dee4d4366",
      "tree": "0f765167e642c285d26d45ede2dd5a4f5e008f0b",
      "parents": [
        "73139dd7c12906975e835ae6e6707266626fed2a",
        "4fdc6d9eff2d4654d13cb24e43f341d393aba1c5"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Mar 21 15:18:43 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 21 15:18:43 2016 +0000"
      },
      "message": "Merge \"MIPS32: sun.misc.Unsafe get/put intrinsics.\""
    },
    {
      "commit": "459898dc4470559ba1e1d578bc52a914d1f573f5",
      "tree": "dfe8ec841ccced18996f1a1100d0181b9ff4e597",
      "parents": [
        "3cf5f5ccdb32d035f021dcef11222092b8d20b0b",
        "ab5327d3d57d0d3561e697f196da7f2ee2e50290"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 21 11:38:27 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 21 11:38:27 2016 +0000"
      },
      "message": "Merge \"Check if the type of an instruction is erroneous before inlining.\""
    },
    {
      "commit": "3cf5f5ccdb32d035f021dcef11222092b8d20b0b",
      "tree": "e483bbd974c75c240bd93d92d44d21ef26de8c84",
      "parents": [
        "0d0796eb5db4cbc51fd826b370595ba6871264a1",
        "b1d91574f80a1d7944c1d32d6e368a8c7f004b4b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 21 11:27:10 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 21 11:27:11 2016 +0000"
      },
      "message": "Merge \"Call HuntForOriginalReference to get to the null.\""
    },
    {
      "commit": "ab5327d3d57d0d3561e697f196da7f2ee2e50290",
      "tree": "ab08ed0f15b8166140baeabd7d4c96239b6a9037",
      "parents": [
        "e4914ec0d83544243257e55d0f0b9da3ed7f147a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 18 11:36:20 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 21 11:23:28 2016 +0000"
      },
      "message": "Check if the type of an instruction is erroneous before inlining.\n\nWe can get HInstructions typed with a class that is in an error state.\nFor such classes, we cannot look at the vtable or imt table as they\nare not cleanly populated.\n\nbug:27683927\n\nChange-Id: I0d64ca470e1cb6cf9b40e9f02bb9b0bb12c2bac1\n"
    },
    {
      "commit": "b1d91574f80a1d7944c1d32d6e368a8c7f004b4b",
      "tree": "7c5411ff6689ebae5271ab264d46440b0d5cca06",
      "parents": [
        "7c06aef061fa176331b77a88c1ff2c6ae401a5f0"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 18 16:25:38 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 21 10:30:56 2016 +0000"
      },
      "message": "Call HuntForOriginalReference to get to the null.\n\nThe null constant might be hiding under a HBoundType\n(which we could clean up in instruction simplifier, but\nthat is orthogonal).\n\nbug:27683874\nChange-Id: Ide8ec5bcd439ec0fca5e54175ebeedc5a9f679a3\n"
    },
    {
      "commit": "a807780b1d8ee01dfb03923c673621b4c81ac858",
      "tree": "ef7485dca9ad8375559524d74b7c4971d6f088fa",
      "parents": [
        "895375bb30716a488bf7b8234e900d1e15de1d21"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Mar 16 19:08:31 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 18 15:21:08 2016 -0700"
      },
      "message": "Add verify-profile compiler filter\n\nOnly verifies and dex2dex compiles classes in the profile. Goal\nis to reduce application launch time.\n\n~2x faster than interpret-only for Facebook.\n\nBug: 27688727\n\n(cherry picked from commit a079e3aa62cceb76c1c1811e6e09bcaf75e20289)\n\nChange-Id: Iad5aa1adee3aa6c2408820e8cbbab2d4412021b8\n"
    },
    {
      "commit": "38ceb62339514a8012695673b9e1110d13546f02",
      "tree": "9505047a0de423a270bd40cd13308f3fe5ce8557",
      "parents": [
        "b1aff6c7f248632028b6a62a17f02675007c9ce3",
        "22c4922c6b31e154a6814c4abe9015d9ba156911"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Mar 18 16:16:41 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 18 16:16:41 2016 +0000"
      },
      "message": "Merge \"Ensure art::HRor support boolean, byte, short and char inputs.\""
    },
    {
      "commit": "22c4922c6b31e154a6814c4abe9015d9ba156911",
      "tree": "8e871f67e327322d24d0c2e4588b165005414077",
      "parents": [
        "0205b58a0d7a9ce5832393857c19c086c78996e9"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Mar 18 14:04:28 2016 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Mar 18 14:04:28 2016 +0000"
      },
      "message": "Ensure art::HRor support boolean, byte, short and char inputs.\n\nAlso extend tests covering the IntegerRotateLeft,\nLongRotateLeft, IntegerRotateRight and LongRotateRight\nintrinsics and their translation into an art::HRor\ninstruction.\n\nBug: 27682579\nChange-Id: I89f6ea6a7315659a172482bf09875cfb7e7422a1\n"
    },
    {
      "commit": "e943c3b831dc0da4a6b09e940ae25c3285850e96",
      "tree": "b4756bbc16f49d50087a881b40722657451e6eac",
      "parents": [
        "7c06aef061fa176331b77a88c1ff2c6ae401a5f0",
        "d28f4a00933a4a3b8d5e9db73b8532924d0f989d"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 18 12:37:03 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 18 12:37:03 2016 +0000"
      },
      "message": "Merge \"Generate native debug stackmaps before calls as well.\""
    },
    {
      "commit": "d28f4a00933a4a3b8d5e9db73b8532924d0f989d",
      "tree": "1205844a68ee9e2c502f8ecbfd2d5cf96acd4190",
      "parents": [
        "fbc61e19578d281d05728bcd120e1ace57c2fbd8"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Mar 14 17:14:24 2016 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Mar 17 16:58:55 2016 +0000"
      },
      "message": "Generate native debug stackmaps before calls as well.\n\nThe debugger looks up PC of the call instruction, so the runtime\u0027s\nstackmap is not sufficient since it is at PC after the instruction.\n\nChange-Id: I0dd06c0b52e8079ea5d064ea10beb12c93584092\n"
    },
    {
      "commit": "0397163516fb882589c5be734439dedfe4d271fb",
      "tree": "2a9ffbf2cb65aa28e8ec5d298f97d81c16d2408f",
      "parents": [
        "0205b58a0d7a9ce5832393857c19c086c78996e9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 17 10:44:24 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 17 13:24:10 2016 +0000"
      },
      "message": "Fix load store elimination bug in the presence of null[i].\n\nDue to the dex specification, we can be in a state where\ntwo array get with the same dex register inputs are typed\ndifferently.\n\nbug:27683874\n\nChange-Id: Ia821fd32e86c306093372249e7686332a7584263\n"
    },
    {
      "commit": "4fdc6d9eff2d4654d13cb24e43f341d393aba1c5",
      "tree": "1621d7f77ddd83445c2841309f77952cbf844f7e",
      "parents": [
        "9ee48fbf7395488ea34d7d268edb31d7abe4ebe9"
      ],
      "author": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Mon Dec 14 13:26:14 2015 -0800"
      },
      "committer": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Wed Mar 16 16:15:27 2016 -0700"
      },
      "message": "MIPS32: sun.misc.Unsafe get/put intrinsics.\n\n- int sun.misc.Unsafe.getInt(Object o, long offset)\n- int sun.misc.Unsafe.getIntVolatile(Object o, long offset)\n- long sun.misc.Unsafe.getLong(Object o, long offset)\n- long sun.misc.Unsafe.getLongVolatile(Object o, long offset)\n- Object sun.misc.Unsafe.getObject(Object o, long offset)\n- Object sun.misc.Unsafe.getObjectVolatile(Object o, long offset)\n- void sun.misc.Unsafe.putInt(Object o, long offset, int x)\n- void sun.misc.Unsafe.putOrderedInt(Object o, long offset, int x)\n- void sun.misc.Unsafe.putIntVolatile(Object o, long offset, int x)\n- void sun.misc.Unsafe.putObject(Object o, long offset, Object x)\n- void sun.misc.Unsafe.putOrderedObject(Object o, long offset, Object x)\n- void sun.misc.Unsafe.putObjectVolatile(Object o, long offset, Object x)\n- void sun.misc.Unsafe.putLong(Object o, long offset, long x)\n- void sun.misc.Unsafe.putOrderedLong(Object o, long offset, long x)\n- void sun.misc.Unsafe.putLongVolatile(Object o, long offset, long x)\n\nChange-Id: I89c07a443ee81a5573a083e871b82f446416b71f\n"
    },
    {
      "commit": "8e57978b5f330a322f05644c2db7fa8ce89b1b46",
      "tree": "0e61b8eda07900e22f4fa1e19795485460677b2f",
      "parents": [
        "03fdc90721a1874a4aef9adfd8fc1b9b4b4bc249",
        "346dc993615487e9c645a515dfcbf9a6488f36fe"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Mar 16 17:54:52 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 16 17:54:52 2016 +0000"
      },
      "message": "Merge \"Remove --native-debuggable compiler option.\""
    },
    {
      "commit": "03fdc90721a1874a4aef9adfd8fc1b9b4b4bc249",
      "tree": "d8228731e1d42c24d303ee37e7c56134bc840448",
      "parents": [
        "1a738fc659a7b91456b168d2ee1edcd9eb777569",
        "a5c4a4060edd03eda017abebc85f24cffb083ba7"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Mar 16 17:54:34 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 16 17:54:34 2016 +0000"
      },
      "message": "Merge \"Make art::HCompare support boolean, byte, short and char inputs.\""
    },
    {
      "commit": "346dc993615487e9c645a515dfcbf9a6488f36fe",
      "tree": "adf8006d2786c31cae282161491ab7c8f2cc3b2b",
      "parents": [
        "fbc61e19578d281d05728bcd120e1ace57c2fbd8"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sun Mar 13 22:00:07 2016 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Mar 16 17:24:17 2016 +0000"
      },
      "message": "Remove --native-debuggable compiler option.\n\nCheck if both --debuggable and --generate-debug-info are set instead.\n\nHistory: I have recently added the --native-debuggable flag to control\nwhether extra stack maps are generated in order to produce accurate\nnative line number mapping of all generated code. I didn\u0027t want to\ninclude it into --debuggable since we compile boot.oat as debuggable\nand so it would be affected.\n\nOn second thought, it would have been reasonable to generate the extra\nstackmaps only if both --debuggable and --generate-debug-info are set,\ninstead of introducing another compiler flag. This means we do not\naffect boot.oat but we still get the extra stack maps if DWARF debug\ninformation is explicitly requested.\n\nChange-Id: I7e5e557e4850a88b3b6f86178d2cb645fb1e1110\n"
    },
    {
      "commit": "a17245013e17621ff1a629ab164a1284e2258ad0",
      "tree": "f39105d2bb8c885cd0624c678159272473e308e2",
      "parents": [
        "8b5e04b3573f430dc0475c17f4b3c6ada8aaccf5"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 16 17:01:39 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 16 17:01:39 2016 +0000"
      },
      "message": "Forgot space.\n\nChange-Id: If9eced6d5bd6d8d0248bad0e7b12095fb5a84d26\n"
    },
    {
      "commit": "8b5e04b3573f430dc0475c17f4b3c6ada8aaccf5",
      "tree": "584efbc108d09817c62e45dbf5638a50bce58e00",
      "parents": [
        "713c519db15aaa8d6f33b744fd28adddb97a07c2",
        "44fd0e5e9cc384783398b1f3ad85937aa856651c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 16 16:58:22 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 16 16:58:22 2016 +0000"
      },
      "message": "Merge \"Fix inliner crash related to type propagation.\""
    },
    {
      "commit": "a5c4a4060edd03eda017abebc85f24cffb083ba7",
      "tree": "85f69512d33c19d82e172a490a241f3a17d66560",
      "parents": [
        "713c519db15aaa8d6f33b744fd28adddb97a07c2"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Mar 15 15:02:50 2016 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Mar 16 16:49:36 2016 +0000"
      },
      "message": "Make art::HCompare support boolean, byte, short and char inputs.\n\nAlso extend tests covering the IntegerSignum, LongSignum,\nIntegerCompare and LongCompare intrinsics and their\ntranslation into an art::HCompare instruction.\n\nBug: 27629913\nChange-Id: I0afc75ee6e82602b01ec348bbb36a08e8abb8bb8\n"
    },
    {
      "commit": "44fd0e5e9cc384783398b1f3ad85937aa856651c",
      "tree": "60414c63cdc0d2d84abc92ad8eb9fa8379bc32b9",
      "parents": [
        "767c3b9779cfa877867ba0e8b9f66a726cf24ecf"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 16 15:16:06 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 16 15:17:55 2016 +0000"
      },
      "message": "Fix inliner crash related to type propagation.\n\n- Do not agressively try to resolve a return type.\n- Deal with unresolved return type.\n\nbug:25492619\n\nChange-Id: Idc9c96a0b376fe5ee86b411c02ce7078c7f48c84\n"
    },
    {
      "commit": "914d71ead70bb6f2084b2ed39a9fd58fd014f67d",
      "tree": "50f30d6e47d18aa6c3ccec9f05727b4898268b20",
      "parents": [
        "1583e624d4c970d8e571b265b9a8f08402d91f82",
        "2ae48182573da7087bffc2873730bc758ec29696"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Mar 16 14:40:08 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 16 14:40:08 2016 +0000"
      },
      "message": "Merge \"Clean up NullCheck generation and record stats about it.\""
    },
    {
      "commit": "1583e624d4c970d8e571b265b9a8f08402d91f82",
      "tree": "fdde737540eca3e692caa85f98821a0cbef9f840",
      "parents": [
        "532da65d01f13facd261367beb34ee41146671d4",
        "6915898b28cea6c9836ca1be6814d87e89cc6d76"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Mar 16 14:39:49 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 16 14:39:49 2016 +0000"
      },
      "message": "Merge \"Improve compiler stats\""
    },
    {
      "commit": "933330a192d43d7c7304120999907857a89c2f96",
      "tree": "a413b4df2a4b9fdb804983204168ee23cd9c9eb7",
      "parents": [
        "f808e8a0cc218c2b98023ef0e91f3c5b74ad2962"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 16 14:20:06 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 16 14:20:26 2016 +0000"
      },
      "message": "Add more statistics for memory use of the JIT.\n\nCollect data for stack maps, profiling info, and compiled code.\n\nbug:27520994\n\nChange-Id: Ic87361230c96ce0090027a37d750e948d806c597\n"
    },
    {
      "commit": "2ae48182573da7087bffc2873730bc758ec29696",
      "tree": "d6955329ad876aefd477f7ef8905b070b9ab95dd",
      "parents": [
        "6915898b28cea6c9836ca1be6814d87e89cc6d76"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Mar 16 14:05:09 2016 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Mar 16 14:10:27 2016 +0000"
      },
      "message": "Clean up NullCheck generation and record stats about it.\n\nThis removes redundant code from the generators and allows for easier\nstat recording.\n\nChange-Id: Iccd4368f9e9d87a6fecb863dee4e2145c97851c4\n"
    },
    {
      "commit": "6915898b28cea6c9836ca1be6814d87e89cc6d76",
      "tree": "89eb0f498a958b72d78c8aee25b4de212c25348b",
      "parents": [
        "fbc61e19578d281d05728bcd120e1ace57c2fbd8"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Mar 16 11:53:41 2016 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Mar 16 14:07:22 2016 +0000"
      },
      "message": "Improve compiler stats\n\n- report the max size of arena alloc\n- report how many virtual or interface invokes were inlined\n\nChange-Id: I82f154a8e25b5e3890181a1aa11346cdc3f93e37\n"
    },
    {
      "commit": "f808e8a0cc218c2b98023ef0e91f3c5b74ad2962",
      "tree": "231dfcf6641c0a4349a959b06ca02add86666a6e",
      "parents": [
        "576a13ab2f1bc82e72245db5fbb4dd8587b19bf1",
        "a4f81546373f4cb5fa6dfc135307ee0a1d930872"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 16 11:19:18 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 16 11:19:18 2016 +0000"
      },
      "message": "Merge \"Collect memory use for the JIT.\""
    },
    {
      "commit": "a4f81546373f4cb5fa6dfc135307ee0a1d930872",
      "tree": "bfc592fc0ec418ac8bbc270a31c6e741849c3276",
      "parents": [
        "e70cda6147e2e49384a219b167a6c734a8db28f5"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 08 16:57:48 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 16 11:16:49 2016 +0000"
      },
      "message": "Collect memory use for the JIT.\n\nbug:27520994\n\nChange-Id: I67b0c5b822001bfde8738a988c1ade69f1a26e3f\n"
    },
    {
      "commit": "e5671618d19489ad0781ec0d204c7765317170cf",
      "tree": "317d451ebf639f89e91d4c1e482d950579da0a0f",
      "parents": [
        "d35f4a2eacf9ee9c9d75bb0c00eec7ae31ad1949"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 16 11:03:54 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 16 11:14:20 2016 +0000"
      },
      "message": "Accept boolean as an input of HDivZeroCheck.\n\nAll our arithmetic operations accept it.\n\nbug:27624718\nChange-Id: I1f6bb95dc77ecb3fb2fcabb35a93b31c524bfa0a\n"
    },
    {
      "commit": "3e906819c33d19c9586ecd9441f0ffb8433f2bad",
      "tree": "77b91c120c37cb149fa4740b6f677194c2706605",
      "parents": [
        "d9ebad9b52605ed785222a86c84e58fa7cb66686",
        "1693a1f9c83a0bf5a29fa18ddc2d87e04e049233"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Mar 16 10:12:39 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 16 10:12:39 2016 +0000"
      },
      "message": "Merge \"Make art::HCompare side effect free.\""
    },
    {
      "commit": "4d20c081ec372a5ec2a405e9ac4521fe09148922",
      "tree": "be2cf629aee4d1138f4337851ac5e135505a9243",
      "parents": [
        "553ed05100f079203371da55e8a9d824b8e9948e",
        "949e54dec11582cb9bb96f0d68e6485dd20336f1"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 16 09:19:39 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 16 09:19:40 2016 +0000"
      },
      "message": "Merge \"Fix HDoubleConstant::IsZero and HFloatConstant::IsZero.\""
    },
    {
      "commit": "5b1805357b80d780d6afc9e2c70c6544c7ac7e2f",
      "tree": "696a474d54a35b974d51cefff24d961f98e57e7b",
      "parents": [
        "12af36e09116dc677820f98e33ff2982e07d652a"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 15 18:11:50 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 15 18:11:50 2016 +0000"
      },
      "message": "ART: Fix shift simplification, x \u003e\u003e\u003e 64.\n\nFix braino in\n    https://android-review.googlesource.com/208199\n\nBug: 27638111\nChange-Id: I8f12008af8bba943664c8a9eac3f2d2f7c820e79\n"
    },
    {
      "commit": "12af36e09116dc677820f98e33ff2982e07d652a",
      "tree": "13db975669b15ed3a3b3e85a0bb387d904335024",
      "parents": [
        "6ce4766f13326bdf704b5205bfbda2c7dfbc72ae",
        "d9813cb37254a72b08424359c7ef80f6a2136a74"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 15 17:03:18 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 15 17:03:18 2016 +0000"
      },
      "message": "Merge \"ART: Fix valgrind failure in image_test64.\""
    },
    {
      "commit": "949e54dec11582cb9bb96f0d68e6485dd20336f1",
      "tree": "24e65c8fb3907d7e9c4d2effadb67c0ed2ea0a29",
      "parents": [
        "51b7e2d08f2bcf528eeec48b42c178b5550f6635"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 15 16:23:04 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 15 16:23:04 2016 +0000"
      },
      "message": "Fix HDoubleConstant::IsZero and HFloatConstant::IsZero.\n\nbug:27639313\nChange-Id: I2f30a65a07662dfce0a6d6f4ed356a8a0b3dcdef\n"
    },
    {
      "commit": "164306e779de522efba7df637618a8eeed9e37ac",
      "tree": "6ceddd6879870272d6bef39026c36212ce6854df",
      "parents": [
        "5681b6638b0001c62d02795b0853e2e82787edf1"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 15 14:57:32 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 15 15:25:39 2016 +0000"
      },
      "message": "Optimizing: Improve shift simplification, x \u003e\u003e\u003e 64.\n\nSimplify shifts by a multiple of bit size, not just 0.\nARM codegen does not expect to see such shifts and it\nis guarding against them with a DCHECK().\n\nBug: 27638111\nChange-Id: I3ae8383d7edefa0facd375ce511e7a226d5468a1\n"
    },
    {
      "commit": "1693a1f9c83a0bf5a29fa18ddc2d87e04e049233",
      "tree": "ab8d99220352e3f6ce2501963ba81943089f0df5",
      "parents": [
        "51b7e2d08f2bcf528eeec48b42c178b5550f6635"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Mar 15 14:57:31 2016 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Mar 15 14:57:31 2016 +0000"
      },
      "message": "Make art::HCompare side effect free.\n\nAll our back ends implement all comparisons without making a\nruntime call, so we can mark art::HCompare as a side effect\nfree instruction unconditionally.\n\nChange-Id: I9a9e7c09156c642edb6af1fe84408f887e762f2e\n"
    },
    {
      "commit": "d9813cb37254a72b08424359c7ef80f6a2136a74",
      "tree": "006621a324a56508f2792e722a7b901cfe474175",
      "parents": [
        "5681b6638b0001c62d02795b0853e2e82787edf1"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 15 12:41:27 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 15 13:24:11 2016 +0000"
      },
      "message": "ART: Fix valgrind failure in image_test64.\n\nExplicitly clear LengthPrefixedArray\u003cArtMethod\u003e padding\nin ImageWriter. This also removes a potential source of\nnon-deterministic data in compiled boot image.\n\nBug: 26687569\nBug: 27552451\nChange-Id: Icf4bf34c9ea5b3159462760fbf556d287841191d\n"
    },
    {
      "commit": "24bd89559c177af9e342f0d5a64a0a2855dfb887",
      "tree": "eeacbc6d65b62dc018193b9440112ebbc4e3341e",
      "parents": [
        "51b7e2d08f2bcf528eeec48b42c178b5550f6635"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 15 10:40:33 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 15 10:43:13 2016 +0000"
      },
      "message": "Optimizing: Prevent potential valgrind error.\n\nThis CL preemptively extends the workaround from\n    https://android-review.googlesource.com/208230\nto an almost identical bit of code.\n\nBug: 27651442\nChange-Id: I7683d42b46b16f2293916defc6ef1d871dc9af6c\n"
    },
    {
      "commit": "51b7e2d08f2bcf528eeec48b42c178b5550f6635",
      "tree": "4f9a10a6457502e093daae5fbf73a0983f75d760",
      "parents": [
        "ea9aa3ff937a6fdda0aa51df50b64b9ab7c22634",
        "a65ed3045ec2df95a30994752b3fb0576f479354"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 15 09:51:10 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 15 09:51:10 2016 +0000"
      },
      "message": "Merge \"Optimizing: Fix valgrind error in image_test64.\""
    },
    {
      "commit": "5ee830173bd5d1de3e1e0581e405a910a3089e73",
      "tree": "72c19660604f8adb5c1533f7310a13e1617fbbe3",
      "parents": [
        "d3c8fe76adf3d1447067f2631e7d6ead139ed152",
        "1ae88747200931a0feaacf3d17a926c5abf70593"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Mar 15 02:40:15 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 15 02:40:15 2016 +0000"
      },
      "message": "Merge \"Fixed bug in BCE, with regression test.\""
    },
    {
      "commit": "0b4cbd0c2a75b47ae09d21e5d73d2b1709cb5b9e",
      "tree": "72572a01a181c12272a5570ae8b4d41e9ef553f8",
      "parents": [
        "c3214fbb66b5f4c436c44d027df5046c803f6432"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Mar 08 16:49:58 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Mar 14 17:07:11 2016 -0700"
      },
      "message": "Add oatdump support for app images\n\nExample usage on host:\noatdumpd --app-oat\u003dart/plus32.odex --app-image\u003dart/plus32.art\n--image\u003dart/oats/system@framework@boot.art --instruction-set\u003darm\n\nTODO: Add to oatdump test.\n\nBug: 27408512\nBug: 22858531\n\n(cherry picked from commit bcb6a72569a1401b36a3ad3b6aa4d13e29966cf0)\n\nChange-Id: I9d1aa7eaa16795e5fbabc6974d245849e16b1d03\n"
    },
    {
      "commit": "1ae88747200931a0feaacf3d17a926c5abf70593",
      "tree": "45d3adb01123d2c39821c80bbb2cc207f5801f9c",
      "parents": [
        "0b2c1922cc29a7939f747f60d80240a9fb22547c"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Mar 14 14:11:26 2016 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Mon Mar 14 15:58:50 2016 -0700"
      },
      "message": "Fixed bug in BCE, with regression test.\n\nThe fix is twofold:\n(1) Ensure that bound checks are never eliminated more than once\n    to guard against any conceivable situation in which the same\n    bounds check appears multiple times in array length use list.\n(2) Specially reject BoundsCheck(x,x) since that always goes OOB.\n\nBUG\u003d27628526\n\nChange-Id: I399ec4254323e0cfcd0a68898f403cfab7b35135\n"
    },
    {
      "commit": "a65ed3045ec2df95a30994752b3fb0576f479354",
      "tree": "c566a5bcfdf9ad9717f82aea809c88a253cb6960",
      "parents": [
        "11ad2523557c35acfbf829aa203d14914e61884e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 14 21:21:29 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 14 21:22:49 2016 +0000"
      },
      "message": "Optimizing: Fix valgrind error in image_test64.\n\nBug: 27651442\nChange-Id: Id9b80c6015dbc3b82966766ca4ad010be770f116\n"
    },
    {
      "commit": "625090fe9bf47d8d735c9a66cbf491de3a3e3765",
      "tree": "9bf994303cf2491ec9c676d558f3bce97b46cdb7",
      "parents": [
        "70bc6de7e27dd7d82a2bac6685e0f3096df07b83"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 14 18:00:05 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 14 19:01:16 2016 +0000"
      },
      "message": "Optimizing: Fix TypeConversion(And(x, const)) simplification.\n\nAvoid introducing implicit conversions when simplifying the\nexpression TypeConversion(And(x, const)). Previously, when\nwe dropped the And, we could end up with a TypeConversion to\nthe same type which should be eliminated on subsequent pass\nof the block\u0027s instructions; however, a subsequent dependent\nTypeConversion in the same block would be processed earlier\nand we would unexpectedly see its input as the conversion to\nthe same type, failing a DCHECK().\n\nBug: 27626509\nChange-Id: I5874a9ceafbf635cf3391beea807ede8468ab5c3\n"
    },
    {
      "commit": "70bc6de7e27dd7d82a2bac6685e0f3096df07b83",
      "tree": "a3c251eb836a6e48fe6b104952e2502ad7bd8c5c",
      "parents": [
        "e70cda6147e2e49384a219b167a6c734a8db28f5",
        "b75878e9dd1cfae1a0387fffe7716102522b41e8"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 14 17:42:19 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 14 17:42:19 2016 +0000"
      },
      "message": "Merge \"Optimizing: Do not re-record standby checks for dynamic BCE.\""
    },
    {
      "commit": "fbc61e19578d281d05728bcd120e1ace57c2fbd8",
      "tree": "50ac061fada6da7fe79ec7e5e8d2b65f079e30da",
      "parents": [
        "7f77eb485810a64cde897933677d9a0e44588647",
        "2fdd03c982386e1d13aed9f1b51e1f0eee237971"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Mar 14 14:19:40 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 14 14:19:40 2016 +0000"
      },
      "message": "Merge \"Add symbolizer option to generate debug information only.\""
    },
    {
      "commit": "b75878e9dd1cfae1a0387fffe7716102522b41e8",
      "tree": "c9ec3cfad4c7b1a5ac9288de1e89f3c4f1f87a3a",
      "parents": [
        "fb8932eec4c09c34dfe759ba151e751293245c0d"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 14 13:56:02 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Mar 14 13:59:44 2016 +0000"
      },
      "message": "Optimizing: Do not re-record standby checks for dynamic BCE.\n\nAdding the checks to the standby vector invalidates the\nvector storage used by range-based loop in the\nBCEVisitor::Finish() as exposed by valgrind in image_test.\n\nBug: 27597089\nChange-Id: Ib0f0e8cdfdb7211a64a26836e085cb99fb2ce8b8\n"
    },
    {
      "commit": "d89f605b1de929ae158b3844e44a5d57f7aad72d",
      "tree": "a700380294513e8e6878acd3b89292ca1c203d48",
      "parents": [
        "e717e2c2c436da1d6daa572bd3142e34aef25b1c"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sat Mar 12 21:10:04 2016 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sat Mar 12 21:38:50 2016 +0000"
      },
      "message": "Ignore empty maps when emitting DWARF variable locations.\n\nThis is rewrite of https://android-review.googlesource.com/#/c/202115\n\nThe aim in both cases is to avoid gaps in generated locations.\n(which helps to keep the size of the generated DWARF down).\n\nHowever, the previous CL was a bit too eager with extending of\nvariable scope and reporting locations. We might have reported\nvariable in scope when in fact, it was not.\n\nThis CL implements simpler solution by just filtering stackmaps\nwithout dex register maps at first opportunity. This should\nensure that locations for breakpoint locations are completely\naccurate as originally intended.\n\nChange-Id: I98378716c0ef5ef46b12181502904621eb6ecf2f\n"
    },
    {
      "commit": "95f931eefd6a694a27548c3503ca56559a2b868b",
      "tree": "ec7b0d6edee087c13810be515c7dbb67aec98544",
      "parents": [
        "cdd3991f821f027c9ac6674057603ba4ad9c2bb0",
        "7fc6350f6f1ab04b52b9cd7542e0790528296cbe"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Mar 11 19:48:08 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 11 19:48:08 2016 +0000"
      },
      "message": "Merge \"Integrate BitwiseNegated into shared framework.\""
    },
    {
      "commit": "2de1e8a52ef8d4b2e033f3404ca9cc970bb5149c",
      "tree": "f140ba578b933c58367745c5670f6575f8bbfdd7",
      "parents": [
        "9faab4dd50d2bdda12284c6b8d3837943a73b5da",
        "6a6b38fbed22688fac7e061450a8a9c64a685faf"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 18:19:11 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 11 18:19:12 2016 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Allow duplicated methods in different DWARF line tables.\"\"\""
    },
    {
      "commit": "6a6b38fbed22688fac7e061450a8a9c64a685faf",
      "tree": "79c27dd0575f8d7fac2b9b0c630577701ec1c7a9",
      "parents": [
        "6030b15ce83ac2a9fb78cd9d137b6f4b441e6417"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 14:35:45 2016 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 18:17:56 2016 +0000"
      },
      "message": "Revert \"Revert \"Allow duplicated methods in different DWARF line tables.\"\"\n\nThis reverts commit 8862fac4a0b97d827d2808146d2d79b8d799b998.\n\nChange-Id: I4d5629df4580b7ac08a5cb04924c56eecad3ad25\n"
    },
    {
      "commit": "9faab4dd50d2bdda12284c6b8d3837943a73b5da",
      "tree": "b028de219d3e6bc1d4fe6e71158e5c5ff61216e6",
      "parents": [
        "6030b15ce83ac2a9fb78cd9d137b6f4b441e6417",
        "252fa90d25eb3fa9c4189304d021533c9657fea7"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 18:16:35 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 11 18:16:36 2016 +0000"
      },
      "message": "Merge \"DWARF: Compensate for compiler\u0027s off-by-one instruction.\""
    },
    {
      "commit": "09c2a6be63337ee060e2d54bd01cf18be7301d29",
      "tree": "c623c5352bc908410f03b20b772c3dad47df207c",
      "parents": [
        "fdaa583e785383cca68df63c7ef53fcaf667b8e2"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 17:11:44 2016 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 17:35:19 2016 +0000"
      },
      "message": "Add trampoline symbols to native debug info.\n\nThe debugger needs them to unwind through the trampolines and to\nunderstand what is happening in the call stack.\n\nChange-Id: Ia554058c3796788adcd7336d620a7734eb366905\n"
    },
    {
      "commit": "fdaa583e785383cca68df63c7ef53fcaf667b8e2",
      "tree": "1b49aa0fe04200911e3ddfdac4b465b16dfb63e8",
      "parents": [
        "fa3857ee61e193471ad3547e02bafccdc712b556",
        "b14a5ede4b232d5f7709001d1e0b90e6910d9306"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 17:33:22 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 11 17:33:23 2016 +0000"
      },
      "message": "Merge \"Minor optimizations of debug::WriteCFISection.\""
    },
    {
      "commit": "b14a5ede4b232d5f7709001d1e0b90e6910d9306",
      "tree": "68fb0485ed511f7f8db178ef4bbb3b495fcd7651",
      "parents": [
        "60e10c8564f47de0b7f29b26d040c591d5a396b5"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 16:54:22 2016 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 17:30:57 2016 +0000"
      },
      "message": "Minor optimizations of debug::WriteCFISection.\n\nThe method might be passed method infos without CFI in some cases.\nUse the sorting phase as a chance to filter them out.\nThis makes sure we do not allocate memory and sort methods if there\nis in fact no work to do.\n\nAlso change the sort to stable - for the sake of determinism.\n\nChange-Id: I97d57d77e8b709d0d49d6971f66b955efcbb57b0\n"
    },
    {
      "commit": "fa3857ee61e193471ad3547e02bafccdc712b556",
      "tree": "cb402533e584dd9bfba95d25c06ab7e7dbbd6618",
      "parents": [
        "a9e68021a88566f31b0ba1a997ac3c61d3081c40",
        "ddc4055abab40740e689d91e9a4fe20a7b8e5d28"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Mar 11 16:47:02 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 11 16:47:03 2016 +0000"
      },
      "message": "Merge \"MIPS: Don\u0027t use $t8 for calling entrypoints\""
    },
    {
      "commit": "a9e68021a88566f31b0ba1a997ac3c61d3081c40",
      "tree": "03816b2c31f05f6d32fbb5458eac6a9bfc554bfb",
      "parents": [
        "62a9841469f99810b2b39b0748cb113af0e8913a",
        "bdd7935c2adc3ad190ee87958e714a36f33cedae"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 11 16:37:23 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 11 16:37:23 2016 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Revert \"Revert \"Change condition to opposite if lhs is constant\"\"\"\"\""
    },
    {
      "commit": "252fa90d25eb3fa9c4189304d021533c9657fea7",
      "tree": "3fd03332a888b8e3902dbdc1f0c9f830a55ecc8d",
      "parents": [
        "60e10c8564f47de0b7f29b26d040c591d5a396b5"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 14:25:00 2016 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 16:18:50 2016 +0000"
      },
      "message": "DWARF: Compensate for compiler\u0027s off-by-one instruction.\n\nThe compiler generates stackmaps with PC value which is *after*\nthe instruction rather PC of the instruction itself. This causes\ntrouble when generating native line number mapping since the\nbranch instruction itself will not be mapped, and consequently\nwe get incorrect line number in backtraces. Add code to compensate\nfor this. See the in-code comment for more details.\n\nChange-Id: I72c992e6d08a767f314290d562421b251ae60732\n"
    },
    {
      "commit": "ddc4055abab40740e689d91e9a4fe20a7b8e5d28",
      "tree": "df455aa113ce912e45ea54ed546d988cae89af58",
      "parents": [
        "62a9841469f99810b2b39b0748cb113af0e8913a"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Fri Mar 11 15:22:18 2016 +0100"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Fri Mar 11 17:16:37 2016 +0100"
      },
      "message": "MIPS: Don\u0027t use $t8 for calling entrypoints\n\nWhen jumping to entrypoints, $t9 register must be used. Value of $gp\nis calculated based on value from $t9 and it should contain the\naddress of the first instruction of the entrypoint.\n\nThis CL enables MIPS32 and MIPS64 to boot.\n\nChange-Id: Idf0f7f479cceafabb88b1b087da190dbda86e1c3\n"
    },
    {
      "commit": "62a9841469f99810b2b39b0748cb113af0e8913a",
      "tree": "8763fc7893d56cdb4b93b2c180b9793b524463aa",
      "parents": [
        "60e10c8564f47de0b7f29b26d040c591d5a396b5",
        "18401b748a3180f52e42547ede22d1b184fe8c43"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 11 16:15:32 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 11 16:15:33 2016 +0000"
      },
      "message": "Merge \"Fix invariant in reference type propagation.\""
    },
    {
      "commit": "2fdd03c982386e1d13aed9f1b51e1f0eee237971",
      "tree": "9534c9538c7b63a62121719ba83ff1f436cf5f8a",
      "parents": [
        "60e10c8564f47de0b7f29b26d040c591d5a396b5"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Mar 10 15:32:37 2016 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 15:57:01 2016 +0000"
      },
      "message": "Add symbolizer option to generate debug information only.\n\nThere is no need to copy the .rodata and .text sections since the\nconsumers can get their data form the original ELF file. We mark\nthose section as SHT_NOBITS instead, which is the standard way to\ncreate ELF file with separate debug information only.\n\nThe new option is called --only-keep-debug and it essentially has\nthe same effect as --only-keep-debug option for \"strip\" command.\n\nChange-Id: I4f7488c04bbad86288beeda11c3bf295890e740d\n"
    },
    {
      "commit": "60e10c8564f47de0b7f29b26d040c591d5a396b5",
      "tree": "49809c99b991eece44dad9ca26c89bdcf0f9d911",
      "parents": [
        "8583b44f8b5788b57be4d4738072dc6a99c49823",
        "8862fac4a0b97d827d2808146d2d79b8d799b998"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 14:35:33 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 11 14:35:33 2016 +0000"
      },
      "message": "Merge \"Revert \"Allow duplicated methods in different DWARF line tables.\"\""
    },
    {
      "commit": "8862fac4a0b97d827d2808146d2d79b8d799b998",
      "tree": "27509ec22da5d2b82443142f230525d5b4ad9aea",
      "parents": [
        "3c5462364daee17e651299f1c370f965f34baed8"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 14:34:47 2016 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 14:34:47 2016 +0000"
      },
      "message": "Revert \"Allow duplicated methods in different DWARF line tables.\"\n\nThis reverts commit 3c5462364daee17e651299f1c370f965f34baed8.\n\nChange-Id: Icc63c47cd53abeff2a470ae84715012a1ef988ac\n"
    },
    {
      "commit": "8583b44f8b5788b57be4d4738072dc6a99c49823",
      "tree": "2c3aea50b7b2c208a8d770b36cf3d392d909d50d",
      "parents": [
        "cc22d41d4de2514cc3cb4ed569764a35f15da48d",
        "3c5462364daee17e651299f1c370f965f34baed8"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 14:28:00 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 11 14:28:00 2016 +0000"
      },
      "message": "Merge \"Allow duplicated methods in different DWARF line tables.\""
    },
    {
      "commit": "cc22d41d4de2514cc3cb4ed569764a35f15da48d",
      "tree": "49809c99b991eece44dad9ca26c89bdcf0f9d911",
      "parents": [
        "1a008a127730710f8f56c1ca66385e1b062a2dcb",
        "fe736b775c7774bb2f7072e022099ca47dd21a3c"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 14:25:56 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 11 14:25:57 2016 +0000"
      },
      "message": "Merge \"Allow generation of native debug info for multiple methods.\""
    },
    {
      "commit": "1a008a127730710f8f56c1ca66385e1b062a2dcb",
      "tree": "b3d33325c5e5ef2f34aa9a497c83863cf2481abb",
      "parents": [
        "2af7213a4e0d395fe22dcdce6ec10a3bd131023d",
        "197160d47f34238cb5e7444fa4c2de300db8e2c6"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 14:25:40 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 11 14:25:41 2016 +0000"
      },
      "message": "Merge \"Refactor MethodDebugInfo (input of DWARF writer).\""
    },
    {
      "commit": "3c5462364daee17e651299f1c370f965f34baed8",
      "tree": "3e730b28ccd4d7d17d65777eeba6c85c6034fc96",
      "parents": [
        "ef0119a0f329906ba1e8cbd8e53ce5a759fd4f99"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 11:49:20 2016 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Mar 11 14:13:44 2016 +0000"
      },
      "message": "Allow duplicated methods in different DWARF line tables.\n\nThis makes the compilation units more self-contained.\nIf method is mentioned in the compilation unit, we can\nalso find its line table there. Otherwise, we would have\nto search through all of them.\n\nChange-Id: I0cdfb9006e796e41e123fc1f4fecd15312570068\n"
    },
    {
      "commit": "18401b748a3180f52e42547ede22d1b184fe8c43",
      "tree": "aebee923635cc2563c74033b00ffc90ceadafed4",
      "parents": [
        "b7f257f353b1eb2db2732939a0404c118316891d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 11 13:35:51 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 11 13:36:19 2016 +0000"
      },
      "message": "Fix invariant in reference type propagation.\n\nAlso some cleanups.\n\nChange-Id: I7f0ec7d06b4bab10dbfa230c757447d311658f93\n"
    },
    {
      "commit": "7fc6350f6f1ab04b52b9cd7542e0790528296cbe",
      "tree": "26a33ef7bb2e49a9b7c7d9436194a92cb447b317",
      "parents": [
        "b7f257f353b1eb2db2732939a0404c118316891d"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Tue Feb 09 17:15:29 2016 +0000"
      },
      "committer": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Fri Mar 11 12:49:27 2016 +0000"
      },
      "message": "Integrate BitwiseNegated into shared framework.\n\nShare implementation between arm and arm64.\n\nChange-Id: I0dd12e772cb23b4c181fd0b1e2a447470b1d8702\n"
    },
    {
      "commit": "bdd7935c2adc3ad190ee87958e714a36f33cedae",
      "tree": "64563d52d699d63c22574dbc97e6d5410df94ac3",
      "parents": [
        "2af7213a4e0d395fe22dcdce6ec10a3bd131023d"
      ],
      "author": {
        "name": "Anton Shamin",
        "email": "anton.shamin@intel.com",
        "time": "Mon Feb 15 12:48:36 2016 +0600"
      },
      "committer": {
        "name": "Anton Shamin",
        "email": "anton.shamin@intel.com",
        "time": "Fri Mar 11 18:28:55 2016 +0600"
      },
      "message": "Revert \"Revert \"Revert \"Revert \"Change condition to opposite if lhs is constant\"\"\"\"\n\nThis reverts commit d4aee949b3dd976295201b5310f13aa2df40afa1.\n\nChange-Id: I505b8c9863c310a3a708f580b00d425b750c9541\n"
    },
    {
      "commit": "07e3ca9a46801990d662c48d0fddedc63c4c053c",
      "tree": "94fedc96b28c6a46d2b83c80b2cfefd4c2898f4a",
      "parents": [
        "b7f257f353b1eb2db2732939a0404c118316891d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 11 09:57:57 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 11 09:57:57 2016 +0000"
      },
      "message": "Fix thread race when fetching the ProfilingInfo object.\n\nProblem is:\n1) Compiler fetches the ProfilingInfo of A, it\u0027s null.\n2) Mutator creates the ProfilingInfo.\n3) Compiler notifies it\u0027s not using A anymore, calls\n   ProfilingInfo::DecrementInlineUse -\u003e Crash as we expected\n   ProfilingInfo::IncrementUse to be called before.\n\nAlso update some namings to better reflect what is going on.\n\nChange-Id: I55ea4c5d81988131467095e18a0d13a8be9d0ef7\n"
    },
    {
      "commit": "8e213515077e11acdd664ec4a770a73e2f804863",
      "tree": "85614e9137d894b21146d82bb08bedceb2ee3f2e",
      "parents": [
        "8189b0b4e1f14420382b87e900dd6a50aec9c2de",
        "07f6818ef68046d4749963b3bd59f7e93cf43fa9"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Mar 10 18:48:37 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 10 18:48:37 2016 +0000"
      },
      "message": "Merge \"ART: Do not use vixld - workaround to fix dex2oatds.\""
    },
    {
      "commit": "8189b0b4e1f14420382b87e900dd6a50aec9c2de",
      "tree": "9ff8d68502f8eb48df478c453eac270b9dc123e2",
      "parents": [
        "8411aa3d88f4baf583ec4ecd62bb619cacd28acb",
        "d1c4045fb4d4703642f3f79985727b9a12cf5c49"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Mar 10 18:39:18 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 10 18:39:18 2016 +0000"
      },
      "message": "Merge \"Avoid generating dead code on frame enter/exit. This includes stack operations and, on x86, call/pop to read PC.\""
    },
    {
      "commit": "07f6818ef68046d4749963b3bd59f7e93cf43fa9",
      "tree": "f92c036b6340bba99208ca2810f1453ed45d35d7",
      "parents": [
        "8411aa3d88f4baf583ec4ecd62bb619cacd28acb"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Mar 10 17:25:50 2016 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Mar 10 17:30:25 2016 +0000"
      },
      "message": "ART: Do not use vixld - workaround to fix dex2oatds.\n\nThis is a quick workaround for ODR violations caused\nby linking libvixl.a compiled without VIXL_DEBUG with\nthe libartd-compiler.a compiled with VIXL_DEBUG.\n\nBug: 27588884\nChange-Id: Ib1af165f177f125f03cdd99777dff4c2912f6405\n"
    },
    {
      "commit": "d1c4045fb4d4703642f3f79985727b9a12cf5c49",
      "tree": "5fda881ed412b71013e1f2445ed5ddd1a7b37470",
      "parents": [
        "2048b01dfec8877d672a4da41a158f68b12b5337"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Mar 02 16:06:13 2016 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Thu Mar 10 09:22:49 2016 -0800"
      },
      "message": "Avoid generating dead code on frame enter/exit.\nThis includes stack operations and, on x86, call/pop to read PC.\n\nbug\u003d26997690\n\nRationale:\n(1) If method is fully intrinsified, and makes no calls in slow\n    path or uses special input, no need to require current method.\n(2) Invoke instructions with HasPcRelativeDexCache() generate code\n    that reads the PC (call/pop) on x86. However, if the invoke is\n    an intrinsic that is later replaced with actual code, this PC\n    reading code may be dead.\n\nExample X86 (before/after):\n\n0x0000108c: 83EC0C      sub esp, 12\n0x0000108f: 890424      mov [esp], eax       \u003c-- not needed\n0x00001092: E800000000  call +0 (0x00001097)\n0x00001097: 58          pop eax              \u003c-- dead code to read PC\n0x00001098: F30FB8C1    popcnt eax, ecx\n0x0000109c: F30FB8DA    popcnt ebx, edx\n0x000010a0: 03D8        add ebx, eax\n0x000010a2: 89D8        mov eax, ebx\n0x000010a4: 83C40C      add esp, 12          \u003c-- not needed\n0x000010a7: C3          ret\n\n0x0000103c: F30FB8C1    popcnt eax, ecx\n0x00001040: F30FB8DA    popcnt ebx, edx\n0x00001044: 03D8        add ebx, eax\n0x00001046: 89D8        mov eax, ebx\n0x00001048: C3          ret\n\nExample ARM64 (before/after):\n\n0x0000103c: f81e0fe0      str x0, [sp, #-32]!\n0x00001040: f9000ffe      str lr, [sp, #24]\n0x00001044: dac01020      clz x0, x1\n0x00001048: f9400ffe      ldr lr, [sp, #24]\n0x0000104c: 910083ff      add sp, sp, #0x20 (32)\n0x00001050: d65f03c0      ret\n\n0x0000103c: dac01020      clz x0, x1\n0x00001040: d65f03c0      ret\n\nChange-Id: I8377db80c9a901a08fff4624927cf4a6e585da0c\n"
    },
    {
      "commit": "8411aa3d88f4baf583ec4ecd62bb619cacd28acb",
      "tree": "1aaa0c7d61743f512c941a5fc05d7740bfdef2d4",
      "parents": [
        "0555c78e5015ea4f9b1c064a5c77eb693f2edbe1",
        "316a2186b7fa9e03187d45ac0fa320f4dff1f3df"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Mar 10 17:11:44 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 10 17:11:44 2016 +0000"
      },
      "message": "Merge \"Add Mips abiflags section to the oatfile.\""
    },
    {
      "commit": "0555c78e5015ea4f9b1c064a5c77eb693f2edbe1",
      "tree": "aa22b4388b129ea9628383cc5ed6157fc4e0c744",
      "parents": [
        "59c16a91633cb2268f9a7c052f6a761d711d0184",
        "cf283daf579e9eda586f312c3fc89444601e2525"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Mar 10 17:09:37 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 10 17:09:38 2016 +0000"
      },
      "message": "Merge \"MIPS32: java.lang.Thread, and java.lang.String intrinsics:\""
    },
    {
      "commit": "d52765768b634c6f32a9bddd5c1269f26d32ea3a",
      "tree": "cb25a4e1aeeedf9a75683888a4156dbd87f02760",
      "parents": [
        "9e86c579ea45a209c8fe1cbfbc354e9065990b45"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Mar 10 15:16:31 2016 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Mar 10 15:16:31 2016 +0000"
      },
      "message": "Disable some image_test cases with concurrent collector.\n\nThe following image_test cases sometimes fail on ART Builbot\u0027s\nx86 concurrent collector configuration:\n- ImageTest.WriteReadUncompressed\n- ImageTest.WriteReadLZ4\n- ImageTest.WriteReadLZ4HC\nDisable them to make the build turn green again, while we\ninvestigate the failures.\n\nBug: 27578460\nChange-Id: I46126e4690e6300e3bfa771c1b6a560272ecb1da\n"
    },
    {
      "commit": "9e86c579ea45a209c8fe1cbfbc354e9065990b45",
      "tree": "84e8b1de707e96845a81d94bd50e97d0cbb2f546",
      "parents": [
        "cc7b14da8da5fee74e0577edb72c6eee8cabd466",
        "31f477eb7f28c9e4647df3c18f7e4271436640be"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 10 14:23:35 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 10 14:23:35 2016 +0000"
      },
      "message": "Merge \"MIPS32: Fix test 082-inline-execute\""
    },
    {
      "commit": "cc7b14da8da5fee74e0577edb72c6eee8cabd466",
      "tree": "fa74a44bb384adacb0690fede876036f13d6b3f5",
      "parents": [
        "e87fe952e94ae97ebdf84e342d91eeb8b9aef06b",
        "f969a209c30e3af636342d2fb7851d82a2529bf7"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Mar 10 14:21:40 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 10 14:21:41 2016 +0000"
      },
      "message": "Merge \"Fix and enable java.lang.StringFactory intrinsics.\""
    },
    {
      "commit": "31f477eb7f28c9e4647df3c18f7e4271436640be",
      "tree": "09f3a22f94df7dfbdd1f52686829c4ed2b9925f8",
      "parents": [
        "e87fe952e94ae97ebdf84e342d91eeb8b9aef06b"
      ],
      "author": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Tue Mar 08 15:26:51 2016 +0100"
      },
      "committer": {
        "name": "Goran Jakovljevic",
        "email": "Goran.Jakovljevic@imgtec.com",
        "time": "Thu Mar 10 14:24:53 2016 +0100"
      },
      "message": "MIPS32: Fix test 082-inline-execute\n\nThis is fixing the test when run with --debuggable flag.\n\nChange-Id: Ifd11c28a77f1c6f6fe5951c5c27309187b29d3ee\n"
    },
    {
      "commit": "e87fe952e94ae97ebdf84e342d91eeb8b9aef06b",
      "tree": "69e14ce007f842ca72fe7e07164ca2374ec5cf6a",
      "parents": [
        "93e46b2a14050d8f65088ccb44d6fab6c1c46b2c",
        "b6e20ae17d0881a66c22532e4152ce6779454a92"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 10 10:47:57 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 10 10:47:57 2016 +0000"
      },
      "message": "Merge \"Clear inline caches at each full GC.\""
    },
    {
      "commit": "fe736b775c7774bb2f7072e022099ca47dd21a3c",
      "tree": "92a7850c812dc0373738c6c5cfdff5a32d5e489c",
      "parents": [
        "197160d47f34238cb5e7444fa4c2de300db8e2c6"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Mar 09 11:44:44 2016 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Mar 10 10:29:27 2016 +0000"
      },
      "message": "Allow generation of native debug info for multiple methods.\n\nSlight tweak in the API which I will need in the near future.\n\nChange-Id: I45954ae16710bc941a9a06a3a17c70798315ca53\n"
    },
    {
      "commit": "197160d47f34238cb5e7444fa4c2de300db8e2c6",
      "tree": "4c07b9e97e8ffaffb274d03b63701780baf0b72f",
      "parents": [
        "ef0119a0f329906ba1e8cbd8e53ce5a759fd4f99"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Mar 07 17:33:57 2016 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Mar 10 10:11:31 2016 +0000"
      },
      "message": "Refactor MethodDebugInfo (input of DWARF writer).\n\nDo not pass CompiledMethod pointer through since it is only available\nduring AOT compile but not during JIT compile or at runtime. Creating\nmock CompiledMethod just pass data is proving increasingly tricky, so\ncopy the fields that we need to MethodDebugInfo instead.\n\nChange-Id: I820297b41e769fcac488c0ff2d2ea0492bb13ed8\n"
    },
    {
      "commit": "6f6b134e39e7f01cf6c029ce1f95fcadb642cbc3",
      "tree": "8890d92ae6824c56414dd4129c81a6fd6c85f69e",
      "parents": [
        "39731ac67b591d84711a34f671a48229933cddc7"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Mar 09 11:14:50 2016 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Mar 09 16:34:37 2016 -0800"
      },
      "message": "Use PwriteFully and write image header last\n\nPrevent corrupted images if dex2oat gets killed or if the image\nwriter is interrupted during writing.\n\nBug: 22858531\nBug: 27561308\n\n(cherry picked from commit dba5a70977da0a28cec2bfc8261d52a177738477)\n\nChange-Id: If4f2c43bcc3cf918b5d2780f1709225b5a4ce116\n"
    },
    {
      "commit": "fa2cda44cb53f01a2bbfd410724a4bc314a236d1",
      "tree": "671a31752ae6970dbfff9c976b173af6015d02c3",
      "parents": [
        "ab5b8941f095b1a4e8b1387b6f723d6ae550dbe6",
        "3f41a0193eadf037b4003c1996151f386ca07b13"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Mar 09 17:30:18 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 09 17:30:18 2016 +0000"
      },
      "message": "Merge \"ART: Use optimizing compiler in image_test\""
    },
    {
      "commit": "b6e20ae17d0881a66c22532e4152ce6779454a92",
      "tree": "35d7fbfb812aef11ea51010794dce26eb91c1ae4",
      "parents": [
        "8a8c84114b16b8971bc2d3c5c7e0e31470d1a68b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 07 14:29:04 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 09 17:25:19 2016 +0000"
      },
      "message": "Clear inline caches at each full GC.\n\nThis fixes occasional failures of 141-class-unload.\n\nAlso fix a bug where clearing inline caches also cleared the dex\npc associated with it.\n\nbug:26846185\nbug:23128949\nChange-Id: I77bf1dee229d7764c3cc21440829c7fba7b37001\n"
    },
    {
      "commit": "3f41a0193eadf037b4003c1996151f386ca07b13",
      "tree": "19e261ce06e5c5efe88d78188ef1d06b54ead9e8",
      "parents": [
        "6e1564cfdf4f6b332ee6d156de6ff9712655fff6"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Feb 18 16:53:41 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Mar 09 09:16:24 2016 -0800"
      },
      "message": "ART: Use optimizing compiler in image_test\n\nExpose some compiler options so we can run the image test with\nthe optimizing compiler without running into a stack overflow.\n\nAlso allow a variable amount of threads in CreateCompilerDriver.\nUse 16 as a middle ground on the host to speed up the otherwise\nnow slowed-down test.\n\nBug: 27240085\nBug: 27552475\nChange-Id: I8db5055d32ae722c8f430903244faa9166cc4886\n"
    },
    {
      "commit": "ab5b8941f095b1a4e8b1387b6f723d6ae550dbe6",
      "tree": "483baf55b6c7b360e8fee308644add02a2f0377a",
      "parents": [
        "ef0119a0f329906ba1e8cbd8e53ce5a759fd4f99",
        "1193259cb37c9763a111825aa04718a409d07145"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Mar 09 17:13:34 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 09 17:13:34 2016 +0000"
      },
      "message": "Merge \"Implement the 1.8 unsafe memory fences directly in HIR.\""
    },
    {
      "commit": "ef0119a0f329906ba1e8cbd8e53ce5a759fd4f99",
      "tree": "27509ec22da5d2b82443142f230525d5b4ad9aea",
      "parents": [
        "19749b5fd0e217d23af4c3e996348e2a8ff406bc",
        "7c9c31ca3b94a8e0828d2d8f9747fd579ca40305"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Mar 09 16:23:41 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 09 16:23:41 2016 +0000"
      },
      "message": "Merge \"ART: Fix missing include\""
    },
    {
      "commit": "f969a209c30e3af636342d2fb7851d82a2529bf7",
      "tree": "6cf14b0ef2a82f6552c497f1889f967f9f722e5f",
      "parents": [
        "ce51701b0621754a81125df3ed62e07c0497cafd"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Mar 09 16:14:00 2016 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Mar 09 16:14:00 2016 +0000"
      },
      "message": "Fix and enable java.lang.StringFactory intrinsics.\n\nThe following intrinsics were not considered by the\nintrinsics recognizer:\n- StringNewStringFromBytes\n- StringNewStringFromChars\n- StringNewStringFromString\nThis CL enables them and add tests for them.\n\nThis CL also:\n- Fixes the locations of the ARM64 \u0026 MIPS64\n  StringNewStringFromString intrinsics.\n- Fixes the definitions of the FOUR_ARG_DOWNCALL macros on\n  ARM and x86, which are used to implement the\n  art_quick_alloc_string_from_bytes* runtime entry points.\n- Fixes PC info (stack maps) recording in the\n  StringNewStringFromBytes, StringNewStringFromChars and\n  StringNewStringFromString ARM, ARM64 \u0026 MIPS64 intrinsics.\n\nBug: 27425743\nChange-Id: I38c00d3f0b2e6b64f7d3fe9146743493bef9e45c\n"
    },
    {
      "commit": "b24457bace8941392a4aeef5a7995bfd80daa235",
      "tree": "de573446232fc530eaa976cffbfa02e820769bc5",
      "parents": [
        "5bdcdca7e4b3acc1ed8a7112a93c3f2da490b606",
        "91cc06c1814bd1d0fd6635bc3d7632a2bb7b0e7c"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Mar 09 15:05:50 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 09 15:05:50 2016 +0000"
      },
      "message": "Merge \"Mark DWARF lines in non-debuggable methods as \"not a statement\".\""
    },
    {
      "commit": "7c9c31ca3b94a8e0828d2d8f9747fd579ca40305",
      "tree": "dcb9ddfa56a1bed0f52cc7da9321441e94b0e60f",
      "parents": [
        "6e1564cfdf4f6b332ee6d156de6ff9712655fff6"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Mar 08 16:00:41 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Mar 08 16:00:41 2016 -0800"
      },
      "message": "ART: Fix missing include\n\nThe SwitchTable needs a function from an inl file.\n\nChange-Id: I624d71e0c0efc0c87150d7ef3be71e0b4506c75a\n"
    },
    {
      "commit": "1193259cb37c9763a111825aa04718a409d07145",
      "tree": "80d8fb18d2ea4b1ca367957f9c745f1fef79d059",
      "parents": [
        "2f6ad55a3bfa16867146233e1eb8b822b1daab4b"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Mar 08 12:42:25 2016 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Mar 08 12:42:25 2016 -0800"
      },
      "message": "Implement the 1.8 unsafe memory fences directly in HIR.\n\nRationale:\nMore efficient since it exposes full semantics to\nall operations on the graph and allows for proper\ncode generation for all architectures.\n\nbug\u003d26264765\n\nChange-Id: Ic435886cf0645927a101a8502f0623fa573989ff\n"
    },
    {
      "commit": "cf283daf579e9eda586f312c3fc89444601e2525",
      "tree": "390efcd25be46065f56ce653d86d7b4b5d99e585",
      "parents": [
        "2f6ad55a3bfa16867146233e1eb8b822b1daab4b"
      ],
      "author": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Tue Jan 19 16:45:35 2016 -0800"
      },
      "committer": {
        "name": "Chris Larsen",
        "email": "chris.larsen@imgtec.com",
        "time": "Tue Mar 08 10:43:14 2016 -0800"
      },
      "message": "MIPS32: java.lang.Thread, and java.lang.String intrinsics:\n\n- Thread java.lang.Thread.currentThread()\n- int java.lang.String.compareTo(String anotherString)\n- int java.lang.String.indexOf(int ch)\n- int java.lang.String.indexOf(int ch, int fromIndex)\n- java.lang.StringFactory.newStringFromBytes(byte[] data,\n                                             int high,\n                                             int offset,\n                                             int byteCount)\n- java.lang.StringFactory.newStringFromChars(int offset,\n                                             int charCount,\n                                             char[] data)\n- java.lang.StringFactory.newStringFromString(String toCopy)\n\nChange-Id: I96a06ff81e1e3bf18d45760282356854efaf4945\n"
    },
    {
      "commit": "91cc06c1814bd1d0fd6635bc3d7632a2bb7b0e7c",
      "tree": "7c57374bd28d245fd0f071ec66d9aad8501a878a",
      "parents": [
        "5d8112029d0e085c5a0099257daa4c7e29c12310"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Mar 07 16:13:58 2016 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Mar 08 15:48:02 2016 +0000"
      },
      "message": "Mark DWARF lines in non-debuggable methods as \"not a statement\".\n\nThis is a hint to the debugger that breakpoints and stepping\nmight not function as intended (since we have limited information).\n\nChange-Id: I23c4a816182cc7548fcd69fbd00112225e7b1710\n"
    },
    {
      "commit": "ce51701b0621754a81125df3ed62e07c0497cafd",
      "tree": "a7b28e4b74ec6fbfa9d588e05cffe548759034ef",
      "parents": [
        "60a765f6781a59d782ebcf99691aa614b6e610d3",
        "5d8112029d0e085c5a0099257daa4c7e29c12310"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Mar 08 14:58:40 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 08 14:58:40 2016 +0000"
      },
      "message": "Merge \"Propagate InstructionSetFeatures to ElfBuilder.\""
    },
    {
      "commit": "316a2186b7fa9e03187d45ac0fa320f4dff1f3df",
      "tree": "ce6e7260d488a9f59eb96460ca6f4890267f7185",
      "parents": [
        "5d8112029d0e085c5a0099257daa4c7e29c12310"
      ],
      "author": {
        "name": "Douglas Leung",
        "email": "douglas.leung@imgtec.com",
        "time": "Thu Sep 17 15:26:25 2015 -0700"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Mar 08 13:46:50 2016 +0000"
      },
      "message": "Add Mips abiflags section to the oatfile.\n\nOnce this patch is merged, then the workaround patch:\n0acb15ead6a554a6879b29fd90726b9ea8fd98c4\nin bionic can be removed.\n\nChange-Id: Ie06a3c4e384a23a77db7d04a2508edbf3a6d3933\n"
    }
  ],
  "next": "5d8112029d0e085c5a0099257daa4c7e29c12310"
}
