)]}'
{
  "log": [
    {
      "commit": "a62a588a9202f69e53fbeb3045ea8ea5ec2587f8",
      "tree": "afbbcca1eaa59d40fa94db6babeb2ea909777357",
      "parents": [
        "b5c5646b5ffd3d451af5e8d52b50743bf61d4c40"
      ],
      "author": {
        "name": "Jim_Guo",
        "email": "jim_guo@htc.com",
        "time": "Mon Apr 28 11:11:57 2014 +0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Aug 04 22:27:52 2014 -0700"
      },
      "message": "ART: Fix memory unmapped twice issue in ElfFile::Load(bool)\n\nRoot Cause:\n  The overlapped memory region will be unmapped by\n  (1) ~MemMap() of reservation MemMap (reserve) and\n  (2) ~MemMap() of \"reuse\" MemMap (segment).\n  Someone takes the memory region after (1) and it will be unmapped in (2).\n  So, SIGSEGV occurs when using the unmapped memory region.\n\nSolution:\n  Fixes this issue by skip unmap \"reuse\" MemMap in destructor.\n  And always create reservation MemMap before \"reuse\" MemMap. (It also solved\n  the fixupELF case which does not reserve the whole needed memory region).\n\nBug: 16486685\nChange-Id: I8f2538861d5c3fa7b9a04d2c3f516319cc060291\n"
    },
    {
      "commit": "b5c5646b5ffd3d451af5e8d52b50743bf61d4c40",
      "tree": "32340767bc568f75b7148b5ba40aa1d1e57a7636",
      "parents": [
        "c52361cfaae8be2fbaa25b175d4f6c37d4110764",
        "422f4733ce76eda8f4ebb5a3dce5c0a5a2264886"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Aug 05 02:56:06 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 05 00:35:38 2014 +0000"
      },
      "message": "Merge \"Use the uncached form of BacktraceMap::Create.\""
    },
    {
      "commit": "422f4733ce76eda8f4ebb5a3dce5c0a5a2264886",
      "tree": "32340767bc568f75b7148b5ba40aa1d1e57a7636",
      "parents": [
        "c52361cfaae8be2fbaa25b175d4f6c37d4110764"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Aug 04 17:15:21 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Aug 04 19:22:40 2014 -0700"
      },
      "message": "Use the uncached form of BacktraceMap::Create.\n\nThe code assumes that calling BacktraceMap::Create creates a map based\non the current state of the maps. This is not true by default, so\ncall the Create function indicating we want an uncached BacktraceMap object.\n\n(cherry picked from 27a10f618357cf85cc0677a04f0a5a3a8a437aed)\n\nChange-Id: Ic7a2dedaea9950174b24ede4dcda30ffe036fe93\n"
    },
    {
      "commit": "c52361cfaae8be2fbaa25b175d4f6c37d4110764",
      "tree": "6bd06878e564b6e753e2cf3d02b0ede859cd7def",
      "parents": [
        "9e9b15dd29ff4d91f31ed1063561963b2f99ad1c",
        "c76c614d681d187d815760eb909e5faf488a3c35"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Aug 05 01:44:22 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 05 00:42:16 2014 +0000"
      },
      "message": "Merge \"ART: Refactor long ops in quick compiler\""
    },
    {
      "commit": "c76c614d681d187d815760eb909e5faf488a3c35",
      "tree": "22ccfeae5c0b4afe9a30e0b84e92ac2000d76784",
      "parents": [
        "1a09d286bdb4abc9aae06dcf4a8b052648816e2b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 04 16:30:03 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 04 18:21:51 2014 -0700"
      },
      "message": "ART: Refactor long ops in quick compiler\n\nMake GenArithOpLong virtual. Let the implementation in gen_common be\nvery basic, without instruction-set checks, and meant as a fall-back.\nBackends should implement and dispatch to code for better implementations.\nThis allows to remove the GenXXXLong virtual methods from Mir2Lir, and\nclean up the backends (especially removing some LOG(FATAL) implementations).\n\nChange-Id: I6366443c0c325c1999582d281608b4fa229343cf\n"
    },
    {
      "commit": "1a09d286bdb4abc9aae06dcf4a8b052648816e2b",
      "tree": "292a26d26b4f5c49c6b255dda305772f812fe648",
      "parents": [
        "c7975a33b9c8fb36e85c41162462aeec8e76232a",
        "c763e350da562b0c6bebf10599588d4901140e45"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 04 23:22:12 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 04 23:00:33 2014 +0000"
      },
      "message": "Merge \"AArch64: Implement InexpensiveConstant methods.\""
    },
    {
      "commit": "c763e350da562b0c6bebf10599588d4901140e45",
      "tree": "292a26d26b4f5c49c6b255dda305772f812fe648",
      "parents": [
        "c7975a33b9c8fb36e85c41162462aeec8e76232a"
      ],
      "author": {
        "name": "Matteo Franchin",
        "email": "matteo.franchin@arm.com",
        "time": "Fri Jul 04 12:53:27 2014 +0100"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 04 16:21:18 2014 -0700"
      },
      "message": "AArch64: Implement InexpensiveConstant methods.\n\nImplement IsInexpensiveConstant and friends for A64.\nAlso extending the methods to take the opcode with respect to which\nthe constant is inexpensive. Additionally, logical operations (i.e.\nand, or, xor) can now handle the immediates 0 and ~0 (which are not\nlogical immediates).\n\nChange-Id: I46ce1287703765c5ab54983d13c1b3a1f5838622\n"
    },
    {
      "commit": "9e9b15dd29ff4d91f31ed1063561963b2f99ad1c",
      "tree": "d796f10af2cc7719a07a35bea6fea50eabe242b1",
      "parents": [
        "1a09d286bdb4abc9aae06dcf4a8b052648816e2b",
        "f7a68c1bd01db4e80003eb19cc8a4cdc8330adbe"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 04 23:32:31 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 01 02:02:23 2014 +0000"
      },
      "message": "Merge \"Add trampoline invoke and ART callback tests for native-bridge\""
    },
    {
      "commit": "f7a68c1bd01db4e80003eb19cc8a4cdc8330adbe",
      "tree": "106917930a223d84b8e25b28e8eb2d712afbaf60",
      "parents": [
        "89c210bf418a152ccabfbbf853ddcce33aea450d"
      ],
      "author": {
        "name": "Yong WU",
        "email": "yong.wu@intel.com",
        "time": "Sun Aug 03 16:06:52 2014 +0800"
      },
      "committer": {
        "name": "Yong WU",
        "email": "yong.wu@intel.com",
        "time": "Sun Aug 03 16:07:20 2014 +0800"
      },
      "message": "Add trampoline invoke and ART callback tests for native-bridge\n\nCreate trampolines for JNI functions in native-bridge. Test trampoline\ninvoking from ART side.\n\nAdd tests for ART callbacks which called from native-bridge. In this test\nthey are invoked from the trampoline of JNI_OnLoad.\n\nChange-Id: Ibaa5103fdf49a6b29a1c12f45410fe5f82d46b1e\n"
    },
    {
      "commit": "c7975a33b9c8fb36e85c41162462aeec8e76232a",
      "tree": "940bb5b1c8df4d25ea23c689e341d5e877df3743",
      "parents": [
        "316fb6e4992f41fa0742f1360c6497787c9433e3",
        "2eba1fa7e9e5f91e18ae3778d529520bd2c78d55"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 04 22:56:32 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 01 01:50:59 2014 +0000"
      },
      "message": "Merge \"AArch64: Add inlining support for ceil(), floor(), rint(), round()\""
    },
    {
      "commit": "2eba1fa7e9e5f91e18ae3778d529520bd2c78d55",
      "tree": "a75aae98e3329508a82e45c6bffea0777ec266b1",
      "parents": [
        "7aaa8dbfbcde7f58564b42044892891559669838"
      ],
      "author": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Thu Jul 31 19:07:17 2014 +0100"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 04 15:10:25 2014 -0700"
      },
      "message": "AArch64: Add inlining support for ceil(), floor(), rint(), round()\n\nThis patch adds inlining support for the following Math, StrictMath\nmethods in the ARM64 backend:\n  * double ceil(double)\n  * double floor(double)\n  * double rint(double)\n  * long round(double)\n  * int round(float)\n\nAlso some cleanup.\n\nChange-Id: I9f5a2f4065b1313649f4b0c4380b8176703c3fe1\nSigned-off-by: Serban Constantinescu \u003cserban.constantinescu@arm.com\u003e\n"
    },
    {
      "commit": "316fb6e4992f41fa0742f1360c6497787c9433e3",
      "tree": "ccba29566141d15396ff76348ac5db040c7bab1b",
      "parents": [
        "7aaa8dbfbcde7f58564b42044892891559669838",
        "0d08727e19b46770f0f27633d08caf13d9bb3e98"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Aug 04 22:17:40 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 01 08:22:51 2014 +0000"
      },
      "message": "Merge \"Make verifier identify unresolved methods as constructors by \u003cinit\u003e.\""
    },
    {
      "commit": "0d08727e19b46770f0f27633d08caf13d9bb3e98",
      "tree": "ccba29566141d15396ff76348ac5db040c7bab1b",
      "parents": [
        "7aaa8dbfbcde7f58564b42044892891559669838"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Aug 04 14:47:17 2014 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Aug 04 15:07:17 2014 -0700"
      },
      "message": "Make verifier identify unresolved methods as constructors by \u003cinit\u003e.\n\nCheck was previously missing brackets in the method name.\n\nBug: 16560516\n\n(cherry picked from commit 04ce113458b6b01f96d58dbb4c41682ee22d8b5d)\n\nChange-Id: Ie98c5b84e73ffc43ea08e1b08ae9c6e41bcd5891\n"
    },
    {
      "commit": "7aaa8dbfbcde7f58564b42044892891559669838",
      "tree": "ea08c87f4d7803e295675610dccee454a92e34fb",
      "parents": [
        "4e97f6564fa51609d5651374dcdd2a8f4e79f272",
        "6bbf0967d217ab2b7bdbb78bfd076b8fb07a44e8"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 04 19:36:53 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 01 08:22:51 2014 +0000"
      },
      "message": "Merge \"ART: Implement the easy long division/remainder by a constant\""
    },
    {
      "commit": "6bbf0967d217ab2b7bdbb78bfd076b8fb07a44e8",
      "tree": "39c31e28b92bf33e7ad9fe2cdcc790714c7e839c",
      "parents": [
        "77a5b50148633c2651edb7f35f5254e40cc878dc"
      ],
      "author": {
        "name": "Alexei Zavjalov",
        "email": "alexei.zavjalov@intel.com",
        "time": "Tue Jul 15 02:19:41 2014 +0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 04 12:35:44 2014 -0700"
      },
      "message": "ART: Implement the easy long division/remainder by a constant\n\nAlso optimizes long/int divisions by power-of-two values.\n\nAlso do some clean-up.\n\nChange-Id: Ie414e64aac251c81361ae107d157c14439e6dab5\nSigned-off-by: Alexei Zavjalov \u003calexei.zavjalov@intel.com\u003e\n"
    },
    {
      "commit": "4e97f6564fa51609d5651374dcdd2a8f4e79f272",
      "tree": "6720967dba5914f60a7cddaca044bc7446b37a3f",
      "parents": [
        "dc3ca147ee880088eb2f52b7b0355062ba5749be",
        "57309dbec7a119670bfae722f7399dd308042bbc"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Aug 04 18:27:31 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 01 08:22:51 2014 +0000"
      },
      "message": "Merge \"Move image classes options from art to AndroidRuntime [art]\""
    },
    {
      "commit": "dc3ca147ee880088eb2f52b7b0355062ba5749be",
      "tree": "9c0009704881fa51dc243c2a9aebd610d0818a38",
      "parents": [
        "77a5b50148633c2651edb7f35f5254e40cc878dc",
        "2e879694544744436a595eb30cd0b8ad4580c9db"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Aug 04 18:27:30 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 01 02:02:23 2014 +0000"
      },
      "message": "Merge \"Move from dalvik.vm.image-dex2oat-flags to dalvik.vm.dex2oat-filter [art]\""
    },
    {
      "commit": "77a5b50148633c2651edb7f35f5254e40cc878dc",
      "tree": "3e5c1d11db8f40b5629121e70b28b566ca67083c",
      "parents": [
        "f7f6c978d44a785d4c12879c6ca20ca1832d3217",
        "cedee4744c2d4f3611a7bb9fe98ef1bf4c37d915"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 04 17:46:05 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 01 01:50:59 2014 +0000"
      },
      "message": "Merge \"AArch64: Remove unnecessary work around for sp.\""
    },
    {
      "commit": "cedee4744c2d4f3611a7bb9fe98ef1bf4c37d915",
      "tree": "4af83e5223a971a5884791c06226f166bd68d3fe",
      "parents": [
        "00d1ef41d0d0d438d604d102183a6bfac58643e7"
      ],
      "author": {
        "name": "Zheng Xu",
        "email": "zheng.xu@arm.com",
        "time": "Tue Jul 01 09:53:22 2014 +0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 04 10:09:22 2014 -0700"
      },
      "message": "AArch64: Remove unnecessary work around for sp.\n\nUse RegRegRegExtend to encode instruction for \"sub/add sp, sp, Xm\".\n\nChange-Id: I13d3d2d386a7bd827e1396f291a7dcb9bffd5a29\n"
    },
    {
      "commit": "f7f6c978d44a785d4c12879c6ca20ca1832d3217",
      "tree": "799dd4a1415be4acf1043c27b5785ee0893490b5",
      "parents": [
        "7906b25f79f24af3a8b8eee0454b4db1278b9b77",
        "108437eb35895e7fd461b131c6ceb383a7ca6ca2"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Aug 04 17:31:49 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 04 07:59:13 2014 +0000"
      },
      "message": "Merge \"Inform about System.exit() call in logcat\""
    },
    {
      "commit": "108437eb35895e7fd461b131c6ceb383a7ca6ca2",
      "tree": "799dd4a1415be4acf1043c27b5785ee0893490b5",
      "parents": [
        "7906b25f79f24af3a8b8eee0454b4db1278b9b77"
      ],
      "author": {
        "name": "Dmitry Petrochenko",
        "email": "dmitry.petrochenko@intel.com",
        "time": "Thu Jul 03 17:07:45 2014 +0700"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Aug 04 17:42:00 2014 +0100"
      },
      "message": "Inform about System.exit() call in logcat\n\nThis diagnostic message helps to filter out crashes during System.exit()\nwhen thread\u0027s behaviour is undefined.\n\nChange-Id: I772932a35b503b1efca695e7da7bf2e562c03a7c\nSigned-off-by: Dmitry Petrochenko \u003cdmitry.petrochenko@intel.com\u003e\n"
    },
    {
      "commit": "7906b25f79f24af3a8b8eee0454b4db1278b9b77",
      "tree": "1bc47d7b56d69100e1c1896ab1586b93870d2cc6",
      "parents": [
        "43c63b5aaa7cd1c6d0ca13b7ea28cc321848d127",
        "f29ecd69af2743a425314baa4abd6c44d8d88649"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 04 16:32:25 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 01 02:02:23 2014 +0000"
      },
      "message": "Merge \"ART: Rework ARM64 entry sequence\""
    },
    {
      "commit": "f29ecd69af2743a425314baa4abd6c44d8d88649",
      "tree": "4b54ebb2c2bc7509b8081d524d858bf315f07e68",
      "parents": [
        "00d1ef41d0d0d438d604d102183a6bfac58643e7"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 29 00:35:00 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 04 09:30:07 2014 -0700"
      },
      "message": "ART: Rework ARM64 entry sequence\n\nTry to fold one sub of SP in the ARM64 entry sequence. When the\nframesize is small, generate a sub over the full frame-size, and\nadjust the spill offsets accordingly. If the framesize is too\nlarge, use a pre-indexed store and fill upwards from there.\n\nChange-Id: I1c15ac6276fb62b8164372de02fd92437f605938\n"
    },
    {
      "commit": "43c63b5aaa7cd1c6d0ca13b7ea28cc321848d127",
      "tree": "62ccc7504d91617154c6474b933562cc70255fce",
      "parents": [
        "89c210bf418a152ccabfbbf853ddcce33aea450d",
        "1268b742c8cff7318dc0b5b283cbaeabfe0725ba"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Aug 04 11:24:20 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 04 07:59:13 2014 +0000"
      },
      "message": "Merge \"Fix broken JNI IsAssignableFrom.\""
    },
    {
      "commit": "1268b742c8cff7318dc0b5b283cbaeabfe0725ba",
      "tree": "62ccc7504d91617154c6474b933562cc70255fce",
      "parents": [
        "89c210bf418a152ccabfbbf853ddcce33aea450d"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Jul 11 19:15:11 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Aug 01 14:53:30 2014 +0100"
      },
      "message": "Fix broken JNI IsAssignableFrom.\n\nThe expected argument order was the opposite of what the spec\ndictated.\n\nReported-By: Mikhail Naganov \u003cmnaganov@google.com\u003e\nbug: 16531674\n\nChange-Id: I1ebc6d5814ebb4feeb96f3ecdf1a4602da4ba7ce\n"
    },
    {
      "commit": "89c210bf418a152ccabfbbf853ddcce33aea450d",
      "tree": "1446778bee2ccfa0d2188ef8a50585e6114e3d77",
      "parents": [
        "59a5525e72d723c8598b6271c7b09845999beeb0",
        "63999683329612292d534e6be09dbde9480f1250"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@android.com",
        "time": "Thu Jul 31 21:02:56 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 31 20:35:32 2014 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Enable Load Store Elimination for ARM and ARM64\"\"\""
    },
    {
      "commit": "57309dbec7a119670bfae722f7399dd308042bbc",
      "tree": "e444653abe366d36785681bab3e0bb24fb7317de",
      "parents": [
        "2e879694544744436a595eb30cd0b8ad4580c9db"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 30 15:13:25 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 30 15:57:15 2014 -0700"
      },
      "message": "Move image classes options from art to AndroidRuntime [art]\n\nBug: 15165413\nChange-Id: I3dfa702ac29279cf76d4cc451138c03a5158ac3a\n"
    },
    {
      "commit": "2e879694544744436a595eb30cd0b8ad4580c9db",
      "tree": "99095821233d96e0670b1be2d9057df143636c62",
      "parents": [
        "01a0ebb6b96c32879dcad99d515fc0cd8de2a266"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jul 28 19:13:27 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 30 15:57:14 2014 -0700"
      },
      "message": "Move from dalvik.vm.image-dex2oat-flags to dalvik.vm.dex2oat-filter [art]\n\nThis will allow us to conditionally change the compiler-filter based on other properties.\n\nBug: 15165413\nChange-Id: I6877a6eab221ab142909b595fd28191b5d3a095b\n"
    },
    {
      "commit": "00d1ef41d0d0d438d604d102183a6bfac58643e7",
      "tree": "2fbe16f92e9353830dd6667728c6794d9925cacd",
      "parents": [
        "70f7d48b9f2ad768c1e1a5bd96979870379f05e2",
        "54659e3a2c83d3949957a10436e55e525a430a15"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@android.com",
        "time": "Thu Jul 31 14:08:33 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 29 21:36:05 2014 +0000"
      },
      "message": "Merge \"ART: LoadConstWide should clobber temp reg\""
    },
    {
      "commit": "54659e3a2c83d3949957a10436e55e525a430a15",
      "tree": "c49f155975190dedff9794c89fc738edaed3f999",
      "parents": [
        "f90283f61d6ca37abf3a9fb8447d05e79caf0160"
      ],
      "author": {
        "name": "Alexei Zavjalov",
        "email": "alexei.zavjalov@intel.com",
        "time": "Wed Jul 30 19:31:04 2014 +0700"
      },
      "committer": {
        "name": "Alexei Zavjalov",
        "email": "alexei.zavjalov@intel.com",
        "time": "Thu Jul 31 02:35:49 2014 +0700"
      },
      "message": "ART: LoadConstWide should clobber temp reg\n\nIf we have 2+ LoadConstWide(FP) calls in one method it is possible\nthat LoadConstWide will load the method poiner only once. In some\ncases, for example, if we have branches, initialization might not be\ndone and it may lead to a segmentation fault.\n\nChange-Id: If45fc2d1109d7ce9bd272f5c56446b2a6884daac\nSigned-off-by: Alexei Zavjalov \u003calexei.zavjalov@intel.com\u003e\n"
    },
    {
      "commit": "59a5525e72d723c8598b6271c7b09845999beeb0",
      "tree": "116816630e3da55f1e669c81e5b47e080691295c",
      "parents": [
        "2eb3769cf75724ce84dcb1b11bddcc1247444799",
        "7da9586b559290e1c16207c6513ffe485de61655"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Jul 31 18:32:43 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 29 21:36:05 2014 +0000"
      },
      "message": "Merge \"Add read barriers for the roots in the verifier.\""
    },
    {
      "commit": "7da9586b559290e1c16207c6513ffe485de61655",
      "tree": "4fb44066c831224dad49430f69aa4edf29aad3da",
      "parents": [
        "1175aec5f686b9e3d429282d7d4022c39436f71f"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Jul 30 14:26:22 2014 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Jul 31 10:45:47 2014 -0700"
      },
      "message": "Add read barriers for the roots in the verifier.\n\nNote: Because the roots (the class references in RegType objects) can\nbe updated by the read barriers, a lot of uses of type \"const RegType\"\nwere replaced with \"RegType\".\n\nBug: 12687968\nChange-Id: I6cf37a87f352938d43fb51560a8d927ada104f50\n"
    },
    {
      "commit": "2eb3769cf75724ce84dcb1b11bddcc1247444799",
      "tree": "63fc6d8c07bd807cd6d2c511dacb18dd0aa627f6",
      "parents": [
        "1175aec5f686b9e3d429282d7d4022c39436f71f",
        "b93637a01831e697725753541083f04b1e2df6fb"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Jul 31 18:06:57 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 29 22:52:28 2014 +0000"
      },
      "message": "Merge \"Make ImageSpace skip validation if we are using a relocated image\""
    },
    {
      "commit": "b93637a01831e697725753541083f04b1e2df6fb",
      "tree": "63fc6d8c07bd807cd6d2c511dacb18dd0aa627f6",
      "parents": [
        "1175aec5f686b9e3d429282d7d4022c39436f71f"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jul 31 10:48:46 2014 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jul 31 10:57:14 2014 -0700"
      },
      "message": "Make ImageSpace skip validation if we are using a relocated image\n\nChange-Id: I0682d1870f5b3e27adb9c9de803fbb7d364ad00d\n"
    },
    {
      "commit": "1175aec5f686b9e3d429282d7d4022c39436f71f",
      "tree": "0f80ac433f0ce17b3620b55c81af583787bf9a4a",
      "parents": [
        "00d1ef41d0d0d438d604d102183a6bfac58643e7",
        "1a762136398ffa4ed2c366d344b45ca4244d6c6c"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Jul 31 16:56:26 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 29 22:52:28 2014 +0000"
      },
      "message": "Merge \"Fix image not regenerating on changes to bootclasspath\""
    },
    {
      "commit": "1a762136398ffa4ed2c366d344b45ca4244d6c6c",
      "tree": "0f80ac433f0ce17b3620b55c81af583787bf9a4a",
      "parents": [
        "00d1ef41d0d0d438d604d102183a6bfac58643e7"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jul 31 09:32:13 2014 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jul 31 09:32:13 2014 -0700"
      },
      "message": "Fix image not regenerating on changes to bootclasspath\n\nBug: 16367410\nChange-Id: I10e81d068ffc2ab712a287f88ef67f6a1be4df4c\n"
    },
    {
      "commit": "01a0ebb6b96c32879dcad99d515fc0cd8de2a266",
      "tree": "911b256376844492d2acd44873b0828e0f3aa163",
      "parents": [
        "ef57ed72a3ac856f6115ae89c609d4fd892e8c41",
        "fc0082be5e28eda30833ad627409d94ccf1bfed2"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 30 17:41:27 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 29 21:36:05 2014 +0000"
      },
      "message": "Merge \"Make 32bit run-tests work correctly on 64bit default devices.\""
    },
    {
      "commit": "fc0082be5e28eda30833ad627409d94ccf1bfed2",
      "tree": "a95979efe3bc9bf705e0d889af9902cc7fa45b9e",
      "parents": [
        "f90283f61d6ca37abf3a9fb8447d05e79caf0160"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jul 29 18:31:18 2014 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jul 30 01:32:36 2014 +0000"
      },
      "message": "Make 32bit run-tests work correctly on 64bit default devices.\n\nChange-Id: I7a5ca303ab91dec0df95358435e4a56c18a7fce3\n"
    },
    {
      "commit": "70f7d48b9f2ad768c1e1a5bd96979870379f05e2",
      "tree": "10113a67776d1bb050115043e47e6970a85103c5",
      "parents": [
        "36b111c7d3d635e262114dabde4c26952c7dcbe6",
        "b19955d3c8fbd9588f7e17299e559d02938154b6"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 31 09:31:40 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 29 17:36:26 2014 +0000"
      },
      "message": "Merge \"Reduce time and memory usage of GVN.\""
    },
    {
      "commit": "b19955d3c8fbd9588f7e17299e559d02938154b6",
      "tree": "10113a67776d1bb050115043e47e6970a85103c5",
      "parents": [
        "36b111c7d3d635e262114dabde4c26952c7dcbe6"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jul 29 12:04:10 2014 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 31 09:57:09 2014 +0100"
      },
      "message": "Reduce time and memory usage of GVN.\n\nFilter out dead sregs in GVN. Reclaim memory after each LVN\nin the GVN modification phase.\n\nBug: 16398693\nChange-Id: I8c88c3009663754e1b66c0ef3f62c3b93276e385\n"
    },
    {
      "commit": "36b111c7d3d635e262114dabde4c26952c7dcbe6",
      "tree": "c692463d03fbfb39f8da3ccf37c63373f6280a17",
      "parents": [
        "cc75c1b38e811cc1cb93ce8f8fcc9a83e20844fb",
        "bda2722ba62e5be9f9fd6a6eb0db8259bb383629"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jul 31 06:24:06 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 30 19:31:16 2014 +0000"
      },
      "message": "Merge \"ART: Build fix\""
    },
    {
      "commit": "bda2722ba62e5be9f9fd6a6eb0db8259bb383629",
      "tree": "c692463d03fbfb39f8da3ccf37c63373f6280a17",
      "parents": [
        "cc75c1b38e811cc1cb93ce8f8fcc9a83e20844fb"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 30 23:21:36 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 30 23:21:36 2014 -0700"
      },
      "message": "ART: Build fix\n\nMake lint happy, as comments should be separated from code.\n\nChange-Id: I4bfd88357302be9a6a104f1152e3b1fda386371e\n"
    },
    {
      "commit": "cc75c1b38e811cc1cb93ce8f8fcc9a83e20844fb",
      "tree": "2abbc7620bdc704c65db05cce485e1dd8faef8ad",
      "parents": [
        "9900a610fbb40c49b0503183b79c4bbb376c4128",
        "35e1e6ad4b50f1adbe9f93fe467766f042491896"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jul 31 04:21:44 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 29 21:36:05 2014 +0000"
      },
      "message": "Merge \"1. Fix CFI for quick compiled code in x86 \u0026 x86_64; 2. Emit CFI in .eh_frame instead of .debug_frame.\""
    },
    {
      "commit": "35e1e6ad4b50f1adbe9f93fe467766f042491896",
      "tree": "054e8fe1140fc1144ececa8ad8beda18be9566a2",
      "parents": [
        "01a0ebb6b96c32879dcad99d515fc0cd8de2a266"
      ],
      "author": {
        "name": "Tong Shen",
        "email": "endlessroad@google.com",
        "time": "Wed Jul 30 09:31:22 2014 -0700"
      },
      "committer": {
        "name": "Tong Shen",
        "email": "endlessroad@google.com",
        "time": "Wed Jul 30 20:19:26 2014 +0000"
      },
      "message": "1. Fix CFI for quick compiled code in x86 \u0026 x86_64;\n2. Emit CFI in .eh_frame instead of .debug_frame.\n\nWith CFI, we can correctly unwind past quick generated code.\nNow gdb should unwind to main() for both x86 \u0026 x86_64 host-side ART.\n\nNote that it does not work with relocation yet.\n\nTesting:\n1. art/test/run-test --host --gdb [--64] --no-relocate 005\n2. In gdb, run \u0027b art_quick_invoke_stub\u0027, then \u0027r\u0027, then \u0027c\u0027 a few times\n3. In gdb, run \u0027bt\u0027. You should see stack frames down to main()\n\nChange-Id: I5350d4097dc3d360a60cb17c94f1d02b99bc58bb\n"
    },
    {
      "commit": "9900a610fbb40c49b0503183b79c4bbb376c4128",
      "tree": "b6faaba2c8a7badb33560479c817fa6e59d00724",
      "parents": [
        "e34e467f9adf59ba7febdc22b6329ef4b853e123",
        "bfac14acef0c2327ef8c28f146dd17d009aa8669"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jul 31 03:56:05 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 29 21:36:05 2014 +0000"
      },
      "message": "Merge \"Add --always-clean flag to run-test.\""
    },
    {
      "commit": "e34e467f9adf59ba7febdc22b6329ef4b853e123",
      "tree": "ffd2bae0a66e2f174fabc4e8c1062038e5b5dccc",
      "parents": [
        "da4a1264cd7d5db9ed01cfd1eeaed71cb11c6c71",
        "aa910d5ef43256102809e397de305c23f1c315e6"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jul 31 03:39:34 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 30 19:31:16 2014 +0000"
      },
      "message": "Merge \"ART: Fix verifier mishandling erroneous array component types\""
    },
    {
      "commit": "aa910d5ef43256102809e397de305c23f1c315e6",
      "tree": "ffd2bae0a66e2f174fabc4e8c1062038e5b5dccc",
      "parents": [
        "da4a1264cd7d5db9ed01cfd1eeaed71cb11c6c71"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 30 18:59:05 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 30 20:38:55 2014 -0700"
      },
      "message": "ART: Fix verifier mishandling erroneous array component types\n\nThe verifier must not assume that component types are not erroneous.\n\nBug: 16661259\nChange-Id: I23b2f517259ca9c0b8a1aa38f6348fcd61e0b22e\n"
    },
    {
      "commit": "da4a1264cd7d5db9ed01cfd1eeaed71cb11c6c71",
      "tree": "4b8fa4da5aef0bd4f7340d33f2d6649ba2089b5a",
      "parents": [
        "01a0ebb6b96c32879dcad99d515fc0cd8de2a266",
        "36dab3607e77505ce139eacef1c62a1c4bc4affd"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 31 00:15:37 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 30 19:31:16 2014 +0000"
      },
      "message": "Merge \"Add support for bump pointer spaces to DdmSendHeapSegments.\""
    },
    {
      "commit": "36dab3607e77505ce139eacef1c62a1c4bc4affd",
      "tree": "4b8fa4da5aef0bd4f7340d33f2d6649ba2089b5a",
      "parents": [
        "01a0ebb6b96c32879dcad99d515fc0cd8de2a266"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jul 30 14:59:56 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jul 30 17:03:32 2014 -0700"
      },
      "message": "Add support for bump pointer spaces to DdmSendHeapSegments.\n\nAdded support for bump pointer spaces as well as\ndifferentiating between DlMallocSpaces and RosAllocSpaces.\nAdded logic to reset the start of next chunk to prevent\ninbetween space regions counted as free.\n\nFixed a debug build bug where we were doing an mprotect after\ncreating a rosalloc space. In debug builds, this writes a magic\nvalue in the page. This was faulting since it was set to PROT_NONE.\nThe fix moves the mprotect before the RosAlloc space creation.\n\nBug: 16408851\nChange-Id: Ibe18198d05ff353fbb57d10b2f7719fdcbf1c5f0\n"
    },
    {
      "commit": "bfac14acef0c2327ef8c28f146dd17d009aa8669",
      "tree": "8b1e6943ab8923f4519421af221dbbe2c5c77027",
      "parents": [
        "ef57ed72a3ac856f6115ae89c609d4fd892e8c41"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jul 30 09:41:21 2014 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jul 30 11:08:58 2014 -0700"
      },
      "message": "Add --always-clean flag to run-test.\n\nThis flag makes run-test remove the test-artifacts even if it fails. Also\nenable this option by default when doing run-tests with make. Add\na ART_TEST_RUN_TEST_ALWAYS_CLEAN environment variable to control this\noption.\n\nChange-Id: I7867b400d570d8d679d9822d1fa65f49eb3522ae\n"
    },
    {
      "commit": "63999683329612292d534e6be09dbde9480f1250",
      "tree": "4412a387d3fc4313f98138764ce9197f58f9825c",
      "parents": [
        "3f49507c333b7c8d36620870522a7a1055987ef8"
      ],
      "author": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Tue Jul 15 17:44:21 2014 +0100"
      },
      "committer": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Mon Jul 28 19:17:30 2014 +0100"
      },
      "message": "Revert \"Revert \"Enable Load Store Elimination for ARM and ARM64\"\"\n\nThis patch refactors the implementation of the LoadStoreElimination\noptimisation pass. Please note that this pass was disabled and not\nfunctional for any of the backends.\n\nThe current implementation tracks aliases and handles DalvikRegs as well\nas Heap memory regions. It has been tested and it is known to optimise\nout the following:\n  * Load - Load\n  * Store - Load\n  * Store - Store\n  * Load Literals\n\nChange-Id: I3aadb12a787164146a95bc314e85fa73ad91e12b\n"
    },
    {
      "commit": "f90283f61d6ca37abf3a9fb8447d05e79caf0160",
      "tree": "acb71cf90f57a28176ff5cc050cb55a30ee5023a",
      "parents": [
        "58e17cea2da3e541610e9bcdf8ef3efd983e1390",
        "0ba238dcc21ae3544e1e8cb5d108725db8a1c134"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 29 23:07:05 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 25 21:16:27 2014 +0000"
      },
      "message": "Merge \"ART: Check for duplicate class definitions in dex file verifier\""
    },
    {
      "commit": "0ba238dcc21ae3544e1e8cb5d108725db8a1c134",
      "tree": "8b032feb0da032209265e24f36dd60f4cba19986",
      "parents": [
        "01be6e3c4e4f083842ac9a6f8f9e6c2c937b8a15"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 29 01:22:07 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 29 01:22:07 2014 -0700"
      },
      "message": "ART: Check for duplicate class definitions in dex file verifier\n\nReject dex files that try to define two classes with the same type id.\n\nBug: 16016492\nChange-Id: I82cc99c00b3e3cb2b3d537ec14beed9049fe900f\n"
    },
    {
      "commit": "58e17cea2da3e541610e9bcdf8ef3efd983e1390",
      "tree": "96d15d853ff4c73b00aa0d485ca96806d4e59ff6",
      "parents": [
        "f2e920734dddbc0eee35c3ba27b88b732df4f82c",
        "c5d824a20c225763761a6dff43294b229ff35469"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Jul 29 22:06:32 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 28 22:45:44 2014 +0000"
      },
      "message": "Merge \"Stop thread from reattaching during runtime shutdown while tracing.\""
    },
    {
      "commit": "c5d824a20c225763761a6dff43294b229ff35469",
      "tree": "d3fcf29c2e7359bdb135931c0f4558644e1ca9fb",
      "parents": [
        "8df73882c60451e7f789bf9b1f3db2d7dc228640"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Jul 28 18:35:38 2014 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Jul 29 13:34:57 2014 -0700"
      },
      "message": "Stop thread from reattaching during runtime shutdown while tracing.\n\nBug: 16024763\nChange-Id: Iad5ba180241ff74b15baf5c3a15ed2d2ed60fcf0\n"
    },
    {
      "commit": "f2e920734dddbc0eee35c3ba27b88b732df4f82c",
      "tree": "cfc69e453faefee38178ceb85378e1f0f1e17812",
      "parents": [
        "8df73882c60451e7f789bf9b1f3db2d7dc228640",
        "94f7b49578b6aaa80de8ffed230648d601393905"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Jul 29 22:00:56 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 28 22:45:44 2014 +0000"
      },
      "message": "Merge \"Add GcRoot to clean up and enforce read barriers.\""
    },
    {
      "commit": "94f7b49578b6aaa80de8ffed230648d601393905",
      "tree": "cfc69e453faefee38178ceb85378e1f0f1e17812",
      "parents": [
        "8df73882c60451e7f789bf9b1f3db2d7dc228640"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Jul 22 18:08:23 2014 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Jul 29 13:30:46 2014 -0700"
      },
      "message": "Add GcRoot to clean up and enforce read barriers.\n\nIntroduce a value-type wrapper around Object* for GC roots so that 1)\nwe won\u0027t have to directly add the read barrier code in many places and\n2) we can avoid accidentally bypassing/missing read barriers on GC\nroots (the GcRoot interface ensures that the read barrier is executed\non a read).\n\nThe jdwp test passed.\n\nBug: 12687968\nChange-Id: Ib167c7c325b3c7e3900133578815f04d219972a1\n"
    },
    {
      "commit": "ef57ed72a3ac856f6115ae89c609d4fd892e8c41",
      "tree": "38849c1d5e88d00eba14de4632747726058c6e5c",
      "parents": [
        "f90283f61d6ca37abf3a9fb8447d05e79caf0160",
        "1c7c3990fe5fc5f1afe74f3d94e95015d7419186"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 30 15:25:03 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 25 21:16:27 2014 +0000"
      },
      "message": "Merge \"ART: Remove bogus dcheck\""
    },
    {
      "commit": "1c7c3990fe5fc5f1afe74f3d94e95015d7419186",
      "tree": "545aac26687fde40e3da6525ffc19fc2741f8fa2",
      "parents": [
        "01be6e3c4e4f083842ac9a6f8f9e6c2c937b8a15"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 29 23:03:55 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 29 23:03:55 2014 -0700"
      },
      "message": "ART: Remove bogus dcheck\n\nMea culpa.\n\nChange-Id: I6fd3b678e30354c5ab5ec6da5b3619c26d486563\n"
    },
    {
      "commit": "3f49507c333b7c8d36620870522a7a1055987ef8",
      "tree": "2af30a55ca2078d52184970e6a4cea0007d04ad9",
      "parents": [
        "37f1c7c6e084c1160eb1b156ab63ac114a82625a",
        "984305917bf57b3f8d92965e4715a0370cc5bcfb"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 28 16:41:14 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 25 21:16:27 2014 +0000"
      },
      "message": "Merge \"ART: Rework quick entrypoint code in Mir2Lir, cleanup\""
    },
    {
      "commit": "984305917bf57b3f8d92965e4715a0370cc5bcfb",
      "tree": "c463ecec05eed70e2d9e5e0083e8a556581b1333",
      "parents": [
        "98cc1e552c2ccbe5d51bc81d49e79119280f5416"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sun Jul 27 19:44:50 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 28 09:15:48 2014 -0700"
      },
      "message": "ART: Rework quick entrypoint code in Mir2Lir, cleanup\n\nTo reduce the complexity of calling trampolines in generic code,\nintroduce an enumeration for entrypoints. Introduce a header that lists\nthe entrypoint enum and exposes a templatized method that translates an\nenum value to the corresponding thread offset value.\n\nCall helpers are rewritten to have an enum parameter instead of the\nthread offset. Also rewrite LoadHelper and GenConversionCall this way.\nIt is now LoadHelper\u0027s duty to select the right thread offset size.\n\nIntroduce InvokeTrampoline virtual method to Mir2Lir. This allows to\nfurther simplify the call helpers, as well as make OpThreadMem specific\nto X86 only (removed from Mir2Lir).\n\nMake GenInlinedCharAt virtual, move a copy to X86 backend, and simplify\nboth copies. Remove LoadBaseIndexedDisp and OpRegMem from Mir2Lir, as they\nare now specific to X86 only.\n\nRemove StoreBaseIndexedDisp from Mir2Lir, as it was only ever used in the\nX86 backend.\n\nRemove OpTlsCmp from Mir2Lir, as it was only ever used in the X86 backend.\n\nRemove OpLea from Mir2Lir, as it was only ever defined in the X86 backend.\n\nRemove GenImmedCheck from Mir2Lir as it was neither used nor implemented.\n\nChange-Id: If0a6182288c5d57653e3979bf547840a4c47626e\n"
    },
    {
      "commit": "98cc1e552c2ccbe5d51bc81d49e79119280f5416",
      "tree": "4e6cf97184bc4a0646ef7a9afaa32ec731691d8e",
      "parents": [
        "b3bf7afc4288f97f9b591d19f03362e0577ed0ec",
        "1fe5e5cce85a3cdc64a8d226a8ef4e6134c2b9eb"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sun Jul 27 21:56:42 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 24 20:55:36 2014 +0000"
      },
      "message": "Merge \"ART: Fix target test paths\""
    },
    {
      "commit": "1fe5e5cce85a3cdc64a8d226a8ef4e6134c2b9eb",
      "tree": "4e6cf97184bc4a0646ef7a9afaa32ec731691d8e",
      "parents": [
        "b3bf7afc4288f97f9b591d19f03362e0577ed0ec"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jul 11 21:14:35 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sun Jul 27 14:55:50 2014 -0700"
      },
      "message": "ART: Fix target test paths\n\nNativetest is now nativetest64 on 64b targets.\n\nChange-Id: I4c4c6bba1a56525df2993708caaae3e6f7f5f2f6\n"
    },
    {
      "commit": "b3bf7afc4288f97f9b591d19f03362e0577ed0ec",
      "tree": "0b3ce537ba1cfa885a69ed52a8ba2ab8aa5ca921",
      "parents": [
        "4483fbfdf17fd7230a52cc54bc5f7fbca82bbd75",
        "1740eca19de8870a319033eacde16793ef391825"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Jul 27 18:32:40 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jul 26 01:02:21 2014 +0000"
      },
      "message": "Merge \"Remove the per-project FDO support. Use the common FDO support from build/core. LOCAL_FDO_SUPPORT indicates if the module should enable FDO builds.\""
    },
    {
      "commit": "1740eca19de8870a319033eacde16793ef391825",
      "tree": "0b3ce537ba1cfa885a69ed52a8ba2ab8aa5ca921",
      "parents": [
        "4483fbfdf17fd7230a52cc54bc5f7fbca82bbd75"
      ],
      "author": {
        "name": "Dehao Chen",
        "email": "dehao@google.com",
        "time": "Thu Jul 24 16:12:59 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Jul 27 18:32:22 2014 +0000"
      },
      "message": "Remove the per-project FDO support. Use the common FDO support from build/core.\nLOCAL_FDO_SUPPORT indicates if the module should enable FDO builds.\n\nChange-Id: I1eab8bf418b7ceb060eea18bdd304a06597af3d3\n"
    },
    {
      "commit": "4483fbfdf17fd7230a52cc54bc5f7fbca82bbd75",
      "tree": "aefbbe076ffbcd39b9f651c475fbdadfa440a48b",
      "parents": [
        "123c5743374137711163346e75aaad587d142317",
        "c32447bcc8c36ee8ff265ed678c7df86936a9ebe"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@android.com",
        "time": "Sun Jul 27 17:49:57 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jul 26 01:02:21 2014 +0000"
      },
      "message": "Merge \"Revert \"Enable Load Store Elimination for ARM and ARM64\"\""
    },
    {
      "commit": "c32447bcc8c36ee8ff265ed678c7df86936a9ebe",
      "tree": "aefbbe076ffbcd39b9f651c475fbdadfa440a48b",
      "parents": [
        "fcc36ba2a2b8fd10e6eebd21ecb6329606443ded"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@android.com",
        "time": "Sun Jul 27 17:49:42 2014 +0000"
      },
      "committer": {
        "name": "Bill Buzbee",
        "email": "buzbee@android.com",
        "time": "Sun Jul 27 17:49:42 2014 +0000"
      },
      "message": "Revert \"Enable Load Store Elimination for ARM and ARM64\"\n\nOn extended testing, I\u0027m seeing a CHECK failure at utility_arm.cc:1201.\n\nThis reverts commit fcc36ba2a2b8fd10e6eebd21ecb6329606443ded.\n\nChange-Id: Icae3d49cd7c8fcab09f2f989cbcb1d7e5c6d137a\n"
    },
    {
      "commit": "fcc36ba2a2b8fd10e6eebd21ecb6329606443ded",
      "tree": "58084b4fdb842b129324e034ac1a195f6d0cee4e",
      "parents": [
        "a65d63e4eb81605fd798f1ca038d651b0faa29eb"
      ],
      "author": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Tue Jul 15 17:44:21 2014 +0100"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Jul 27 10:06:27 2014 -0700"
      },
      "message": "Enable Load Store Elimination for ARM and ARM64\n\nThis patch refactors the implementation of the LoadStoreElimination\noptimisation pass. Please note that this pass was disabled and not\nfunctional for any of the backends.\n\nThe current implementation tracks aliases and handles DalvikRegs as well\nas Heap memory regions. It has been tested and it is known to optimise\nout the following:\n  * Load - Load\n  * Store - Load\n  * Store - Store\n  * Load Literals\n\nChange-Id: Iefae9b696f87f833ef35c451ed4d49c5a1b6fde0\n"
    },
    {
      "commit": "a65d63e4eb81605fd798f1ca038d651b0faa29eb",
      "tree": "aefbbe076ffbcd39b9f651c475fbdadfa440a48b",
      "parents": [
        "5e3f45bdb987ba7fe7a4114cb5fe8483432015b6",
        "597da1f76e542b9699f8e5f8cacfea84f8854429"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@android.com",
        "time": "Sun Jul 27 02:46:58 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 25 21:16:27 2014 +0000"
      },
      "message": "Merge \"SetConstantWide should mark both SSA regs as constant\""
    },
    {
      "commit": "123c5743374137711163346e75aaad587d142317",
      "tree": "58084b4fdb842b129324e034ac1a195f6d0cee4e",
      "parents": [
        "a65d63e4eb81605fd798f1ca038d651b0faa29eb",
        "fcc36ba2a2b8fd10e6eebd21ecb6329606443ded"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@android.com",
        "time": "Sun Jul 27 17:30:43 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 24 20:55:36 2014 +0000"
      },
      "message": "Merge \"Enable Load Store Elimination for ARM and ARM64\""
    },
    {
      "commit": "5e3f45bdb987ba7fe7a4114cb5fe8483432015b6",
      "tree": "2935bf792cd2935feb7460cec4d2f62a8879fc5b",
      "parents": [
        "b97df0488b5391564b5ea195a0765c943787f88d",
        "688e7c5c9f36573dd4da2edd889470d930b0054b"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@android.com",
        "time": "Sun Jul 27 02:46:40 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 24 20:55:36 2014 +0000"
      },
      "message": "Merge \"ART: ReEnable check for a gap between method\u0027s arg \"in\" vregs and rest of its vregs\""
    },
    {
      "commit": "b97df0488b5391564b5ea195a0765c943787f88d",
      "tree": "06a28e58482f894f6c9bc6e580bd56790ed2a8dc",
      "parents": [
        "0db2c431a3971781a52629be62f572cc5b0d35df",
        "855564b83db7b106d2995d0e784f1f4b62e52371"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sun Jul 27 01:36:55 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 24 20:55:36 2014 +0000"
      },
      "message": "Merge \"ART: Native bridge command-line parameter\""
    },
    {
      "commit": "855564b83db7b106d2995d0e784f1f4b62e52371",
      "tree": "de3caa3f36b24acb9279a8cb85d4879baeed1798",
      "parents": [
        "3bcac48f23094fa0f46315a080ec47fc368fd4c2"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jul 25 02:32:19 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Jul 26 18:35:08 2014 -0700"
      },
      "message": "ART: Native bridge command-line parameter\n\nAdd a command-line parameter for the native bridge library, slight\nrefactor/cleanup.\n\nAdd run-test 115 to test the native bridge interface. Currently the\ntests are black-listed for the target, as the setup for the test\nis too complicated in the current infrastructure.\n\nChange-Id: I6ccf19485e8c30b96e9f2fd5425278cb1ebd403f\n"
    },
    {
      "commit": "0db2c431a3971781a52629be62f572cc5b0d35df",
      "tree": "0d9d499f65a0743468ffcc23e7fa77740a02792e",
      "parents": [
        "c4a5f588c5c17ae226b56d25539ea4672f0ea9a3",
        "dc13d7df5da49e93963035633a82699c68fa0971"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sun Jul 27 01:31:16 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 25 21:16:27 2014 +0000"
      },
      "message": "Merge \"ART: Allow arrays with erroneous component type\""
    },
    {
      "commit": "dc13d7df5da49e93963035633a82699c68fa0971",
      "tree": "9e5b943745155b1bc72fc9b0d6856a85322e5c04",
      "parents": [
        "80b3f96ec1e408f34b8e7b76b14774794fa1abd8"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 23 20:18:36 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jul 25 18:26:01 2014 -0700"
      },
      "message": "ART: Allow arrays with erroneous component type\n\nArray classes must tolerate having component type classes that are\nerroneous. Change CreateArrayClass to use LookupClass when FindClass\nfailed.\n\nBug: 16019155\nChange-Id: Id4868c5498431c85c199aa3cbecd23566dce3601\n"
    },
    {
      "commit": "c4a5f588c5c17ae226b56d25539ea4672f0ea9a3",
      "tree": "ae3774018f5dab7be224d92bf03d3035af6e9f44",
      "parents": [
        "9646172b4e04f981a3b1cd3af0e8c9e8a610bfd1",
        "b07c1f9f4d6088ca2d4c1a10819e57b19acf7f22"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Jul 26 19:57:14 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 25 21:16:27 2014 +0000"
      },
      "message": "Merge \"ART: Special-case cb(n)z even for in-reg constant\""
    },
    {
      "commit": "b07c1f9f4d6088ca2d4c1a10819e57b19acf7f22",
      "tree": "2cc79731690f73a5f2b81ff1c643d8d503a8c9b2",
      "parents": [
        "3bcac48f23094fa0f46315a080ec47fc368fd4c2"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Jul 26 01:40:39 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Jul 26 01:40:39 2014 -0700"
      },
      "message": "ART: Special-case cb(n)z even for in-reg constant\n\nCall out to OpCmpImmBranch in GenCompareAndBranch if the constant\nis zero and we are testing \u003d\u003d or !\u003d, even when zero has been loaded\nto a register already. This avoids a register size mismatch on 64b\narchitectures when basically doing a null check, and generally\nsquashes a cmp + branch to a cbz or cbnz on Arm and Mips. X86 is\nnot degraded.\n\nBug: 16562601\nChange-Id: I1997760f43dc186a84247ad30ae91053f71d102d\n"
    },
    {
      "commit": "688e7c5c9f36573dd4da2edd889470d930b0054b",
      "tree": "65e5238147212e2e85c7ef6db6d21f6ca62b51ae",
      "parents": [
        "ca928ba8b9e109ced2b9d72622dc34bda63ac211"
      ],
      "author": {
        "name": "Alexei Zavjalov",
        "email": "alexei.zavjalov@intel.com",
        "time": "Wed Jul 16 02:17:58 2014 +0700"
      },
      "committer": {
        "name": "Alexei Zavjalov",
        "email": "alexei.zavjalov@intel.com",
        "time": "Thu Jul 24 15:27:12 2014 +0700"
      },
      "message": "ART: ReEnable check for a gap between method\u0027s arg \"in\" vregs and rest of its vregs\n\nThe Quick backend\u0027s runtime model includes a gap between a method\u0027s\nargument (\"in\") vregs and the rest of its vregs.  Handling a range instruction\nwhich spans the gap is somewhat complicated, and should not happen\nin normal usage of dx. Punt to the interpreter if it happened.\n\nThis issue relates to https://code.google.com/p/android/issues/detail?id\u003d66371\nWhich was fixed, but the problem returned after some changes in the verify\nflags set for the range bytecodes.\n\nChange-Id: I214f32e7b4227a450257f30607135930d0adff53\nSigned-off-by: Katkov, Serguei I \u003cserguei.i.katkov@intel.com\u003e\nSigned-off-by: Alexei Zavjalov \u003calexei.zavjalov@intel.com\u003e\n"
    },
    {
      "commit": "01be6e3c4e4f083842ac9a6f8f9e6c2c937b8a15",
      "tree": "11e130d8727d385e448e5e63e34930277b57e02b",
      "parents": [
        "2dd6f729c05ff9a6c687888707c68e7894392c38",
        "0a0a20b44775f17519fea577401f71c4d336a673"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jul 29 08:11:47 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 23 19:30:00 2014 +0000"
      },
      "message": "Merge \"Fix braino in Makefile.\""
    },
    {
      "commit": "0a0a20b44775f17519fea577401f71c4d336a673",
      "tree": "11e130d8727d385e448e5e63e34930277b57e02b",
      "parents": [
        "2dd6f729c05ff9a6c687888707c68e7894392c38"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jul 29 09:10:50 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jul 29 09:10:50 2014 +0100"
      },
      "message": "Fix braino in Makefile.\n\nChange-Id: I7cbf694f35db97946823de148ff6dd6053091de6\n"
    },
    {
      "commit": "2dd6f729c05ff9a6c687888707c68e7894392c38",
      "tree": "6b154e83a56431e263a7f7568b89f74d436044ad",
      "parents": [
        "9d2f0100840a41ed6c6c95f92994db7975a8a211",
        "3bb12b9bea020e2b797ec3fe6bc253d33189ed97"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jul 29 08:06:39 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 23 19:33:25 2014 +0000"
      },
      "message": "Merge \"Add a variable to disable PREBUILD in run-tests.\""
    },
    {
      "commit": "9d2f0100840a41ed6c6c95f92994db7975a8a211",
      "tree": "62942f412f2275e2e9188f71c370cd95ec91e17f",
      "parents": [
        "2815f1242c6c3ea1fc2df7bb5e4bd1924f4e75f7",
        "b551fdcda9eb128c80de37c4fb978968bec6d4b3"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 29 07:45:01 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 28 22:45:44 2014 +0000"
      },
      "message": "Merge \"AArch64: Clean up CalleeSaveMethod frame and the use of temp registers.\""
    },
    {
      "commit": "b551fdcda9eb128c80de37c4fb978968bec6d4b3",
      "tree": "62942f412f2275e2e9188f71c370cd95ec91e17f",
      "parents": [
        "2815f1242c6c3ea1fc2df7bb5e4bd1924f4e75f7"
      ],
      "author": {
        "name": "Zheng Xu",
        "email": "zheng.xu@arm.com",
        "time": "Fri Jul 25 11:49:42 2014 +0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 29 00:38:14 2014 -0700"
      },
      "message": "AArch64: Clean up CalleeSaveMethod frame and the use of temp registers.\n\nCalleeSaveMethod frame size changes :\nSaveAll : 368 -\u003e 176\nRefOnly : 176 -\u003e 96\nRefsAndArgs : 304 -\u003e 224\n\nJNI register spill size changes :\n160 -\u003e 88\n\nIn the transition assembly, use registers following the rules:\n1. x0-x7 as temp/argument registers.\n2. IP0, IP1 as scratch registers.\n3. After correct type of callee-save-frame has been setup, all registers\nare scratch-able(probably except xSELF and xSUSPEND).\n4. When restore callee-save-frame, IP0 and IP1 should be untouched.\n5. From C to managed code, we assume all callee save register in AAPCS\nwill be restored by managed code except x19(SUSPEND).\n\nIn quick compiler:\n1. Use IP0, IP1 as scratch register.\n2. Use IP1 as hidden argument register(IP0 will be scratched by\n trampoline.)\n\nChange-Id: I05ed9d418b01b9e87218a7608536f57e7a286e4c\n"
    },
    {
      "commit": "2815f1242c6c3ea1fc2df7bb5e4bd1924f4e75f7",
      "tree": "db5b34142d812f95581a864b681940efc94c6945",
      "parents": [
        "e5647289ccc7dafd8b91771a7bd1cd19416aed66",
        "0398e171f206cd3b140a358ac31b0a3760380df1"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Jul 29 01:34:08 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 28 22:45:44 2014 +0000"
      },
      "message": "Merge \"Fix proxy tracing and enable tests that now work with tracing.\""
    },
    {
      "commit": "0398e171f206cd3b140a358ac31b0a3760380df1",
      "tree": "db5b34142d812f95581a864b681940efc94c6945",
      "parents": [
        "e5647289ccc7dafd8b91771a7bd1cd19416aed66"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Jul 24 16:26:09 2014 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Jul 28 18:33:04 2014 -0700"
      },
      "message": "Fix proxy tracing and enable tests that now work with tracing.\n\nBug: 16386215\nChange-Id: Iec2a372c921caceb050c6baf72d48b3d822899a4\n"
    },
    {
      "commit": "3bb12b9bea020e2b797ec3fe6bc253d33189ed97",
      "tree": "b71cb119e880e91ac5755f0624f8b439ad31c221",
      "parents": [
        "daa31c58ec2fec209f8fdc383bf10dd2e2c64512"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 28 22:56:07 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 28 22:57:09 2014 +0100"
      },
      "message": "Add a variable to disable PREBUILD in run-tests.\n\nChange-Id: I318d37a2d98972c689829258e129ec8973bdc038\n"
    },
    {
      "commit": "e5647289ccc7dafd8b91771a7bd1cd19416aed66",
      "tree": "d265344c32c5bf37d356fcb4871f57a1250d16b6",
      "parents": [
        "daa31c58ec2fec209f8fdc383bf10dd2e2c64512",
        "8eddd2a379e1d3c76b22f40d3d4387d12ed1a8d1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 28 22:02:25 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 25 21:16:27 2014 +0000"
      },
      "message": "Merge \"ART: Fix missing initialization in stack_map_stream.h\""
    },
    {
      "commit": "8eddd2a379e1d3c76b22f40d3d4387d12ed1a8d1",
      "tree": "d265344c32c5bf37d356fcb4871f57a1250d16b6",
      "parents": [
        "daa31c58ec2fec209f8fdc383bf10dd2e2c64512"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 28 14:53:22 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 28 14:53:49 2014 -0700"
      },
      "message": "ART: Fix missing initialization in stack_map_stream.h\n\nFixes stack_map_test.\n\nChange-Id: Ibd6659b589ec595a7af21ad3d727c0ab2dceb45c\n"
    },
    {
      "commit": "daa31c58ec2fec209f8fdc383bf10dd2e2c64512",
      "tree": "225cfc1d87ea95583b686591f1dd752ee7ce3bb0",
      "parents": [
        "3f49507c333b7c8d36620870522a7a1055987ef8",
        "65c9db8dfbeea3f708f95f058f4fed7c2af71052"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 28 20:30:00 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 24 20:55:36 2014 +0000"
      },
      "message": "Merge \"ART: Reject array-length on non-reference register\""
    },
    {
      "commit": "65c9db8dfbeea3f708f95f058f4fed7c2af71052",
      "tree": "225cfc1d87ea95583b686591f1dd752ee7ce3bb0",
      "parents": [
        "3f49507c333b7c8d36620870522a7a1055987ef8"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 28 13:14:34 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 28 13:14:34 2014 -0700"
      },
      "message": "ART: Reject array-length on non-reference register\n\nIt should be a hard verifier failure if we detect an array-length\ninstruction over a non-reference-type register.\n\nBug: 16595896\nChange-Id: I059510b15c846551b2f8ded86cfd8127543324f4\n"
    },
    {
      "commit": "8df73882c60451e7f789bf9b1f3db2d7dc228640",
      "tree": "1be3d2c3d4bfa3a0a189d15c98c36926c812e7f1",
      "parents": [
        "01be6e3c4e4f083842ac9a6f8f9e6c2c937b8a15",
        "167cc7c33f7100e3f7acc1594c066daa0122e27a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jul 29 08:36:21 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 23 19:30:00 2014 +0000"
      },
      "message": "Merge \"Revert \"Fix proxy tracing and enable tests that now work with tracing.\"\""
    },
    {
      "commit": "167cc7c33f7100e3f7acc1594c066daa0122e27a",
      "tree": "d265344c32c5bf37d356fcb4871f57a1250d16b6",
      "parents": [
        "0398e171f206cd3b140a358ac31b0a3760380df1"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jul 29 08:33:44 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jul 29 08:33:44 2014 +0000"
      },
      "message": "Revert \"Fix proxy tracing and enable tests that now work with tracing.\"\n\nThis reverts commit 0398e171f206cd3b140a358ac31b0a3760380df1.\n\nChange-Id: I1346ab01485cc7207be0ecb4d8788c500c0df903\n"
    },
    {
      "commit": "37f1c7c6e084c1160eb1b156ab63ac114a82625a",
      "tree": "1cd4cc18babfbb16ab908f23929fa88d7678f06b",
      "parents": [
        "98cc1e552c2ccbe5d51bc81d49e79119280f5416",
        "3c7bb98698f77af10372cf31824d3bb115d9bf0f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 28 16:19:51 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 23 19:30:00 2014 +0000"
      },
      "message": "Merge \"Implement array get and array put in optimizing.\""
    },
    {
      "commit": "3c7bb98698f77af10372cf31824d3bb115d9bf0f",
      "tree": "1cd4cc18babfbb16ab908f23929fa88d7678f06b",
      "parents": [
        "98cc1e552c2ccbe5d51bc81d49e79119280f5416"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 23 16:04:16 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 28 15:44:28 2014 +0100"
      },
      "message": "Implement array get and array put in optimizing.\n\nAlso fix a couple of assembler/disassembler issues.\n\nChange-Id: I705c8572988c1a9c4df3172b304678529636d5f6\n"
    },
    {
      "commit": "ca928ba8b9e109ced2b9d72622dc34bda63ac211",
      "tree": "c1049dcc9e94954d1e8aa6d00303fd638fbaee3a",
      "parents": [
        "3017527bf4ceced296b8885426b86ac939ab755f",
        "c901dd7bdc80b953d04100ef2f54b8d1ca5f466b"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Jul 24 07:24:12 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 23 19:30:00 2014 +0000"
      },
      "message": "Merge \"Fix access to long/double stack values from debugger\""
    },
    {
      "commit": "3017527bf4ceced296b8885426b86ac939ab755f",
      "tree": "1bb688c534615159d45f0c130607492164ade54b",
      "parents": [
        "7f9c8f7b6ce6c936d234771d2a4103a13850c422",
        "1159727e271ad3dbc5f84859e3f3c463842e821e"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Jul 24 02:49:36 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 23 18:56:15 2014 +0000"
      },
      "message": "Merge \"Increase limit to 2600 on host clang builds for frame size.\""
    },
    {
      "commit": "1159727e271ad3dbc5f84859e3f3c463842e821e",
      "tree": "1bb688c534615159d45f0c130607492164ade54b",
      "parents": [
        "7f9c8f7b6ce6c936d234771d2a4103a13850c422"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Wed Jul 23 19:47:35 2014 -0700"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Wed Jul 23 19:47:35 2014 -0700"
      },
      "message": "Increase limit to 2600 on host clang builds for frame size.\n\nChange-Id: I573e1bcdc7a935145e88077def9c90a5573d2e90\n"
    },
    {
      "commit": "7f9c8f7b6ce6c936d234771d2a4103a13850c422",
      "tree": "ea570824f72466be95135a268235d6bab8c0a37f",
      "parents": [
        "488deba5896104cfba15d5fe44ff618c59c6456f",
        "67a4338c5cc91ad3a8a3b99f06e1cf03b232d156"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Jul 24 02:14:06 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 23 18:51:55 2014 +0000"
      },
      "message": "Merge \"Update frame-larger-than limit to 2440 for new clang.\""
    },
    {
      "commit": "67a4338c5cc91ad3a8a3b99f06e1cf03b232d156",
      "tree": "9710f68143497da0ab4510f6f1b2890894b815d9",
      "parents": [
        "4436e926aa8e64ac7e4c4afb81f2a59b2477045a"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Jul 17 01:49:18 2014 -0700"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Wed Jul 23 17:38:33 2014 -0700"
      },
      "message": "Update frame-larger-than limit to 2440 for new clang.\n\nBug: 16362912\n\nThe latest version of clang is generating larger frames on elf_writer_quick.cc\nand dex2oat.cc than we had previously encountered. This change unblocks the\nLLVM rebase temporarily.\n\nChange-Id: I20d9f88959b91e0509e58f01c22532720225f44d\n"
    },
    {
      "commit": "488deba5896104cfba15d5fe44ff618c59c6456f",
      "tree": "c2a7b53404a6c501eaa88bbbadfac53bd273d1c1",
      "parents": [
        "cfd31c5e266d1aecc66278fdea46e88e323a181d",
        "ac3cea0c728205ad079d67f83c97408f5d81e0df"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 24 01:30:03 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 23 18:56:15 2014 +0000"
      },
      "message": "Merge \"Reduce allocations in ParallelGC test.\""
    }
  ],
  "next": "ac3cea0c728205ad079d67f83c97408f5d81e0df"
}
