)]}'
{
  "log": [
    {
      "commit": "c4f105d75cd0cbc5145620068bbb8a819148e535",
      "tree": "f34fce100c4fcd351e0de0bbccb4293df94d0804",
      "parents": [
        "ed1790e83352e54420018d1495eb010f7cd48a64"
      ],
      "author": {
        "name": "Anwar Ghuloum",
        "email": "anwarg@google.com",
        "time": "Wed Apr 10 16:12:11 2013 -0700"
      },
      "committer": {
        "name": "Anwar Ghuloum",
        "email": "anwarg@google.com",
        "time": "Tue Apr 16 10:24:36 2013 -0700"
      },
      "message": "Compile less stuff\n\nDon\u0027t compile class initializers, compile programs with fewer than\ncommmand-line specified number of methods, mildly refactor SLOW_MODE,\nrename into LIGHT_MODE.\n\nAlso, walks the image for uncompiled methods and fixes up with pointers to the\ninterpreter entry point.\n\n(Removed hot method list and light method limit as these are experimental.)\n\nChange-Id: I2ae33d8add84ab9f4d76f9d910cae422c81a7832\n"
    },
    {
      "commit": "311ca169f4727d46a55bdc8dfa0059719fa72b65",
      "tree": "c92882e4bb34029bcc71495045e062accea10ced",
      "parents": [
        "2af52e76dc76b41969b6147d7bd6925d0f61e932"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Feb 28 15:56:43 2013 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Mar 19 19:14:52 2013 -0700"
      },
      "message": "Compiler: Spring cleaning\n\nSignificant restructuring of the Quick compiler to break out the\ncommon frontend more cleanly.  Additional C++\u0027ification.\n\nThe goal is to move from the monolithic structure of the old\nJIT towards a more modular model in which components - in\nparticular the compiler backend - can be replaced.  This CL\nfocuses on moving MIR-related data from the CompilationUnit\nstruct into a new MIRGraph class.  The next CL will isolate all\nLIR-related data and code down into the Quick backend.\n\nThis change will happen in multiple steps, and may look uglier\nbefore it starts looking better.\n\nAmong the changes:\n\n   o Moved all mir-related fields from CompilationUnit to new\n     MirGraph class.\n\n   o Moved the register promotion stuff into the Quick backend.\n\n   o Deleted the GBC to LIR conversion code.\n\n   o Replaced with old C-style function pointer dataflow analysis\n     dispatcher with a basic block iterator class.\n\n   o Renamed some files to make the name more consistent with what\n     the code actually does.\n\n   o Added the foundation for future inlining support.\n\n   o Stripped out the remains of the old fingerprinting mechanism.\n\nChange-Id: I6c30facc642f8084b1c7b2075cf7014de387aa56\n"
    },
    {
      "commit": "4f6ad8ab428038129b2d0d6c40b7fd625cca15e1",
      "tree": "d1025ed9203d0cdf7aa959d9cecd8dc1f0c0bfeb",
      "parents": [
        "aabe8adacc7bf3a8ab6f6f3dd37fc839b6fd762f"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Mar 18 15:27:28 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Mar 18 15:29:59 2013 -0700"
      },
      "message": "Various performance improvements.\n\nPerformance had regressed due to verify object and method invocation changes.\nAvoid trampolines for static calls in same class.\nVarious inlining changes.\nMake verify object something that\u0027s only compiled-in in debug builds.\n\nChange-Id: Ia261a52232c3b10667c668f8adfadc0da3048bc5\n"
    },
    {
      "commit": "ed115647f6ae7cfb6c2c22a7aea33b5802b57a86",
      "tree": "93fb7facd987250e0a2cb8a58e084aef3ae7425d",
      "parents": [
        "19c5d3786894af707d8079231105bca1b7dcd096"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Mar 15 16:04:40 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Mar 15 16:13:45 2013 -0700"
      },
      "message": "Increase WatchDog timeouts and improve formatting\n\nChange-Id: I08d4b55c12823e430b266cc8ffaf560dd8da1ab9\n"
    },
    {
      "commit": "54d22c2bb47da44ef586b9de94749d5648178a26",
      "tree": "2ad4216f91a54413527805e378e8ee1433198bb7",
      "parents": [
        "b45ccbf0e3c8f576de2f8608e12dc8c6ad002e0b"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Mar 13 15:14:57 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Mar 13 15:14:57 2013 -0700"
      },
      "message": "Fix some bad logging in dex2oat\n\nChange-Id: Ia193f4e58f1426f509f8559aaf67689b177c2f41\n"
    },
    {
      "commit": "3f47c12487250f61f3be95e9f275e3b08e2c49fb",
      "tree": "940732d0835af1cf80e8ec41eac6cafaca102a4c",
      "parents": [
        "650d7a60716a05680f13d2bd9190b633507e958f"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Mar 07 00:02:40 2013 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Mar 07 00:02:40 2013 -0800"
      },
      "message": "Fix portable build on build server by removing depenency on ANDROID_HOST_OUT\n\nChange-Id: I713a156468d14e07c784013c3c37a18c3c075a71\n"
    },
    {
      "commit": "265091e581c9f643b37e7966890911f09e223269",
      "tree": "ae493ce6c3537aebc3a85f59a73500fa819a7baf",
      "parents": [
        "4c1c283a7410784e9cab309f868248690b788a9c"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jan 30 14:08:26 2013 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Mar 06 14:08:46 2013 -0800"
      },
      "message": "Remove ExtractCodeAndPrelink and switch Portable to MCLinker\n\nChange-Id: Ia2459c7da6b79e0a1c0f1148c6e28ad9cbbe27a2\n"
    },
    {
      "commit": "1212a022fa5f8ef9585d765b1809521812af882c",
      "tree": "67ebdc1d3274c78978b3d06630874d7641d858d1",
      "parents": [
        "8e6960569e9de6350d7da89aa02efe0e4b924d6f"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Mar 04 10:48:41 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Mar 04 11:54:04 2013 -0800"
      },
      "message": "Move the Compiler to CompilerDriver.\n\nChange-Id: I0bb4d3c2b79b45fd8ef180688c767712b0c55978\n"
    },
    {
      "commit": "c928de90ad22ecdf83c18a07008409595f13d3b1",
      "tree": "065a08f379960f7ba946318aaa742d7ddd0c94bd",
      "parents": [
        "0f827169742aad6209d830db773a101849c32a83"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Feb 27 14:30:44 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Feb 27 14:30:44 2013 -0800"
      },
      "message": "Remove Iceland.\n\nART_USE_LLVM_COMPILER is removed and when necessary ART_USE_PORTABLE_COMPILER\nis used in #ifdefs.\n\nChange-Id: Iffa9ce5b0246c7c427ccc4e67ecc134624632e55\n"
    },
    {
      "commit": "eb5cb608fcb0d636961653ad561b2c7ee40de1ad",
      "tree": "aa2d54af3a9c14d94ce517f543979b4dc7860537",
      "parents": [
        "1d2a3da8cc14f9f92a1fb2d358a6b9ec108d9975"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Feb 25 15:06:01 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Feb 25 15:06:01 2013 -0800"
      },
      "message": "Bump dex2oat timeout, give 1 minute warning.\n\nChange-Id: If916a4abf145bd0641abb7c4ee27ac28d485f296\n"
    },
    {
      "commit": "a84395489098e4531619b1cffd1afc282b14510e",
      "tree": "f326a29ddb0c1b2f211484c6192f185a2698260e",
      "parents": [
        "addf1a8da2ece5ee9d6747a176f960ab7291f718"
      ],
      "author": {
        "name": "Sameer Abu Asal",
        "email": "sasal@google.com",
        "time": "Thu Feb 14 16:06:42 2013 -0800"
      },
      "committer": {
        "name": "Sameer Abu Asal",
        "email": "sasal@google.com",
        "time": "Tue Feb 19 15:13:46 2013 -0800"
      },
      "message": "Using histograms for timing statistics.\n\n  Histogram class and test cases added.\n  Modified make file to add test cases and class file.\n  Added a guard to avoid race condition in Cumulative logger that\n  was possible race between Addlogger and Dump() functions.\n\nChange-Id: I060a0d65648c7120963856624e7008c0aa681eb7\n"
    },
    {
      "commit": "2dd0e2cea360bc9206eb88ecc40d259e796c239d",
      "tree": "9d619dc9508cbe73e4793bf6f08cbc761abfb48a",
      "parents": [
        "ac21b797b3a425975d656d6b84a7b24401d35f42"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jan 24 12:42:14 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 30 16:48:31 2013 -0800"
      },
      "message": "Directory restructuring of object.h\n\nBreak object.h into constituent files.\nReduce number of #includes in other GC header files.\nIntroduce -inl.h files to avoid mirror files #include-ing each other.\nCheck invariants of verifier RegTypes for all constructors.\n\nChange-Id: Iecf1171c02910ac152d52947330ef456df4043bc\n"
    },
    {
      "commit": "700c8d31733534a3d978b75a03f6f7e177dc7e81",
      "tree": "6b9d8d93a70e31dba3b0a880f886ce408776314c",
      "parents": [
        "9adbff5b85fcae2b3e2443344415f6c17ea3ba0a"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Nov 05 10:42:02 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jan 25 14:28:43 2013 -0800"
      },
      "message": "Move .oat files to ELF format\n\nGenerates .oat in ELF file format using MCLinker\n- Uses MCLinker IRBuilder to create a synthetic .o from OatWriter output.\n- Uses new ElfFile for prelinking to support art image optimizations.\n\nAdapted OatFile to load using dlopen, ElfFile, or memory, removing raw MemMap mechanism.\n\nChanged image code to not assume oat data will be immediately after\nimage to allow space for ELF headers.\n\nPasses test-art and works with installd.\n\nChange-Id: Idc026eddb5de93f4b97490c405f3ed7b39589749\n"
    },
    {
      "commit": "cd60ac736bc7104785dc67671660d70fb434466f",
      "tree": "44cb2846ee51e8406d5f576ec6d93e793070c2f5",
      "parents": [
        "d636b0623307a379e255a9aaa682c12a2acc3a92"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Jan 20 17:09:51 2013 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Jan 20 23:47:39 2013 -0800"
      },
      "message": "Create OutputStream abstraction\n\nAllows data to be sent to file or memory transparently.\nStandard C++ streams don\u0027t allow to create a stream from a file descriptor.\n\nChange-Id: I820a864172e756949c61f29ef1517d1ebb253a0b\n"
    },
    {
      "commit": "e222ee0b794f941af4fb1b32fb8224e32942ea7b",
      "tree": "0b9f5fe6398663c9d871881cf7de28eca8bdfc6f",
      "parents": [
        "1aa246dec5abe212f699de1413a0c4a191ca364a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 13 14:41:43 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 13 15:24:45 2012 -0800"
      },
      "message": "Move stringpiece.h and stringprintf.h to base/.\n\nChange-Id: I7f71b4a12f99c5f81771146c66629ae5a947b229\n"
    },
    {
      "commit": "1aa246dec5abe212f699de1413a0c4a191ca364a",
      "tree": "ee9f5be423f56620f211525070273afc7a19c27d",
      "parents": [
        "07ed66b5ae659c452cbe1ab20c3dbf1d6f546461"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 13 09:29:36 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 13 09:29:36 2012 -0800"
      },
      "message": "Move casts.h and stl_util.h into base/.\n\nChange-Id: Idb3bfa5cec3d146e488031d91265737cde2b4cf4\n"
    },
    {
      "commit": "761600567d73b23324ae0251e871c15d6849ffd8",
      "tree": "4757cb01233394fa2e9c461a68fc37a35c12dabb",
      "parents": [
        "89c41e5f2fa10e7b97698b9714bd4883a73132f0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 12 16:31:20 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 12 16:31:20 2012 -0800"
      },
      "message": "Switch over to the google3 unix_file File*.\n\nI also moved macros.h to base/macros.h to ease google3 porting, at\nthe expense of a larger than necessary change. (I learned my lesson,\nthough, and didn\u0027t make the equivalent base/logging.h change.)\n\nI\u0027m not sure whether we want to keep the unix_file MappedFile given\nour existing MemMap, but it\u0027s easier to bring it over and then remove\nit (and possibly revert the removal) than to bring it over later.\n\nChange-Id: Id50a66faa5ab17b9bc936cc9043dbc26f791f0ca\n"
    },
    {
      "commit": "994d62a359188354de6ad01699b2ae6698db16f9",
      "tree": "0c8d5a98dc906343974da120d992803986a0d577",
      "parents": [
        "81b8871007101f42e2baabf213e1312004073eb0"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Nov 05 20:43:45 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Nov 05 20:44:30 2012 -0800"
      },
      "message": "Add --no-watch-dog for use when debugging dex2oat\n\nChange-Id: I1cfbcc638aef2eb28431d9fc63c2f34b15cee67d\n"
    },
    {
      "commit": "bcc2926b9721f94c17ed98fae5264cc98f0e066f",
      "tree": "ebc059463499b973804d52e0bba593a12cd0326e",
      "parents": [
        "af6eaca5034a602f459a6eca9fb185f3abe8a882"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Nov 02 11:36:03 2012 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Nov 02 17:00:27 2012 -0700"
      },
      "message": "Add dex2oat watch dog thread for host builds\n\nChange-Id: I90b4b6b3a1aebb82955b4aa84d3f2d599af1d13b\n"
    },
    {
      "commit": "ff2d2c555a9055452caa707fd5194dbf1a5696c8",
      "tree": "22359b0f931857f416af034746a7146f3bbe48ea",
      "parents": [
        "6e30145f1ed992be8d4e5a9973410c19f3de59f9"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Oct 30 14:15:34 2012 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Oct 30 15:08:17 2012 -0700"
      },
      "message": "Remove ClassLoader from OatWriter\n\nChange-Id: I75e6c8f7189d478304a5fd273440db126581a75f\n"
    },
    {
      "commit": "c531cefbfb5394413122e9f57d211ba436cff012",
      "tree": "f1a7183c0aa17414df90409e99dc24e84aaa2562",
      "parents": [
        "9281f004db3f194930ef34d31e5d80c98341f38f"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Oct 18 07:09:20 2012 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Oct 26 10:13:33 2012 -0700"
      },
      "message": "Eliminate #ifdef ART_USE_QUICK_COMPILER\n\nOne of several steps towards having a single compiler build.\nIn this CL, we introduce a compiler_backend command-line option\nto select between Quick, Quick w/ GBC, Portable and Iceland\nback ends.  The Iceland option is temporary, and will go away once\nwe combine with Portable.  The Quick variants are with\nand without GBC conversion.  In time, those will converge to a\nsingle option.\n\nAll uses of \"#if defined(ART_USE_QUICK_COMPILER)\" are eliminated.  All\nprevious uses in the Quick compiler have been converted to runtime\ntests.  On the llvm side, ART_USE_QUICK_COMPILER was previously\nused to differentiate between Portable and Iceland builds.  Those\nusages have been replaced with ART_USE_PORTABLE_COMPILER, and in\na following CL will also be converted to run-time tests.\n\nAs of this CL, we\u0027re still generating separate libraries for\nQuick and Portable/Iceland.  Next up is elminating the target-specific\nlibraries for Quick-arm, Quick-x86 and Quick-mips.  Once that is\ncomplete, we will consoldate Quick and Portable into a single build.\n\nTo build either Iceland or Portable, touch USE_PORTABLE_COMPILER or\nUSE_LLVM_COMPILER as usual.  Otherwise, the build will default\nto Quick (non-GBC).\n\nChange-Id: Ic86c56f51710c9b06d4430b71a429ae12903cc47\n"
    },
    {
      "commit": "28db0129e5d7ef642cf8845c86c0e11832817085",
      "tree": "3f1ca5abeb2e622e193573165bf20a626447337e",
      "parents": [
        "a85b8376740641f13dc078aea6be94d15a800803"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Oct 18 16:20:41 2012 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Oct 18 22:26:03 2012 -0700"
      },
      "message": "Add oat file dependency on boot.oat load location\n\nChange-Id: I89742e361675bd4e5177e3af213bcc826ddd60de\n"
    },
    {
      "commit": "4df2bbdfe6602ce5f141b7b44028b95faa0bd8ef",
      "tree": "9c23dad1023ccd1bf710825e6115892291232dae",
      "parents": [
        "1aae273f8827bcbfff6b00c5babd77a111852272"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Oct 11 14:46:06 2012 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Oct 11 15:33:23 2012 -0700"
      },
      "message": "Enable multi-threaded Quick compilation\n\nReuse thread-local copies of llvm context data for Quick compiler\n(while continuing to regenerate fresh ones per method for Portable).\nThis is a transitional CL - the upcoming compiler driver change\nis expected to pass pass a thread context structure to each compiler\nworker thread rather than use the pthread_key mechanism.\n\nChange-Id: I277920a5c2705748c3a9f37ceace53c903747ec2\n"
    },
    {
      "commit": "9a936999236cc29eacc95e87ed65a04db73f00f3",
      "tree": "5fb4a0d3ab10d06e74ac81f6b6af95b447718c22",
      "parents": [
        "50b35e2fd1a68cd1240e4a9d9f363e11764957d1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 05 22:03:24 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 05 22:03:24 2012 -0700"
      },
      "message": "See if running single-threaded fixes dex2oat Mac crashes.\n\nChange-Id: Ic5fce7d5eec47b4051e7c93eb1a739aede3b7634\n"
    },
    {
      "commit": "1f5393447b9f45be7918042d9ee7b521376de866",
      "tree": "1793cb0ae00b38a63f8cfd3a25b6cb0ee4edca16",
      "parents": [
        "870ea4772199f8d4cbd9a269f9093620ee50a59c"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Oct 03 21:09:42 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 04 09:27:04 2012 -0700"
      },
      "message": "Make PopSirt inlinable, pass self to SirtRef.\n\nChange-Id: Ieb91526b1cb1f8644ceb3c5b99649f658f43bbc1\n"
    },
    {
      "commit": "66f19258f9728d4ffe026074d8fd429d639802fa",
      "tree": "fd94009774c6cbbb1528ea096e606133bd35f104",
      "parents": [
        "a5e1e3d153990845d80cb8d013157210f11a473c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 18 08:57:04 2012 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Sep 21 17:32:56 2012 -0700"
      },
      "message": "Change dex cache to be java object instead of array, add pointer to dex file in dex cache.\n\nGeneric clean up to facilitate having GDB macros for Pretty* helper functions.\n\nImproved cleanliness of DexCache since having it as an object array was not the best solution.\n\nFixed a bug in InOrderWalk caused by ResolveType sometimes allocating classes.\n\nRename C++ Method to AbstractMethod and add two new classes Constructor, Method which both inherit from AbstractMethod.\n\nRename done to have the C++ code be closer to the java code.\n\nChange-Id: I4995b4c5e47a3822192b08afa24a639d3b1f4da9\n"
    },
    {
      "commit": "b726dcb581bf72da46527378ccb6889020f0e6e9",
      "tree": "c0383ed788652926e93147e50d659ed226519548",
      "parents": [
        "fd678beb171a4686a4f2d53ca4188a4ade8fa54e"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Sep 05 08:57:23 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Sep 05 09:06:19 2012 -0700"
      },
      "message": "Rename GlobalSynchronization to Locks\n\nAlso address some review comments in common_throws relating to\nToStr\u003cInvokeType\u003e and exception detail messages.\n\nChange-Id: Ibf2c0f147689fa236d349bd7f01eed3c2522552b\n"
    },
    {
      "commit": "00f7d0eaa6bd93d33bf0c1429bf4ba0b3f28abac",
      "tree": "6a2172ece15c4699e6c2a67ce76f019db0a9a21d",
      "parents": [
        "634ea28f78c4a138e6a1de54eae8696095422415"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jul 19 15:28:27 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Aug 14 10:45:52 2012 -0700"
      },
      "message": "Global lock levels.\n\nIntroduce the notion of the mutators/GC being a shared-exclusive (aka\nreader-writer) lock. Introduce globally ordered locks, analysable by\nannotalysis, statically at compile time. Add locking attributes to\nmethods.\n\nMore subtly, remove the heap_lock_ and split between various locks that\nare held for smaller periods (where work doesn\u0027t get blocked). Remove\nbuggy Dalvik style thread transitions. Make GC use CMS in all cases when\nconcurrent is enabled. Fix bug where suspend counts rather than debug\nsuspend counts were sent to JDWP. Move the PathClassLoader to\nWellKnownClasses. In debugger refactor calls to send request and\npossibly suspend. Break apart different VmWait thread states. Move\nidentity hash code to a shared method.\n\nChange-Id: Icdbfc3ce3fcccd14341860ac7305d8e97b51f5c6\n"
    },
    {
      "commit": "a1da8a553681d1f7aec305610c8848c26373e0f0",
      "tree": "0e4f86f208c67a2a761d052a49a94b3bc9c659fa",
      "parents": [
        "44a25bbc4626119d24d2cb7378212b6fd0093c19"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Jul 09 14:00:21 2012 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Jul 09 14:00:21 2012 -0700"
      },
      "message": "Quick compiler: complete switch support\n\nWith this CL, all Dex opcodes are handled.  We pass 79 run-tests,\nand fail 12.  Temporarily going single-threaded for the Quick\ncompiler (llvm\u0027s ir-builder dies otherwise - will figure out what I\nneed to do for multi-threaded operation in a later CL).\n\nChange-Id: I389e94d9a831096d4e7493460729933fb45e649e\n"
    },
    {
      "commit": "a21039c3ae2b20e44ceb2735251c04d0aac89afd",
      "tree": "66b6fa437e7e4286b50bdef224500f9049633701",
      "parents": [
        "3d9d49fa2d025a041f57ea306ea551ef990177db"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 21 12:09:25 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 21 13:04:41 2012 -0700"
      },
      "message": "Fix a bunch more lint.\n\n(If you ignore the compilers, we\u0027ve got relatively little lint now. Fits on\na single screen.)\n\nChange-Id: I51389002894d4fd8cf46f79d2bac57079322a030\n"
    },
    {
      "commit": "5c599943f8c347acd84c4d9fda56a9df70649b78",
      "tree": "b7ecfa967f8108338c6d9d43d3b32ed9f8b07954",
      "parents": [
        "f69ea07d1c83a73fd69d999d5b9633ea95aabc38"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 13 16:45:05 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 13 16:45:05 2012 -0700"
      },
      "message": "Turn parallel compilation back on.\n\nApparently we don\u0027t wind back class statuses any more.\n\nChange-Id: Ice0c743114e62aa805d170aa62f317007b9dbdb4\n"
    },
    {
      "commit": "0d39c12238499ca9ccc34d1532c443335e7c1044",
      "tree": "78a6befc07c5f24691234759eb2a8ddb488d0ef1",
      "parents": [
        "ebe2e0f2e5145ef8433c1459b9cd60ecd853ee76"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 06 16:41:17 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 06 17:31:26 2012 -0700"
      },
      "message": "\"InitGoogle\"-style argv stashing.\n\nThis lets us give the command line in crash dumps when dex2oat dies in the\ncontinuous build on the Mac. I\u0027ve also taken the opportunity to use the\nbasename of argv[0] as the default log tag, so dex2oat will now show up in\nlogcat as \"dex2oat\" instead of \"art\" (and we can probably stop manually\nprefixing dex2oat log output).\n\nAlso stash pthread_self() so we can _correctly_ report \"handle\u003d\" in the\nSIGQUIT output.\n\nChange-Id: Ia8249cd19bab5b816cb94a531a65becdfacaa98b\n"
    },
    {
      "commit": "60234563a621362c6ffe753fe5368afcd6682bcb",
      "tree": "dc17bb4872b6badd6860d9ce029568bcba3afc43",
      "parents": [
        "9ad4f22cd9a94a3bd3439e1bc9d67fdc3e9bc67f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 01 12:25:59 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 01 12:25:59 2012 -0700"
      },
      "message": "Various missing hunks.\n\nThese are hunks of changes that seem to have been lost between\nics-mr1-plus-art and dalvik-dev. Maybe bad merge resolutions?\n\nChange-Id: I822c64651dc693df38efa8bc290edb959ce3398c\n"
    },
    {
      "commit": "9ad4f22cd9a94a3bd3439e1bc9d67fdc3e9bc67f",
      "tree": "54946312bb7a3a87ddc08bd982fcd24ba50105bb",
      "parents": [
        "c4c3ee2b77064f6def92d394aec9a2ac7dee4e90"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Wed May 30 18:51:19 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 01 11:44:01 2012 -0700"
      },
      "message": "Make dex2oat default to the architecture being built.\n\n(cherry picked from commit 47874e73e50e03ebf5a2633ded7ea707ad29ddf6)\n\nChange-Id: I3612a84989be930783e02e47f01012681ac153c7\n"
    },
    {
      "commit": "9cc229742a516d0a6f5d072b2c26f5193975981f",
      "tree": "343db559a2a4333e493a8853a19760f213d314d6",
      "parents": [
        "d06a6c7c40180c2c906d6981dd461ede2187bd99"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 31 16:08:15 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 31 16:08:15 2012 -0700"
      },
      "message": "Experiment with the continuous build.\n\nChange-Id: I05141c7395777ac04d53c23a2eacb2047f4e9104\n"
    },
    {
      "commit": "35be9b1f7d5b51652adda85d79e368597df68d64",
      "tree": "ed431c85e5e1c16fc6f12e9b13af320fc105fe6f",
      "parents": [
        "4b644ecd8e8a266747dfdc9a960e27520b1d5738"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 29 17:59:26 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 29 17:59:26 2012 -0700"
      },
      "message": "Fix build.\n\nChange-Id: If560485f06560891799463cba28214e587f86511\nWellKnownClasses::Init isn\u0027t called in dex2oat.\n"
    },
    {
      "commit": "214d307f3d5bbfe6254ae9e96d504d3e665baa2c",
      "tree": "8fb28f60c50ca9c6d0f2bfa14e855a2a0a980ab4",
      "parents": [
        "4522989c9c4916582b482b878949c5d76a29daec"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 29 14:56:06 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 29 14:56:06 2012 -0700"
      },
      "message": "Revert \"See if multithreaded dex2oat is causing the Mac OS 10.6 build problems.\"\n\nThis reverts commit 4522989c9c4916582b482b878949c5d76a29daec"
    },
    {
      "commit": "4522989c9c4916582b482b878949c5d76a29daec",
      "tree": "c429b91229e6c279f8fe0cb86f23412446866580",
      "parents": [
        "af8d15a3267343dec135cc6df1db740c0a5c7b52"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 29 13:22:11 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 29 13:22:11 2012 -0700"
      },
      "message": "See if multithreaded dex2oat is causing the Mac OS 10.6 build problems.\n\n(Everything\u0027s working fine for me on 10.7.)\n\nChange-Id: I1e3cf3dd818ca00f986fb0e31f4f4a3a69df5daa\n"
    },
    {
      "commit": "bf1b4574dc681d49696571c59033e8c63583a029",
      "tree": "299abb1e367c64de42e0f8f45f81acd407b941b7",
      "parents": [
        "8829635f1326e8cf336415da5c9aa58b1b11959b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 24 19:11:39 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 24 19:20:38 2012 -0700"
      },
      "message": "Fix multithreaded dex2oat on Mac OS.\n\nAlso ensure that we error out rather than writing an empty .oat file if we can\u0027t\nopen one or more .dex files.\n\n(cherry picked from commit 1376f8687373317dc8766ffd5b475c5e294f1fdc)\n\nChange-Id: I60cc6b8e3d47018fa2b58698e8ed14fd6d259029\n"
    },
    {
      "commit": "1f71ae819e506c40ad5adccec4b2e57699e0b5c4",
      "tree": "5f34990a59724035e664e688ab93eac5016bd261",
      "parents": [
        "58136caeec7cb677bb83c2eafd1f4bab5afd96c8"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Thu May 24 16:08:24 2012 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Thu May 24 16:08:24 2012 -0700"
      },
      "message": "Fix host build to properly build x86.\n\nChange-Id: Ib8acb75cca2f0728297180e082a89f4f81784e75\n"
    },
    {
      "commit": "b203a20cb91faafca8419769a64fc43813c215ca",
      "tree": "055e7c3b9f77b8e94ccd0e1ce130c426dae553d3",
      "parents": [
        "27f94f2e7ad46f9e4d9d518a1dc3d1edf62a6953"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Sat May 19 16:27:10 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sat May 19 10:11:02 2012 -0700"
      },
      "message": "Remove the thread_count\u003d1 hack on target device.\n\nEarlier we set thread_count to 1 on the target device, to\navoid \"fork\" of dex2oat and reduce physical memory usage.\n\nHowever, since we have multithreading now, we can remove\nthis code, and take adventage of multi-cores.\n\nChange-Id: I767cb98630d6995ca3eb7fcba938c9710346ab6c\n"
    },
    {
      "commit": "08e1ba3c5899213e63007b0158e0a491f2449ea4",
      "tree": "f53f9352a3c9e6fe6e6e9a3f0a90f58bae69ac8a",
      "parents": [
        "e0e4024b2e3f6fa6feb3ef42f0f072ffb004f8f7"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue May 08 15:08:51 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Tue May 08 11:53:40 2012 -0700"
      },
      "message": "Don\u0027t fork dex2oat process on target device.\n\nChange-Id: I35370d328aaa1aaaed5b56e62e51c4c74afa9cba\n"
    },
    {
      "commit": "6cd40e5cc59259a0b7636eb5532c76de9b8a7286",
      "tree": "663d3f76be9220de8ad0704e8383ac1d1caa065f",
      "parents": [
        "1ecce9487a1b3aac6b656f5704cf86a961ab0481"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu May 03 14:15:11 2012 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu May 03 15:27:04 2012 -0700"
      },
      "message": "Ensure that cached oat and image files are world readable like odex files\n\n(cherry picked from commit 389ca5b86e1411c28b785408a7a4b8ac7837355c)\n\nChange-Id: I619601e9549764a11b78d782725a1dab5c80afb3\n"
    },
    {
      "commit": "72395bf298b7707ad9d93c3e51b57e1b8e010311",
      "tree": "8d2e6c3b6bd72ae27aa19979f301630fc438dfec",
      "parents": [
        "ae80b493748c5b6ffe310a91c651e7043f4b2dae"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 24 13:45:26 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 24 13:45:26 2012 -0700"
      },
      "message": "Support ANDROID_LOG_TAGS.\n\nThis is the dalvik-compatible solution to the \"I don\u0027t want non-FATAL logging\nin my test output\" problem.\n\nChange-Id: I51b7b883ce89604af4661696e7c7b041a0ef8211\n"
    },
    {
      "commit": "34f1fa453357af94377f83b21485a60429d1cd7f",
      "tree": "5a2cce5a9ebe9eaa7bac6ea58d8df4be59c46f33",
      "parents": [
        "f3388e6ef460384a87c85bff72c961ebcd11ce0a"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Apr 05 18:28:12 2012 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Apr 05 23:41:52 2012 -0700"
      },
      "message": "Run dex2oat for test-art-host-oat targets with core.art\n\nRevert \"test-art-host-oat targets should not rerun dex2oat\"\n\nThis reverts commit 14a8e7342c218208f124a5bf0079365dcb456d27.\n\nChange-Id: Iad5d90e8968ad0dcfbe6d5c9d67c47c9c0ceb112\n"
    },
    {
      "commit": "b907a3f7b02aef76bb6d294bb16b31339140c063",
      "tree": "df1243305293df12abc2419e48e4977774bf0eb4",
      "parents": [
        "2d62a0e4ae6b528648c585aa804569aaefc4c517"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 02 16:11:36 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 02 16:11:36 2012 -0700"
      },
      "message": "Change the Mac OS 10.5 workaround so it can\u0027t be overridden on the command-line.\n\nChange-Id: I3ad8fd2872cb2ea92a3d6154a395effd7c6fc3ef\n"
    },
    {
      "commit": "b08e8a3e32498ef3b03505917c83f28a284bd0a9",
      "tree": "8b08dd6952d112700bba4b1a46837129603728e0",
      "parents": [
        "2d7021776f10fe666ecd197713bcf88507851c37"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 02 10:51:41 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 02 10:51:41 2012 -0700"
      },
      "message": "Restrict Mac OS 10.5 devices to 1 dex2oat thread.\n\nAlso make extra sure we\u0027ve included the header file that tells us what Mac OS\nversion we\u0027re compiling for.\n\nChange-Id: Ie57f01a325217e638df4e9b90d94b27303149124\n"
    },
    {
      "commit": "de08e84143f7339d5bad24f252681207abbe0951",
      "tree": "6a810189c3fb29f24c8e057b5fdfc824012f0b2d",
      "parents": [
        "0cc6ab6c5104f565a0a3256b5b2b31c6383be189"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Wed Mar 21 00:34:12 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Mar 26 21:10:46 2012 -0700"
      },
      "message": "Remove ELF filename argument.\n\nWe are embedding the ELF image in the Oat file.  We don\u0027t\nneed ELF filename anymore.\n\n(cherry picked from commit b245ccacf447b014838535a7d8a58365642f0c3d)\n\nChange-Id: I235429222401100c09381ba44a3978f38d5b499c\n"
    },
    {
      "commit": "67d920071fe4a0aa8b8bc339e93b18276238c320",
      "tree": "a665c6bdeecf149fc976b992c71543642b44e464",
      "parents": [
        "16da17c8d39a813f1b880f576fd2f8bc98ac4a9d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 26 15:08:51 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 26 15:08:51 2012 -0700"
      },
      "message": "Add a compile-time constant bool equivalent to !defined(NDEBUG).\n\nThis makes some code slightly less awkward.\n\nChange-Id: Iafd359dd0baa65510ed9510a7d93ee01605f51e4\n"
    },
    {
      "commit": "ba0668ecd2a6459ed7c77012995ad08d27f88725",
      "tree": "4840d42598b7a30d5e41636d979be28390dee93e",
      "parents": [
        "1ac29447d6053b142f257330d6e237660076911e"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Mar 26 13:14:07 2012 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Mar 26 13:14:07 2012 -0700"
      },
      "message": "Make non-debug dex2oat omit timing and stats information\n\nThis is to try and avoid logcat rollovers during startup in stability monkey runs\n\nChange-Id: I32a84517fdb97829d7efa3067cb99e2f38b049ae\n"
    },
    {
      "commit": "f582258f0e296223a091fd64231a203ad71e9649",
      "tree": "23049122f075220421803a1745cf634337360a40",
      "parents": [
        "a7c12688da57ea052e127776ad3043ca5079488d"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Mar 19 22:34:31 2012 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Mar 19 22:59:13 2012 -0700"
      },
      "message": "oat file patching\n\nChange-Id: Idbbdf19f3a77498d79d043fd33ca12ce39cafbb7\n"
    },
    {
      "commit": "81f3ca17e9e8d360cc4a1b6c3155cf01ba3be3bc",
      "tree": "bbf93e69c7f5f29a53f12fe623486acd3a60cdd0",
      "parents": [
        "3fa13791c51985d9956d01bc465de6d36c3390d3"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sat Mar 17 00:27:35 2012 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Mar 18 19:45:03 2012 -0700"
      },
      "message": "Add image dependency to oat files\n\nChange-Id: I945356f71357f1aa0092f4fe6c57eccfb029b4a6\n"
    },
    {
      "commit": "fddf6f6b4af42c32dd2e92234bab0741118d092e",
      "tree": "3c6db33df447f729abfa0671e40936a89384dbd6",
      "parents": [
        "cbf0b61f5415e96a76284deff87e7cb9aba022b9"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Mar 15 16:56:45 2012 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Mar 15 16:57:03 2012 -0700"
      },
      "message": "Add Heap::GetImageSpace()\n\nChange-Id: Ib52898043948a3db2539f7b689d5d97af370e9ca\n"
    },
    {
      "commit": "49c4894f76f6a7aec4d6a1ec2c901700c9108944",
      "tree": "ac32b9284b268b1ee0070f9ce380e1d77a69d7ae",
      "parents": [
        "efccc565091b3409ed1372615b4ea4e2f6c39323"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Mar 11 15:15:37 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Mar 11 15:15:37 2012 -0700"
      },
      "message": "Add instruction-set option to dex2oat\n\nChange-Id: I3beefe28abb0ea8fc4697eded2793fd52e3f12c7\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": "4f00596ddd181cac1804ff49f45f3ae76244556b",
      "tree": "9af05f71baac68ca05b99f08453848814e2f18e2",
      "parents": [
        "7f76761d8705b7aa5b1fdd2fc1ebb80250992f4c"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Thu Mar 01 20:36:30 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Mar 01 12:21:54 2012 -0800"
      },
      "message": "Remove incorrect LOG(INFO).\n\nChange-Id: Ied2808806dabc03e115402e8a453ce57c1318693\n"
    },
    {
      "commit": "5b8b1edc803a85bb3172560826d6a23fb23c3452",
      "tree": "43fe7644011ad6b8c7175ee9748f5fd27e0d27af",
      "parents": [
        "31a4a6f5717f645da6b97ccc1e420ae1e1c71ce0"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Feb 23 23:48:21 2012 -0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Mar 01 11:44:02 2012 -0800"
      },
      "message": "Implement Link-loading and pass 62 tests in JniInternalTest.\n\nThe passed tests include the 12 originally ARM-only tests. Now it works\non x86 as well if defined(ART_USE_LLVM_COMPILER).\n\nChange-Id: I03092637fa4f0979ca77e0cac06e5d31a867e465\n"
    },
    {
      "commit": "8b977d38483aaa08abcbdaa5fa888076c1142169",
      "tree": "ae61c7cb1c397582f22c5c585bb0b531fd8f59b0",
      "parents": [
        "88894ee835411de72025cd8a5d8d111a6f2a004a"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Feb 21 19:14:55 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Feb 29 17:11:27 2012 -0800"
      },
      "message": "Compile llvm.Module into ELF object file.\n\nChange-Id: I8faf7427944324c9bac12573d217cde2a2e658f1\n"
    },
    {
      "commit": "1984651929744dd603fd082e23eacd877b9bc177",
      "tree": "ffa10973a88f0f2743f3fbfaf5e7e4235d5f262d",
      "parents": [
        "f3c01c530ab3a645bd5a980522df4d396dcbf228"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Feb 24 11:42:47 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Feb 27 16:08:56 2012 -0800"
      },
      "message": "Invoke static/direct dispatch change.\n\nThere was a subtle race in static/direct dispatch via the code and methods\ntable. This patch removes the table in preparation of architectures like\nx86 which will more aggressively sink loads.\n\nRemoves unused fields, code.. Brings back resolved methods table\nshort-cut and associated fast paths to use this (such as in Proxy). Adds\na resolution method that is used as the trampoline for static and direct\nmethods.\n\nAdd source file and line number to Throwable::Dump.\n\nMethodHelper knowledge of runtime methods.\n\nChange-Id: Ieae1b74c24072e6327a5bb2cad466f04e3c46c4d\n"
    },
    {
      "commit": "de6e4cf1b63acd7032a52826d9df21ff649d7128",
      "tree": "00a44b884b33591e3a33512123484145bfee6ff0",
      "parents": [
        "408e41920549371079eecd6a6ba2b7ce0fa7e328"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 27 14:46:06 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 27 14:46:06 2012 -0800"
      },
      "message": "Add dex2oat -g to control whether the compiled code has debugger support.\n\nChange-Id: I69c83f707d874fee0464929769b1f1f28e9d97ee\n"
    },
    {
      "commit": "cbfe6fea382328cd5a0a9906b61da5ed4ae3eaab",
      "tree": "b118f85d37125073145500973de66dab10535037",
      "parents": [
        "dd6aa87f0484c6097df0657f242eeef9ac9ff9e8"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Feb 17 11:13:36 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Feb 17 11:27:23 2012 -0800"
      },
      "message": "Fix automatic dex2oat when boot files are in /data\n\nAlso fix oat-target-sync\n\nChange-Id: I003f48c830fb646194ae4f9ab518c7822b705b9e\n"
    },
    {
      "commit": "a004aa933a58428489e42d77f707c2b063b73747",
      "tree": "1224764c4a524957e94dfe2d27e277d024986668",
      "parents": [
        "573b7c9324b11ff7f42f68c9ad52d26ebc4b6d12"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Feb 08 18:05:09 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Feb 16 17:48:28 2012 -0800"
      },
      "message": "user build support for art (2 of 3)\n\nChange-Id: I4696fee58e43db48540e2442c4235fc4bb02d9e3\n"
    },
    {
      "commit": "60f83e3274739317d8c3a1b069cebc6bf1e40f29",
      "tree": "c7945cf6ebf6ebe0438421758884abb7ad240046",
      "parents": [
        "c281ec5f3a8177cd5921075716977639ceb5676d"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Feb 13 17:16:30 2012 -0800"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Feb 13 19:12:18 2012 -0800"
      },
      "message": "More fixes for vm-tests.\n\nFailing to open a dex file is no longer a fatal error.\n\nSetRegisterType in the verifier returns true/false for success/failure\nto prevent Fail from being called twice.\n\nVerifier checks that all catch blocks begin with a move-exception.\n\nGc maps can now support 65536 registers, with the size using some bits\nthat were usused in the format.\n\nChange-Id: Idfa92c627efff8fd8360e933f54def397c953688\n"
    },
    {
      "commit": "f1a5adc87760f938b01df26d906295063546b259",
      "tree": "99f9a917b667cdaab69fa7df0978e4310eb6c207",
      "parents": [
        "5b1f162d9cbec1c6b2863bd220bdaecdcb18b139"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 10 18:09:35 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 10 18:09:35 2012 -0800"
      },
      "message": "Reduce StringPiece usage a bit.\n\nVarious easy cases, in case we want to move towards making the StringPiece\nconstructors explicit.\n\nChange-Id: I49e5efc5b787f847ab4cb12d66d1d16aed03fa67\n"
    },
    {
      "commit": "1e4092589f1400915e6213014da103aab8728ef6",
      "tree": "ba718e9e853e18a61aab003ce3f6a880b86fa365",
      "parents": [
        "53a77a5d06ce865d0524bf3a0dd9b586caa9bede"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 06 11:21:27 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 06 11:21:27 2012 -0800"
      },
      "message": "Fix Mac build and make -jN use a total of N threads, not N+1.\n\nChange-Id: I41dc613e76d6ac85a21b3286b1a555dcc79bae95\n"
    },
    {
      "commit": "a56fcd60596ae8694da21fccde5c56832e437c56",
      "tree": "522352376c179e452706bacad29c00f6fc5acb7f",
      "parents": [
        "b12552a95d68b9e4a567103190074ae47b6a61dc"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sat Feb 04 21:23:01 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sat Feb 04 22:48:30 2012 -0800"
      },
      "message": "Honor ANDROID_ROOT and ANDROID_DATA\n\nChange-Id: I8e43093830a734694bbf7308d08dd18527302270\n"
    },
    {
      "commit": "b12552a95d68b9e4a567103190074ae47b6a61dc",
      "tree": "4d07fecacadb5435847b84cee7c77c368ee3e5a1",
      "parents": [
        "97574f4589041ecb652ff30a0fb5e55eeffb5ea0"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sat Feb 04 17:17:31 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sat Feb 04 17:17:31 2012 -0800"
      },
      "message": "Fix unused variable warning on Mac OS\n\nChange-Id: I0808c3873685ed6563168b4ebd3c1d0bb7cf8ab2\n"
    },
    {
      "commit": "97574f4589041ecb652ff30a0fb5e55eeffb5ea0",
      "tree": "d839740c4fdd0ea7171ed2002772d17edb1b5e3c",
      "parents": [
        "141dae38f17614cb555b7e24edc217906378a991"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sat Feb 04 15:40:21 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sat Feb 04 15:40:21 2012 -0800"
      },
      "message": "Disable dex2oat -j thread count on Mac OS\n\nChange-Id: Ia68741525937e2e518f4a64d0cb429825eba1d7a\n"
    },
    {
      "commit": "5523ee070b005576c6f889415205d49ea77cf243",
      "tree": "e96483994b5f5d747615673d06bb7b84302d16f0",
      "parents": [
        "5b332c89fa3fdd7dc184b22c2587d28af304d019"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 03 18:18:34 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 03 18:29:13 2012 -0800"
      },
      "message": "Add -j to dex2oat.\n\nChange-Id: I80f3f2605b8afcdf9adf9382716b041f10efa104\n"
    },
    {
      "commit": "5b332c89fa3fdd7dc184b22c2587d28af304d019",
      "tree": "f348c63b6756adad52d1e242786df1c9136d6eee",
      "parents": [
        "9cb39392bacbd2a561c6bd840fff821ff7afaa7e"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Feb 01 15:02:31 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Feb 03 18:11:56 2012 -0800"
      },
      "message": "Fix checksum verification when opening DexFiles from OatFiles\n\nChange-Id: Ic3d13f3d591c34f159bf0739536a1751c3e7dc75\n"
    },
    {
      "commit": "0d0ba69e764c54b21c463239136bfd5038d389a9",
      "tree": "194fdb5b604f9eea2fef537deec71b8e5759d25d",
      "parents": [
        "8323972b16642b8a3accf6fcbb6677b65a7a20fb"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 03 17:28:52 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 03 17:28:52 2012 -0800"
      },
      "message": "A couple of logging changes people have asked for.\n\nHow many threads dex2oat uses, and more detail about heap trimming.\n\nChange-Id: Id60dbedf2480c639dc8c38b4a59eb0b15eb3b912\n"
    },
    {
      "commit": "2faa5f1271587cda765f26bcf2951065300a01ff",
      "tree": "c59557857c36741cfcd1b6bf5ae039886a8ad6e7",
      "parents": [
        "0850c69c88d49efd4075288511b70d6c032bd0c8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 30 14:42:07 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 30 16:46:29 2012 -0800"
      },
      "message": "Fix copyright headers.\n\nChange-Id: I5b7bc76a370238d810d78522bd5531600746700f\n"
    },
    {
      "commit": "3bb17a644e2945c3913cfbde245d2f520d62a3ff",
      "tree": "5b9abb315069c2103d7bbaabc5a07d2a13bddb87",
      "parents": [
        "715112b4551b6ead2643b5e4e9bd796331417115"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Jan 27 23:56:44 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Jan 29 12:50:16 2012 -0800"
      },
      "message": "Space trim and other unit tests. General space clean up.\n\nThe space unit tests now include checks on space invariants, in\nparticular relating to footprint and size.\nOut-of-date comments have been removed.\nThis patch adds PrettySize and PrettyDuration methods to make these\nstrings more human readable.\n\nChange-Id: I6bc05b2db0d0115b97d666b832fce57bcdd2e091\n"
    },
    {
      "commit": "30fab40ee5a07af6b8c3b6b0e9438071695a57f4",
      "tree": "86514e3535c8b23cf52249a202076b59ac532021",
      "parents": [
        "f3778f66879fa038a7c9ebe46d5bc4167ddef7d8"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Jan 23 15:43:46 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jan 26 17:32:10 2012 -0800"
      },
      "message": "Upgrade to latest dlmalloc. Refactor Heap and related APIs to use STL like naming.\n\nWe fail assertions in the existing heap code, as does Dalvik. This refactoring\nis to clean the heap and space APIs and to reduce duplication of data\nand thereby solve a failing assertion in the card table.\n\nThis change also wires up clearing of soft references including before\nout-of-memory errors are reported.\n\nIn doing this change it was made clear that mspaces are buggy (and\nviolating invariants with the garbage collector). This\nchange upgrades to an un-Android molested version of dlmalloc-2.8.5 and\nimplements a version of the mspace morecore routine under ART control.\n\nrun-test 061-out-of-memory is updated for current heap sizes.\n\nChange-Id: I377e83ab2a8c78afb9b1881f03356929e2c9dc64\n"
    },
    {
      "commit": "bb551fa68ffc57f679b8c914ac856666f0348b77",
      "tree": "98bc7c51b0a8c20934bf6ae27574036b616566ae",
      "parents": [
        "2748b49cb889f6e2539c77a09064db0459508467"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 25 16:35:29 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 25 17:11:37 2012 -0800"
      },
      "message": "Collect and output a few dex2oat statistics.\n\nNot sure how useful this is. Suggestions welcome.\n\nChange-Id: I339de66a9964d18b11a482f549e891a57831e10e\n"
    },
    {
      "commit": "10037c866b04550fc5461058c398c2e3e509381a",
      "tree": "91ef9ebf54962b25c2faf6e66e2b9ca4d383cbbe",
      "parents": [
        "20e1ebb6d7b9959971baf0903beb0c7f7169e716"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Jan 23 15:06:23 2012 -0800"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Wed Jan 25 16:30:59 2012 -0800"
      },
      "message": "Added pass to verify structure of dex file.\n\nWhen a dex file is first opened, this pass runs through to make sure\nsizes and offsets of the various sections of the dex file match the\nheader and don\u0027t overlap.\n\nChange-Id: I4900c9665d6572ccfca2fe5f79d5d48ce7252036\n"
    },
    {
      "commit": "ba8eee10607a524f43b55a6f33c13924fb16d435",
      "tree": "45f3c3728bcaee9ff04baeaf1706693e677757bf",
      "parents": [
        "844f9a072454eb9dca1022299b6bf99ef4294008"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 24 20:25:24 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 24 20:25:24 2012 -0800"
      },
      "message": "Remove more lint.\n\nChange-Id: I48714db4169d9ea0536342809361210910ee2091\n"
    },
    {
      "commit": "8add92dcf59568c72c17e9a979948b1a7a0b1264",
      "tree": "317c96fc2cc004f980d16b553d445b56fa9dc37d",
      "parents": [
        "e5448b5a12003b405b22cde3b94f962ab4888a87"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 18 18:18:43 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 18 18:20:30 2012 -0800"
      },
      "message": "Remove the rest of the unordered_ stuff.\n\nChange-Id: Ibfef4e807c1d2ce63887b6c67d1c1e60012d46a5\n"
    },
    {
      "commit": "fd8cba4ad6d4d0586dc783c031383a9ca953372d",
      "tree": "f156c37c57d798e3831c81b6db4c0ccda32913e1",
      "parents": [
        "ed93b2ea571a49748960766a860c16ac74dec327"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 11 14:34:28 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 11 14:34:28 2012 -0800"
      },
      "message": "Log the oat_name, not the oat_filename, on failure.\n\n(The oat_filename is empty when we\u0027re writing to a file descriptor.)\n\nChange-Id: Ib91ada819017c89ddfd690085626bcdce97b0437\n"
    },
    {
      "commit": "2e3d1b262af0839380e1d60e86d8b281943ef944",
      "tree": "f703c068e2a037d12dac592e1ebc6f1849ce4fbf",
      "parents": [
        "d170fc48b0895ee98ec0d6e3cf1987c8260af95d"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jan 09 18:01:56 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jan 09 21:20:50 2012 -0800"
      },
      "message": "Changes to compile with gcc 4.6\n\nChange-Id: I55908b3b98b49373ce948fd1f12e0a5cd56ae4f7\n"
    },
    {
      "commit": "866c8627626b7c47fb69b498b341772d7dfa7f60",
      "tree": "2282599145a52d26e30b29094cff724fb524da18",
      "parents": [
        "d601af8d9549ca95a911afb2fc67c4e562da661f"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jan 06 16:35:13 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jan 06 17:23:29 2012 -0800"
      },
      "message": "Minor OatFile ownership and --oat-fd\u003d argument formatting\n\nChange-Id: Idd2e6aca574b473222d75a0fab1fe7538c6a787b\n"
    },
    {
      "commit": "a6cc893c4b142cd410fc956963b6f5a014e983ad",
      "tree": "72d9542065e45660c7b2f002a7c03dd9ad5a8a78",
      "parents": [
        "89521898b56f2ebc3fb68acfb6bc6dde9b6f5c38"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jan 04 14:44:07 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jan 05 14:43:21 2012 -0800"
      },
      "message": "Add installd support to dex2oat\n\nChange-Id: Id1a64403ccea7dc2c1e8b8340d33d383d4045a33\n"
    },
    {
      "commit": "c3b77c7c2971124cbf3b2d9da64e7a8a9a649f2e",
      "tree": "b8f2b70fb281d2d8b617491755bcdb7f798af837",
      "parents": [
        "90040194a1b5c441dde5c8a8b6d637c23972e0f3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 15 20:56:48 2011 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 16 14:17:50 2011 -0800"
      },
      "message": "Avoid copying and strlen(3) in the FindClass path.\n\nChange-Id: I789f3c883596d1852a2c1954ce7a207e6f937117\n"
    },
    {
      "commit": "29e7ac74a3f9aec192099fec381baadaa55730ad",
      "tree": "350ef2b28d55411a31b838159191bf461aec03da",
      "parents": [
        "4d3c95bd7ee7d67993dc09617ee4138fa33af70f"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Dec 05 23:42:57 2011 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Dec 14 11:02:24 2011 -0800"
      },
      "message": "Moving from libdvm to libart (1 of 5)\n\nChange-Id: I6541802c5f403a4ba4424818084b94bebe71dfca\n"
    },
    {
      "commit": "955724179c6c739524f610023287f56b24dc31de",
      "tree": "64f751693e72173ae0d044d8c54989b01f1195af",
      "parents": [
        "b87f73ea7524f6eb9da6da1af931a3d3fbb833ff"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Dec 13 18:14:20 2011 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Dec 13 18:14:20 2011 -0800"
      },
      "message": "Don\u0027t default-construct std::strings and then assign them.\n\nChange-Id: I8c994d1e6a8d2ebe52eaa4f0132e0deb2ecfa5f3\n"
    },
    {
      "commit": "6ef827a33b04fd5413d2ad88fd4599ca1920c824",
      "tree": "77406068cca6949921ae61e07b8f933e107b5947",
      "parents": [
        "996a72b3b6149abbff1a5bddf2d6af6a77d3082f"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Dec 11 14:57:47 2011 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Dec 12 11:20:06 2011 -0800"
      },
      "message": "Revert dex2oat file locking\n\nEffectively \"git revert 234da578a2d91ed7f2ef47b2ec23fb0033e2746b\"\n\nChanged run-test to do dex2oat on the host to eliminate original motivation for dex2oat locking\n\nChange-Id: I58d64f9b2ad7cf137df865945dd31361ca57f675\n"
    },
    {
      "commit": "b001126eb9e47d0088b3672652454c53f4e17e9f",
      "tree": "5db5e4536ada802f923a08c6f01aa37b4168d6f8",
      "parents": [
        "7b3cdfcca472b779cf8745fb8460935e56229f11"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Dec 09 12:17:24 2011 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Dec 09 12:31:42 2011 -0800"
      },
      "message": "Improve dex2oat option defaulting for command line use\n\nChange-Id: Ida53aadfda4320a230d071509ec0bcec5f2bd485\n"
    },
    {
      "commit": "6f1dfe415019de95f0305de66b3afb40005fe382",
      "tree": "93a39a7cd459a25bfe6b30fbf105518a549dc593",
      "parents": [
        "c2a2f295a15492ebbdb2613df97f9f7d331310e3"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Dec 08 17:28:34 2011 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Dec 08 17:52:16 2011 -0800"
      },
      "message": "Ensure referenced catch block exceptions are in the image.\n\nThis addresses Bug: 5732744.\n\nChange-Id: Ia9319b821f94bb27a11358f11b5473bb405277bb\n"
    },
    {
      "commit": "6d4d9fcb4f01e287ee29e81cd1c941ee5d11d379",
      "tree": "4c715bef86a3c5a47f9cea43c4a092cf4766ed4b",
      "parents": [
        "86b0010c79ef95b5333cd540b7d3af34a9f1a643"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 30 16:24:48 2011 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Dec 06 14:02:09 2011 -0800"
      },
      "message": "Reduce meta-data object sizes, introduce meta-data helper classes.\n\nChange-Id: Id14ad218f1c74c659701352fdf1a45bf6444daa3\n"
    },
    {
      "commit": "ae826983f7903bc0a6bbbe8426bf393fb2f6d747",
      "tree": "6fb83f2b19a1a50ade3c93cbf10485cd8fbc793f",
      "parents": [
        "8aa6fc39f5cc0279d4ba2ee064de9758560dfedd"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Nov 09 01:33:42 2011 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Nov 29 13:46:50 2011 -0800"
      },
      "message": "Add --image-classes to dex2oat\n\nChange-Id: Ia88f9d302e0f9cd72be2199ee46d212d99864c67\n"
    },
    {
      "commit": "254db0ff7ea6509a1c2914b1d9532e2041a0c4c4",
      "tree": "2b76fd513207c6679a50a91638d95361e9a05ae6",
      "parents": [
        "9b1a4f425711c26d0465d54a1cb95ec4a813322a"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Wed Nov 16 16:44:11 2011 -0500"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Wed Nov 16 17:21:45 2011 -0500"
      },
      "message": "Pass the classpath to dex2oat.\n\nThis makes it possible to run applications that have multiple\ndex files on the classpath.\n\nChange-Id: I15264a001a46ddb253e87f2739e6b9644348f1be\n"
    },
    {
      "commit": "169c9a7f46776b235d0a37d5e0ff27682deffe06",
      "tree": "9bd38fe9508e827089d546f04b0b42020eef821e",
      "parents": [
        "0571d357843c53e042f370f5f2c2e9aa3fe803a9"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Nov 13 20:13:17 2011 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Nov 14 09:27:23 2011 -0800"
      },
      "message": "Remove the use of Method from jni_compiler\n\nChange-Id: Ibf1c72a806e7f1ba7a2d83960c3d57f41937d336\n"
    },
    {
      "commit": "b1f9f22cd16929925b8330c7ee95c8a29a6e554c",
      "tree": "5961fb1a07fd079d3b775b95088a9aedeb948903",
      "parents": [
        "9717051c5c961d7b2d809654adc2a135fca8e6db"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 04 18:04:00 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Nov 07 10:56:22 2011 -0800"
      },
      "message": "Fix a TODO regarding flock(2) and TEMP_FAILURE_RETRY.\n\nChange-Id: I8d2a4ac97eedcad52f596b443f987ec942dee59e\n"
    },
    {
      "commit": "9717051c5c961d7b2d809654adc2a135fca8e6db",
      "tree": "3827e7d0008180e718dc53ed56dacd0ed27eaf40",
      "parents": [
        "f6d8ce36932f279ad1a6678c744f810d2f1fa931"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Nov 06 21:06:20 2011 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Nov 06 21:06:20 2011 -0800"
      },
      "message": "Don\u0027t delete oat files when not generating image.\n\nChange-Id: I86159ee7ecaf38c07833e43fd9b805727c884362\n"
    },
    {
      "commit": "234da578a2d91ed7f2ef47b2ec23fb0033e2746b",
      "tree": "f0d92cfd9163ebc00a94d629c9606f523821d2c8",
      "parents": [
        "cac6cc72c3331257fa6437b36a131e5d551e2f3c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 03 22:13:06 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 04 16:09:39 2011 -0700"
      },
      "message": "Basic file locking.\n\nIf someone\u0027s already doing dex2oat, wait for them to finish rather\nthan duplicate their work.\n\nChange-Id: Id620c75e013cbbcc84f5bf62a7629533a95307df\n"
    },
    {
      "commit": "5d4bdc29737a693027daaf6ed3f0792368eb4bae",
      "tree": "6f1e9e59c2899488ab018d5cd8279641041f7634",
      "parents": [
        "5e863ddd72a70d33525f7403a695f7bc1c218938"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 02 22:15:43 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 02 22:56:53 2011 -0700"
      },
      "message": "Various runtime/JNI related fixes.\n\nNewObject returns NULL if exception is thrown in constructor.\nAllocate the peer then call constructor to ensure peer_ field is\ninitialized.\nChange thread state for AddFinalizer and pass current thread through for\nease.\n\nChange-Id: Ib578b6d44b08aef10fde5d8bc27cc6a2acbf6fae\n"
    },
    {
      "commit": "5e863ddd72a70d33525f7403a695f7bc1c218938",
      "tree": "03a66e970a14afbc047af04205cdda6204121f34",
      "parents": [
        "3fe79571ff3507d478a9d447f0d3fb99abadc7a8"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 02 20:00:10 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 02 20:00:10 2011 -0700"
      },
      "message": "Make dex2oat fail early if it can\u0027t write oat file\n\nChange-Id: I4097110a76b5b5b3729c236d6cc6e47e2519ebe0\n"
    },
    {
      "commit": "3fe79571ff3507d478a9d447f0d3fb99abadc7a8",
      "tree": "e76201e438a51e04314efb067ff094c88b1234da",
      "parents": [
        "0b3a52a3ec75f1a248e040b267776c68d016e940"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 02 18:24:30 2011 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 02 18:31:14 2011 -0700"
      },
      "message": "Make dex2oat more chatty with the log.\n\nChange-Id: I91421f210f30aa32d4885823c39c5a9f76740ded\n"
    },
    {
      "commit": "5d84040e2231de1d48e6f30cab2cc8d4beb8effe",
      "tree": "3d327896eef070328f4cb0adef0ebbc0b03d6370",
      "parents": [
        "6b4ef025af12b158d117fc80fc79acf620f411a0"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Oct 24 17:09:45 2011 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Tue Oct 25 10:31:32 2011 -0700"
      },
      "message": "Created --runtime-arg switch for dex2oat to pass arguments to runtime.\n\nThis replaces the -Xms, -Xmx, and -verbose options.\n\nChange-Id: Idc023b6d369bd8b5df932b9f2eb6dbc79d591ab1\n"
    },
    {
      "commit": "40381fb9dc4b4cf274f1e58b2cdf4396202c6189",
      "tree": "8281b105d3e8a0850984f0ee182db01c33613f27",
      "parents": [
        "b06631143b944388fc68bedf6679c006dde5f461"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Oct 19 14:13:40 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Oct 20 12:19:25 2011 -0700"
      },
      "message": "Reuse SIRT for C++ references\n\nChange-Id: I8310e55da42f55f7ec60f6b17face436c77a979f\n"
    }
  ],
  "next": "362f9bc807169bcfc8761dde067bbfb79b5ad0fd"
}
