)]}'
{
  "log": [
    {
      "commit": "55e681a0e659d523d0366b1805a87663a6760d4e",
      "tree": "e8de9303aec5a4b4245718bf21cbd49ef6efa36a",
      "parents": [
        "0c0e702b51397e58b9067a0f9c4254dd61a6cb2f",
        "db978719dbcb73fc6acfd193561445c4462786b8"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 09 13:34:09 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 09 13:34:11 2014 +0000"
      },
      "message": "Merge \"Revert \"Tidy gAborting.\"\""
    },
    {
      "commit": "db978719dbcb73fc6acfd193561445c4462786b8",
      "tree": "be75911bfbe29a50fff685217c8ee155fb99ac10",
      "parents": [
        "015b137efb434528173779bc3ec8d72494456254"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 09 13:33:38 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 09 13:33:38 2014 +0000"
      },
      "message": "Revert \"Tidy gAborting.\"\n\nCreates infinite loop: b/18674776.\n\nThis reverts commit 015b137efb434528173779bc3ec8d72494456254.\n\nChange-Id: I67fe310d2e95ee2ec37bec842be06fb1123b6f4e\n"
    },
    {
      "commit": "0c0e702b51397e58b9067a0f9c4254dd61a6cb2f",
      "tree": "fbc7983bbd076a27cb66a49c6b82723c66df0d3f",
      "parents": [
        "6bb3919e4413ad50f9b7e009829bba292b609e03",
        "550b748a6ed59b989a86bd066ac9ffd0ab7fb18d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 09 11:49:14 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 09 11:49:15 2014 +0000"
      },
      "message": "Merge \"Test now fails on amr64/optimizing after float rem changes.\""
    },
    {
      "commit": "550b748a6ed59b989a86bd066ac9ffd0ab7fb18d",
      "tree": "fbc7983bbd076a27cb66a49c6b82723c66df0d3f",
      "parents": [
        "6bb3919e4413ad50f9b7e009829bba292b609e03"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 09 11:40:22 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 09 11:40:22 2014 +0000"
      },
      "message": "Test now fails on amr64/optimizing after float rem changes.\n\nChange-Id: I0b5d7303e3d337b2195c3810069213b1530ab474\n"
    },
    {
      "commit": "6bb3919e4413ad50f9b7e009829bba292b609e03",
      "tree": "2b99a452959b6380ca5117a64648e83d63c9d6e2",
      "parents": [
        "d1780b98e5b58208e6836c8520dad2a2dadfe322",
        "8b858e16563ebf8e522df026a6ab409f1bd9b3de"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Dec 09 11:09:39 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 09 11:09:40 2014 +0000"
      },
      "message": "Merge \"Quick: Redefine the notion of back-egdes.\""
    },
    {
      "commit": "d1780b98e5b58208e6836c8520dad2a2dadfe322",
      "tree": "8439f2b4b1eccd3cd4508b67b1de96d3adb995ca",
      "parents": [
        "1f5f0f98b72530576f885ca7393d30b3ba7f40fc",
        "6d7839e03348111a4237f0d47d0e70bc81b32e7a"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Dec 09 10:42:01 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 09 10:42:02 2014 +0000"
      },
      "message": "Merge \"JDWP: avoid crash on unsupported modifier\""
    },
    {
      "commit": "6d7839e03348111a4237f0d47d0e70bc81b32e7a",
      "tree": "b499eff6e4bb4b57367a5acfbfd2deff58694e41",
      "parents": [
        "c4925d4c02dc8f8d51cb2653b5e7a99f6c9fd7d7"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Dec 05 10:52:15 2014 +0100"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Dec 09 11:40:13 2014 +0100"
      },
      "message": "JDWP: avoid crash on unsupported modifier\n\nReturns NOT_IMPLEMENTED error if we receive an event request with an\nunsupported modifier.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d81037\nBug: 18617787\n(cherry picked from commit 0fb33e7b7b0b86fb9c7b556e4a052874ec269bb0)\nChange-Id: I97729e2f98af3a75d24604926a89860255d4acae\n"
    },
    {
      "commit": "1f5f0f98b72530576f885ca7393d30b3ba7f40fc",
      "tree": "0afbe452a6d75fc69ee0f3a036342c60b3ac1353",
      "parents": [
        "5fd92d4b8dbb6bd3d4b698300c9f2ac524edbfd8",
        "486cc19e1e2eca4231f760117e95090c03e2d8c6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 09 10:19:05 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 09 10:19:06 2014 +0000"
      },
      "message": "Merge \"Explicitly mask constants in shift operations.\""
    },
    {
      "commit": "486cc19e1e2eca4231f760117e95090c03e2d8c6",
      "tree": "d9d21691ea0e019c0940d6c72b8593c75d810662",
      "parents": [
        "6c964c98400b8c0949d5e369968da2d4809b772f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 08 18:00:55 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 09 10:18:04 2014 +0000"
      },
      "message": "Explicitly mask constants in shift operations.\n\nThe assemblers expect an int8, so we mask ahead of calling them.\n\nChange-Id: Id668cda6853fa365ac02531bf7aae288cad20fcd\n"
    },
    {
      "commit": "8b858e16563ebf8e522df026a6ab409f1bd9b3de",
      "tree": "910900d8eefd5bed3f3c144894c970bb1973c71e",
      "parents": [
        "f7ebda43cb185b6414a2e86eef95eaf10b74db2c"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Nov 27 14:52:37 2014 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Dec 09 10:07:30 2014 +0000"
      },
      "message": "Quick: Redefine the notion of back-egdes.\n\nRedefine a back-edge to really mean an edge to a loop head\ninstead of comparing instruction offsets. Generate suspend\nchecks also on fall-through to a loop head; insert an extra\nGOTO for these edges.\n\nAdd suspend checks to fused cmp instructions.\n\nRewrite suspend check elimination to track whether there is\nan invoke on each path from the loop head to a given back\nedge, instead of using domination info to look for a basic\nblock with invoke that must be on each path. Ignore invokes\nto intrinsics and move the optimization to a its own pass.\n\nThe new loops in 109-suspend-check should prevent intrinsics\nand fused cmp-related regressions.\n\nBug: 18522004\nChange-Id: I96ac818f76ccf9419a6e70e9ec00555f9d487a9e\n"
    },
    {
      "commit": "5fd92d4b8dbb6bd3d4b698300c9f2ac524edbfd8",
      "tree": "af66246da3444529ccc36e128b00391015ff134d",
      "parents": [
        "e4ea6a9e73c3cb29e78183be3d30796e524a8a80",
        "838debd58b1c3be9cf7f308427bfd30248894679"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Dec 09 07:02:53 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 09 07:02:54 2014 +0000"
      },
      "message": "Merge \"Fix reference table sorting\""
    },
    {
      "commit": "838debd58b1c3be9cf7f308427bfd30248894679",
      "tree": "af66246da3444529ccc36e128b00391015ff134d",
      "parents": [
        "e4ea6a9e73c3cb29e78183be3d30796e524a8a80"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Dec 08 16:22:06 2014 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Dec 08 22:48:25 2014 -0800"
      },
      "message": "Fix reference table sorting\n\nBug: 18638116\n\n(cherry picked from commit 16abc5f28ac9792fd1ba2c82f123cfd871cddbdb)\n\nChange-Id: I15478306b3c2e2bd4f0a1d4307c001f64c0652af\n"
    },
    {
      "commit": "e4ea6a9e73c3cb29e78183be3d30796e524a8a80",
      "tree": "ba1353d9f57a853a090877bcd0df1dab7315bde5",
      "parents": [
        "b4d291f3101feb1bb9fa8e25273b264afa24e0be",
        "b0d22f178c0a8d1ee7d3692f282bb46c53cc2036"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Dec 09 01:25:31 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 09 01:25:32 2014 +0000"
      },
      "message": "Merge \"Make it possible to enable heap poisoning via make variable.\""
    },
    {
      "commit": "b0d22f178c0a8d1ee7d3692f282bb46c53cc2036",
      "tree": "dfe756bf4e6f75ce19b25f17e0b22eb403de7c05",
      "parents": [
        "a4b1eee59648703f8fab664b45d1d61c861c80fe"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Dec 08 12:08:46 2014 -0800"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Dec 08 13:54:52 2014 -0800"
      },
      "message": "Make it possible to enable heap poisoning via make variable.\n\nIf ART_HEAP_POISONING\u003dtrue, build with heap poisoning enabled.\n\nBug: 8367515\nChange-Id: I818e86047e6dd99b5bc9920713ef943a65b677e6\n"
    },
    {
      "commit": "b4d291f3101feb1bb9fa8e25273b264afa24e0be",
      "tree": "53cb258a3d1a09e03f9a146a99572bc36016dd93",
      "parents": [
        "a4b1eee59648703f8fab664b45d1d61c861c80fe",
        "4099b788d2797b1d5ad247296e7ca18e60f010c0"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Dec 08 21:42:02 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 08 21:42:03 2014 +0000"
      },
      "message": "Merge \"Re-add missing read barriers\""
    },
    {
      "commit": "4099b788d2797b1d5ad247296e7ca18e60f010c0",
      "tree": "53cb258a3d1a09e03f9a146a99572bc36016dd93",
      "parents": [
        "a4b1eee59648703f8fab664b45d1d61c861c80fe"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Dec 08 12:59:27 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Dec 08 12:59:51 2014 -0800"
      },
      "message": "Re-add missing read barriers\n\nAlso added DCHECKS\n\nChange-Id: Ie4c43432479e0e8db197f7a6568a33126e38ccdb\n"
    },
    {
      "commit": "a4b1eee59648703f8fab664b45d1d61c861c80fe",
      "tree": "5416b66e396a9bdf90ef812803cb5778a80f2096",
      "parents": [
        "52222d132e500235aeaa427e2f4139dc20ed9288",
        "38ebea4fa9513975bec6ef8d9c52b10267cb153c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Dec 08 20:06:54 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 08 20:06:55 2014 +0000"
      },
      "message": "Merge \"Clean up ReferenceTable::Dump\""
    },
    {
      "commit": "38ebea4fa9513975bec6ef8d9c52b10267cb153c",
      "tree": "5416b66e396a9bdf90ef812803cb5778a80f2096",
      "parents": [
        "52222d132e500235aeaa427e2f4139dc20ed9288"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Dec 08 11:50:36 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Dec 08 12:04:56 2014 -0800"
      },
      "message": "Clean up ReferenceTable::Dump\n\nMake sure that we never have nulls and cleared weak globals in the\nsorted table. Cleaned up comparator.\n\nBug: 18597401\nChange-Id: I5f437dfa29c813e17cdde411175abc927283716d\n"
    },
    {
      "commit": "52222d132e500235aeaa427e2f4139dc20ed9288",
      "tree": "829e865e555958266f7d58d664d764a33ee32803",
      "parents": [
        "6c964c98400b8c0949d5e369968da2d4809b772f",
        "cb873d8fd06b7dde4b69c5987b4eaf541d345a50"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Dec 08 19:03:05 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 08 19:03:06 2014 +0000"
      },
      "message": "Merge \"Quick: Kill unreachable blocks instead of just hiding them.\""
    },
    {
      "commit": "6c964c98400b8c0949d5e369968da2d4809b772f",
      "tree": "82c1893c0dbbd5a9b849b9c236fc775b4d20f3cc",
      "parents": [
        "c4925d4c02dc8f8d51cb2653b5e7a99f6c9fd7d7",
        "717a3e447c6f7a922cf9c3efe522747a187a045d"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Dec 08 18:38:42 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 08 18:38:43 2014 +0000"
      },
      "message": "Merge \"Re-factor Quick ABI support\""
    },
    {
      "commit": "c4925d4c02dc8f8d51cb2653b5e7a99f6c9fd7d7",
      "tree": "c315141775be96ba80f8efd9112f196c0364ded2",
      "parents": [
        "1495a8e6409238bca28a33fd47913e382a85ea79",
        "d2ec87d84057174d4884ee16f652cbcfd31362e9"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Dec 08 18:07:32 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 08 18:07:32 2014 +0000"
      },
      "message": "Merge \"[optimizing compiler] Add REM_FLOAT and REM_DOUBLE\""
    },
    {
      "commit": "d2ec87d84057174d4884ee16f652cbcfd31362e9",
      "tree": "9456c5851f157566380c37895407dfce4749bb4d",
      "parents": [
        "f551efff34c20e2f0cf962c3fc267204d5e7611f"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Dec 08 14:24:46 2014 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Dec 08 17:02:11 2014 +0000"
      },
      "message": "[optimizing compiler] Add REM_FLOAT and REM_DOUBLE\n\n- for arm, x86, x86_64 backends\n- reinstated fmod quick entry points for x86. This is a partial revert\nof bd3682eada753de52975ae2b4a712bd87dc139a6 which added inline assembly\nfor floting point rem on x86. Note that Quick still uses the inline\nversion.\n- fix rem tests for longs\n\nChange-Id: I73be19a9f2f2bcf3f718d9ca636e67bdd72b5440\n"
    },
    {
      "commit": "cb873d8fd06b7dde4b69c5987b4eaf541d345a50",
      "tree": "3e1614c8e57dfd262817512233319dd9ad526754",
      "parents": [
        "1495a8e6409238bca28a33fd47913e382a85ea79"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Dec 08 15:16:54 2014 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Dec 08 15:37:05 2014 +0000"
      },
      "message": "Quick: Kill unreachable blocks instead of just hiding them.\n\nThis changes the block type from kDalvikByteCode to kDead\nand properly cleans up predecessors and MIRGraph::catches_.\n\nBug: 18626174\nChange-Id: I268bf68f7947604bcb82caf95ee79c6831ee6e2a\n"
    },
    {
      "commit": "1495a8e6409238bca28a33fd47913e382a85ea79",
      "tree": "57bbc80d20131a3f7f78243952cdf744c8f68501",
      "parents": [
        "747f1627694e6bd0df488a0f2ad515487a6f3686",
        "93df9f901804fbfc7f79235a12b22f077da54841"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 08 14:00:55 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 08 14:00:56 2014 +0000"
      },
      "message": "Merge \"Test has been updated, does not fail anymore.\""
    },
    {
      "commit": "93df9f901804fbfc7f79235a12b22f077da54841",
      "tree": "b6b8aa0c4dce1d792a6cbf723934fab0790e81f0",
      "parents": [
        "ab74d3eae37de79444edd1edd70400970d5e85ad"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 08 14:00:02 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Dec 08 14:00:02 2014 +0000"
      },
      "message": "Test has been updated, does not fail anymore.\n\nChange-Id: Ie0506d048eb9dd7f356ba29ce8b58f9bec336ea0\n"
    },
    {
      "commit": "747f1627694e6bd0df488a0f2ad515487a6f3686",
      "tree": "4fc577f5573be610d0925c827b14e2080453ef3f",
      "parents": [
        "ab6572b564db69e2877456ca6fbd3a00f4cc4b6b",
        "b218c858606641050d13f35a2365168b89b44841"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Dec 08 12:42:28 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 08 12:42:29 2014 +0000"
      },
      "message": "Merge \"ART: Clear use count for unused VRs.\""
    },
    {
      "commit": "717a3e447c6f7a922cf9c3efe522747a187a045d",
      "tree": "736fca26f68838c71942f206917e5fe320a6ada9",
      "parents": [
        "90fe256384b5fcd955018888977df07a5c0d85f4"
      ],
      "author": {
        "name": "Serguei Katkov",
        "email": "serguei.i.katkov@intel.com",
        "time": "Thu Nov 13 17:19:42 2014 +0600"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Dec 08 11:33:54 2014 +0000"
      },
      "message": "Re-factor Quick ABI support\n\nNow every architecture must provide a mapper between\nVRs parameters and physical registers. Additionally as\na helper function architecture can provide a bulk copy\nhelper for GenDalvikArgs utility.\nAll other things becomes a common code stuff:\nGetArgMappingToPhysicalReg, GenDalvikArgsNoRange,\nGenDalvikArgsRange, FlushIns.\n\nMapper now uses shorty representation of input\nparameters. This is required due to location are not\nenough to detect the type of parameter (fp or core).\nFor the details\nsee https://android-review.googlesource.com/#/c/113936/.\n\nChange-Id: Ie762b921e0acaa936518ee6b63c9a9d25f83e434\nSigned-off-by: Serguei Katkov \u003cserguei.i.katkov@intel.com\u003e\n"
    },
    {
      "commit": "b218c858606641050d13f35a2365168b89b44841",
      "tree": "4fc577f5573be610d0925c827b14e2080453ef3f",
      "parents": [
        "ab6572b564db69e2877456ca6fbd3a00f4cc4b6b"
      ],
      "author": {
        "name": "Zheng Xu",
        "email": "zheng.xu@arm.com",
        "time": "Mon Dec 08 18:18:01 2014 +0800"
      },
      "committer": {
        "name": "Zheng Xu",
        "email": "zheng.xu@arm.com",
        "time": "Mon Dec 08 19:03:03 2014 +0800"
      },
      "message": "ART: Clear use count for unused VRs.\n\nThe use count of temp VR should be cleared when we replace\n\"CMP_XXX vA, vB, vC\" and \"IF_XXX vA\" with \"kMirOpFusedCmpXXX vB, vC\".\nOtherwise, the backend may allocate a physical register for the unused vA.\n\nChange-Id: I43ad37d0e7161ec3de154de8888caa94603f7715\n"
    },
    {
      "commit": "ab6572b564db69e2877456ca6fbd3a00f4cc4b6b",
      "tree": "01aec7771bdbc7c36555b0ae67a64ada114faeea",
      "parents": [
        "9d4c8dced5d7dc32cc4906bb320f066b82862159",
        "245ee0030e8e2aebf2231a65a3c475ed43fd4987"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Dec 06 00:08:38 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Dec 06 00:08:39 2014 +0000"
      },
      "message": "Merge \"ART: Fix string data leak in image writer\""
    },
    {
      "commit": "9d4c8dced5d7dc32cc4906bb320f066b82862159",
      "tree": "9c1e1bbea6cc0785a9737cc5610131cec15abd28",
      "parents": [
        "c8b975f8caceba001d64fa822f02390c929f2cd9",
        "a89d7ed6f091ac495cd43560ece6988776d14d61"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Dec 05 23:28:08 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 05 23:28:08 2014 +0000"
      },
      "message": "Merge \"Add pointer size logic to InitFromImageInterpretOnly\""
    },
    {
      "commit": "c8b975f8caceba001d64fa822f02390c929f2cd9",
      "tree": "d75e822b86f0f6c16a437a12bcad8f631ffc6958",
      "parents": [
        "3a074e1ca4faa1f1018e28d20f4d4e9f02034cf3",
        "d0a0b3e189e6f46d410d61dab4d0cce113be41d5"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Dec 05 23:08:58 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 05 23:09:00 2014 +0000"
      },
      "message": "Merge \"Fix arm unwind data for art code.\""
    },
    {
      "commit": "3a074e1ca4faa1f1018e28d20f4d4e9f02034cf3",
      "tree": "45269829e1d614e2ad20169784cb695550a39da1",
      "parents": [
        "d02bd695a024f98ea926db924a9bcb8c325c8c6b",
        "4a4dd707ad78a0913650f9af8425a6a451b0cdbe"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Dec 05 21:42:56 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 05 21:42:57 2014 +0000"
      },
      "message": "Merge \"Make dex2oat 32bits when HOST_PREFER_32_BIT\u003dtrue.\""
    },
    {
      "commit": "a89d7ed6f091ac495cd43560ece6988776d14d61",
      "tree": "d416d6035e2061005e201d7d101890f81bed82a6",
      "parents": [
        "ab74d3eae37de79444edd1edd70400970d5e85ad"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Dec 05 10:57:13 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Dec 05 13:11:12 2014 -0800"
      },
      "message": "Add pointer size logic to InitFromImageInterpretOnly\n\nPreviously we didn\u0027t have this logic which broke dex2oat if passed\n--runtime-option -Xint flag.\n\nAlso we now no longer call InitFromImageInterpretOnlyCallback if\nwe are the compiler.\n\nBug: 18631640\nChange-Id: Ie84fceeb85cabeeec7a5fedefd73dd919cca8e5e\n"
    },
    {
      "commit": "d02bd695a024f98ea926db924a9bcb8c325c8c6b",
      "tree": "78265334074716714176f101903163e52b46f4c7",
      "parents": [
        "ab74d3eae37de79444edd1edd70400970d5e85ad",
        "0a7993ee8796e75ea7f251b7cb9e32f2f4335333"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Dec 05 19:37:19 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 05 19:37:19 2014 +0000"
      },
      "message": "Merge \"ART: Fix typo\""
    },
    {
      "commit": "245ee0030e8e2aebf2231a65a3c475ed43fd4987",
      "tree": "e3dc0d99669cd050185ea2da914612ad1017dc36",
      "parents": [
        "ab74d3eae37de79444edd1edd70400970d5e85ad"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 04 21:25:04 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Dec 05 11:34:21 2014 -0800"
      },
      "message": "ART: Fix string data leak in image writer\n\nThe string intern data is a large object, so it will be recognized\nas leaking under valgrind.\n\nBug: 18628623\nChange-Id: I9090db119a50eebd806a82369bd46527c4e7dbf0\n"
    },
    {
      "commit": "0a7993ee8796e75ea7f251b7cb9e32f2f4335333",
      "tree": "452019b4d87d9a27b10709240ec46f3ef12a5d81",
      "parents": [
        "aad9c0767a8f8ae6250a7b4edee52cfb6d598687"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Dec 05 11:16:26 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Dec 05 11:16:26 2014 -0800"
      },
      "message": "ART: Fix typo\n\nChange-Id: Ie9a242240511adae9fcdbaae8d6b5be61fb5075b\n"
    },
    {
      "commit": "ab74d3eae37de79444edd1edd70400970d5e85ad",
      "tree": "6069d8dcc458f7429f7f22d8ba14a93c454feb98",
      "parents": [
        "15cdca8a5397099d11a76ef4a4a035a291ed78d0",
        "edfdaf37d5520a3c3a858b6b3fba4f759c60dadc"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Dec 05 16:13:02 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 05 16:13:02 2014 +0000"
      },
      "message": "Merge \"Revert \"Re-enable one thread dumping the native stack of another.\"\""
    },
    {
      "commit": "edfdaf37d5520a3c3a858b6b3fba4f759c60dadc",
      "tree": "4b08c00ba9bc427771413a758c669df56dbba62d",
      "parents": [
        "e652b62c581a3d68b1fc82e0b04e3a59dd633e52"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Dec 05 16:12:21 2014 +0000"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Dec 05 16:12:21 2014 +0000"
      },
      "message": "Revert \"Re-enable one thread dumping the native stack of another.\"\n\nThis reverts commit e652b62c581a3d68b1fc82e0b04e3a59dd633e52.\n\nChange-Id: Ida56d2c23849c1ede82a22100df402877256e270\n"
    },
    {
      "commit": "15cdca8a5397099d11a76ef4a4a035a291ed78d0",
      "tree": "7611bab21b5e73009c5c10c33746cd83695c977b",
      "parents": [
        "f551efff34c20e2f0cf962c3fc267204d5e7611f",
        "9af6929d12d843ef1891fc0733746f7fa7ecedd4"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Dec 05 16:04:40 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 05 16:04:41 2014 +0000"
      },
      "message": "Merge \"Quick: Fix code layout pass; don\u0027t terminate too early.\""
    },
    {
      "commit": "f551efff34c20e2f0cf962c3fc267204d5e7611f",
      "tree": "800d36ef373f93a269cf30d11376abea5f98dff1",
      "parents": [
        "7f8f9489c1803fd40f52aec3cda784fe02e78c95",
        "faeda18bb13d9df9af59b90a24e558be835f5361"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Dec 05 15:34:50 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 05 15:34:51 2014 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Rewrite ImageWriter\u0027s merging of String char[]s.\"\"\""
    },
    {
      "commit": "9af6929d12d843ef1891fc0733746f7fa7ecedd4",
      "tree": "433a3dfcadbc89afd0e5b9ca922b52e1cf42cedb",
      "parents": [
        "7f8f9489c1803fd40f52aec3cda784fe02e78c95"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Dec 05 13:55:42 2014 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Dec 05 13:55:42 2014 +0000"
      },
      "message": "Quick: Fix code layout pass; don\u0027t terminate too early.\n\nChange-Id: I0c417fdc2ee8213672a7568fe228e5e2f1c1ab61\n"
    },
    {
      "commit": "7f8f9489c1803fd40f52aec3cda784fe02e78c95",
      "tree": "9bd92a869485371c2bb94b0300ba554e29daf2db",
      "parents": [
        "abb3977bf924b923b45ae234a48be739035bbd32",
        "70a998c77587712e4bd5348e304bd8a11aa9d8f9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Dec 05 12:12:48 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 05 12:12:49 2014 +0000"
      },
      "message": "Merge \"Make script suitable for vogar use on device.\""
    },
    {
      "commit": "abb3977bf924b923b45ae234a48be739035bbd32",
      "tree": "15a9480c654adbbf77e15a9804eb7777a76bac22",
      "parents": [
        "355e3b1cc67c263268289021268109ae5432537a",
        "4c0b61f506644bb6b647be05d02c5fb45b9ceb48"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Dec 05 12:08:39 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 05 12:08:40 2014 +0000"
      },
      "message": "Merge \"Add support for double-to-int \u0026 double-to-long in optimizing.\""
    },
    {
      "commit": "70a998c77587712e4bd5348e304bd8a11aa9d8f9",
      "tree": "387b652f37072bf35c50b431ea1a631d9c008fc6",
      "parents": [
        "b510c82ebaf11cf6f4f215f6237ee6a44861ef10"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Dec 04 17:05:22 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Dec 05 12:08:27 2014 +0000"
      },
      "message": "Make script suitable for vogar use on device.\n\nAlso update device expectations that need investigation.\n\nChange-Id: I86a613f3f62c2f999296f8b7505646a96ab4adf8\n"
    },
    {
      "commit": "4c0b61f506644bb6b647be05d02c5fb45b9ceb48",
      "tree": "26ff4e14af3cae5f9b30f65177be258d8259ecee",
      "parents": [
        "7c8ce29e97fb7873160ab8895d847e9643a1f8f6"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Dec 05 12:06:01 2014 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Dec 05 12:06:01 2014 +0000"
      },
      "message": "Add support for double-to-int \u0026 double-to-long in optimizing.\n\n- Add support for the double-to-int and double-to-long Dex\n  instructions in the optimizing compiler.\n- Add S1 to the list of ARM FPU parameter registers so that\n  a double value can be passed as parameter during a call\n  to the runtime through D0.\n- Have art::x86_64::X86_64Assembler::cvttsd2si work with\n  64-bit operands.\n- Generate x86, x86-64 and ARM (but not ARM64) code for\n  double to int and double to long HTypeConversion nodes.\n- Add related tests to test/422-type-conversion.\n\nChange-Id: Ic93b9ec6630c26e940f7966a3346ad3fd5a2ab3a\n"
    },
    {
      "commit": "4a4dd707ad78a0913650f9af8425a6a451b0cdbe",
      "tree": "e362fba870599b5237a9778bafd92a7815de8a94",
      "parents": [
        "355e3b1cc67c263268289021268109ae5432537a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Dec 05 11:55:41 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Dec 05 11:55:41 2014 +0000"
      },
      "message": "Make dex2oat 32bits when HOST_PREFER_32_BIT\u003dtrue.\n\nChange-Id: Id6465c697512f32402bdf71c75e52db47f1fb0a2\n"
    },
    {
      "commit": "355e3b1cc67c263268289021268109ae5432537a",
      "tree": "42cba0668fe1898cec136dc8a8b6f3f4ff45878c",
      "parents": [
        "c5454372f23da8248c84c29e251fb1b21c421a63",
        "e652b62c581a3d68b1fc82e0b04e3a59dd633e52"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Dec 05 04:37:05 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 05 04:37:06 2014 +0000"
      },
      "message": "Merge \"Re-enable one thread dumping the native stack of another.\""
    },
    {
      "commit": "e652b62c581a3d68b1fc82e0b04e3a59dd633e52",
      "tree": "42cba0668fe1898cec136dc8a8b6f3f4ff45878c",
      "parents": [
        "c5454372f23da8248c84c29e251fb1b21c421a63"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Dec 04 20:11:48 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Dec 04 20:11:48 2014 -0800"
      },
      "message": "Re-enable one thread dumping the native stack of another.\n\nBug: 15446488\nChange-Id: I49d4d283f7b7d04b9d8c940313d6c5107ba9f99d\n"
    },
    {
      "commit": "c5454372f23da8248c84c29e251fb1b21c421a63",
      "tree": "4b08c00ba9bc427771413a758c669df56dbba62d",
      "parents": [
        "aad9c0767a8f8ae6250a7b4edee52cfb6d598687",
        "015b137efb434528173779bc3ec8d72494456254"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Dec 05 04:05:51 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 05 04:05:51 2014 +0000"
      },
      "message": "Merge \"Tidy gAborting.\""
    },
    {
      "commit": "015b137efb434528173779bc3ec8d72494456254",
      "tree": "2ccaba9d7465bd9995082a7251d34cf76b1ab1ea",
      "parents": [
        "a21fdd0432aa38b63d144ee4b92b6a567aab61d2"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Dec 04 19:53:52 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Dec 04 20:04:45 2014 -0800"
      },
      "message": "Tidy gAborting.\n\nReduce scope to Runtime::Abort and short-cut recursive case earlier. gAborting\nremains global to avoid two fatal errors in thread and the verifier.\n\nChange-Id: Ibc893f891ffee9a763c65cde9507d99083d47b3f\n"
    },
    {
      "commit": "faeda18bb13d9df9af59b90a24e558be835f5361",
      "tree": "f5ee12d3771bf10cf674f7c5054e1c5a865e566f",
      "parents": [
        "aad9c0767a8f8ae6250a7b4edee52cfb6d598687"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Dec 04 14:52:25 2014 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 04 18:18:11 2014 -0800"
      },
      "message": "Revert \"Revert \"Rewrite ImageWriter\u0027s merging of String char[]s.\"\"\n\nThis reverts commit 4c964de8832551b701ce7b3162bc51cc6b22fc8a.\n\nChange-Id: I940bdf48e2dbaef0f809beda32756507d18acb89\n"
    },
    {
      "commit": "aad9c0767a8f8ae6250a7b4edee52cfb6d598687",
      "tree": "f0f7d8a245851acd0409535640a804be5db7a6bb",
      "parents": [
        "044ac4f4f6760eeef4ed96b5349a8a5c325c52f1",
        "0418b5b20587c645b6bf9d8cb65d3d6a9f074d96"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Dec 05 01:25:34 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 05 01:25:35 2014 +0000"
      },
      "message": "Merge \"ART: Fix linting errors\""
    },
    {
      "commit": "0418b5b20587c645b6bf9d8cb65d3d6a9f074d96",
      "tree": "f0f7d8a245851acd0409535640a804be5db7a6bb",
      "parents": [
        "044ac4f4f6760eeef4ed96b5349a8a5c325c52f1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 04 17:24:50 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 04 17:24:50 2014 -0800"
      },
      "message": "ART: Fix linting errors\n\nFix bounds_check_elimination linting errors.\n\nChange-Id: I040433ecbc84d740bff331c37df0bfcc64dc244e\n"
    },
    {
      "commit": "044ac4f4f6760eeef4ed96b5349a8a5c325c52f1",
      "tree": "89263eae1b447de21b1b2bfa9b8839499de71d5c",
      "parents": [
        "a21fdd0432aa38b63d144ee4b92b6a567aab61d2",
        "f384f88d4d1e89df82f47fbc7245a8acc9c2d49c"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Fri Dec 05 01:06:53 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 05 01:06:54 2014 +0000"
      },
      "message": "Merge \"Bounds check elimination.\""
    },
    {
      "commit": "a21fdd0432aa38b63d144ee4b92b6a567aab61d2",
      "tree": "be75911bfbe29a50fff685217c8ee155fb99ac10",
      "parents": [
        "7be36ae7979eb62dc34c59b18b0bb1202ffefa3f",
        "27dee8bcd7b4a53840b60818da8d2c819ef199bd"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Dec 05 00:34:38 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 05 00:34:38 2014 +0000"
      },
      "message": "Merge \"X86_64 QBE: use RIP addressing\""
    },
    {
      "commit": "7be36ae7979eb62dc34c59b18b0bb1202ffefa3f",
      "tree": "c82b0a56e8974c42a3caf2bfb234f60f98b3913b",
      "parents": [
        "63130d07713dc3eaa3ce156e3f7b8f0b0e06cd61",
        "e4d4d323aa42506351b03e842818e9ec09ea6c37"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 04 23:59:55 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 04 23:59:56 2014 +0000"
      },
      "message": "Merge \"ART: Add SparseSwitch support to the optimizing compiler\""
    },
    {
      "commit": "e4d4d323aa42506351b03e842818e9ec09ea6c37",
      "tree": "5df6c117bc518a8c4db6777b89b5dfd23a53ed88",
      "parents": [
        "7c8ce29e97fb7873160ab8895d847e9643a1f8f6"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 04 09:09:57 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 04 15:58:34 2014 -0800"
      },
      "message": "ART: Add SparseSwitch support to the optimizing compiler\n\nAdd simple sparse-switch support through chained IFs. Refactor a\nbit to better reuse code between switch types.\n\nNow enables compiled versions of 015-switch and 095-switch-MAX_INT.\n\nBug: 18410979\nChange-Id: Ib617e4b877f0b7fbc3bb289800f612f013480713\n"
    },
    {
      "commit": "63130d07713dc3eaa3ce156e3f7b8f0b0e06cd61",
      "tree": "03567c367798d048d1cdebd0c6ca5c6c79d2fab4",
      "parents": [
        "d421eb47fa27e8e11eaf2a3512ada9fd58b8a12b",
        "088b16e202904114c0fe13900e517b1c15c981c1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 04 22:06:01 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 04 22:06:01 2014 +0000"
      },
      "message": "Merge \"ART: Wire up a valgrind-wrapped dex2oat run\""
    },
    {
      "commit": "d421eb47fa27e8e11eaf2a3512ada9fd58b8a12b",
      "tree": "3509af9c81266da47ca7e4a739b37bfc105b6fc1",
      "parents": [
        "d4605cb8e8260fdec8a05f675788b154f486baa4",
        "95b033ba10d0bd5be91ec868280b9b97ad6666be"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Dec 04 21:51:05 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 04 21:51:06 2014 +0000"
      },
      "message": "Merge \"Remove dex2oat watchdog warning\""
    },
    {
      "commit": "27dee8bcd7b4a53840b60818da8d2c819ef199bd",
      "tree": "0cee4ca5dd80368703ac4b5a1139867fd0bba797",
      "parents": [
        "b510c82ebaf11cf6f4f215f6237ee6a44861ef10"
      ],
      "author": {
        "name": "Mark Mendell",
        "email": "mark.p.mendell@intel.com",
        "time": "Mon Dec 01 19:06:12 2014 -0500"
      },
      "committer": {
        "name": "Mark Mendell",
        "email": "mark.p.mendell@intel.com",
        "time": "Thu Dec 04 16:31:03 2014 -0500"
      },
      "message": "X86_64 QBE: use RIP addressing\n\nTake advantage of RIP addressing in 64 bit mode to improve the code\ngeneration for accesses to the constant area as well as packed switches.\nAvoid computing the address of the start of the method, which is needed\nin 32 bit mode.\n\nTo do this, we add a new \u0027pseudo-register\u0027 kRIPReg to minimize the\nchanges needed to get the new addressing mode to be generated.\n\nChange-Id: Ia28c93f98b09939806d91ff0bd7392e58996d108\nSigned-off-by: Mark Mendell \u003cmark.p.mendell@intel.com\u003e\n"
    },
    {
      "commit": "d0a0b3e189e6f46d410d61dab4d0cce113be41d5",
      "tree": "2a18b6467fa5f3df9f6e4acbe8b76d291de8367a",
      "parents": [
        "8b9a97e8b6ed97ff1991596cbd0f7ce78f004766"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Oct 30 19:04:13 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Dec 04 12:20:31 2014 -0800"
      },
      "message": "Fix arm unwind data for art code.\n\nBug: 17392751\nChange-Id: Ic85d4468b0f931aa9e38dee12d466a1e04ebf944\n"
    },
    {
      "commit": "d4605cb8e8260fdec8a05f675788b154f486baa4",
      "tree": "4baef6f0dce66d25154d6df7ee18b38ae1ba6bde",
      "parents": [
        "b510c82ebaf11cf6f4f215f6237ee6a44861ef10",
        "5567c11b9157eec110c0631aa2bff5836631e868"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Dec 04 19:57:01 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 04 19:57:01 2014 +0000"
      },
      "message": "Merge \"Make Barrier robust against spurious wakeups\""
    },
    {
      "commit": "95b033ba10d0bd5be91ec868280b9b97ad6666be",
      "tree": "05f3666464423eab1a38936de169a5cc87638acf",
      "parents": [
        "b510c82ebaf11cf6f4f215f6237ee6a44861ef10"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Dec 03 22:29:37 2014 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Dec 04 10:27:21 2014 -0800"
      },
      "message": "Remove dex2oat watchdog warning\n\nThe warning output is breaking vm-tests on some devices. It does not\nseem to serve much of a purpose given that it does not go to logcat\nand long running compiles can be identified by the time summary\nprinted at the end of dex2oat.\n\n(cherry picked from commit c1bfaa22570b4f771ae1cd832201b01ec84e32c1)\n\nBug: 18609574\nChange-Id: Iefc3c51be35ceaff0031522c4d6c2cdf5703dcb6\n"
    },
    {
      "commit": "5567c11b9157eec110c0631aa2bff5836631e868",
      "tree": "6385002190e857aa2cedd813f461bb6b038fe4c5",
      "parents": [
        "27478e627e08ab42c43d5d934da9ea336ccaf628"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Dec 02 18:31:31 2014 -0800"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Dec 04 10:20:12 2014 -0800"
      },
      "message": "Make Barrier robust against spurious wakeups\n\nFix Barrier implementation so that Wait cannot return prematurely\ndue to a spurious condition variable wakeup or interrupted futex call.\n\nDocument the resulting semantics of barrier.h, which are a bit surprising,\nbut appear to be exactly what current clients need.\n\nFix the test so that it actually passes with the fixed barrier.h,\nand no longer tests for properties that can\u0027t be correctly satisfied.\n\nImprove comment for InitTimeSpec, which we almost used.\n\nBug:18509123\n\nChange-Id: I0b25f33bcd22322ba04e3951cd484843788c2bf5\n"
    },
    {
      "commit": "b510c82ebaf11cf6f4f215f6237ee6a44861ef10",
      "tree": "cb21385636b6cd223185d374ae5ca6e66a66ae33",
      "parents": [
        "283e2d6023be41bfc359cb57c7af062984b1b682",
        "14317f030db862bb2210135b9af510df429059fd"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Dec 04 17:50:45 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 04 17:50:46 2014 +0000"
      },
      "message": "Merge \"Remove unused headers.\""
    },
    {
      "commit": "283e2d6023be41bfc359cb57c7af062984b1b682",
      "tree": "26caa367844fa6f7ee05f7b0609722ab52ce5b76",
      "parents": [
        "7c8ce29e97fb7873160ab8895d847e9643a1f8f6",
        "5e4d513eee15211985b3a711fb689b964f48b39f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Dec 04 17:33:13 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 04 17:33:13 2014 +0000"
      },
      "message": "Merge \"On arm64/optimizing, compile the boot image with interpreter.\""
    },
    {
      "commit": "5e4d513eee15211985b3a711fb689b964f48b39f",
      "tree": "26caa367844fa6f7ee05f7b0609722ab52ce5b76",
      "parents": [
        "7c8ce29e97fb7873160ab8895d847e9643a1f8f6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Dec 04 17:25:00 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Dec 04 17:25:00 2014 +0000"
      },
      "message": "On arm64/optimizing, compile the boot image with interpreter.\n\nOterhwise the tests will fail because the backend is not fully\nimplemented yet.\n\nChange-Id: I9dbd45279c7e515b52656825e1d4be92961b0da6\n"
    },
    {
      "commit": "7c8ce29e97fb7873160ab8895d847e9643a1f8f6",
      "tree": "76a45f69cd12c9ad43d87187b4a932eac89a28fa",
      "parents": [
        "8a717bc12bf30c5ad2b8764f89abe6c5ec72bb42",
        "d881df5aad7950a185480876951762c1f60ea708"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 04 17:09:45 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 04 17:09:45 2014 +0000"
      },
      "message": "Merge \"ART: Add PackedSwitch support to the optimizing compiler\""
    },
    {
      "commit": "d881df5aad7950a185480876951762c1f60ea708",
      "tree": "4609e13b55cf8a4525cb54682eee75ec710bd216",
      "parents": [
        "8b9a97e8b6ed97ff1991596cbd0f7ce78f004766"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 24 23:28:39 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Dec 04 17:08:45 2014 +0000"
      },
      "message": "ART: Add PackedSwitch support to the optimizing compiler\n\nAdd simple packed-switch support through chained IFs.\n\nNow enables compiled versions of 015-switch and 095-switch-MAX_INT.\n\nChange-Id: I17cc8d659d1dd2d64227851c23998c04367e8cf5"
    },
    {
      "commit": "8a717bc12bf30c5ad2b8764f89abe6c5ec72bb42",
      "tree": "d03bf897c7bf3628fe6a37a1f88592c9ad9aa782",
      "parents": [
        "c12226152c18536f2df6591821d5370fc1fb57fa",
        "72c25a905f4a13a54b6475d86622b75604ef9dbb"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Dec 04 16:46:27 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 04 16:46:27 2014 +0000"
      },
      "message": "Merge \"Temporary disable the test.\""
    },
    {
      "commit": "72c25a905f4a13a54b6475d86622b75604ef9dbb",
      "tree": "ed7e7222b81bc7c236ec418f43f9fc4253fe0b39",
      "parents": [
        "875ca0fb97a8652920292ec0ecd5aaf54d2a3b2e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Dec 04 16:44:58 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Dec 04 16:44:58 2014 +0000"
      },
      "message": "Temporary disable the test.\n\nTest fails when the boot image is compiled with optimizing. Disabling\nwhile investigating.\n\nChange-Id: I2b665cf79ea2a5edbdbfc4aee3c6b381c837d658\n"
    },
    {
      "commit": "c12226152c18536f2df6591821d5370fc1fb57fa",
      "tree": "e545daa4a6825566290b164609f5d8cbec16114f",
      "parents": [
        "875ca0fb97a8652920292ec0ecd5aaf54d2a3b2e",
        "5d672a682637882743bab12c2c842f5c0ffb77c6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Dec 04 15:11:10 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 04 15:11:11 2014 +0000"
      },
      "message": "Merge \"Build core.oat without flags.\""
    },
    {
      "commit": "5d672a682637882743bab12c2c842f5c0ffb77c6",
      "tree": "e545daa4a6825566290b164609f5d8cbec16114f",
      "parents": [
        "875ca0fb97a8652920292ec0ecd5aaf54d2a3b2e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Dec 04 14:39:31 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Dec 04 14:46:17 2014 +0000"
      },
      "message": "Build core.oat without flags.\n\nExisting tools (like vogar) assume only one boot image, so to test the\nboot image compiled with the optimizing compiler, we have to compile\ncore.oat with it.\n\nChange-Id: I4b55236163333709b05c80eea18778ecd2b58a91\n"
    },
    {
      "commit": "875ca0fb97a8652920292ec0ecd5aaf54d2a3b2e",
      "tree": "6dd32239fd6b573866c0d06504178e037fd31ad2",
      "parents": [
        "0540330d5d262770002a28f8d81588f7cc28d374",
        "4c964de8832551b701ce7b3162bc51cc6b22fc8a"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Dec 04 12:31:16 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 04 12:31:17 2014 +0000"
      },
      "message": "Merge \"Revert \"Rewrite ImageWriter\u0027s merging of String char[]s.\"\""
    },
    {
      "commit": "0540330d5d262770002a28f8d81588f7cc28d374",
      "tree": "9909dfb2f891d12cc9ad6aabebfba9f535014609",
      "parents": [
        "833e903b7a9063f37bea3c505cf134fc4a4e2084",
        "8964e2b689d80fe546604ac8c724078645095cf1"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Dec 04 12:30:06 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 04 12:30:07 2014 +0000"
      },
      "message": "Merge \"Add support for float-to-double \u0026 double-to-float in optimizing.\""
    },
    {
      "commit": "4c964de8832551b701ce7b3162bc51cc6b22fc8a",
      "tree": "8aefbf7a2eac4d85197a1bb17060b0bcd0b1c5d7",
      "parents": [
        "c73743cfd9718a8e1eeb9c9220c182a475935a1c"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Dec 04 12:29:32 2014 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Dec 04 12:29:32 2014 +0000"
      },
      "message": "Revert \"Rewrite ImageWriter\u0027s merging of String char[]s.\"\n\nThis reverts commit c73743cfd9718a8e1eeb9c9220c182a475935a1c.\n\nChange-Id: Id7ee22ff0ebcd2df0f8c2f4432977dbcd81b0b56\n"
    },
    {
      "commit": "8964e2b689d80fe546604ac8c724078645095cf1",
      "tree": "9909dfb2f891d12cc9ad6aabebfba9f535014609",
      "parents": [
        "833e903b7a9063f37bea3c505cf134fc4a4e2084"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Dec 04 12:10:50 2014 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Dec 04 12:10:50 2014 +0000"
      },
      "message": "Add support for float-to-double \u0026 double-to-float in optimizing.\n\nChange-Id: I41b0fee5a28c83757697c8d000b7e224cf5a4534\n"
    },
    {
      "commit": "833e903b7a9063f37bea3c505cf134fc4a4e2084",
      "tree": "3e2fad98dc69bc1c993a1865141be39fb8fe372e",
      "parents": [
        "3947000d3c84e87558471fb703ed330f457804d7",
        "624279f3c70f9904cbaf428078981b05d3b324c0"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Dec 04 12:01:55 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 04 12:01:55 2014 +0000"
      },
      "message": "Merge \"Add support for float-to-long in the optimizing compiler.\""
    },
    {
      "commit": "624279f3c70f9904cbaf428078981b05d3b324c0",
      "tree": "a81f8d8facfc28cac479a68a1042edc74c36d25b",
      "parents": [
        "9a64a46e8edfa89402598d8650b8ebb337ba3d52"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Dec 04 11:54:28 2014 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Dec 04 11:54:28 2014 +0000"
      },
      "message": "Add support for float-to-long in the optimizing compiler.\n\n- Add support for the float-to-long Dex instruction in the\n  optimizing compiler.\n- Add a Dex PC field to art::HTypeConversion to allow the\n  x86 and ARM code generators to produce runtime calls.\n- Instruct art::CodeGenerator::RecordPcInfo not to record\n  PC information for HTypeConversion instructions.\n- Add S0 to the list of ARM FPU parameter registers.\n- Have art::x86_64::X86_64Assembler::cvttss2si work with\n  64-bit operands.\n- Generate x86, x86-64 and ARM (but not ARM64) code for\n  float to long HTypeConversion nodes.\n- Add related tests to test/422-type-conversion.\n\nChange-Id: I954214f0d537187883f83f7a83a1bb2dd8a21fd4\n"
    },
    {
      "commit": "3947000d3c84e87558471fb703ed330f457804d7",
      "tree": "be10b560c8c0520ff2105e7677cd7990e8f24051",
      "parents": [
        "baede348efa86600e64fb9db43cec1eef07c86d9",
        "c73743cfd9718a8e1eeb9c9220c182a475935a1c"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Dec 04 11:31:34 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 04 11:31:35 2014 +0000"
      },
      "message": "Merge \"Rewrite ImageWriter\u0027s merging of String char[]s.\""
    },
    {
      "commit": "c73743cfd9718a8e1eeb9c9220c182a475935a1c",
      "tree": "89d07478b09f958c4bf9fe8a141de288702de64c",
      "parents": [
        "3389ca715ebb3d66ba192b657854f8b18e851ba8"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Dec 03 15:28:15 2014 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Dec 04 11:29:27 2014 +0000"
      },
      "message": "Rewrite ImageWriter\u0027s merging of String char[]s.\n\nSimply sort the Strings and then look at two consecutive\nStrings to find prefixes and duplicates. Avoid unnecessary\nmemory allocations.\n\nChange-Id: I996306ed4b31e61f9f0def8f3bcce71eb01c9265\n"
    },
    {
      "commit": "baede348efa86600e64fb9db43cec1eef07c86d9",
      "tree": "7ab2c2a69c72b7cd2ce1b7bf1ed9d26b07e4fd7e",
      "parents": [
        "989210eb453898bd94bf3527f18f6146b07aa4bb",
        "6963e44331258b131bcc0599b868ba15902d6d22"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Dec 04 10:21:02 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 04 10:21:02 2014 +0000"
      },
      "message": "Merge \"JDWP: fix breakpoint for method in the image\""
    },
    {
      "commit": "989210eb453898bd94bf3527f18f6146b07aa4bb",
      "tree": "815f054b5f1f8cf3a7d040f4f38bf7f0b9cb209a",
      "parents": [
        "4334f95705d8efcbb34ffc5165c3f866eaa8086f",
        "aed3ad734c47fdccf179ff65971284a0d38583cd"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Dec 04 10:12:23 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 04 10:12:24 2014 +0000"
      },
      "message": "Merge \"Quick: Use fewer insns for ARM LDR/STR with large offsets.\""
    },
    {
      "commit": "aed3ad734c47fdccf179ff65971284a0d38583cd",
      "tree": "c7b303fbb64a686175356c564d3547a94fe4d46f",
      "parents": [
        "a29f698b1754ee0ea2f46b6f5900e0da840dff79"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Dec 03 12:16:56 2014 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Dec 04 10:11:03 2014 +0000"
      },
      "message": "Quick: Use fewer insns for ARM LDR/STR with large offsets.\n\nLDR with large offset is frequently used for reading from\nDexCache arrays, for example for static and direct invokes.\nSTR with large offset is rarely used but it\u0027s updated for\nconsistency.\n\nChange-Id: I75871416cecbfd7fe7de590922cea0376a2f4019\n"
    },
    {
      "commit": "4334f95705d8efcbb34ffc5165c3f866eaa8086f",
      "tree": "23727110baac19fe50cef6f79f262e8baad8a5a4",
      "parents": [
        "31bacb9da9c931aa04489b0701172c4a35a20e31",
        "3389ca715ebb3d66ba192b657854f8b18e851ba8"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Dec 04 10:08:07 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 04 10:08:08 2014 +0000"
      },
      "message": "Merge \"Call ProcessStrings() in ImageWriter, fix prefix check.\""
    },
    {
      "commit": "6963e44331258b131bcc0599b868ba15902d6d22",
      "tree": "24ef16e739e99d3e9d980f2acde8dd301c236c37",
      "parents": [
        "220526b05d4365a1820a694c98527eda2d3dc980"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Nov 26 22:11:27 2014 +0100"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Dec 04 10:20:24 2014 +0100"
      },
      "message": "JDWP: fix breakpoint for method in the image\n\nWhen we set a breakpoint in a compiled method, we deoptimize it by\nchanging its entrypoint so it is executed with the interpreter.\nHowever, methods in the image can be called with their direct code\npointer, ignoring the updated entrypoint. In that case, the method\nis not executed with the interpreter and we miss the breakpoint.\n\nThis CL avoids that situation by forcing a full deoptimization so\neverything runs with the interpreter. However, if the image has been\ncompiled in PIC mode, we keep using selective deoptimization because\ndirect code pointer is not used in this mode.\n\nBug: 17965285\nChange-Id: Icaf8cbb7fe9ad01d36f7378c59d50d9ce42ae57f\n"
    },
    {
      "commit": "088b16e202904114c0fe13900e517b1c15c981c1",
      "tree": "93a17a620483475bdcd0a438cb8f80056c5d290c",
      "parents": [
        "31bacb9da9c931aa04489b0701172c4a35a20e31"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Dec 03 21:59:27 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Dec 03 22:04:06 2014 -0800"
      },
      "message": "ART: Wire up a valgrind-wrapped dex2oat run\n\nExtend build-art-executable to understand multilib\u003dboth, in which\ncase a stem is necessary. Use name32 for the 32b version, and name\nfor the 64b version (or only version).\n\nCreate both 32b and 64b dex2oat on the host.\n\nExtend the core generation rules to allow a wrapper. Create rules\nto run with valgrind: valgrind-test-art-host-dex2oat.\n\nCurrently this is not wired up to valgrind-test-art-host, as valgrind\nreports an error on exit.\n\nNote: this takes a long time, as by default the debug version of\ndex2oat is used. The author has seen runs of about 6 minutes.\n\nBug: 18605772\nChange-Id: I32c270d2cf8a104f154bdf91875670b03d3f5d3b\n"
    },
    {
      "commit": "31bacb9da9c931aa04489b0701172c4a35a20e31",
      "tree": "08a8bf01ddfc0fd3a012faac2b49fafa5853e56f",
      "parents": [
        "8b9a97e8b6ed97ff1991596cbd0f7ce78f004766",
        "ab972ef472001fa113d54486d7592979e33480b3"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Dec 04 02:28:28 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 04 02:28:28 2014 +0000"
      },
      "message": "Merge \"Remove method verification results right after compiling a method\""
    },
    {
      "commit": "ab972ef472001fa113d54486d7592979e33480b3",
      "tree": "08a8bf01ddfc0fd3a012faac2b49fafa5853e56f",
      "parents": [
        "8b9a97e8b6ed97ff1991596cbd0f7ce78f004766"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Dec 03 17:38:22 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Dec 03 18:27:43 2014 -0800"
      },
      "message": "Remove method verification results right after compiling a method\n\nThis saves memory since it allows the code arrays from methods\ncompiled in future methods to use the ram we just freed from the\nverification results.\n\nGmsCore.apk:\nBefore: dex2oat took 77.383s (threads: 2) arena alloc\u003d6MB java alloc\u003d30MB native alloc\u003d77MB free\u003d13KB\nAfter:  dex2oat took 72.180s (threads: 2) arena alloc\u003d6MB java alloc\u003d30MB native alloc\u003d60MB free\u003d13KB\n\nBug: 18596910\nChange-Id: I5d6df380e4fe58751a2b304202083f4d30b33b7c\n(cherry picked from commit 25fda92083d5b93b38cc1f6b12ac6a44d992d6a4)\n"
    },
    {
      "commit": "f384f88d4d1e89df82f47fbc7245a8acc9c2d49c",
      "tree": "11c1b7094ca95fda08feba3ee9f8622b096e327d",
      "parents": [
        "8b9a97e8b6ed97ff1991596cbd0f7ce78f004766"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Wed Oct 22 16:08:18 2014 -0700"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Wed Dec 03 15:39:21 2014 -0800"
      },
      "message": "Bounds check elimination.\n\nChange-Id: Ia0d6a4226c1f9f1ff1dd35347a38db1dc4265319\n"
    },
    {
      "commit": "8b9a97e8b6ed97ff1991596cbd0f7ce78f004766",
      "tree": "f371644862308801796176cb9bda460489691382",
      "parents": [
        "27478e627e08ab42c43d5d934da9ea336ccaf628",
        "a650e700ddcfef0ad86284b0f0818543a196014a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Dec 03 23:26:47 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 03 23:26:47 2014 +0000"
      },
      "message": "Merge \"ART: Fix unclosed files in dex2oat\""
    },
    {
      "commit": "a650e700ddcfef0ad86284b0f0818543a196014a",
      "tree": "f371644862308801796176cb9bda460489691382",
      "parents": [
        "27478e627e08ab42c43d5d934da9ea336ccaf628"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Dec 03 14:28:02 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Dec 03 15:24:28 2014 -0800"
      },
      "message": "ART: Fix unclosed files in dex2oat\n\nUnder some error conditions files are not closed, and the close guard\nwill complain.\n\nBug: 18603475\n\n(cherry picked from commit d97465c3742cc3c82843665f2678b881de29854b)\n\nChange-Id: I7155e3f4f6231844edd375b9302ecf1ba8079950\n"
    },
    {
      "commit": "14317f030db862bb2210135b9af510df429059fd",
      "tree": "156a4bcc6d1410001d5cf3ba3fa2fda0317146cc",
      "parents": [
        "27478e627e08ab42c43d5d934da9ea336ccaf628"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Dec 03 10:48:05 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Dec 03 10:48:05 2014 -0800"
      },
      "message": "Remove unused headers.\n\nPush Closure into only use in thread_pool.h.\nRemove StringFile and NullFile that existed purely for a test.\n\nChange-Id: I329892d5e1f5f017caeb3d60600f803a74114fc1\n"
    },
    {
      "commit": "27478e627e08ab42c43d5d934da9ea336ccaf628",
      "tree": "15abb811d38f14155e686236c8bafd37e41d5868",
      "parents": [
        "acb23cf959e7198566df161567292a824eaa8b27",
        "005f6978d34a3d431193d72fe1cfdd5d0911e8ec"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 03 18:24:18 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 03 18:24:19 2014 +0000"
      },
      "message": "Merge \"Don\u0027t re-use arttest when calling loadLibrary.\""
    },
    {
      "commit": "005f6978d34a3d431193d72fe1cfdd5d0911e8ec",
      "tree": "8fc84261ed7ad96a35c6035ac7535757a316391e",
      "parents": [
        "add2f944284992106cd9a1f1df93a17d666eaaf6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 03 18:10:39 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 03 18:10:39 2014 +0000"
      },
      "message": "Don\u0027t re-use arttest when calling loadLibrary.\n\nWhen Android\u0027s build environment variables are set with envsetup.sh,\nthe test \"works\" ok, by getting a LinkageError because two class loaders\ntry to load the same library. I guess that is the reason for the\nif (ExceptionCheck()) after the loading.\n\nHowever, if the environment variables are set manually, there are\ncases where the paths provided between a Java loadLibrary, and a\nnative loadLibrary are different, so we end up loading the library twice.\nThis makes the assertion line 32 fail on the second JNI_OnLoad call.\nIn my particular environment, ANDROID_BUILD_TOP was something lie\n/foo/bar/..//.\n\nThis change stops re-using the same library, and makes the expected\noutcome constant: the native call of loadLibrary with a non exist\nlibrary must throw a LinkageError.\n\nChange-Id: I8721a03715e099c55fb8b2b87813f1e772c8e83d\n"
    },
    {
      "commit": "acb23cf959e7198566df161567292a824eaa8b27",
      "tree": "9d3238bd2c011f0c82188053eca8dc93728dcd31",
      "parents": [
        "ccce1c02b162b667139eaef563460b1e1f330891",
        "62753c474b83546f5f40ca114530a3f377a51bbc"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Dec 03 17:59:13 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 03 17:59:14 2014 +0000"
      },
      "message": "Merge \"Fix VM-less builds.\""
    },
    {
      "commit": "3389ca715ebb3d66ba192b657854f8b18e851ba8",
      "tree": "8aefbf7a2eac4d85197a1bb17060b0bcd0b1c5d7",
      "parents": [
        "ccce1c02b162b667139eaef563460b1e1f330891"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Dec 03 14:35:54 2014 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Dec 03 17:31:20 2014 +0000"
      },
      "message": "Call ProcessStrings() in ImageWriter, fix prefix check.\n\nProcessStrings was missing due to bad conflict resolution\nin cherry-pick\n    https://android-review.googlesource.com/114971\n\nThe prefix check was broken by the \"cherry-pick\"\n    https://android-review.googlesource.com/115445\nwhere in addition to a simple cherry-pick, an additional\ncomment was addressed and an error slipped in.\n\nChange-Id: I130d1d1a2995fd4a4c27c918c2a0dc38724ce68f\n"
    },
    {
      "commit": "ccce1c02b162b667139eaef563460b1e1f330891",
      "tree": "cc22ae7f812d8ccb04e56c2da34d962aeb43de0e",
      "parents": [
        "9a64a46e8edfa89402598d8650b8ebb337ba3d52",
        "a29f698b1754ee0ea2f46b6f5900e0da840dff79"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Dec 03 17:13:44 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 03 17:13:45 2014 +0000"
      },
      "message": "Merge \"Implement InexpensiveConstantInt(., opcode) for ARM.\""
    },
    {
      "commit": "9a64a46e8edfa89402598d8650b8ebb337ba3d52",
      "tree": "78b29260bf542f7a21ed072425aa125a2ccffbf8",
      "parents": [
        "add2f944284992106cd9a1f1df93a17d666eaaf6",
        "3f8f936aff35f29d86183d31c20597ea17e9789d"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Dec 03 16:04:28 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 03 16:04:28 2014 +0000"
      },
      "message": "Merge \"Add support for float-to-int in the optimizing compiler.\""
    },
    {
      "commit": "add2f944284992106cd9a1f1df93a17d666eaaf6",
      "tree": "84eef247787ba172f2956f7abb499e3e59068182",
      "parents": [
        "1a3960aae50ee8f6967b7ff2d094dbcf5b6b5be4",
        "fc600dccd7797a9a10cdd457034ea8e148ccd631"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Dec 03 14:52:52 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 03 14:52:52 2014 +0000"
      },
      "message": "Merge \"Fix a compiler bug related to a catch-less try-finally statement.\""
    }
  ],
  "next": "1a3960aae50ee8f6967b7ff2d094dbcf5b6b5be4"
}
