)]}'
{
  "log": [
    {
      "commit": "b5d09b2f87202bc132ac3991d4b6d71f4f6d9264",
      "tree": "e9d805a956b42fd9958163a1f5feef68e8c7d97b",
      "parents": [
        "79ab9e32c6880e7b342c192a479c858c9dccf496"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Mar 06 22:14:17 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Mar 12 16:01:37 2012 -0700"
      },
      "message": "Method prologue and epilogues, add missing x86 functionality.\n\nEnables compiling and running a number of JNI internal managed code\nmethods on the host.\n\nChange-Id: I56fceb813d0cb24637bc784ba57f2d1d16911d48\n"
    },
    {
      "commit": "b3bd5f07884f5a1f2b84224363b1372d7c28d447",
      "tree": "6e2997ab64b4a4f32d7ef539a4649adc736ea553",
      "parents": [
        "ddbd01ac1660d57416879d5a576482f1048dde64"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 08 21:05:27 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 09 15:37:46 2012 -0800"
      },
      "message": "Refactor the compilers out of libart.\n\nThis builds three separate compilers and dynamically links with the right one\nat runtime.\n\nChange-Id: I59d22b9884f41de733c09f97e29ee290236d5f4b\n"
    },
    {
      "commit": "e88dfbf138bc204b1ce21911f1c34098ea74af7c",
      "tree": "c7ca47856bf4b47563cb31b455f299871f7b7a6f",
      "parents": [
        "9831bfac0d2ef54a996ae02e0755600ecb5f66ea"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Mar 05 11:19:57 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Mar 05 11:22:32 2012 -0800"
      },
      "message": "x86 codegen source file skeletons\n\nAdd source files for x86 code generation.  These are basically just\nthe MIPS versions with all bodies ifdef\u0027d out and replaced with\nUNIMPLEMENTED(WARNING).\n\nThere is also one real change in this CL related to the way the\nassembler computes instruction size.  We now set the initial\ninstruction size into the LIR during flag generation.  For x86, this\nsize may be changed during assembly when we detect the ability to\nsubstitute a general instruction for an equivalent one with a shorter\nencoding.\n\nNOTE: the new files are not yet ready for compilation.  That will be\nthe next CL.\n\nChange-Id: Id94fbeeb7c3e36ba4a8d93c3807351ea20c74133\n"
    },
    {
      "commit": "a2ebdd74eb2f36e6efa7a482bc11c7b93d97c2c3",
      "tree": "2d63c98a1f729f1e17969bfbc4b7dc1da48f4567",
      "parents": [
        "11f9d2130e938511efceb6d2a4793cee7dfdde35"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Mar 04 14:57:06 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Mar 04 15:00:36 2012 -0800"
      },
      "message": "Complete MIPS code generation support\n\nWith this CL code generation for MIPS is complete (though untested on\nactual hardware).  Core and the boot classpath compile without issue.\n\nThe primary thrust here was to support expanding of short branch\nsequences to long form during assembly if the displacement field overflowed.\nThat led to a general cleanup of creation on LIR nodes outside of the\nnormal flow.\n\nAlso introduced is a README to describe the state of MIPS support, as well\nas memory barrier handling.\n\nChange-Id: I251a2ef8d74bc7183406dce9493464be24a9d7f7\n"
    },
    {
      "commit": "5de3494e4297c0d480409da3fecee39173f1d4e1",
      "tree": "269cd3447925d0b474d47fb056da4730f288ee12",
      "parents": [
        "6edfde4ae89f3a16d22ca82c928a5dd420e9fce9"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Mar 01 14:51:57 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Mar 01 16:43:54 2012 -0800"
      },
      "message": "Another step towards a Mips target\n\nUpdating the MIPS target to use the now common codegen routines.\nStill much to do, but the general structure is sufficient to allow\nwork to begin on the other target.\n\nChange-Id: I0d288fdfb59c8e76fad73185fdd56b345e87b604\n"
    },
    {
      "commit": "e3acd07f28d5625062b599c2817cb5f7a53f54a9",
      "tree": "d38696b0235dab5d8ef791cdb9fb311a6705e03b",
      "parents": [
        "55b796c6f1fdc36494463a3deeb1e248800695e9"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sat Feb 25 17:03:10 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Feb 26 20:44:46 2012 -0800"
      },
      "message": "Multi-target support\n\nThis CL represents a step towards splitting out the target dependent\nand target independent portions of the compiler, and also adds in the\nbeginning of a MIPS compiler based on the MIPS AOSP Jit submission.\n\nMore polish is clearly needed, but the split is here probably pretty\nclose.  The MIPS code will not compile at this point (and there is no\nmakefile target at present), but it\u0027s pretty close.\n\nThere should be no changes in functionality of the Arm compiler in this\nCL - just moved stuff around.\n\nChange-Id: Ia66b2847e22644a1ec63e66bf5f2fee722f963d4\n"
    },
    {
      "commit": "11d1b0c31ddd710d26068da8e0e4621002205b4b",
      "tree": "8d9c9c0dd5741214466775b86069032d609fd91c",
      "parents": [
        "bbdb1437f55948e5395b4dcb306e25605539a444"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 23 16:57:47 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 23 17:26:10 2012 -0800"
      },
      "message": "Reduce namespace pollution.\n\nThis leaves us with just the mspace stuff and three libdex functions to clean\nup. We deliberately expose the JII API, and I don\u0027t think there\u0027s anything we\ncan really do about the art_..._from_code stuff (and at least that starts with\n\"art_\").\n\nChange-Id: I77e58e8330cd2afeb496642302dfe3311e68091a\n"
    },
    {
      "commit": "67bc236a207852d652f6ddeab0a90efc1bd111bb",
      "tree": "eea13fcb90ad8ce5b2b3819fb8caf0281583cd61",
      "parents": [
        "95caa791e560da97363c0c0d22bfda4a7e7377c3"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Oct 11 18:08:40 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Oct 14 10:54:03 2011 -0700"
      },
      "message": "Register promotion fix\n\nRestructured the type inference mechanism, added lots of DCHECKS,\nbumped the default memory allocation size to reflect AOT\ncompilation and tweaked the bit vector manipulation routines\nto be better at handling large sparse vectors (something the old\ntrace JIT didn\u0027t encounter enough to care).\n\nWith this CL, optimization is back on by default.  Should also see\na significant boost in compilation speed (~2x better for boot.oat).\n\nChange-Id: Ifd134ef337be173a1be756bb9198b24c5b4936b3\n"
    },
    {
      "commit": "67bf885d62b1473c833bece1c9e0bb624e6ba391",
      "tree": "a6069d30bb0e25d4ed1f19d7a3c2b55c4aef7127",
      "parents": [
        "f4c21c9f6440c3980c47a297519f758796dbc039"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Aug 17 17:51:35 2011 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Aug 19 20:14:15 2011 -0700"
      },
      "message": "Oat compiler integration snapshot.\n\nCleanly compiles, but not integrated.  Old-world dependencies captured\nin hacked-up temporary files \"Dalvik.h\" and \"HackStubs.cc\".\n\nDalvik.h is a placeholder that captures all of the constants, struct\ndefinitions and inline functions the compiler needs.  It largely consists\nof declaration fragments of libdex, Object.h, DvmDex.h and Thread.h.\n\nHackStubs.cc contains empty shells for some required libdex routines.\n\nChange-Id: Ia479dda41da4e3162ff6df383252fdc7dbf38d71\n"
    }
  ]
}
