)]}'
{
  "log": [
    {
      "commit": "ddb311fdeca82ca628fed694c4702f463b5c4927",
      "tree": "24acde84ed7d0229c36d9bbca2a421acdff9d7a1",
      "parents": [
        "27710fa87cc7fc0f205a6b5a46f418a0cf9a5171"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri May 16 09:28:54 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 19 10:17:11 2014 +0100"
      },
      "message": "Build live ranges in preparation for register allocation.\n\nChange-Id: I7ae24afaa4e49276136bf34f4ba7d62db7f28c01\n"
    },
    {
      "commit": "f635e63318447ca04731b265a86a573c9ed1737c",
      "tree": "47cab84a6ac47d8a4f5f281e3eabdf1780f220d0",
      "parents": [
        "d115735fe5523ff72319f0968f773683323c7f79"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 14 09:43:38 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 14 14:26:11 2014 +0100"
      },
      "message": "Add a compilation tracing mechanism to the new compiler.\n\nCode mostly imported from: https://android-review.googlesource.com/#/c/81653/.\n\nChange-Id: I150fe942be0fb270e03fabb19032180f7a065d13\n"
    },
    {
      "commit": "622d9c31febd950255b36a48b47e1f630197c5fe",
      "tree": "8a7f14ce3c6c087955ad5fe91a3ce7d5b5a82461",
      "parents": [
        "98a8a542f95e41c09d214a329a940b270f08f5b3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 12 16:11:02 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue May 13 09:06:14 2014 +0100"
      },
      "message": "Add loop recognition and CFG simplifications in new compiler.\n\nWe do three simplifications:\n- Split critical edges, for code generation from SSA (new).\n- Ensure one back edge per loop, to simplify loop recognition (new).\n- Ensure only one pre header for a loop, to simplify SSA creation (existing).\n\nChange-Id: I9bfccd4b236a00486a261078627b091c8a68be33\n"
    },
    {
      "commit": "f23a719218ffaa37a85482e40509e62275554774",
      "tree": "d04b4d12264758169a7d6c8ede2427f1078249f3",
      "parents": [
        "290fda3acf3d9ce60f7ac3903fabfb01d3521d0f",
        "804d09372cc3d80d537da1489da4a45e0e19aa5d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 07 09:33:54 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 07 09:33:54 2014 +0000"
      },
      "message": "Merge \"Build live-in, live-out and kill sets for each block.\""
    },
    {
      "commit": "804d09372cc3d80d537da1489da4a45e0e19aa5d",
      "tree": "b226350fdf3dc0c55a11e1615010c8475f167f90",
      "parents": [
        "0095e0b8380a8802f40a21928800b9df6e11f1d7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri May 02 08:46:00 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 07 10:32:11 2014 +0100"
      },
      "message": "Build live-in, live-out and kill sets for each block.\n\nThis information will be used when computing live ranges of\ninstructions.\n\nChange-Id: I345ee833c1ccb4a8e725c7976453f6d58d350d74\n"
    },
    {
      "commit": "72d32629303f8f39362a4099481f48646aed042f",
      "tree": "0ff613168c3bf2e12799594c9211f9a1694119e2",
      "parents": [
        "47ebd77a6d249403a34d242908749b7446da2a82"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue May 06 16:20:11 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue May 06 16:23:19 2014 -0700"
      },
      "message": "Give Compiler a back reference to the driver.\n\nThe compiler driver is a single object delegating work to the compiler, rather\nthan passing it through to every Compiler call make it a member of Compiler so\nthat it maybe queried. This simplifies the Compiler API and makes the\nrelationship to CompilerDriver more explicit.\nRemove reference arguments that contravene code style.\n\nChange-Id: Iba47f2e3cbda679a7ec7588f26188d77643aa2c6\n"
    },
    {
      "commit": "c32e770f21540e4e9eda6dc7f770e745d33f1b9f",
      "tree": "56a76d7399bf749a4500fb60483e0dc075a24ee7",
      "parents": [
        "618a87009202dc959c935ed8f237ae32bdec57d0"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Apr 24 12:43:16 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Apr 28 16:21:40 2014 +0100"
      },
      "message": "Add a Transform to SSA phase to the optimizing compiler.\n\nChange-Id: Ia9700756a0396d797a00b529896487d52c989329\n"
    },
    {
      "commit": "d6ed642458c8820e1beca72f3d7b5f0be4a4b64b",
      "tree": "1b6e0438f786d6eeb5566e176d71d454a6cdb9e5",
      "parents": [
        "f9487c039efb4112616d438593a2ab02792e0304"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Wed Apr 09 23:36:15 2014 +0000"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Wed Apr 09 23:36:15 2014 +0000"
      },
      "message": "Revert \"Revert \"Revert \"Use trampolines for calls to helpers\"\"\"\n\nThis reverts commit f9487c039efb4112616d438593a2ab02792e0304.\n\nChange-Id: Id48a4aae4ecce73db468587967968a3f7618b700\n"
    },
    {
      "commit": "f9487c039efb4112616d438593a2ab02792e0304",
      "tree": "95f88645bec774d3e8df170bd0f40e4cd0911a34",
      "parents": [
        "b24b0e2bb128532945b31ea62715776d7751f84d"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Tue Apr 08 23:08:12 2014 +0000"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Wed Apr 09 13:18:07 2014 -0700"
      },
      "message": "Revert \"Revert \"Use trampolines for calls to helpers\"\"\n\nThis reverts commit 081f73e888b3c246cf7635db37b7f1105cf1a2ff.\n\nChange-Id: Ibd777f8ce73cf8ed6c4cb81d50bf6437ac28cb61\n\nConflicts:\n\tcompiler/dex/quick/mir_to_lir.h\n"
    },
    {
      "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": "8ccc3f5d06fd217cdaabd37e743adab2031d3720",
      "tree": "ec8c904baafb4d9b9bfd582245e2d780bcdfaade",
      "parents": [
        "ad174d1b54bf2fa477bec71a0ca93595f54b8fe9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 19 10:34:11 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 31 09:44:40 2014 +0100"
      },
      "message": "Add support for invoke-static in optimizing compiler.\n\nSupport is limited to calls without parameters and returning\nvoid. For simplicity, we currently follow the Quick ABI.\n\nChange-Id: I54805161141b7eac5959f1cae0dc138dd0b2e8a5\n"
    },
    {
      "commit": "92cf83e001357329cbf41fa15a6e053fab6f4933",
      "tree": "1dc03f1fb8c3f9af4021c1b82f0c5b0baee39600",
      "parents": [
        "a48850ba1f48066785768d2dd296448cd430d494"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 18 17:59:20 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 19 08:47:01 2014 +0000"
      },
      "message": "Run Java tests with the optimizing compiler.\n\nAlso fix a vector.reserve -\u003e vector.resize braino, and build\na GC map that dex2oat expects.\n\nChange-Id: I6acf2f90a4c32f90b79bf7709bf2e43931b98757\n"
    },
    {
      "commit": "787c3076635cf117eb646c5a89a9014b2072fb44",
      "tree": "3c9c6c6d56e3900cf2255a5d1ade008ec6a40681",
      "parents": [
        "b9d50a9829b795932eac4cc50a99b4ce80b0ecb4"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 17 10:20:19 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 18 11:20:20 2014 +0000"
      },
      "message": "Plug new optimizing compiler in compilation pipeline.\n\nAlso rename accessors to ART\u0027s conventions.\n\nChange-Id: I344807055b98aa4b27215704ec362191464acecc\n"
    },
    {
      "commit": "b34f69ab43aaf7a6e6045c95f398baf566ef5023",
      "tree": "4090a650de1de3806f6273f3828e77bef9704453",
      "parents": [
        "113f7a4b6093280e4783c69e06467f816a568e72"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 07 15:28:39 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 13 09:10:43 2014 +0000"
      },
      "message": "Add command line support for enabling the optimizing compiler.\n\nAlso run tests with the optimizing compiler enabled when\nthe file art/USE_OPTIMIZING_COMPILER is present.\n\nChange-Id: Ibc33eed62a43547bc3b9fe786d014c0d81b5add8\n"
    }
  ]
}
