)]}'
{
  "log": [
    {
      "commit": "081f73e888b3c246cf7635db37b7f1105cf1a2ff",
      "tree": "3ad0cab1dfa3bca814ab162cb04af125e819e623",
      "parents": [
        "754ddad084ccb610d0cf486f6131bdc69bae5bc6"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Mon Apr 07 18:58:07 2014 +0000"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Mon Apr 07 18:58:07 2014 +0000"
      },
      "message": "Revert \"Use trampolines for calls to helpers\"\n\nThis reverts commit 754ddad084ccb610d0cf486f6131bdc69bae5bc6.\n\nChange-Id: Icd979adee1d8d781b40a5e75daf3719444cb72e8\n"
    },
    {
      "commit": "754ddad084ccb610d0cf486f6131bdc69bae5bc6",
      "tree": "18d8314f3f6760b035c2bcda7760782ad4f0e0bf",
      "parents": [
        "97a332b4476d5a2b4ad0650dacc6bfcff882fc57"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Wed Feb 19 14:05:39 2014 -0800"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Fri Apr 04 16:07:46 2014 -0700"
      },
      "message": "Use trampolines for calls to helpers\n\nThis is an ARM specific optimization to the compiler\nthat uses trampoline islands to make calls to runtime\nhelper functions.  The intention is to reduce the size\nof the generated code (by 2 bytes per call) without\naffecting performance.\n\nBy default this is on when generating an OAT file.  It is\noff when compiling to memory.\n\nTo switch this off in dex2oat, use the command line option:\n--no-helper-trampolines\n\nEnhances disassembler to print the trampoline entry on the\nBL instruction like this:\n\n0xb6a850c0: f7ffff9e  bl      -196 (0xb6a85000)  ; pTestSuspend\n\nBug: 12607709\nChange-Id: I9202bdb7cf21252ad807bd48701f1f6ce8e3d0fe\n"
    },
    {
      "commit": "97a332b4476d5a2b4ad0650dacc6bfcff882fc57",
      "tree": "3ad0cab1dfa3bca814ab162cb04af125e819e623",
      "parents": [
        "45157a41b6c0ac9f73aeeb1f064c2270a6a68a60",
        "8ef84afbaeb433adaed98a11902502dd733e5222"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Apr 04 22:29:04 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 04 22:29:05 2014 +0000"
      },
      "message": "Merge \"art_quick_lock_object uses registers incorrectly\""
    },
    {
      "commit": "45157a41b6c0ac9f73aeeb1f064c2270a6a68a60",
      "tree": "f9a10e3c61d0ad8937be614018472b5242729716",
      "parents": [
        "312d70f1f01ff0e8ef7dfd0ccb4a1c360c74d0c4",
        "f9719f9abbea060e086fe1304d72be50cbc8808e"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Apr 04 22:13:22 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 04 22:13:22 2014 +0000"
      },
      "message": "Merge \"ARM: enable optimisation for easy multiply, add modulus pattern.\""
    },
    {
      "commit": "312d70f1f01ff0e8ef7dfd0ccb4a1c360c74d0c4",
      "tree": "c2bb0f9e9fb6df18d134a814484cf5939079d4d5",
      "parents": [
        "ebe5250f6162515c999f7966a918b1f86bb67396",
        "91268c1afd6c0d4fad55b7c86d907233d4660205"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 04 22:08:03 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 04 22:08:03 2014 +0000"
      },
      "message": "Merge \"Check the machine type of an ELF file when loading.\""
    },
    {
      "commit": "91268c1afd6c0d4fad55b7c86d907233d4660205",
      "tree": "618c0488c3ced26275e7117a6c8dddedcbc835a1",
      "parents": [
        "e5893f8fb70c58fe9950c1fc8b1023e32ca34637"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 03 17:50:24 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 04 22:06:33 2014 +0000"
      },
      "message": "Check the machine type of an ELF file when loading.\n\nThis ensures that we reject wrong target ELF files,\nand should result in a recompile for the right\ntarget.\n\nChange-Id: I898dddc4f2bb9b1607a7436083d0ba7619b6007b"
    },
    {
      "commit": "ebe5250f6162515c999f7966a918b1f86bb67396",
      "tree": "965d449e3700a3d0b07afc1384aa45fed6758531",
      "parents": [
        "09379fd9f20e25ee71687e2c60f6a84c9ede8cd6",
        "7bf9f190cd33a7e2f8584299eb889e9df66e0323"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 04 18:37:41 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 04 18:37:41 2014 +0000"
      },
      "message": "Merge \"Improve invalid root dumping.\""
    },
    {
      "commit": "7bf9f190cd33a7e2f8584299eb889e9df66e0323",
      "tree": "1817368ef167a6340129d2a59b0c423f5c87d604",
      "parents": [
        "34df691e64a6491e7312a850a1ad255e4cf02702"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 04 11:09:41 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 04 11:22:27 2014 -0700"
      },
      "message": "Improve invalid root dumping.\n\nThe invalid root dumping now attempts to print the root type.\n\nChange-Id: Ie821296d569f34909ba6e2705f5c347cd2143a3a\n"
    },
    {
      "commit": "09379fd9f20e25ee71687e2c60f6a84c9ede8cd6",
      "tree": "184dfaef32b42698fee7f8783f7ad0f0a87e6ebb",
      "parents": [
        "54f192cac80f6dd323be29bd7192898626ba2b01",
        "8325296769a77ecf3ab647b5ab516f439f5b3206"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Fri Apr 04 17:25:33 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 04 17:25:34 2014 +0000"
      },
      "message": "Merge \"Disable use of R4 as a promotable register\""
    },
    {
      "commit": "54f192cac80f6dd323be29bd7192898626ba2b01",
      "tree": "eddc401af37a78457277e282aa04a935c0247361",
      "parents": [
        "34df691e64a6491e7312a850a1ad255e4cf02702",
        "505ebb0e7b42e7facc8354515b06333ee8b84b10"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Apr 04 17:19:02 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 04 17:19:03 2014 +0000"
      },
      "message": "Merge \"Inlining synthetic accessors.\""
    },
    {
      "commit": "34df691e64a6491e7312a850a1ad255e4cf02702",
      "tree": "a52f971dc267efee5b13c807b4da97b8b19af93b",
      "parents": [
        "6cea2a6c42d3a4871e3b64fe55abcb5ffc8f09de",
        "8e40c3e662d852da87b6bcfe79355f96ab9e91c7"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Apr 04 16:42:17 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 04 16:42:18 2014 +0000"
      },
      "message": "Merge \"Inlining setters that return one of their arguments.\""
    },
    {
      "commit": "505ebb0e7b42e7facc8354515b06333ee8b84b10",
      "tree": "6f7adb2333b5a3b8b903097cf80f8b7896ed7d2e",
      "parents": [
        "8e40c3e662d852da87b6bcfe79355f96ab9e91c7"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Apr 02 15:24:05 2014 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Apr 04 17:25:17 2014 +0100"
      },
      "message": "Inlining synthetic accessors.\n\nBug: 11549140\nChange-Id: Ie0034a6840b1beaa3df92f26bf9d315119c81e34\n"
    },
    {
      "commit": "8e40c3e662d852da87b6bcfe79355f96ab9e91c7",
      "tree": "866b2a827ed70a36ba060bb6d79fa8f1fc4b9fcd",
      "parents": [
        "764c798b57b7baa04885fcdf5eba5708a01b9edc"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Apr 04 14:52:53 2014 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Apr 04 16:15:51 2014 +0100"
      },
      "message": "Inlining setters that return one of their arguments.\n\nUseful for builder classes and synthetic setters. The latter\nare not inlined yet since they are static methods, i.e. they\ndon\u0027t use \"this\" as the object for IPUT.\n\nChange-Id: I946cf570195be83ecec5fb32851bcaefad45f8a5\n"
    },
    {
      "commit": "6cea2a6c42d3a4871e3b64fe55abcb5ffc8f09de",
      "tree": "dc8af9b0827472d3065a5d19de5b2dbdaf849589",
      "parents": [
        "764c798b57b7baa04885fcdf5eba5708a01b9edc",
        "17965ed6ec29407599a0bcd4ea92532424294fed"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Apr 04 15:07:26 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 04 15:07:26 2014 +0000"
      },
      "message": "Merge \"Re-enable DEX-to-DEX compilation path\""
    },
    {
      "commit": "17965ed6ec29407599a0bcd4ea92532424294fed",
      "tree": "1ad743cea5bdf37d7705bae19e5f08e8b687ec6f",
      "parents": [
        "6f31ce382777d82952d019908866ff28ef3bbc76"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Apr 04 15:59:53 2014 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Apr 04 17:01:21 2014 +0200"
      },
      "message": "Re-enable DEX-to-DEX compilation path\n\nBug: 13807032\nChange-Id: I6de7adb81a0f955a93257b83db9ad689ebcd90ad\n"
    },
    {
      "commit": "764c798b57b7baa04885fcdf5eba5708a01b9edc",
      "tree": "ee84fc3b1ead3569acd66c106e009afc8b8c8f05",
      "parents": [
        "09dfce73c4e849afda37035146dd2932220708d3",
        "cbd18b7f4da7677ca48c48c23ed9a7de3a8b0354"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@android.com",
        "time": "Fri Apr 04 14:00:12 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 04 14:00:13 2014 +0000"
      },
      "message": "Merge \"Fix LoadValueWide to not call MarkLive for high reg that is equal to low reg\""
    },
    {
      "commit": "09dfce73c4e849afda37035146dd2932220708d3",
      "tree": "156c4e805e8f46c3e86d197313f92b0ea25d60c5",
      "parents": [
        "3734bffdf77e2bc293eb9722f9bd4389fbaa0d92",
        "b3e527b2a9ee28ecaba2045f4415b00c8b395039"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Apr 04 13:18:51 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 04 13:18:52 2014 +0000"
      },
      "message": "Merge \"Clean up special method inlining.\""
    },
    {
      "commit": "b3e527b2a9ee28ecaba2045f4415b00c8b395039",
      "tree": "156c4e805e8f46c3e86d197313f92b0ea25d60c5",
      "parents": [
        "3734bffdf77e2bc293eb9722f9bd4389fbaa0d92"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Apr 04 12:37:07 2014 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Apr 04 12:51:58 2014 +0100"
      },
      "message": "Clean up special method inlining.\n\nMark inlined getter/setter INVOKEs as NOP to allow implicit\nnull checks (SIGSEGV-based) rather than the explicit checks\nin GenInvoke().\n\nAvoid inlining wide setter and returning wide argument if\nthe wide source is not in consecutive dalvik registers in\nINVOKE. This is valid dalvik bytecode and we should treat it\ncorrectly even if we\u0027re currently unaware of any tools that\nwould generate such INVOKEs.\n\nRemove bogus MIR_INLINED checks from LVN.\n\nChange-Id: I7e75a832fcf9bd0550e21b1c8b3813c6166197dd\n"
    },
    {
      "commit": "3734bffdf77e2bc293eb9722f9bd4389fbaa0d92",
      "tree": "21aaa53a3beb7d73fb2af9ab55bee7a538254fcb",
      "parents": [
        "7efad5d3a806a15166109837439f2e149031feef",
        "707c809f661554713edfacf338365adca8dfd3a3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 04 10:13:53 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 04 10:13:53 2014 +0000"
      },
      "message": "Merge \"Use target-specific word instead of runtime word.\""
    },
    {
      "commit": "707c809f661554713edfacf338365adca8dfd3a3",
      "tree": "21aaa53a3beb7d73fb2af9ab55bee7a538254fcb",
      "parents": [
        "7efad5d3a806a15166109837439f2e149031feef"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 04 10:50:14 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 04 10:50:14 2014 +0100"
      },
      "message": "Use target-specific word instead of runtime word.\n\nChange-Id: Ia11dc3cc520a1a5c7bd017013e5699af9570ce91\n"
    },
    {
      "commit": "7efad5d3a806a15166109837439f2e149031feef",
      "tree": "9a75c15e8666444db504f38df4af507a3ad68cf6",
      "parents": [
        "885e813edc121cd8392eb066981522424480253c",
        "c777e0de83cdffdb2e240d439c5595a4836553e8"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Apr 04 09:14:00 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 04 09:14:00 2014 +0000"
      },
      "message": "Merge \"Disassemble Thumb2 shifts and more VFP instructions.\""
    },
    {
      "commit": "885e813edc121cd8392eb066981522424480253c",
      "tree": "c6baa84fa2586f23d4aa4607cde2f859a8c560f2",
      "parents": [
        "6f31ce382777d82952d019908866ff28ef3bbc76",
        "2e7038ac5848468740d6a419434d3dde8c585a53"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 04 09:07:17 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 04 09:07:17 2014 +0000"
      },
      "message": "Merge \"Add support for new-instance and invoke-direct.\""
    },
    {
      "commit": "6f31ce382777d82952d019908866ff28ef3bbc76",
      "tree": "f1e4ab44932f5ef11af271b8bb69a24953104fb2",
      "parents": [
        "839f43a40c9fe170266f42a9726c02195c73d043",
        "0bf8b9ca3899a2913948d02fa17ce5fbe3e7af54"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 04 09:06:06 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 04 09:06:06 2014 +0000"
      },
      "message": "Merge \"Please clang by making explicit instantiations non-static.\""
    },
    {
      "commit": "0bf8b9ca3899a2913948d02fa17ce5fbe3e7af54",
      "tree": "f1e4ab44932f5ef11af271b8bb69a24953104fb2",
      "parents": [
        "839f43a40c9fe170266f42a9726c02195c73d043"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 04 09:55:27 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 04 10:04:47 2014 +0100"
      },
      "message": "Please clang by making explicit instantiations non-static.\n\nChange-Id: I4112bf62c69b4f28ca369c4bf3c626be43692afd\n"
    },
    {
      "commit": "2e7038ac5848468740d6a419434d3dde8c585a53",
      "tree": "465940d5cc57b28c4f5b5ad588f6d86ee72097ed",
      "parents": [
        "a7b2826fa469c626ff2c3ff26fd848c28bccc092"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Apr 03 18:49:58 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 04 09:59:06 2014 +0100"
      },
      "message": "Add support for new-instance and invoke-direct.\n\nChange-Id: I2daed646904f7711972a7da15d88be7573426932\n"
    },
    {
      "commit": "839f43a40c9fe170266f42a9726c02195c73d043",
      "tree": "2fa121695151511832acc8691b9a4d7d1b71a82d",
      "parents": [
        "541dd231f9a7282f7fd1092349a322dc67bafaf2",
        "8689a0a0f266dde073fe7b328c3ceeaa1b23276a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 04 08:35:57 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 04 08:35:57 2014 +0000"
      },
      "message": "Merge \"Explicitly instantiate artInvokeCommon to please analysis tool.\""
    },
    {
      "commit": "8689a0a0f266dde073fe7b328c3ceeaa1b23276a",
      "tree": "2fa121695151511832acc8691b9a4d7d1b71a82d",
      "parents": [
        "541dd231f9a7282f7fd1092349a322dc67bafaf2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 04 09:26:24 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 04 09:35:11 2014 +0100"
      },
      "message": "Explicitly instantiate artInvokeCommon to please analysis tool.\n\nChange-Id: I5c078a197c5026e9bd886d0ba1e188054b5ffa75\n"
    },
    {
      "commit": "541dd231f9a7282f7fd1092349a322dc67bafaf2",
      "tree": "3c60f49a1e13e48f71f33f2a41cfca1dd54edfed",
      "parents": [
        "e9236f03d8c4348a8f1a8767baa1aea60ecdc1f5",
        "800ac2defde5d12b2f1f313c6b6162560cfa6fc7"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Apr 04 04:34:09 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 04 04:34:09 2014 +0000"
      },
      "message": "Merge \"Insert an empty read barrier call.\""
    },
    {
      "commit": "800ac2defde5d12b2f1f313c6b6162560cfa6fc7",
      "tree": "c25e10b68be9be9949e96d3c977fbcf906f22a3a",
      "parents": [
        "5cff3083c00dfbae7b8c5c34b0bedbc514c91df9"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Apr 02 17:32:54 2014 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Apr 03 20:16:44 2014 -0700"
      },
      "message": "Insert an empty read barrier call.\n\nBug: 12687968\nChange-Id: Ie1d28658e16e09f6a983cb5c1f0d5b375b7ae069\n"
    },
    {
      "commit": "e9236f03d8c4348a8f1a8767baa1aea60ecdc1f5",
      "tree": "ba50bc7c65e03ac9ea16a24375cef68c629a59d1",
      "parents": [
        "e5893f8fb70c58fe9950c1fc8b1023e32ca34637",
        "4cd662e54440f76fc920cb2c67acab3bba8b33dd"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Apr 04 02:54:16 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 04 02:54:16 2014 +0000"
      },
      "message": "Merge \"Fix Object::Clone()\u0027s pre-fence barrier.\""
    },
    {
      "commit": "8ef84afbaeb433adaed98a11902502dd733e5222",
      "tree": "04400f9cac5cb04391f602594674a9651cd1fba6",
      "parents": [
        "e5893f8fb70c58fe9950c1fc8b1023e32ca34637"
      ],
      "author": {
        "name": "Serguei Katkov",
        "email": "serguei.i.katkov@intel.com",
        "time": "Thu Apr 03 15:17:26 2014 +0700"
      },
      "committer": {
        "name": "Serguei Katkov",
        "email": "serguei.i.katkov@intel.com",
        "time": "Fri Apr 04 09:14:18 2014 +0700"
      },
      "message": "art_quick_lock_object uses registers incorrectly\n\nx86 implementation of art_quick_lock_object uses registers\nincorrectly in the case of .Lalready_thin. eax points to object\nwhile it is used as holding the lock word.\n\nThe patch fixes this.\n\nChange-Id: Iacf1a40c6570fae78a5504ca3b2f1218631f7a8f\nSigned-off-by: Serguei Katkov \u003cserguei.i.katkov@intel.com\u003e\n"
    },
    {
      "commit": "e5893f8fb70c58fe9950c1fc8b1023e32ca34637",
      "tree": "15649aae8af948b98ff4712d378b0aeafc4af7b8",
      "parents": [
        "03bafa4b80e130664295a8eada93d20bc6f6cdeb",
        "5f3ded46a1da26f6a51cad16d421ca2fdc0f23ad"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 04 00:47:42 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 04 00:47:42 2014 +0000"
      },
      "message": "Merge \"Restore the args in the invoke trampoline slow paths.\""
    },
    {
      "commit": "4cd662e54440f76fc920cb2c67acab3bba8b33dd",
      "tree": "e2becdc06eded96215a1c9a501004ac3889e9107",
      "parents": [
        "5cff3083c00dfbae7b8c5c34b0bedbc514c91df9"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Apr 03 16:28:10 2014 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Apr 03 16:35:50 2014 -0700"
      },
      "message": "Fix Object::Clone()\u0027s pre-fence barrier.\n\nPass in a pre-fence barrier object that sets in the array length\ninstead of setting it after returning from AllocObject().\n\nFix another potential bug due to the wrong default pre-fence barrier\nparameter value. Since this appears error-prone, removed the default\nparameter value and make it an explicit parameter.\n\nFix another potential moving GC bug due to a lack of a SirtRef.\n\nBug: 13097759\nChange-Id: I466aa0e50f9e1a5dbf20be5a195edee619c7514e\n"
    },
    {
      "commit": "5f3ded46a1da26f6a51cad16d421ca2fdc0f23ad",
      "tree": "e5d44213563093b8435dc1fc025b5114a93ab189",
      "parents": [
        "0537c5ea92a4fb60a04024cc2b7247f08a3d9096"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 03 15:25:30 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 03 16:34:46 2014 -0700"
      },
      "message": "Restore the args in the invoke trampoline slow paths.\n\nPreviously, there were errors caused by not restoring the args for\nthe slow path in artInvokeInterfaceTrampoline and artInvokeCommon. The\nslow path in artInvokeInterfaceTrampoline occurs when you attempt\nto do an interface dispatch of a method in another dex file. The slow\npath in artInvokeCommon occurs when the method in dex cache is not\nalready resolved.\n\nSince FindMethodFromCode may resolve a method, it can occasionally\ncause thread suspension/GC. If a moving GC occurred at this point it\nresulted in this_object being invalid after the trampoline returned\nthe code pointer. This caused a native crash in one of the money runs\nsince there was an unbundeled app which did a List.iterator call.\n\nBug: 12934910\nChange-Id: Ib454faad14bef0d7732a6d7f1ca5803472d502a6\n"
    },
    {
      "commit": "8325296769a77ecf3ab647b5ab516f439f5b3206",
      "tree": "8879dd1da4c2169f53f705fbfe66bd733e070a98",
      "parents": [
        "03bafa4b80e130664295a8eada93d20bc6f6cdeb"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Apr 03 16:33:48 2014 -0700"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Apr 03 16:33:48 2014 -0700"
      },
      "message": "Disable use of R4 as a promotable register\n\nWhen we are using implicit suspend checks we can potentially\nuse r4 as a register into which variables can be promoted.  However\nthe runtime doesn\u0027t save this and thus will corrupt it.  Not good.\n\nThis disables the promotion of r4 until we can figure out how\nto make the runtime save it properly.\n\nChange-Id: Ib95ce93579e1c364de5ecc8e728f2cb7990da77a\n"
    },
    {
      "commit": "cbd18b7f4da7677ca48c48c23ed9a7de3a8b0354",
      "tree": "8a894c60430ff2061964f5a9d33d248ccce88493",
      "parents": [
        "0537c5ea92a4fb60a04024cc2b7247f08a3d9096"
      ],
      "author": {
        "name": "Chao-ying Fu",
        "email": "chao-ying.fu@intel.com",
        "time": "Thu Apr 03 15:09:37 2014 -0700"
      },
      "committer": {
        "name": "Chao-ying Fu",
        "email": "chao-ying.fu@intel.com",
        "time": "Thu Apr 03 15:44:01 2014 -0700"
      },
      "message": "Fix LoadValueWide to not call MarkLive for high reg that is equal to low reg\n\nFor x86 double FP registers, LoadValueWide should not call MarkLive for\nhigh reg that is equal to low reg.\n\nChange-Id: Ie6a59307c9ff93303bd489c15529432cfdeceaa4\nSigned-off-by: Chao-ying Fu \u003cchao-ying.fu@intel.com\u003e\n"
    },
    {
      "commit": "03bafa4b80e130664295a8eada93d20bc6f6cdeb",
      "tree": "2fe924f6a626c006cd4c2204202e92241b1f4b90",
      "parents": [
        "77093dc31ddce272e7856a20ece595bf5554e0a6",
        "44e135459e30286d7cb2a1f21680edaa84f2e171"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 03 20:46:07 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 03 20:46:08 2014 +0000"
      },
      "message": "Merge \"Do not output ARM64 assembler debug code.\""
    },
    {
      "commit": "77093dc31ddce272e7856a20ece595bf5554e0a6",
      "tree": "a31e92632bbf076f32b8d1bc7e9391b75ca7eb50",
      "parents": [
        "0666dcbc600db012760218247aed24c5eff36128",
        "242947dbcdc4038ddd8ac522bb480f82e7d92ffa"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 03 20:43:06 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 03 20:43:06 2014 +0000"
      },
      "message": "Merge \"Make frame size dependent on arch-specific constants.\""
    },
    {
      "commit": "0666dcbc600db012760218247aed24c5eff36128",
      "tree": "1db98475511e4c5ec2af8cabcfbdb985a963dded",
      "parents": [
        "0537c5ea92a4fb60a04024cc2b7247f08a3d9096",
        "3da67a558f1fd3d8a157d8044d521753f3f99ac8"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Apr 03 20:41:20 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 03 20:41:21 2014 +0000"
      },
      "message": "Merge \"Add OpEndIT() for marking the end of OpIT blocks\""
    },
    {
      "commit": "242947dbcdc4038ddd8ac522bb480f82e7d92ffa",
      "tree": "a84dc663494a1dbadd0f209788ae071742381309",
      "parents": [
        "0537c5ea92a4fb60a04024cc2b7247f08a3d9096"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 03 13:31:32 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 03 13:31:32 2014 -0700"
      },
      "message": "Make frame size dependent on arch-specific constants.\n\nNecessary for proper cross-compiling.\n\nChange-Id: I852901ee6ca5121e480b83a8e318bdc9c7d615e8\n"
    },
    {
      "commit": "c777e0de83cdffdb2e240d439c5595a4836553e8",
      "tree": "29089f785817b5ae59b8cc333b6fd0e8261bcd94",
      "parents": [
        "0537c5ea92a4fb60a04024cc2b7247f08a3d9096"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Apr 03 17:59:02 2014 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Apr 03 21:17:30 2014 +0100"
      },
      "message": "Disassemble Thumb2 shifts and more VFP instructions.\n\nDisassemble Thumb2 instructions LSL, LSR, ASR, ROR and VFP\ninstructions VABS, VADD, VSUB, VMOV, VMUL, VNMUL, VDIV.\n\nClean up disassembly of VCMP, VCMPE, VNEG and VSQRT. These\ncould have been erroneously used for other insns (VSQRT for\nVMOV was encountered) and one VSQRT branch was unreachable.\n\nRemove duplicate VMOV opcodes from compiler.\n\nChange-Id: I160a1e3e4b6eabb6a5101ce348ffd49c0573257d\n"
    },
    {
      "commit": "44e135459e30286d7cb2a1f21680edaa84f2e171",
      "tree": "9c848286aec499388dddf7a9913feddc34fc673b",
      "parents": [
        "0537c5ea92a4fb60a04024cc2b7247f08a3d9096"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 03 13:16:01 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 03 13:16:01 2014 -0700"
      },
      "message": "Do not output ARM64 assembler debug code.\n\nThis breaks the run tests, which are a simple diff against an\nexpected output. Please do such changes in a local change.\n\nChange-Id: Ib961919600ba79eca1356278bc6c09ca17041c7c\n"
    },
    {
      "commit": "3da67a558f1fd3d8a157d8044d521753f3f99ac8",
      "tree": "1db98475511e4c5ec2af8cabcfbdb985a963dded",
      "parents": [
        "0537c5ea92a4fb60a04024cc2b7247f08a3d9096"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Wed Apr 02 17:03:45 2014 -0700"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Apr 03 12:27:32 2014 -0700"
      },
      "message": "Add OpEndIT() for marking the end of OpIT blocks\n\nIn ARM we need to prevent code motion to the inside of an\nIT block.  This was done using a GenBarrier() to mark the end, but\nit wasn\u0027t obvious that this is what was happening.  This CL adds\nan explicit OpEndIT() that takes the LIR of the OpIT for future\nchecks.\n\nBug: 13751744\nChange-Id: If41d2adea1f43f11ebb3b72906bd308252ce3d01\n"
    },
    {
      "commit": "0537c5ea92a4fb60a04024cc2b7247f08a3d9096",
      "tree": "e1c1eec047878dd70edeb94568b7fe0d3d42b16f",
      "parents": [
        "7f74c43c2c621512e7331e2876ae4d4c44d28ff0",
        "be73e57308680382efd1e60fa03ac1eb5abcc9c7"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 03 17:52:27 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 03 17:52:27 2014 +0000"
      },
      "message": "Merge \"Fix off-by-1 error in new SpaceBitmap\""
    },
    {
      "commit": "be73e57308680382efd1e60fa03ac1eb5abcc9c7",
      "tree": "8eab6b957658ad56711a09d269139c9d4b7396ec",
      "parents": [
        "a7b2826fa469c626ff2c3ff26fd848c28bccc092"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 03 10:46:42 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 03 10:46:42 2014 -0700"
      },
      "message": "Fix off-by-1 error in new SpaceBitmap\n\nDo not visit_end in the VisitMarkedRange code.\n\nChange-Id: Iaf02788509b21a102cd1c0e2db3cbd09d0522bfa\n"
    },
    {
      "commit": "7f74c43c2c621512e7331e2876ae4d4c44d28ff0",
      "tree": "81aa7f1a154d7c318cbd9e2f17bdffa6f3d81404",
      "parents": [
        "a7b2826fa469c626ff2c3ff26fd848c28bccc092",
        "43d8bb870fadd4775a8513a1df955cdf66ad4b92"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 03 17:43:40 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 03 17:43:40 2014 +0000"
      },
      "message": "Merge \"Add monitor_enter_object as root.\""
    },
    {
      "commit": "43d8bb870fadd4775a8513a1df955cdf66ad4b92",
      "tree": "81aa7f1a154d7c318cbd9e2f17bdffa6f3d81404",
      "parents": [
        "a7b2826fa469c626ff2c3ff26fd848c28bccc092"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 03 09:57:36 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 03 10:30:44 2014 -0700"
      },
      "message": "Add monitor_enter_object as root.\n\nThe monitor enter object was not a root, this caused issues with\ncompactions since the object could move and then verify object would\nfail.\n\nBug: 13769139\nChange-Id: Ia732376fb9d1de8bf137ef9894cb2bb3241d8bb2\n"
    },
    {
      "commit": "f9719f9abbea060e086fe1304d72be50cbc8808e",
      "tree": "9094186b40d656d28cf52c5c7aab30763da4409d",
      "parents": [
        "8549cf9d83688f7decbbea2a8de761ce29e95f3c"
      ],
      "author": {
        "name": "Zheng Xu",
        "email": "zheng.xu@arm.com",
        "time": "Wed Apr 02 13:31:31 2014 +0100"
      },
      "committer": {
        "name": "Zheng Xu",
        "email": "zheng.xu@arm.com",
        "time": "Thu Apr 03 18:23:01 2014 +0100"
      },
      "message": "ARM: enable optimisation for easy multiply, add modulus pattern.\n\nFix the issue when src/dest registers overlap in easy multiply.\n\nChange-Id: Ie8cc098c29c74fd06c1b67359ef94f2c6b88a71e\n"
    },
    {
      "commit": "a7b2826fa469c626ff2c3ff26fd848c28bccc092",
      "tree": "f53277bb95088b5b650cf982d0da666f1204517a",
      "parents": [
        "5a4139fd33547d09c94d9650157e3a4e4c9eede4",
        "4a34a428c6a2588e0857ef6baf88f1b73ce65958"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Apr 03 16:49:25 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 03 16:49:25 2014 +0000"
      },
      "message": "Merge \"Support passing arguments to invoke-static* instructions.\""
    },
    {
      "commit": "4a34a428c6a2588e0857ef6baf88f1b73ce65958",
      "tree": "a9f025c17752a175c4e6a203c01e935cb438efb1",
      "parents": [
        "8549cf9d83688f7decbbea2a8de761ce29e95f3c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Apr 03 10:38:37 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Apr 03 17:09:22 2014 +0100"
      },
      "message": "Support passing arguments to invoke-static* instructions.\n\n- Stop using the frame pointer for accessing locals.\n- Stop emulating a stack when doing code generation. Instead,\n  rely on dex register model, where instructions only reference\n  registers.\n\nChange-Id: Id51bd7d33ac430cb87a53c9f4b0c864eeb1006f9\n"
    },
    {
      "commit": "5a4139fd33547d09c94d9650157e3a4e4c9eede4",
      "tree": "d05357e63e8bc075a27944bab8c426a248e2c02c",
      "parents": [
        "71100b58a194515e889391aedb902883ab5a0904",
        "6a58cb16d803c9a7b3a75ccac8be19dd9d4e520d"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@android.com",
        "time": "Thu Apr 03 13:29:36 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 03 13:29:36 2014 +0000"
      },
      "message": "Merge \"art: Handle x86_64 architecture equal to x86\""
    },
    {
      "commit": "71100b58a194515e889391aedb902883ab5a0904",
      "tree": "22d460404f6a91877b5429cf5779af3e6b5e2394",
      "parents": [
        "0c7350d774e42c1ec889e40ffe70beb5b6c27afb",
        "99f391e48f79421a4d949152aec6bafe1a7b5b82"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Apr 03 12:58:51 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 03 12:58:51 2014 +0000"
      },
      "message": "Merge \"Fix Unsafe.getLong()/putLong() for x86, add test.\""
    },
    {
      "commit": "0c7350d774e42c1ec889e40ffe70beb5b6c27afb",
      "tree": "a5709a76694529392846c68cb34bd9c8503e85f3",
      "parents": [
        "5cc2d076cb7854ec2327895e5586f4cbe5e3ee70",
        "3de95a7b0a2d30cde6dc92b72c35df3a61002124"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Apr 03 12:28:17 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 03 12:28:17 2014 +0000"
      },
      "message": "Merge \"Runtime::PreZygoteFork returns void, not boolean.\""
    },
    {
      "commit": "99f391e48f79421a4d949152aec6bafe1a7b5b82",
      "tree": "6c7a1fb7e808448e999c548acccefb8c516015ff",
      "parents": [
        "5cc2d076cb7854ec2327895e5586f4cbe5e3ee70"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Apr 03 12:56:06 2014 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Apr 03 12:56:06 2014 +0100"
      },
      "message": "Fix Unsafe.getLong()/putLong() for x86, add test.\n\nChange-Id: Id6841ae50e1047543c04dcdae30254dd6ce82082\n"
    },
    {
      "commit": "5cc2d076cb7854ec2327895e5586f4cbe5e3ee70",
      "tree": "a8b176cb11ad1f062c4d3fa4c8e7d3ea29ae90b1",
      "parents": [
        "317055b5a75f84c09647f099efe766708da5bfb8",
        "04ff226764b125c79a0bf41e571c8311bac8a868"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Apr 03 09:01:40 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 03 09:01:41 2014 +0000"
      },
      "message": "Merge \"Profile: renamed kThresholdPercent and make it configurable\""
    },
    {
      "commit": "317055b5a75f84c09647f099efe766708da5bfb8",
      "tree": "afa2debd402f0ed1ad13ca20f4e5c7273dce3c94",
      "parents": [
        "8549cf9d83688f7decbbea2a8de761ce29e95f3c",
        "f6a4cee66a173ee7ef48af5503d9899aa93b3aeb"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Apr 03 09:01:20 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 03 09:01:21 2014 +0000"
      },
      "message": "Merge \"Profile: repurposed kTresholdPercent\""
    },
    {
      "commit": "6a58cb16d803c9a7b3a75ccac8be19dd9d4e520d",
      "tree": "c142777f40178fd9b9090cd7316be694befb3f21",
      "parents": [
        "8549cf9d83688f7decbbea2a8de761ce29e95f3c"
      ],
      "author": {
        "name": "Dmitry Petrochenko",
        "email": "dmitry.petrochenko@intel.com",
        "time": "Wed Apr 02 17:27:59 2014 +0700"
      },
      "committer": {
        "name": "Dmitry Petrochenko",
        "email": "dmitry.petrochenko@intel.com",
        "time": "Thu Apr 03 13:06:55 2014 +0700"
      },
      "message": "art: Handle x86_64 architecture equal to x86\n\nThis patch forces FE/ME to treat x86_64 as x86 exactly.\nThe x86_64 logic will be revised later when assembly will be ready.\n\nChange-Id: I4a92477a6eeaa9a11fd710d35c602d8d6f88cbb6\nSigned-off-by: Dmitry Petrochenko \u003cdmitry.petrochenko@intel.com\u003e\n"
    },
    {
      "commit": "8549cf9d83688f7decbbea2a8de761ce29e95f3c",
      "tree": "bcf136b958e0f8172cef38dfa2a760635c677c74",
      "parents": [
        "744924b701febe88bd67a9080999c08c76745807",
        "7c95cefc168ba81b17a9ed2d987ac5bcf0b05781"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 03 02:45:19 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 03 02:45:19 2014 +0000"
      },
      "message": "Merge \"Use temp register in Unsafe Get/Put intrisics for displaced offset.\""
    },
    {
      "commit": "744924b701febe88bd67a9080999c08c76745807",
      "tree": "c0bc9c8f5d0c4dbf2c45daf67975b5fa8a3b87c5",
      "parents": [
        "5cff3083c00dfbae7b8c5c34b0bedbc514c91df9",
        "cb8aea4bd5e77857c713edeb62bffcb1f7f06a39"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 03 01:17:54 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 03 01:17:54 2014 +0000"
      },
      "message": "Merge \"Make SpaceBitmap cross-compiling tolerant\""
    },
    {
      "commit": "7c95cefc168ba81b17a9ed2d987ac5bcf0b05781",
      "tree": "f358d12353183bb5800e91f459a158a514039a09",
      "parents": [
        "0807e7bbbafc4b4e8e7fb1d2d54fbcb011c05c82"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 02 17:09:17 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 02 17:48:05 2014 -0700"
      },
      "message": "Use temp register in Unsafe Get/Put intrisics for displaced offset.\n\nPreviously, the object register would get clobberd by the adding the\noffset for wide UnsafeGets and wide UnsafePuts. This resulted in heap\ncorruption in AtomicLongFieldUpdater.compareAndSet and possibly other\nplaces.\n\nBug: 13744490\nChange-Id: Ic368d930b855c5c57e22060b32b73d0745328ef2\n"
    },
    {
      "commit": "5cff3083c00dfbae7b8c5c34b0bedbc514c91df9",
      "tree": "0c01f484239203eeeb9f8e5f97300bca09b051ad",
      "parents": [
        "d0ab1223cc8c5181e502196a7765790ad2aba3c8",
        "4a200f56b7075309316b04d550c9cc50f8314edd"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Apr 03 00:38:52 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 03 00:38:52 2014 +0000"
      },
      "message": "Merge \"Add support for -Xverify:none mode.\""
    },
    {
      "commit": "4a200f56b7075309316b04d550c9cc50f8314edd",
      "tree": "0c01f484239203eeeb9f8e5f97300bca09b051ad",
      "parents": [
        "d0ab1223cc8c5181e502196a7765790ad2aba3c8"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Apr 01 14:58:49 2014 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Apr 02 17:18:13 2014 -0700"
      },
      "message": "Add support for -Xverify:none mode.\n\nThis mode skips all verification and compilation.\nPublic bug: https://code.google.com/p/android/issues/detail?id\u003d67664\n\nChange-Id: Idd00ab8e9e46d129c02988b063c41a507e07bf5b\n"
    },
    {
      "commit": "cb8aea4bd5e77857c713edeb62bffcb1f7f06a39",
      "tree": "681762eac98329401eed57ffcef56463eb6cd3b2",
      "parents": [
        "d0ab1223cc8c5181e502196a7765790ad2aba3c8"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Apr 02 15:39:58 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Apr 02 17:07:55 2014 -0700"
      },
      "message": "Make SpaceBitmap cross-compiling tolerant\n\nChange the order of bits in SpaceBitmap to be the intuitive one:\nOffset 0 is bit 0, instead of the MSB. Then compiling on 32b for\n64b works as expected.\n\nChange-Id: Iee2491eaf06d4b5f8b534b7c980d5719633cb64c\n"
    },
    {
      "commit": "d0ab1223cc8c5181e502196a7765790ad2aba3c8",
      "tree": "0ff7b987cb3742c12a10cdb1cf95cba104c858d1",
      "parents": [
        "a7a49dd64b2cce5cd3918a01c9cd372931f90dd8",
        "d59b7b18d9c63a0a8902718d6d70154037489fef"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Apr 02 23:51:59 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 02 23:52:00 2014 +0000"
      },
      "message": "Merge \"Keep the symbol table in the shared libraries.\""
    },
    {
      "commit": "a7a49dd64b2cce5cd3918a01c9cd372931f90dd8",
      "tree": "6a92d080b3870b1987bc851c726ba149785b05bb",
      "parents": [
        "40462bcc8b8fbe8a4981a0fb209e10898a118e2c",
        "8afeb85d3def12b559b7565fb6d3956f81b55132"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Apr 02 23:18:43 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 02 23:18:43 2014 +0000"
      },
      "message": "Merge \"Pass instruction-set from runtime through to spawned dex2oat.\""
    },
    {
      "commit": "8afeb85d3def12b559b7565fb6d3956f81b55132",
      "tree": "60ac7c63d7adba0dc117ac88dd98cc97a879e0ca",
      "parents": [
        "0807e7bbbafc4b4e8e7fb1d2d54fbcb011c05c82"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Apr 02 14:55:49 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Apr 02 14:55:49 2014 -0700"
      },
      "message": "Pass instruction-set from runtime through to spawned dex2oat.\n\nChange-Id: I1727af7beb9f710c29124d4d6bc9175e4856f3cc\n"
    },
    {
      "commit": "04ff226764b125c79a0bf41e571c8311bac8a868",
      "tree": "aa3680d211b37c0a17a9f502f3c0adba4428c348",
      "parents": [
        "f6a4cee66a173ee7ef48af5503d9899aa93b3aeb"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Apr 02 19:08:47 2014 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Apr 02 21:43:26 2014 +0100"
      },
      "message": "Profile: renamed kThresholdPercent and make it configurable\n\nBug: 12877748\nChange-Id: If266f20f77faad4a726ef8df451a0c42f541392f\n"
    },
    {
      "commit": "40462bcc8b8fbe8a4981a0fb209e10898a118e2c",
      "tree": "1d4615ae025d667840188b407d4828eae956f0ae",
      "parents": [
        "c6829abc118255ed37cdddb643e5276f2e9ff9bd",
        "d74754320e4706796ebb1d4b413dc1fede6e4854"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Apr 02 20:15:25 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 02 20:15:25 2014 +0000"
      },
      "message": "Merge \"force dex2oat target executables to be compiled for 32-bit\""
    },
    {
      "commit": "c6829abc118255ed37cdddb643e5276f2e9ff9bd",
      "tree": "30b241e251de3d6f6a7927c10e4d5d7f17d4a451",
      "parents": [
        "0807e7bbbafc4b4e8e7fb1d2d54fbcb011c05c82",
        "f6b65c123dafad62004a93a43eb82de00ddc8214"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Wed Apr 02 20:14:58 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 02 20:14:58 2014 +0000"
      },
      "message": "Merge \"Add r4 as promotable register if implicit suspend checks\""
    },
    {
      "commit": "f6b65c123dafad62004a93a43eb82de00ddc8214",
      "tree": "30b241e251de3d6f6a7927c10e4d5d7f17d4a451",
      "parents": [
        "0807e7bbbafc4b4e8e7fb1d2d54fbcb011c05c82"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Tue Apr 01 17:45:18 2014 -0700"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Wed Apr 02 12:59:38 2014 -0700"
      },
      "message": "Add r4 as promotable register if implicit suspend checks\n\nIf we are doing implicit suspend checks we should be able\nto use r4 as a target for promotion.\n\nAlso bump OAT version\n\nChange-Id: Ia27d14ece3b3259dbb74bcf89feaa9da2cda6db8\n"
    },
    {
      "commit": "d74754320e4706796ebb1d4b413dc1fede6e4854",
      "tree": "d4ab7f6af93b8dbc1889e0e1793e91b95df28629",
      "parents": [
        "0807e7bbbafc4b4e8e7fb1d2d54fbcb011c05c82"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Mar 20 12:55:13 2014 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Apr 02 19:44:09 2014 +0000"
      },
      "message": "force dex2oat target executables to be compiled for 32-bit\n\n64-bit dex2oat doesn\u0027t support 32-bit targets yet, force dex2oat\ntarget executables to compile 32-bit for now by passing in a\nvalue for LOCAL_MULTILIB to build-art-executable.\n\nBug: 13764385\nChange-Id: I41adba1e64f373e4b61a3c13af2592ed4f7d0b57"
    },
    {
      "commit": "f6a4cee66a173ee7ef48af5503d9899aa93b3aeb",
      "tree": "d059a9af44dc9405ee353b22d89be1099a5be1c6",
      "parents": [
        "ea1e520e5a4b52b668ea2f9d3abdd9ae3a192186"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Apr 02 17:03:08 2014 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Apr 02 17:03:08 2014 +0100"
      },
      "message": "Profile: repurposed kTresholdPercent\n\nPreviously kTresholdPercent was the percentage of samples of the total\nthat a method must comprise before compiling.\n\nI changed it to mean the threshold for a running total...i.e. compile\nall the methods that comprise K% of the samples cumulatively.\n\n(in the process fixed ProfileData#percent doc and changed its name)\n\nBug: 12877748\nChange-Id: Ib0e18e525a16c11b189afc3d840c09183ac629de\n"
    },
    {
      "commit": "0807e7bbbafc4b4e8e7fb1d2d54fbcb011c05c82",
      "tree": "ce13371288e4a08e8b627eeafd18a5b9746ecec4",
      "parents": [
        "161f71ab4449047157ad3d967a3ed4f7c6e17249",
        "2966e13d504a72d55c62bf864e183ec80703c699"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Apr 02 15:49:42 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 02 15:49:42 2014 +0000"
      },
      "message": "Merge \"Avoid debug check violation in thread registration.\""
    },
    {
      "commit": "2966e13d504a72d55c62bf864e183ec80703c699",
      "tree": "ce13371288e4a08e8b627eeafd18a5b9746ecec4",
      "parents": [
        "161f71ab4449047157ad3d967a3ed4f7c6e17249"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Apr 02 08:34:36 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Apr 02 08:36:46 2014 -0700"
      },
      "message": "Avoid debug check violation in thread registration.\n\nBug: 13757855\nChange-Id: Ied83a7fc43e2b9a89a8b99aa4f74069ef8a369b1\n"
    },
    {
      "commit": "161f71ab4449047157ad3d967a3ed4f7c6e17249",
      "tree": "192c4a9476e3b5bc607806e52d6d4922cfd0a4c3",
      "parents": [
        "77384601e096660ed8725b3a5bcc2327d34c1b21",
        "ea1e520e5a4b52b668ea2f9d3abdd9ae3a192186"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Apr 02 15:17:21 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 02 15:17:21 2014 +0000"
      },
      "message": "Merge \"Fixed total method count in profile file parsing.\""
    },
    {
      "commit": "ea1e520e5a4b52b668ea2f9d3abdd9ae3a192186",
      "tree": "39141aaf44c41aa116c56ee6fd49fe87c4e08305",
      "parents": [
        "70f9ebf7ca95f9d4ab4818849e4fa825b545e192"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Apr 02 15:41:43 2014 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Apr 02 15:41:43 2014 +0100"
      },
      "message": "Fixed total method count in profile file parsing.\n\nChange-Id: Iae38b3ca296378d17f054ac330301035ec684084\n"
    },
    {
      "commit": "3de95a7b0a2d30cde6dc92b72c35df3a61002124",
      "tree": "56ad920ea31bf3b64595fe56345649db4c679156",
      "parents": [
        "ad4b0d2c671a5aa5f11e731eb51a905eb513a266"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 02 12:54:23 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 02 12:54:23 2014 +0100"
      },
      "message": "Runtime::PreZygoteFork returns void, not boolean.\n\nThis method aborts on failure (as it should) and unconditionally\nreturns true, so making it return void simplifies callers.\n\nChange-Id: Iae39bd327f20311579ece47efa8afd1be7defce9\n"
    },
    {
      "commit": "77384601e096660ed8725b3a5bcc2327d34c1b21",
      "tree": "366c24aed164c1ca16cbef1b026d5554c85fedb7",
      "parents": [
        "2dc2bf9ad867dfc71bf209dead1315615659e8f9",
        "ad4b0d2c671a5aa5f11e731eb51a905eb513a266"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 02 11:15:38 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 02 11:15:38 2014 +0000"
      },
      "message": "Merge \"Include \u003csys/resource.h\u003e for rlimit.\""
    },
    {
      "commit": "ad4b0d2c671a5aa5f11e731eb51a905eb513a266",
      "tree": "366c24aed164c1ca16cbef1b026d5554c85fedb7",
      "parents": [
        "2dc2bf9ad867dfc71bf209dead1315615659e8f9"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 02 12:06:02 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 02 12:07:32 2014 +0100"
      },
      "message": "Include \u003csys/resource.h\u003e for rlimit.\n\nChange-Id: I0e487f8191e284052d8b82eb942d723147d780a1\n"
    },
    {
      "commit": "2dc2bf9ad867dfc71bf209dead1315615659e8f9",
      "tree": "f6f402ae3013cf8b65c15c037d24c39a8aa398a4",
      "parents": [
        "8e157dc9e2938aa7eeadaf4ea34e8d3e727136bc",
        "668e9d870015297e59d29caa38adb249b2c36350"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Apr 02 10:34:54 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 02 10:34:54 2014 +0000"
      },
      "message": "Merge \"Update missed DEX2OAT -\u003e DEX2OATD changes.\""
    },
    {
      "commit": "668e9d870015297e59d29caa38adb249b2c36350",
      "tree": "874ca60b586fe0b082d1fadbbad4958cc0d44bad",
      "parents": [
        "5120686d956cdea3f4b662941f361e0867a4bbad"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Apr 02 11:33:28 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Apr 02 11:33:28 2014 +0100"
      },
      "message": "Update missed DEX2OAT -\u003e DEX2OATD changes.\n\nChange-Id: I9556ac9ce30fe057e8b278858303e25c547e86ba\n"
    },
    {
      "commit": "8e157dc9e2938aa7eeadaf4ea34e8d3e727136bc",
      "tree": "295c380a2a9b2c57851fb60576abf5661ecad237",
      "parents": [
        "5120686d956cdea3f4b662941f361e0867a4bbad",
        "8b2c8b9642d5fe037f93ab0cb6a5065e2a192e40"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 02 10:29:49 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 02 10:29:50 2014 +0000"
      },
      "message": "Merge \"Move most zygote related code to frameworks/base.\""
    },
    {
      "commit": "5120686d956cdea3f4b662941f361e0867a4bbad",
      "tree": "17021c83d26913bd334f874b0e6fdc3e837bd0c8",
      "parents": [
        "a7f984a23babaa0e4b1b9b6904d18edfcbaa654b",
        "1db132d0b88a17d65570199f79be84b844c54c33"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Apr 02 08:53:01 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 02 08:53:02 2014 +0000"
      },
      "message": "Merge \"Use debug version of DEX2OAT explicitly.\""
    },
    {
      "commit": "1db132d0b88a17d65570199f79be84b844c54c33",
      "tree": "17021c83d26913bd334f874b0e6fdc3e837bd0c8",
      "parents": [
        "a7f984a23babaa0e4b1b9b6904d18edfcbaa654b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 26 10:56:24 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Apr 02 09:52:16 2014 +0100"
      },
      "message": "Use debug version of DEX2OAT explicitly.\n\nChange-Id: I57b4c8caedcc6bfbeaa541d8171f8b5b3069c584\n"
    },
    {
      "commit": "a7f984a23babaa0e4b1b9b6904d18edfcbaa654b",
      "tree": "43dd860bd969d02d44ac2734a24666fd16cb5c66",
      "parents": [
        "1246d689dc3150bbee6c5e5628747a94fba5081e",
        "80989a6bf3e24b31c7210c76be81ad40f43c63be"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Apr 02 07:48:31 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 02 07:48:32 2014 +0000"
      },
      "message": "Merge \"Fix ClassHelper::GetDirectInterface for proxy class\""
    },
    {
      "commit": "1246d689dc3150bbee6c5e5628747a94fba5081e",
      "tree": "24fb2b8271cdc524855f52bbc94361dbf5f8c2f0",
      "parents": [
        "f689b93e904e062d83a7ae7e8cacce0b52af3323",
        "ee1d79a603c77c0667b27c075a983579d5c51f7e"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Apr 02 07:45:51 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 02 07:45:52 2014 +0000"
      },
      "message": "Merge \"Cleanup transaction support\""
    },
    {
      "commit": "ee1d79a603c77c0667b27c075a983579d5c51f7e",
      "tree": "7b23516402105319ab4736cd179a1de9101eeb46",
      "parents": [
        "78bd9b2198f0ccc48036c1517b2d9a9023157dfb"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Feb 21 15:46:30 2014 +0100"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Apr 02 09:21:12 2014 +0200"
      },
      "message": "Cleanup transaction support\n\nUpdates Thread::CreateInternalStackTrace to support both transactional and\nnon-transactional modes using template.\n\nGeneralizes non-transactional mode for invariant fields (which are set only\nonce).\n\nRemoves ArrayLog::VisitRoots as we never create Array logs of ObjectArray. As\nObjectArray elements are set using Object::SetFieldObject, they are already\nrecorded in the object logs: the object is the array itself and the offset\ncorresponds to the element index in this array. And also checks we never log\nObjectArray in array logs.\n\nFixes location of thrown exception when calling native method during class\ninitialization.\n\nChange-Id: Idbc368d3b8292b85ff40bc8a7c559e085477bf89\n"
    },
    {
      "commit": "d59b7b18d9c63a0a8902718d6d70154037489fef",
      "tree": "bff6e28ce760262b5114bee49be7e87e68bb606a",
      "parents": [
        "f689b93e904e062d83a7ae7e8cacce0b52af3323"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Apr 01 12:29:09 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Apr 01 20:55:59 2014 -0700"
      },
      "message": "Keep the symbol table in the shared libraries.\n\nIn order to allow the unwinder code to have meaningful names for\nart functions, leave the symbol table.\n\nHere are the size increases:\n\nPlatform    Size Increase\n--------    -------------\narm         ~631K\narm64       ~631K\nmips        ~424K\nx86         ~565K\nx86_64      ~565K\n\nBug: 12958251\nChange-Id: Ib8bf11bef648f8296f4d6544f7b2af0d7f969ad8\n"
    },
    {
      "commit": "f689b93e904e062d83a7ae7e8cacce0b52af3323",
      "tree": "bf31ba5c548c3ba93db494060a50908dcfaef990",
      "parents": [
        "b74a8625b6194fe86769416c70497e74a73a740d",
        "934ce8082aeccb491a24f5af0fdcf40966d54dfb"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Apr 02 03:18:59 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 02 03:18:59 2014 +0000"
      },
      "message": "Merge \"Use TEST_ART_RUN_TESTS consistently\""
    },
    {
      "commit": "934ce8082aeccb491a24f5af0fdcf40966d54dfb",
      "tree": "bf31ba5c548c3ba93db494060a50908dcfaef990",
      "parents": [
        "b74a8625b6194fe86769416c70497e74a73a740d"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Apr 01 18:09:33 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Apr 01 18:10:24 2014 -0700"
      },
      "message": "Use TEST_ART_RUN_TESTS consistently\n\nChange-Id: I0242702886d53a39f2604e209a0763ff82278e1c\n"
    },
    {
      "commit": "b74a8625b6194fe86769416c70497e74a73a740d",
      "tree": "5f353e7044b43e0580019e0df01087183dbe2f0d",
      "parents": [
        "52f5ecb1714a17b72182fcdf88ae7f6d817855cc",
        "43a065ce1dda78e963868f9753a6e263721af927"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Tue Apr 01 23:44:59 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 01 23:45:00 2014 +0000"
      },
      "message": "Merge \"Add GenBarrier() calls to terminate all IT blocks.\""
    },
    {
      "commit": "43a065ce1dda78e963868f9753a6e263721af927",
      "tree": "5f353e7044b43e0580019e0df01087183dbe2f0d",
      "parents": [
        "52f5ecb1714a17b72182fcdf88ae7f6d817855cc"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Tue Apr 01 15:14:46 2014 -0700"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Tue Apr 01 23:44:25 2014 +0000"
      },
      "message": "Add GenBarrier() calls to terminate all IT blocks.\n\nThis is needed to prevent things like load hoisting from putting\ninstructions inside the IT block.\n\nBug: 13749123\nChange-Id: I98a010453b163ac20a90f626144f798fc06e65a9\n"
    },
    {
      "commit": "52f5ecb1714a17b72182fcdf88ae7f6d817855cc",
      "tree": "5d15e7229eedb937ce8a5dfeeec519967fbfe09b",
      "parents": [
        "f5424f29709f40c2b3d98e2a5ed56c40187d368b",
        "d803bc7ce255be6c16eaf6a8a58a742515e9da9f"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Apr 01 22:46:11 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 01 22:46:11 2014 +0000"
      },
      "message": "Merge \"Fix ThreadStress, unify ANR lock descriptions.\""
    },
    {
      "commit": "f5424f29709f40c2b3d98e2a5ed56c40187d368b",
      "tree": "5d5412b82a7090d15c5bb9962a0f6bccb516b000",
      "parents": [
        "252f848f68356551980701126481e0685bbded08",
        "86fb9bfa48a547eaaa363b0446d330b352b83a80"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Apr 01 22:44:36 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 01 22:44:37 2014 +0000"
      },
      "message": "Merge \"Fix Thread offsets for ARM64 assembly\""
    },
    {
      "commit": "252f848f68356551980701126481e0685bbded08",
      "tree": "2aeec7b68eff57bb84218d70aa47ba936cf43171",
      "parents": [
        "b3d7eed9f760fa22e3a8e87ec2c8ff3fe50a1f50",
        "da44d773dedf8aae6153e3423012f236cba3bfcd"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 01 22:37:45 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 01 22:37:45 2014 +0000"
      },
      "message": "Merge \"Fix running with DlMalloc instead of RosAlloc.\""
    },
    {
      "commit": "d803bc7ce255be6c16eaf6a8a58a742515e9da9f",
      "tree": "9d996494ae037ba99bb149927adfe961be68926b",
      "parents": [
        "8ce67ac16abcd25b376be622cbd20a34aec4a59d"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Apr 01 15:33:03 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Apr 01 15:33:03 2014 -0700"
      },
      "message": "Fix ThreadStress, unify ANR lock descriptions.\n\nBug: 13323656\nChange-Id: I902825a847af9aa570ed79701409298e3532bebf\n"
    },
    {
      "commit": "da44d773dedf8aae6153e3423012f236cba3bfcd",
      "tree": "60c9e81292f2c62af9764d53e8b4077f24879f7b",
      "parents": [
        "e0309ad355e778fe692beb8968bf8aa7edbd3302"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 01 15:01:46 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 01 15:17:31 2014 -0700"
      },
      "message": "Fix running with DlMalloc instead of RosAlloc.\n\nBug: 13748830\nBug: 13744490\n\nChange-Id: Ieec97cf58ebf9864a40ee85aae582cdcf3f27c0c\n"
    },
    {
      "commit": "86fb9bfa48a547eaaa363b0446d330b352b83a80",
      "tree": "36aecb94eada91e0170b599b7cf4daaa43cac770",
      "parents": [
        "b3d7eed9f760fa22e3a8e87ec2c8ff3fe50a1f50"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Apr 01 14:18:21 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Apr 01 14:18:21 2014 -0700"
      },
      "message": "Fix Thread offsets for ARM64 assembly\n\nChange-Id: I8d0516091b5a865f415e1446425203785e607f8a\n"
    },
    {
      "commit": "b3d7eed9f760fa22e3a8e87ec2c8ff3fe50a1f50",
      "tree": "97dc40fcc18b0ad8ff036d45524bcebab338b4a6",
      "parents": [
        "a1dbc55dcbeb0e91f1c3a68b94ee6d06d5d216f7",
        "afbaa1aab02cfe519d00336870b1bcd24b61378d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Apr 01 21:13:05 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 01 21:13:05 2014 +0000"
      },
      "message": "Merge \"Build changes to build multilib tests\""
    },
    {
      "commit": "afbaa1aab02cfe519d00336870b1bcd24b61378d",
      "tree": "ec33583d52a42ee49082f4bce404e8c434cfd8f5",
      "parents": [
        "8ce67ac16abcd25b376be622cbd20a34aec4a59d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Mar 25 18:09:32 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Apr 01 13:58:32 2014 -0700"
      },
      "message": "Build changes to build multilib tests\n\nTest files will be emitted into directories for both first and second\ntarget architectures. Going with the naming scheme for binaries,\nsingle-architecture and 32b cases have the standard name, and\n64b goes into a directory with \"64\" suffix.\n\nIn multi-architecture setups, the default concrete test targets are\nextended with a \"32\" and \"64\" suffix, e.g., test-art-target-oat-JniTest64.\nThe suffix-less form is linked to the primary architecture target (usually 64).\nThat means running combined targets, e.g., test-art-target-oat, will only\ntest the primary architecture right now.\n\nFixed target run tests calling the right dalvikvm. Fixed library search\npath for tests derived from CommonRuntimeTest.\n\nMissing in this work-in-progress is correct handling of dex2oat for the\nsecondary architecture. To make it work on 64b, comment out line 101\nin build/Android.executable.mk\n\nChange-Id: I3d260994e6efe8b73b56c71994053cc9392943a9\n"
    }
  ],
  "next": "a1dbc55dcbeb0e91f1c3a68b94ee6d06d5d216f7"
}
