)]}'
{
  "log": [
    {
      "commit": "e68fb3c532f7a99c50b34321577dfc8a1bc3e6b1",
      "tree": "d4349e7679fe844f06a3fce2feaded223775c859",
      "parents": [
        "7940e44f4517de5e2634a7e07d58d0fb26160513"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Fri Jul 12 19:46:57 2013 -0700"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Fri Jul 12 19:46:57 2013 -0700"
      },
      "message": "Mark libbcinfo as a SHARED_LIBRARY dependency.\n\nART\u0027s compiler depends on libbcc, which transitively depends on libbcinfo.\nWithout the direct specification, it is possible to end up with a build that\nfails to link.\n\nChange-Id: I8a7237e2d5ed8118e4f4d78031ac528d0905c070\n"
    },
    {
      "commit": "7940e44f4517de5e2634a7e07d58d0fb26160513",
      "tree": "ac90242d96229a6942f6e24ab137bc1f8f2e0025",
      "parents": [
        "5cd9e3b122f276f610980cbaf0d2ad6ed4cd9088"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 12 13:46:57 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 12 17:49:01 2013 -0700"
      },
      "message": "Create separate Android.mk for main build targets\n\nThe runtime, compiler, dex2oat, and oatdump now are in seperate trees\nto prevent dependency creep.  They can now be individually built\nwithout rebuilding the rest of the art projects. dalvikvm and jdwpspy\nwere already this way. Builds in the art directory should behave as\nbefore, building everything including tests.\n\nChange-Id: Ic6b1151e5ed0f823c3dd301afd2b13eb2d8feb81\n"
    },
    {
      "commit": "1581766afea0b31de0ed0f9f677fc3b92a29daae",
      "tree": "78793c270596134e5848dda3af66e674a7160017",
      "parents": [
        "3d76933675895667f212500a65c9c7ea2b6209fc",
        "51c2467e8771b56e25ae4f17f66522f979f57a7e"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 12 08:50:57 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 12 08:50:57 2013 -0700"
      },
      "message": "resolved conflicts for merge of 51c2467e to dalvik-dev\n\nChange-Id: Ia7a8785d3220df6feeb999bc70f6d1917cad8d75\n"
    },
    {
      "commit": "51c2467e8771b56e25ae4f17f66522f979f57a7e",
      "tree": "16a66abbb45ea3fcc8c513c8511f34a46cd454c4",
      "parents": [
        "27c590edf6c24107b6473e84e526c432bd081f6e"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jul 11 16:00:56 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jul 11 21:16:04 2013 -0700"
      },
      "message": "libart-compiler cleanup\n\n- Move compile-time code to src/compiler and libart-compiler\n  OatWriter, ImageWriter, ElfWriter, ElfFixup, ElfStripper, stub generation\n- Move ClassReference and MethodReference to remove MethodVerifier dependency on CompilerDriver\n- Move runtime_support_llvm.cc out of src/compiler and next to runtime_support.cc\n- Change dex2oat and gtests to directly depend on libart-compiler\n- Move non-common definitions from Android.common.mk to more specific makefiles\n- Add LOCAL_ADDITIONAL_DEPENDENCIES on appropriate makefiles\n\nChange-Id: I897027e69945914128f21f317a92caf9255bc600\n"
    },
    {
      "commit": "d25de7a7c5f3c9462654a572e28cca73909520b0",
      "tree": "2309d2c81ab43c4b474424e3fb4d4ef66d296508",
      "parents": [
        "8a8539937f9cdbe37e0fba64101012a35ae204bf"
      ],
      "author": {
        "name": "Dragos Sbirlea",
        "email": "dragoss@google.com",
        "time": "Fri Jun 21 09:20:34 2013 -0700"
      },
      "committer": {
        "name": "Dragos Sbirlea",
        "email": "dragoss@google.com",
        "time": "Wed Jul 03 11:48:17 2013 -0700"
      },
      "message": "Preparing SSA support for SEA IR: reaching definitions.\n\nAdded the following:\n- Downward-exposed uses.\n- Reaching definitions.\n- Better .dot generation.\n\nPer file:\nsea_ir/sea.*: Downward exposed definitions and reaching definitions code.\ndex_instruction.*: Wrapper function added to expose the vA register,\n                   which is later used by dataflow analysis.\nsea_ir/instruction_tools.*: These tools provide info needed by dataflow analysis\n                            that is dependent on dex format.\ndex/frontend.cc: Formatting issues fixed.\nsea_ir/*.*: All files pass cpplint validation.\n*.mk: Support for new files added in this CL.\n\nChange-Id: Ic510e7fb55aebcde99a121304ee7e841a3307358\n"
    },
    {
      "commit": "7467ee05012e1fd9834df74663c1ebda46f5636b",
      "tree": "d93d7b7f13440eff50c552ccdab8ce8e4e5a9547",
      "parents": [
        "b126134010ebeee771da0eec7fa76ad13fe9a9c9"
      ],
      "author": {
        "name": "Dragos Sbirlea",
        "email": "dragoss@google.com",
        "time": "Fri Jun 21 09:20:34 2013 -0700"
      },
      "committer": {
        "name": "Dragos Sbirlea",
        "email": "dragoss@google.com",
        "time": "Tue Jun 25 13:12:53 2013 -0700"
      },
      "message": "Added support for SEA IR.\n\n- Modified makefile to take the existance of SEA_IR_ART\n  file to mean \"switch to sea ir mode\".\n- Switching SEA IR mode on leads to the new compiler being\n  fed the fibonacci methods only, if they are used as input.\n- Added partial support for the control flow subgraph of\n  the SEA IR (instruction nodes and region nodes for\n  conditional and unconditional branches).\n\nChange-Id: I29020b8e2df5a00fde75715c3683cc25038589f4\n\nConflicts:\n\tsrc/compiler/driver/compiler_driver.cc\n"
    },
    {
      "commit": "2d6ba5158d7fd459db2870df47300b517dc4d08c",
      "tree": "51e306969d4d707aee7a6bc36481390721e0f81f",
      "parents": [
        "1e2ee7de9dff66f7ca2bdf83a7262e21d75b37d1"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri May 17 11:31:37 2013 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Jun 24 15:29:06 2013 +0200"
      },
      "message": "Quickening support.\n\nThis CL adds quickening support for methods which are interpreted at runtime.\n\nThis CL introduces a DEX-to-DEX compiler. A method is now compiled in one of\nthe two following modes:\n- Native compilation: the method is compiled by the Quick or Portable backends.\nAt runtime, the generated native target-dependent code is executed.\n- DEX-to-DEX compilation: the method is executed by the interpreter at runtime.\nIts DEX code is compiled so some instructions can be replaced by special\ninstructions only valid at runtime. No native code is generated.\n\nThe quickening adds special instructions to improve runtime performance. They\nare \"-quick\" versions of the following instructions:\n- iget/iput\n- iget-wide/iput-wide\n- iget-object/iput-object\n- invoke-virtual/range.\n\nThese special instructions cannot be treated by the verifier since they lose\nthe field/method index referencing the field/method being accessed/invoked.\nTo prevent this, the DEX-to-DEX compiler is run only on methods of preverified\nclasses (without verification error at compilation time).\n\nThe DEX-to-DEX compiler implements quickening support using the CompilerDriver\ninterface like the native compiler does (Quick or Portable backends).\nTo replace instructions, the DEX-to-DEX compiler must be able to modify the\nmmapped DEX file. Since it can be read-only protected, the DEX-to-DEX compiler\nmust be able to temporarily change its protection to read-write mmapped file.\nTo achieve this, this CL adds support for changing DEX file protection with\nDexFile::EnableWrite and DexFile::DisableWrite methods. Besides, it also adds\na dedicated lock (DexFile::modification_lock) to ensure thread-safety and avoid\nconcurrent DEX file protection change (from a parallel DEX-to-DEX compiler on\nthe same DEX file).\n\nChange-Id: Iaafd103b9766810d7fc94a2c424a8fafba66e26a\n"
    },
    {
      "commit": "8d3a117b374352a1853fae9b7306afeaaa9e3b91",
      "tree": "3d715e8abed609581249034f1f62037def104ac2",
      "parents": [
        "4b3dc167917f8cf700416659b1bca220c1ccafe9"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Jun 04 01:13:28 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Jun 04 09:16:43 2013 -0700"
      },
      "message": "Perf tweaks to compiling and oat writing.\n\nMake hot quick compiler routines inlinable.\nRemove computation/use of SSA strings.\nUse vector insert when writing to the end of a vector in the output stream, to\navoid a memset followed by a memcpy.\n\nGenerating boot.oat/art these changes improve performance by around 2.5%.\n\nChange-Id: I3d0bdb01333efe8f0eda4bdf97225e0b307f934d\n"
    },
    {
      "commit": "1e8c505213dea6ce5a29aa1b7a78a3566251e60c",
      "tree": "e2bbb8b20d9b56831b98e518c034bebefb6e85b8",
      "parents": [
        "7f55288906c21b99801d75bb6fe17fe25af5c1e9"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue May 21 20:25:19 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue May 21 20:25:19 2013 -0700"
      },
      "message": "Remove quick compile-time dependency on mclinker\n\nChange-Id: Ib3444a0cb53438dcd38290a23381cb445384c865\n"
    },
    {
      "commit": "6a47b9dc850b903aabefcfab4adb132cb68bba2e",
      "tree": "924d2ea244bb01a48620e704b181a1d9d1f4055c",
      "parents": [
        "7b15b1b6809a3dc46c69610491d1b10513f449db"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri May 17 10:58:25 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue May 21 18:37:04 2013 -0700"
      },
      "message": "Refactor ElfWriter and introduce ElfWriterQuick\n\nChange-Id: I3eaa1fa1085bb4d28fe342a7420272720e48274b\n"
    },
    {
      "commit": "cd5d0422ac07b03220970a3606f8b402a3636528",
      "tree": "6879c685081ce4e4f53eb33bb2a8ad60d55cdc9b",
      "parents": [
        "e606010a5e5ea803736576b47740a2551e5d0dfc"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri May 17 15:54:01 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri May 17 15:54:01 2013 -0700"
      },
      "message": "Clang build support, -Wthread-safety with GCC 4.6.\n\nChange-Id: Idccb4daa012c66a6ece3f7a037c9c2c029beba64\n"
    },
    {
      "commit": "9d6589c2744835bf946e52b3dfcbcec7099e343e",
      "tree": "c2225b4f1f59f41bb0d1ad001e8fce9bda0c4872",
      "parents": [
        "1c42ff9a4729cd9c1f947476fdae237506ac2e0e",
        "862a76027076c341c26aa6cd4a30a7cdd6dc2143"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Apr 11 00:24:40 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 11 00:24:41 2013 +0000"
      },
      "message": "Merge \"Compiler: continuing refactoring\" into dalvik-dev"
    },
    {
      "commit": "862a76027076c341c26aa6cd4a30a7cdd6dc2143",
      "tree": "4a683c0aac1af88db8138cdcb36ecd2d006f2f7a",
      "parents": [
        "5fa60c3db4208df407113b5a69d295a9c93d53b1"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Apr 05 10:58:54 2013 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Apr 10 14:04:37 2013 -0700"
      },
      "message": "Compiler: continuing refactoring\n\nMoving the arena memory allocation mechanism into it\u0027s own class as\na prelude to cleaning up the MIR and LIR data structures.\n\nReworked bit vector as a class using placement new w/ the arena\nallocator.\n\nReworked GrowableList as a class template using the new arena\nallocator and renamed to GrowableArray.\n\nChange-Id: I639c4c08abe068094cae2649e04f58c8addd0015\n"
    },
    {
      "commit": "9609cb6ee479d5853aaf170d55b60715491c5db5",
      "tree": "4b227a7c81ee685ee542eae97208a15fa2266eee",
      "parents": [
        "5fa60c3db4208df407113b5a69d295a9c93d53b1"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri Apr 05 16:48:22 2013 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Apr 08 10:23:45 2013 -0700"
      },
      "message": "Remove remaining code related to compiled invoke and proxy stubs.\n\nChange-Id: Ib0b2829fed9d7efee09d098ce4db9d13f2fa2eac\n"
    },
    {
      "commit": "bf393efe476801b7f27fe6aa47691e3305552e9e",
      "tree": "2bfd05752781815306c115e40aab2b5fef10dfd0",
      "parents": [
        "c404bfb072f9273beb13bf8e098e2a4aa108f18b",
        "b56812165dd3a2e6eb8b85c810943b3d7bd9bfc4"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sat Mar 30 14:41:33 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sat Mar 30 14:41:33 2013 -0700"
      },
      "message": "Merge branch \u0027dalvik-dev\u0027 of https://googleplex-android.googlesource.com/a/platform/art into fixes-for-art-build-with-mr2\n\nChange-Id: Ie46d1f77f98b8a6f55f02b8614cb88b36b6a2d44\n"
    },
    {
      "commit": "ecc668244c869af4241662f51ff0ecb7e77c6bdb",
      "tree": "33f78c2932ddea57ea49e63faffc88c06fa8fd5b",
      "parents": [
        "f3c9932f97486b8e327add270217f806e04b2309"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Mar 29 16:58:30 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Mar 29 17:03:11 2013 -0700"
      },
      "message": "Tracking rename of libcompiler-rt.a to libcompiler_rt.a\n\nChange-Id: I3f9396dbef38d38245a181023f2ad0f74866458c\n"
    },
    {
      "commit": "74180cad94848107cf297d37e72437c5a6eecf1b",
      "tree": "9dfa6f7183bc7d6085a2753483b0f7a93c3ce486",
      "parents": [
        "857fe960a02834c0d6b8792dcc0af8143995cb1f"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Mar 27 15:29:11 2013 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Mar 27 15:29:11 2013 -0700"
      },
      "message": "Remove code related to compiled invoke stubs.\n\nNote that the oat file version is now bumped to 004. A clean-oat will be\nnecessary after syncing this change.\n\nChange-Id: If8875335b7fcc39b6b40c6f95de07da50da7b6b8\n"
    },
    {
      "commit": "37d4879df243f7a2161b5416fad299ad1d495131",
      "tree": "af247644575db7bb85db29d3694c40a8b9ebef54",
      "parents": [
        "59b976bc993af84fdc7af9b72cb60bf709cc7ffa"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Mar 22 14:14:45 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Mar 24 23:20:55 2013 -0700"
      },
      "message": "Changes to move to jb-mr2 based llvm\n\nChange-Id: Iae8b2164f25146807662a6025a254fec6d40bb52\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": "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": "4c1c283a7410784e9cab309f868248690b788a9c",
      "tree": "629ce783004007641a9a5b0c9f8e269d0fd57a8f",
      "parents": [
        "89756f21c107d96e6d1bbc75811bd33078c8ceee"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Mar 04 18:30:13 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Mar 04 18:38:16 2013 -0800"
      },
      "message": "Move compiler_llvm to art::llvm.\n\nAlso move the invoke stubs (soon to be removed) under compiler.\nStart moving LLVM code under compiler. Will move GBC expander to dex/portable\nonce it is disentangled from other builds (moving toward solving Bug: 8195425).\n\nChange-Id: I8829f9db6ade9ac8e32bd16198b90f83619769f1\n"
    },
    {
      "commit": "0211378ed7ccdedac8ad910eb62b74625ea271aa",
      "tree": "acd853965caa859ea8823fc2a87dcdd92544072d",
      "parents": [
        "1212a022fa5f8ef9585d765b1809521812af882c"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Mar 04 12:12:48 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Mar 04 12:12:48 2013 -0800"
      },
      "message": "Move the JNI compilers under compiler.\n\nChange-Id: Id1d40f35be191758906b96b56b74a83ab0dfb88e\n"
    },
    {
      "commit": "01d1134c605190f988744ad4916f79fcb99273cd",
      "tree": "ac6e7556df11f34f76c243a2ce6052490ecc95cd",
      "parents": [
        "76ae4fe651c77619aeeb4dd395c7ec8fc29685fc"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Feb 28 00:15:33 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Feb 28 00:15:33 2013 -0800"
      },
      "message": "Always compile compiler_llvm files.\n\nBuild fix.\n\nChange-Id: I7dec1350345ffe2ed60a498896eda3854b0c75ff\n"
    },
    {
      "commit": "76ae4fe651c77619aeeb4dd395c7ec8fc29685fc",
      "tree": "c9160ac0bfafe49d5b4a0c303e4767ee52b7abd3",
      "parents": [
        "395116cae130c983498c0a2f42b89e42f75bb9d0"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Feb 27 16:03:41 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Feb 27 22:20:36 2013 -0800"
      },
      "message": "1 IR builder. Kill greenland. Remove JTypeSpace.\n\nChange-Id: I7d08cfd8c1fec46df4ce5f51706dff2e246695b5\n"
    },
    {
      "commit": "395116cae130c983498c0a2f42b89e42f75bb9d0",
      "tree": "75c356436f7a60077d0dc7e7dd32dc11b7b08dde",
      "parents": [
        "b7f49eb431ae936f71a4542fecd46784dba07874"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Feb 27 14:30:25 2013 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Feb 27 16:00:05 2013 -0800"
      },
      "message": "Compiler: rearranging the deck chairs.\n\nFirst of several steps to adopt the new source directory layout.  No\nlogic changes - just moved files around.\n\nChange-Id: I087631f8aa23973e18da4dc7706249c490bee061\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": "00bc1dc4f81268d78d7dfeb298b85c56876425a9",
      "tree": "bae8027055563460692e87f18f31aac1b61d0ef0",
      "parents": [
        "12a2bdd245ea866b665d4800b493397ec412892a"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Feb 01 15:56:27 2013 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Feb 01 18:01:50 2013 -0800"
      },
      "message": "Remove separate libart-compiler-llvm\n\nChange-Id: I82303c6db3361e2842ff9d882f43f7d0830584b1\n"
    },
    {
      "commit": "641ce0371c2f0dc95d26be02d8366124c8b66653",
      "tree": "5c132a223a739e852849d6a0d1b9ffef4305dfc3",
      "parents": [
        "6cbd384cb98c6619c73fe4f76ef40a34ac6f355d"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jan 31 15:21:37 2013 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Feb 01 12:22:53 2013 -0800"
      },
      "message": "Rename compiler_llvm CompilationUnit to LlvmCompilationUnit\n\nAlso fixed stray ART_TEST_CFLAGS to LOCAL_CFLAGS\nAlso fixed relative includes\n\nTried to change CompilationUnit to reference LlvmCompilationUnit, but\nthat causes issues because of the split libart-compiler\nlibart-compiler-llvm.\n\nChange-Id: I7a490f339add6355a20c1cedae858ccf6967a6aa\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": "2502e004d93734a99bdfeab811b3c5ae06f45bec",
      "tree": "1f1ef0f89464d4a2d5477fe026866cc684c7ca1b",
      "parents": [
        "2d76b041be770102fc912effc398e629a18180d2"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Dec 31 16:05:53 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Jan 03 06:17:11 2013 -0800"
      },
      "message": "Basic block optimization refactoring\n\nVarious optimization improvements for the common frontend.\n\nBefore applying basic block optimizations, split the graph\ninto extended basic blocks.  Replace existing pattern-match\nrange-check elimination with a scheme based on local value\nnumbering (which could also serve as the basis for some CSE\nif the existing, but so-far untested, common frontend temp\nregister mechanism works as designed).\n\nFor the framework, this CL improves null check elimination\nfrom 90.74% (statically) to 91.24% removed, and range\ncheck elimination from 3.45% to 8.17%.\n\nChange-Id: Ie1ce730cfe12a12fef665a30fe3814bad1993895\n"
    },
    {
      "commit": "8c4bbb55d0d801e492d849ee636771c8b2840429",
      "tree": "03975d337cafc86da0c02f9ab45e14b7b3dba677",
      "parents": [
        "372a910ee64fb1b7118a00e4d01db12f284c42d0"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Nov 26 14:00:58 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Nov 26 14:00:58 2012 -0800"
      },
      "message": "Eliminate build of target-specific compiler .so\n\nNow that the Quick compiler backend supports all targets, stop\nbuilding target-specific versions.\n\nChange-Id: I5e519930dd3ed731c8e73005f654213af3ab5a3e\n"
    },
    {
      "commit": "02031b185b4653e6c72e21f7a51238b903f6d638",
      "tree": "0fae8dbc0a15d4ed379768bdc7adf1910b1d46af",
      "parents": [
        "90ad9639047a8acbd563247f8869f825cf80e576"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Nov 23 09:41:35 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Nov 25 13:22:45 2012 -0800"
      },
      "message": "Quick compiler: Single .so for all targets\n\nWith this CL, all targets can be built into a single .so (but\nwe\u0027re not yet doing so - the compiler driver needs to be reworked).\n\nA new Codgen class is introduced (see compiler/codegen/codegen.h),\nalong with target-specific sub-classes ArmCodegen, MipsCodegens and\nX86Codegen (see compiler/codegen/*/codegen_[Arm|Mips|X86].h).\n\nAdditional minor code, comment and format refactoring.  Some source\nfiles combined, temporary header files deleted and a few file\nrenames to better identify their function.\n\nNext up is combining the Quick and Portable .so files.\n\nNote: building all targets into libdvm-compiler.so increases its\nsize by 140K bytes.  I\u0027m inclined to not bother introducing conditional\ncompilation to limit code to the specific target - the added build and\ntesting complexity doesn\u0027t doesn\u0027t seem worth such a modest size savings.\n\nChange-Id: Id9c5b4502ad6b77cdb31f71d3126f51a4f2e9dfe\n"
    },
    {
      "commit": "1bc37c60da71c923ea9a2e99d31ba1b3d76d79a8",
      "tree": "6af0698d02487d1561832841ca01dea6a4d5a963",
      "parents": [
        "78f1dc74c54c63bce57d434e756199205c3abf7f"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Nov 20 13:35:41 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Nov 20 17:50:36 2012 -0800"
      },
      "message": "Continuing Quick compiler refactoring\n\nWith this CL, we no longer include any .cc files - all source\nfiles compile stand-alone.   We still build a separate .so for\neach target, but all code in the target-independent \"codegen\"\ndirectory is now truly independent and doesn\u0027t rely on any\ntarget-specific macros to compile.\n\nHeader file inclusion is still a bit of a mess, but that will be\naddressed in a subsequent CL.\n\nNext up: create a codegen class to hold code generator routines\noverrideable by target.\n\nChange-Id: I3a93118d11afeab11f310950a6a73381a99e26e1\n"
    },
    {
      "commit": "eaf09bc65f9a10d12befcdb239156938c9bceef2",
      "tree": "e3b85c241b24aa058a413363e4f9c94f4c76d4d6",
      "parents": [
        "efc6369224b036a1fb77849f7ae65b3492c832c0"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Nov 15 14:51:41 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Nov 16 16:48:09 2012 -0800"
      },
      "message": "Quick compiler: more refactoring\n\nFocus on header file cleanup here.  Note: target_list.h\nis transitional, and upcoming CLs will do additional header\nfile reorganization.\n\nChange-Id: If86e1a8c1c43305762fe37b157a9d3c17d911ea7\n"
    },
    {
      "commit": "efc6369224b036a1fb77849f7ae65b3492c832c0",
      "tree": "e61d88a5b3b787d782b2fa02b90947ba9a115458",
      "parents": [
        "a3c6849b160cd5d2b2ca6e6fa9d9df834def85ee"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Nov 14 16:31:52 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Nov 15 09:47:38 2012 -0800"
      },
      "message": "Quick compiler source reorganizatio - part 1\n\nA step towards cleanup of the quick compiler source.  In this\nCL we rename all files to Art standards, combine some of the\nold target-specific files that may have made sense in the\nJIT, but no longer do.  Also removed some codegen/\u003ctarget\u003e/\nsubdirectories, combined and deleted some existing files.\n\nStill quite a bit of work to do in cleaning up header files,\ngetting some better consistency in what codegen functions\ngo where.  That will happen in later CLs.\n\nNo logic changes in this CL - just renaming and moving stuff around\n\nChange-Id: Ic172cd3b76d4c670f8e4d5fdd4a3e967db3f4c1e\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": "7fbee0731b14b5bf392a4254f5cd84685ab517da",
      "tree": "b24cf6d9eed7935e3b26d63cf2292fd8c008005b",
      "parents": [
        "f3a26411e0e8b56b64d184d3e946e72f9c31e4c7"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Fri Aug 24 17:56:54 2012 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Aug 27 11:33:05 2012 -0700"
      },
      "message": "Preliminary changes to allow mips target to build.\n\nIt compiles, but it doesn\u0027t work yet.\n\nChange-Id: I2973a03bd956d8d398b9cfd1047e66fbf3ff439c\n"
    },
    {
      "commit": "cdc6690a59ad63186b3c3e5f1f52e363c3381e39",
      "tree": "f165a0658ffca0ea3b5fd6deb877f364f4f1e3ed",
      "parents": [
        "4407e61aa4cd75e6f31919cfca6a544d18b88c53"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sun Jul 22 16:45:37 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Mon Jul 23 18:08:19 2012 -0700"
      },
      "message": "Switch to use libbcc and single copy of LLVM.\n\nDon\u0027t check this in until libbcc\u0027s 6841435 and API refactoring CLs are checked in.\n\nChange-Id: Ie49e1e9c2dc11bd92240d9153b60edf04296869c\n"
    },
    {
      "commit": "5644f0048d6a98dc099ae9fe898ced491da700aa",
      "tree": "baaf17106c8179180f78ed57a7408cc7e9d922ed",
      "parents": [
        "ed8b723c5f3989d2593ec21c65c96d6d8bf25579"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jun 27 23:05:17 2012 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jun 27 23:05:17 2012 -0700"
      },
      "message": "Only build target compiler for TARGET_ARCH\n\nChange-Id: Iad4867a358dc273799396ec1c3a76af32b56f5b6\n"
    },
    {
      "commit": "2cfc639fc803bf67e3d2a961f2b637220c86d5f7",
      "tree": "dfb184dc35b3a534fcd54a420378f29f30011f3a",
      "parents": [
        "a9719eb4167b544438268d46692389761652fc5d"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon May 07 14:51:40 2012 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Jun 07 16:29:03 2012 -0700"
      },
      "message": "Foundation for Quick LLVM compiler\n\nReady for review - probably better get this cleaned up and\nchecked in even though much work remains.\n\nBasic conversion from MIR to GreenlandIR and from GreenlandIR\nback to LIR.  Support sufficient to run Fibonacci test.\n\nNote some structural changes in MIR to support this work:\n    o  retaining incoming label for phi nodes\n    o  constant propagation\n    o  include object reference detection in type inference pass\n\nChange-Id: I8ba63c73e76d071aa40cae0f744e598b96f68699\n"
    },
    {
      "commit": "ceeea7d1610a88dee67b701c90208bfdc935c3d8",
      "tree": "cefc0afa8fdf10c5a31a51458213b5771fcc98a6",
      "parents": [
        "33206c2497d89c784a6b8479907fe36fb89cc52f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 10 11:35:08 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 10 11:35:08 2012 -0700"
      },
      "message": "Add missing escaping in makefile.\n\n(Causing libart-compiler-.so in place of libart-compiler-X86.so.)\n\nChange-Id: I4551c2e8fdfd2f6801a8516b503de495813a5c69\n"
    },
    {
      "commit": "57b86d47b66322693a070185fadfb43cb9c12eab",
      "tree": "81d53304a63a660a683917a19f7dd83723a397ad",
      "parents": [
        "68aefb06c449df0bd8a34f3491f7594ee3f9dd0b"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Mar 27 16:05:41 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Mar 29 11:51:44 2012 -0700"
      },
      "message": "Refactor runtime support.\n\nChange-Id: Id7470a4105838150d5ceb73ab2c8c83e739660df\n"
    },
    {
      "commit": "1bac54ffa933fbe9b92b62437577f2f4583eff1a",
      "tree": "a27134343ed3cd45a286c3a68b9a4469e70f13e7",
      "parents": [
        "96970cdab3e28511322ce37fa578f6eff8931d72"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 16 12:48:31 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 16 12:48:31 2012 -0700"
      },
      "message": "Fix all our unused parameter warnings so we let GCC report them.\n\nThere were a couple of genuine bugs here (fixed), plus there\u0027s a missing\nfeature in trace.cc that I\u0027ve just added a TODO for.\n\nAlso note that I haven\u0027t touched the compilers; this warning is still\nexplicitly disabled for that code. I\u0027ll do that when there\u0027s less going\non in those directories.\n\nChange-Id: Ic3570bf82411a07c7530bfaf1995ac995b9fc00f\n"
    },
    {
      "commit": "73666be63d30f9af5487982f69600be38caaed1b",
      "tree": "4bf329553ece8b2b61b0e9e3bda00b775c213c16",
      "parents": [
        "0ece7b950dc5821e79c930acf31fb7e73c570849"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sat Mar 10 20:25:10 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sat Mar 10 20:25:43 2012 -0800"
      },
      "message": "Add dependency from dex2oat to supporting libart-compiler-* libraries\n\nAlso make .art the primary build rule, not the .oat. The\nbuild/core/dex_preopt.mk rules depend on the .art files, and without\nthis, unnecessary rebuilds can happen when the .art file is\nregenerated.\n\nChange-Id: I0b116d6975916b9140e7ef095f8b0ec994c8e50f\n"
    },
    {
      "commit": "46f060a53fffc14333096f0a48f95730ee4768ee",
      "tree": "e29bd9d927e315191840e81fd1ddbcfbddaa04cc",
      "parents": [
        "b3cd1229e6904365ca0ca2a7bbc4701ad1908154"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 09 17:36:50 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 09 17:36:50 2012 -0800"
      },
      "message": "Move other compiler bits into the compiler shared libraries.\n\nChange-Id: I288337af4c70716709217ff2d21050ba5f858807\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"
    }
  ]
}
