)]}'
{
  "log": [
    {
      "commit": "1bd2ceb3a8c68ae6ea1f9627b588a7bc7a74487f",
      "tree": "c475526366695c9efe1fcf80da732736255167e7",
      "parents": [
        "a3d2718d1fac53210b2a311b1728409d6c8e7b9d"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Nov 06 00:29:48 2013 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Nov 06 01:33:25 2013 -0800"
      },
      "message": "Make missing DEX2OAT_TARGET_INSTRUCTION_SET_FEATURES an error\n\nChange-Id: I3ca23e4db80c8ab8a86da6408cf38daccd4cfaf1\n"
    },
    {
      "commit": "b60df31f4c7a1642ef8b3bad1cbdba4d471d4e55",
      "tree": "f7d538d544137bd481f8605ff1f0b0580509e6fe",
      "parents": [
        "3b588e09eac6fb2aff64595e2232e479703850fc",
        "d910172d7acc5d62617e40d1c264a8268eb75a7e"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Wed Sep 18 09:53:58 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 18 09:53:58 2013 -0700"
      },
      "message": "am d910172d: Don\\\u0027t fail if llvm.mk is not available.\n\n* commit \u0027d910172d7acc5d62617e40d1c264a8268eb75a7e\u0027:\n  Don\u0027t fail if llvm.mk is not available.\n"
    },
    {
      "commit": "d910172d7acc5d62617e40d1c264a8268eb75a7e",
      "tree": "991f0eb414007da143eb02cdbae804d9a0bcdf5a",
      "parents": [
        "613eae4a6f75282c0737a84850418afcab54d4e8"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Wed Sep 18 09:36:27 2013 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Wed Sep 18 09:39:08 2013 -0700"
      },
      "message": "Don\u0027t fail if llvm.mk is not available.\n\nThis enables doing dalvik minimal host build without external/llvm.\n\nChange-Id: I1f44f4d29b941086a79758c816674c9f9966eb31\n"
    },
    {
      "commit": "75165d015cc737f951d4264f8c55012298abdb18",
      "tree": "7456a0d7ae25f17172791637aecca68728723429",
      "parents": [
        "ab280c02ab94734c38415164ba880881e104ae38"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Sep 12 14:00:31 2013 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Sep 12 14:10:46 2013 -0700"
      },
      "message": "Add valgrind support to compiler arena allocator.\n\nChange-Id: Id9974301d3810bfac968ee562b01a11098e402c2\n"
    },
    {
      "commit": "8d11af55067676eba0e210f05f340784f541c4c7",
      "tree": "c00a94b422ad966d5e8d9d3d30d13150154675a9",
      "parents": [
        "fbb0ba491042a7f8fb38f51b2f0538ca8fd074a6"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Aug 15 14:24:29 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Aug 15 15:06:27 2013 -0700"
      },
      "message": "Switch GCC -O flags, O3 non-debug, 01 debug.\n\nRemove -fno-inline. Fix a missing #include.\n\nChange-Id: Idf87a14e39cc127749d4db41fb0e75c899f5d029\n"
    },
    {
      "commit": "9b3c3cdb62f7142384e6bf2c0cb6e3a76b16f0e3",
      "tree": "ee468053902f5d58bd0037000bc7031ea77175b2",
      "parents": [
        "7b67bee4f6ca4e634f35f63d1e08e1b05f138e01"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Aug 12 17:41:54 2013 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Aug 13 14:21:12 2013 -0700"
      },
      "message": "C++11 support for ART.\n\nWe can now use auto, ranged based loops, etc..\nThis compiles, the phone boots, and the tests pass.\n\nDepends on:\nhttps://googleplex-android-review.googlesource.com/#/c/342487/\n\nChange-Id: I8ba8ed47d2118e4711668c9c8f973a67beb261b2\n"
    },
    {
      "commit": "37c19bc2b36535e686782b7b5d4030d2fb7e2f56",
      "tree": "901e2f89321812ad2bafa14760a97e376beec484",
      "parents": [
        "d41119e863a9f9c5809b7732d30870ffd237b60c"
      ],
      "author": {
        "name": "Dragos Sbirlea",
        "email": "dragoss@google.com",
        "time": "Mon Jul 29 09:38:31 2013 -0700"
      },
      "committer": {
        "name": "Dragos Sbirlea",
        "email": "dragoss@google.com",
        "time": "Mon Jul 29 15:41:21 2013 -0700"
      },
      "message": "Multiple-inclusion protection for Android.common.mk\n\nChange-Id: I0d228dfacc87f0b50ab1414cb4a46f6010578834\n"
    },
    {
      "commit": "19e776ceb178397661b0323a9a982f6db249a56d",
      "tree": "f1e7911e08077dba585b61514d151f2854763f7c",
      "parents": [
        "4560248d4c85cade7f4fc7b30c3fb41b95a04a7f"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jul 23 12:16:44 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jul 23 12:16:44 2013 -0700"
      },
      "message": "Enable darwin target build for art.\n\nChange-Id: I8fc04258360d663d2fcd07c307fdfdd2981cdd19\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": "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": "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": "1d54e73444e017d3a65234e0f193846f3e27472b",
      "tree": "1de93661e95a0ce6fa78fdfc23d0cfd3dd2a06f7",
      "parents": [
        "4c22e7eabef3f815841dfc6e0d5bbead96150752"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu May 02 21:10:01 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Jun 21 11:10:42 2013 -0700"
      },
      "message": "GC clean up.\n\nGreater use of directories and namespaces.\nFix bugs that cause verify options to fail.\nAddress numerous other issues:\n\nGC barrier wait occurring holding locks:\nGC barrier waits occur when we wait for threads to run the check point function\non themselves. This is happening with the heap bitmap and mutator lock held\nmeaning that a thread that tries to take either lock exclusively will block\nwaiting on a thread that is waiting. If this thread is the thread we\u0027re waiting\nto run the check point then the VM will deadlock.\nThis deadlock occurred unnoticed as the call to check for wait safety was\nremoved in: https://googleplex-android-review.googlesource.com/#/c/249423/1.\n\nNewTimingLogger:\nExisting timing log states when a split ends but not when it begins. This isn\u0027t\ngood for systrace, in the context of GC it means that races between mutators\nand the GC are hard to discover what phase the GC is in, we know what phase it\njust finished and derive but that\u0027s not ideal.\n\nSupport for only 1 discontinuous space:\nCode special cases continuous and large object space, rather than assuming we\ncan have a collection of both.\n\nSorted atomic stacks:\nUsed to improve verification performance. Simplify their use and add extra\nchecks.\n\nSimplify mod-union table abstractions.\n\nReduce use of std::strings and their associated overhead in hot code.\n\nMake time units of fields explicit.\n\nReduce confusion that IsAllocSpace is really IsDlMallocSpace.\n\nMake GetTotalMemory (exposed via System) equal to the footprint (as in Dalvik)\nrather than the max memory footprint.\n\nChange-Id: Ie87067140fa4499b15edab691fe6565d79599812\n"
    },
    {
      "commit": "e4c891a0dc88cd3c5891372f28659f6bea0cbcfd",
      "tree": "a6973d6ea9446efb1d56a42a54dd96efeeffbbc0",
      "parents": [
        "50239c75041df9e12f9cbb018ccc08af6890e102",
        "fa42b4410d49134a8e63dc2196be4013d286f2d6"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jun 18 13:17:01 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 18 13:17:01 2013 -0700"
      },
      "message": "am fa42b441: Move to new art dalvikvm\n\n* commit \u0027fa42b4410d49134a8e63dc2196be4013d286f2d6\u0027:\n  Move to new art dalvikvm\n"
    },
    {
      "commit": "fa42b4410d49134a8e63dc2196be4013d286f2d6",
      "tree": "71e325089092167f202fbdf763daaf700cfd4a4b",
      "parents": [
        "7675e16bcae06c0fe258aad89b3d511037dec399"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jun 17 12:53:45 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jun 17 19:01:40 2013 -0700"
      },
      "message": "Move to new art dalvikvm\n\nChange-Id: Ib04bc9853b7084965fa0c9899c3e5f5ac42d4ce7\n"
    },
    {
      "commit": "0aba0ba155bef7346bde19e53581200b89ae8a7a",
      "tree": "6590f8a50bde7c30b57f1bb0ae67c6d88cea8116",
      "parents": [
        "515661b14b60ab9684efa1ab1d5124934406094e"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Jun 03 14:49:28 2013 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri Jun 07 14:43:24 2013 -0700"
      },
      "message": "Created compiled stubs in image.\n\nSaves class linker from having to set code pointers when loading\nfrom an image. Added stubs for quick and portable resolution\ntrampolines, and interpreter-to-interpreter and interpreter-to-quick\nentry points. Also added sizing stats output for oat writer.\n\nChange-Id: I3905fae81047742c23d1cf0ca001db798db971b1\n"
    },
    {
      "commit": "a72dd8b69408a46877cf2a6c104716e4c09a4358",
      "tree": "486ccaad9197d16b7da539f43df79bd84c6b0740",
      "parents": [
        "5243e912875026f99428088db7e80cb11651d64e"
      ],
      "author": {
        "name": "Anwar Ghuloum",
        "email": "anwarg@google.com",
        "time": "Mon Jun 03 17:01:15 2013 -0700"
      },
      "committer": {
        "name": "Anwar Ghuloum",
        "email": "anwarg@google.com",
        "time": "Mon Jun 03 17:03:26 2013 -0700"
      },
      "message": "Conform to convention for build env var for small art\n\nChange-Id: Ic1f8c490a9341f2526713aa9b9b6c7ff9d4a8c70\n"
    },
    {
      "commit": "637c65b1e431fd90195b71c141b3590bd81cc91a",
      "tree": "30097d990e442290bbb4ce94620390075b2dd624",
      "parents": [
        "207bb6548f96636b40ee62124b37d2d82c3ddc6b"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri May 31 11:46:00 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri May 31 21:31:37 2013 -0700"
      },
      "message": "Verifier improvements.\n\nMake type hierarchy for unresolved and unitialized types explicit.\nTidy and comment code.\nAdd DexFile::FindStringId that takes UTF-16 to avoid unnecessary UTF-8\nconversions during image writing.\nExplicitly disable RTTI that causes problems in debug builds.\n\nChange-Id: I701f1c3be8be5854fcabf5ec39e9f9c5d388aab0\n"
    },
    {
      "commit": "f89eccd509475cb1949c729e796b26a2a248ae04",
      "tree": "c0512735a0c58972061ebd5151ad82e03cce5670",
      "parents": [
        "1bf8d4dbe5cb9891e8a1125ff1928b544efc243a"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu May 30 10:50:43 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu May 30 10:50:43 2013 -0700"
      },
      "message": "Use no-omit-frame-pointer in host builds.\n\nChange-Id: Ic9cbf1244f7867996c0ec5f79908cce25fc6c7b0\n"
    },
    {
      "commit": "ba3ce9a51651f3f3de2ecc82673b46762b1f2d9d",
      "tree": "1358c21dc68f0f8e268c6c54a3f0297694bf6212",
      "parents": [
        "790ad90ccd2f3e297e2cf0a47adbf4f9ffb10149"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri May 17 18:50:09 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu May 23 15:52:14 2013 -0700"
      },
      "message": "Re-enable thread-safety checking on host, warn when not enabled.\n\nDisable thread safety checks in the interpreter where template specialization\nis causing annotalysis issues.\n\nChange-Id: I178ea278a93a3eb90f386b3e02827b5c61ea0e52\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": "c44f68fb6a6d55c0df28dd05b93d8906ec20bd08",
      "tree": "fc4ac69b301b7461d285f440730909555fca1809",
      "parents": [
        "2c6de22d6dcdc6fe1a065480582989e15a47fcb5"
      ],
      "author": {
        "name": "Anwar Ghuloum",
        "email": "anwarg@google.com",
        "time": "Fri May 10 13:24:54 2013 -0700"
      },
      "committer": {
        "name": "Anwar Ghuloum",
        "email": "anwarg@google.com",
        "time": "Fri May 10 13:24:54 2013 -0700"
      },
      "message": "Fixed Android.common.mk #define setting for small art\n\nWe were seeing things compile when they shouldn\u0027t have. This fixes it.  Plus added\na bit more documentation to options, set default values for the two small art related\nthresholds to zero.\n\nChange-Id: Id5db11962f3e30d8d4ee6b85d4cf7d6e66323adb\n"
    },
    {
      "commit": "8447d84d847d4562d7a7bce62768c27e7d20a9aa",
      "tree": "46aad5bf1bc3d3ce28b24ef1fcc5463224083991",
      "parents": [
        "88fc036842eb3c48acd5d3b01e75b3012c996d90"
      ],
      "author": {
        "name": "Anwar Ghuloum",
        "email": "anwarg@google.com",
        "time": "Tue Apr 30 17:27:40 2013 -0700"
      },
      "committer": {
        "name": "Anwar Ghuloum",
        "email": "anwarg@google.com",
        "time": "Tue Apr 30 20:32:59 2013 -0700"
      },
      "message": "Compile filter for small applications and methods\n\nAdds a filter per method and program size (in method count). Right now, options are treated\nas runtime options...but we might want to change this and separate options for compilers and\nruntime.\n\nChange-Id: I8c3e925116119af8ffa95ff09f77bcfdd173767b\n"
    },
    {
      "commit": "79fe539587d4c09244172d0168eeed0ec9770466",
      "tree": "4fb8fbd03727a74acb4dfde7e969adf32ee32750",
      "parents": [
        "09b55e1df3b0bcecee25882e45e882887cc8654f"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Apr 24 18:41:58 2013 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri Apr 26 14:50:52 2013 -0700"
      },
      "message": "Removing remaining compiled stubs from image.\n\nAbstract method error stub and jni dlsym lookup stubs are gone.\nAfter this change, the image no longer needs to be executable.\n\nChange-Id: Ic75d72bf7e76e3b8ecc596e82af68ab592dde15e\n"
    },
    {
      "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": "62d6c772205b8859f0ebf7ad105402ec4c3e2e01",
      "tree": "e2f2ba6d71ed5a39c9f6909e3f7c08e998053315",
      "parents": [
        "c9b17c7ee96cd04fac9048aab624ed554fe260bf"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Feb 27 08:32:07 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Apr 08 14:24:13 2013 -0700"
      },
      "message": "Interpreter entries and instrumentation as a listener.\n\nMake the instrumentation responsible for whether we want method entry/exit\nstubs, and allow it to use interpreter entry stubs when instruction by\ninstruction instrumentation is required. Improve deoptimization so more JDWP\ntest cases are passing.\n\nRefactor exception debug posting, in particular improve reporting in the\ninterpreter. Improve class linker exception throwing so that broken dex files\nare more likely to be reported. Fixes the performance issue Bug: 8410519.\n\nFix some error reporting lock level errors for the large object space. Make\nfast object verification faster.\n\nAdd some debug mode robustness to finding dex PCs in GC maps.\n\nAdd printf attributes to JniAbortF and fix errors.\n\nExpand run-test 044 to test return behaviors and fix issues with not throwing\nappropriate exceptions for proxies.\n\nEnsure causes are reported with a class linker NoClassDefFoundError and JNI\nNoSuchFieldError.\n\nRemove unused debugMe and updateDebuggerFromCode.\n\nThere\u0027s a minor sizing tweak to the arg array builder, and an extra reference\narray check in the interpreter.\n\nSome clean-up of trace code.\n\nFix reg type cache destructor if it is called after the reg type cache is\nshutdown (as is the case in oatdump).\n\nChange-Id: I6519c7b35df77f978d011999354c864f4918e8ce\n"
    },
    {
      "commit": "59b976bc993af84fdc7af9b72cb60bf709cc7ffa",
      "tree": "9c256a53c94d470ae13915b991f69b104e25fdba",
      "parents": [
        "52e55cbc6d18694556176b58ef79b5ae52c8039c"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Mar 22 10:02:04 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Mar 22 10:02:04 2013 -0700"
      },
      "message": "Remove gcc-based annotalysis support\n\nChange-Id: I2aeb9410eb004e5158c680d90c28b18832041b87\n"
    },
    {
      "commit": "52e55cbc6d18694556176b58ef79b5ae52c8039c",
      "tree": "c4e2784e0420ff89f6304a5a649a948783a62ef9",
      "parents": [
        "52003fe9e2020e9d68cee1300fdb4a3f55be85a5"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Mar 22 09:56:53 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Mar 22 09:56:53 2013 -0700"
      },
      "message": "Remove gcc-based tsan support\n\nChange-Id: I145331e295f69e99408e03cb59df26fb337510f5\n"
    },
    {
      "commit": "f3e9855ee2000106b54fd479f7a46da2dc2ad079",
      "tree": "0fb43ed2fc7f7b66190ff8a9c581c241b262270a",
      "parents": [
        "2da15eda3ff7c4d7f5f35606cb8e5e596a1e0e74"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Mar 20 15:49:49 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Mar 20 18:28:32 2013 -0700"
      },
      "message": "Slow ART.\n\nRun ART with the interpreter for all but boot.oat code.\n\nChange-Id: I1654ecff6769a6c754f713be7580717d5ce07dc1\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": "8550c9c0eed90dedaf1c9062b246693528efe21d",
      "tree": "b76b6b2e964745b84f7381240a7a47d9df07cb44",
      "parents": [
        "0211378ed7ccdedac8ad910eb62b74625ea271aa"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Mar 04 12:21:02 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Mar 04 12:21:02 2013 -0800"
      },
      "message": "Move the jni_compiler_test under compiler/jni.\n\nChange-Id: I641c4720e7658624bcb9d8cabdd4bfdd0a8976e0\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": "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": "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": "7b3ddd27c223fcce784314f78fda7f67dcb37730",
      "tree": "337784d971a0e2647dab27ddee9e5e5f5fb3bd4a",
      "parents": [
        "21bdc3d5a62767ea966a9c0e96b28095f7ccd798"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Feb 21 15:19:52 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Feb 21 16:09:44 2013 -0800"
      },
      "message": "Refactor DescribeVRegs to allow caching.\n\nIn oatdump we want to describe vregs at regular intervals and reverifying is\nslow. Refactor MethodVerifier to allow this. Move instruction flags into its\nown file so the complete type is visible to files other than method verifier.\n\nChange-Id: I14d491e7376ab1d7117a9725847870ef1337803f\n"
    },
    {
      "commit": "4b9702c6912c6f8745a77f5b5af56e7fe196e7c2",
      "tree": "02fee3631b7f3b60eb15f791b5dd004b27d6a571",
      "parents": [
        "64f574f474aa77c72778640ab21f8cfa72546812"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 20 18:13:24 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 21 07:41:59 2013 -0800"
      },
      "message": "Add a JDWP::Request type to replace the old uint8_t* and int.\n\nThis also lets us check that all the data in a (successful) request\nis actually read, though doing so caught two bugs in the tests, and\nmay well catch bugs in the actual debuggers.\n\nChange-Id: Ibed402e6f1c0c7a1d19d61f0be9bddd0c2f5a388\n"
    },
    {
      "commit": "64f574f474aa77c72778640ab21f8cfa72546812",
      "tree": "c90d3ef8f56144e61a4a043138a5118c3c9e7b9a",
      "parents": [
        "492899e445c21f09db458c76d773d571cc6cc0ac"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 20 14:57:12 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 20 15:46:06 2013 -0800"
      },
      "message": "Implement EnableCollection, DisableCollection, IsCollected, and fix Exit.\n\nRewrites the object registry to not just be one big leak. We use jweaks\nby default, which means (a) the GC doesn\u0027t need to know anything about us\nand (b) we don\u0027t cause unnecessary heap retention. We promote to regular\nJNI global references if the debugger asks us to.\n\nThe problem with VirtualMachine.Exit turned out to be that you\u0027re supposed\nto send a success reply to the command before exiting. This is a bit awkward\nwith our current division of responsibilities, but it lets us pass another\ntest.\n\nAlso log a summary of our replies when -verbose:jdwp is in effect, not\njust the requests.\n\nChange-Id: Idb33e99fe7d8bee7a79152d81fee42e2af00852b\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": "1ffa32f0be7becec4907b26ead353e4b17e1219c",
      "tree": "4b023e55080f75a4945a44588d12bfbb3aec8bd3",
      "parents": [
        "c0fa3ad44a84b7f658d16a717027bf95abc85db6"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Feb 05 18:29:08 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Feb 05 18:29:08 2013 -0800"
      },
      "message": "Reduce inlining in debug builds.\n\nFixes 018-stack-overflow on the host with interpreter.\n\nChange-Id: Ieed091b341b7812cfe898421a74d2f41f6a6a8bc\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": "6ff7f8078287b75ef396e8fd6e9734ef768aca07",
      "tree": "8722c8c7cc97ca24ec3056c1c5d9762761d640a2",
      "parents": [
        "eae2691d6120e2f34845eaffec5358d9dd8618eb"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jan 30 13:55:02 2013 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jan 30 13:55:40 2013 -0800"
      },
      "message": "Realphabetize source file lists\n\nChange-Id: Icc70954cca67b5dc0a9acdfd027df6e74a529626\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": "9adbff5b85fcae2b3e2443344415f6c17ea3ba0a",
      "tree": "e2893a0096a9c61f400d1f0bf0573eac75ae630d",
      "parents": [
        "cf07143e6b254a4087337d5f50bd7c1ee1b6a230"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 23 18:19:03 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 23 18:41:54 2013 -0800"
      },
      "message": "Implement Intel QuasiAtomics.\n\nDon\u0027t use striped locks for 64bit atomics on x86.\nModify QuasiAtomic::Swap to be QuasiAtomic::Write that fits our current use of\nSwap and is closer to Intel\u0027s implementation.\nReturn that MIPS doesn\u0027t support 64bit compare-and-exchanges in AtomicLong.\nSet the SSE2 flag for host and target Intel ART builds as our codegen assumes\nit.\n\nChange-Id: Ic1cd5c3b06838e42c6f94e0dd91e77a2d0bb5868\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": "7db619bb2a4e01e8532a04b613745d4926b205d7",
      "tree": "e4385b645ba1772ead9015718c4fcd52480d3fec",
      "parents": [
        "09846c9ebb1f507427a37ff7394f2e4db9f69ebc"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 16 18:35:48 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jan 17 10:18:02 2013 -0800"
      },
      "message": "Enter interpreter stub.\n\nUntested code that when set as the code for a AbstractMethod* will force the\nnext invocation of the Method to transition into the interpreter.\n\nChange-Id: I557bca3a2caf4a78551b39aa5ac4ffb4c486105b\n"
    },
    {
      "commit": "dd7bf568b28efb65c0322979790552946eda1fc1",
      "tree": "d2d54a91fa33aef43e7613b8427fd8e7cfd7f856",
      "parents": [
        "f9a52cd81ad39aacd1a5c41478d5ee0cb6dff1bf"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Jan 11 18:02:45 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 16 15:34:20 2013 -0800"
      },
      "message": "Move IntMath into run-test.\n\nRemove the IntMath method_verifier_test. We can harness oatdump to give a better\ntest.\n\nChange-Id: Id7c4417331e6311ca21efdb8aa744851b7216c98\n"
    },
    {
      "commit": "a26babddfce488172648efcd18d8c9e672a71759",
      "tree": "c2a2fd69d4d1d3a235113aa88ccae594faba1092",
      "parents": [
        "fef2a2947258a6e25b860061151932ff83fa81a2"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Jan 11 10:55:43 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Jan 11 10:55:43 2013 -0800"
      },
      "message": "Move ExceptionTest to a run-test.\n\nChange-Id: Ied054e1770ccc86c470dfc8d06cab39fc3e97216\n"
    },
    {
      "commit": "fef2a2947258a6e25b860061151932ff83fa81a2",
      "tree": "63533599834ad4faba68e79c74bf59506e9cf49d",
      "parents": [
        "dd0c4b81d611893f1a8cb6c613be8955219cc40d",
        "e41931a27c0a9818c06d26621c05af9e4e187503"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Jan 11 10:43:01 2013 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 11 10:43:02 2013 -0800"
      },
      "message": "Merge \"Move Invoke to a run-test.\" into dalvik-dev"
    },
    {
      "commit": "dd0c4b81d611893f1a8cb6c613be8955219cc40d",
      "tree": "27120b518f51a6d7fd62f3086b2c2778c5563d77",
      "parents": [
        "3a226e3b1980a9c0814c20be628bae91848fa408"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Jan 11 09:02:55 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Jan 11 10:23:40 2013 -0800"
      },
      "message": "Move GrowthLimit to a run-test.\n\nChange-Id: I33853625e095f35cc0cf6310c5e4401980322623\n"
    },
    {
      "commit": "e41931a27c0a9818c06d26621c05af9e4e187503",
      "tree": "3b4a489acacbc6a927b1a54480fff6f19ff7148c",
      "parents": [
        "3a226e3b1980a9c0814c20be628bae91848fa408"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Jan 11 09:31:45 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Jan 11 10:19:52 2013 -0800"
      },
      "message": "Move Invoke to a run-test.\n\nChange-Id: I3496e0bc88afb0ff0316b59b01cfc5a2df5aabfb\n"
    },
    {
      "commit": "3a226e3b1980a9c0814c20be628bae91848fa408",
      "tree": "c96b5ff7f1e3adc9a47156dae43bf4195e0f11ee",
      "parents": [
        "e4dd006b59cce58aa8322bfefa298aec611cf03f",
        "54a63fdbeccf8f976dfa8af741629d013c24476e"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Jan 11 10:17:27 2013 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 11 10:18:02 2013 -0800"
      },
      "message": "Merge \"Move MemUsage into run-test.\" into dalvik-dev"
    },
    {
      "commit": "e4dd006b59cce58aa8322bfefa298aec611cf03f",
      "tree": "b1653d020bc4a96a65289870ba9846e00e6743b8",
      "parents": [
        "f118407d45822d27678a9255be250ab2954da8a2",
        "ffb5600d2b9ebb045d0db7020599a198d39d08c0"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Jan 11 10:17:06 2013 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 11 10:17:06 2013 -0800"
      },
      "message": "Merge \"Move ConcurrentGC to run-test.\" into dalvik-dev"
    },
    {
      "commit": "f118407d45822d27678a9255be250ab2954da8a2",
      "tree": "b07439c6a71a6aa28eb965eeabc032c29ce50e66",
      "parents": [
        "2f7d693ac6d2782968e5b2057f515ba32d693a26",
        "9ac995bc84d396ed5a748b591a01ae0c43f4dbb3"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Jan 11 10:15:20 2013 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 11 10:15:21 2013 -0800"
      },
      "message": "Merge \"Move Fibonacci to run-test.\" into dalvik-dev"
    },
    {
      "commit": "54a63fdbeccf8f976dfa8af741629d013c24476e",
      "tree": "6b6a699d665334fbe26848f119e0ecfdd7fc443a",
      "parents": [
        "0ab2080369f080c9fd7bd975bbece6d0b82e3b6b"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jan 10 20:19:59 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jan 10 20:26:06 2013 -0800"
      },
      "message": "Move MemUsage into run-test.\n\nChange-Id: If14a75aa1a2297ea51577baa5b4ee9e654c5db1a\n"
    },
    {
      "commit": "ffb5600d2b9ebb045d0db7020599a198d39d08c0",
      "tree": "25aac8941fa967dd113a0ce1b53d1b28fd819c09",
      "parents": [
        "0ab2080369f080c9fd7bd975bbece6d0b82e3b6b"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jan 10 20:07:57 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jan 10 20:12:45 2013 -0800"
      },
      "message": "Move ConcurrentGC to run-test.\n\nChange-Id: Icf12321ece840c2edd4de6a80bb0d319317abc98\n"
    },
    {
      "commit": "9ac995bc84d396ed5a748b591a01ae0c43f4dbb3",
      "tree": "3aa415b31f8a39fa8dc79a23b0283ac29a03412d",
      "parents": [
        "0ab2080369f080c9fd7bd975bbece6d0b82e3b6b"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jan 10 19:46:57 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jan 10 19:57:48 2013 -0800"
      },
      "message": "Move Fibonacci to run-test.\n\nChange-Id: I52bc4e68f59da9d327d373a7cb81f5b960f5416e\n"
    },
    {
      "commit": "af81f926b65adde0b7dcef4f80dcfa8990ed812c",
      "tree": "7de1baa5197dc95e26ea439d8637ff59528200e9",
      "parents": [
        "0ab2080369f080c9fd7bd975bbece6d0b82e3b6b"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jan 10 19:33:00 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jan 10 19:33:00 2013 -0800"
      },
      "message": "Move ReflectionTest to a run-test.\n\nChange-Id: I3d3047aeea3db467beebd7c76b336b6699fb9238\n"
    },
    {
      "commit": "306057fd278d75bf3794bd5243a3b6652c487d18",
      "tree": "62652a97caace11e50408d15688ced3514039219",
      "parents": [
        "2d76b041be770102fc912effc398e629a18180d2"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Nov 26 12:45:53 2012 -0800"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Wed Jan 02 11:15:42 2013 -0800"
      },
      "message": "Support for deoptimization needed for debugging.\n\nThe deoptimization code is untested, and some sanity checks in the\ninstrumentation are disabled because they need debugging.\n\nChange-Id: I1b60a65a60bddc9b107ad4659da097b55ce901c3\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": "07ed66b5ae659c452cbe1ab20c3dbf1d6f546461",
      "tree": "2350745da33df6fcb9fb0c9059e55ea5d5ea8f67",
      "parents": [
        "76b6167407c2b6f5d40ad895b2793a6b037f54b2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 12 18:34:25 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 12 18:35:05 2012 -0800"
      },
      "message": "Move logging.h into base/logging.h.\n\nChange-Id: Id68f85f7c3a71b156cb40dec63f94d4fb827f279\n"
    },
    {
      "commit": "76b6167407c2b6f5d40ad895b2793a6b037f54b2",
      "tree": "5c433a0907ddf401f4078b6703253b1ae75e723e",
      "parents": [
        "f66330a747eff155eb571b634fc9d901c55a78a7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 12 17:47:30 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 12 18:11:44 2012 -0800"
      },
      "message": "Move mutex.h into base/mutex.h.\n\nWe don\u0027t actually need any hackery to get the right mutex.h any\nmore, but since we planned on having the google3-like stuff\nin google3-like locations, this is an easy one to fix.\n\nChange-Id: Ie27464ebbc208a6f4e694a97cf26b1cee0737009\n"
    },
    {
      "commit": "f66330a747eff155eb571b634fc9d901c55a78a7",
      "tree": "e9b7222c519fbfd3cb7b6c2ae701750e8386fc40",
      "parents": [
        "fe8723b27d5ef942ffa5a0a77c8169ffdfde8f4b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 12 17:27:00 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 12 17:27:00 2012 -0800"
      },
      "message": "Fix icu4c include path pollution.\n\nChange-Id: Ie96abd97ea98fd36cc9a796a3ce35233addfd1ee\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": "e89a354ce08d76cfefd58a3cb3da5115327b2d63",
      "tree": "b9c348757b90512cf089c0b0d32f2cf286b6207f",
      "parents": [
        "556d637764b71563030c479bc35364a75188d559",
        "2b82db45c09450022199376c3a5420eacf2aa81e"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 20 12:36:17 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 20 12:36:18 2012 -0800"
      },
      "message": "Merge \"Refactor GC to have a class for each different type of GC.\" into dalvik-dev"
    },
    {
      "commit": "2b82db45c09450022199376c3a5420eacf2aa81e",
      "tree": "b9561fc19d2826a2b08997fcaef84eadbbeb252c",
      "parents": [
        "2eb840353822092d542361c8d6c4938acfddee8e"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Nov 14 17:29:05 2012 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 20 11:58:23 2012 -0800"
      },
      "message": "Refactor GC to have a class for each different type of GC.\n\nAdded a seperate files for mark sweep, partial mark sweep,\nsticky mark sweep.\n\nAdded a common superclass for GC.\n\nAdded additional statistics for each GC.\n\nMoved main garbage collection code away from Heap.cc.\n\nChange-Id: Ida0021ab2f740fc8228bbbf4d43cd9bc56b4ba46\n"
    },
    {
      "commit": "cbd6d44c0a94f3d26671b5325aa21bbf1335ffe8",
      "tree": "438c25a083cd1487b40ca8a05cef8d96339b83a9",
      "parents": [
        "6aa852b927a12ba16f5c05ee7d044ac1372feb7f"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sat Nov 17 14:11:25 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Nov 19 15:50:13 2012 -0800"
      },
      "message": "C++\u0027ification of Quick compiler\u0027s casts\n\n o Eliminate old useless LIR casts.\n o Replace remaining C-style casts with new C++ versions.\n o Unified instruction encoding enum\n o Expand usage of the auto-generated ostream helpers for enum LOG messages.\n o Replaced all usages of intptr_t with uintptr_t.\n o Fixed bug in removeRedundantBranches, and moved to common code\n\nChange-Id: I53211c0de1be913f958c8fde915296ac08345b7e\n"
    },
    {
      "commit": "2bcb4a496b7aa00d996df3a070524f7568fb35a1",
      "tree": "8422ab8d65b7422008094b2eaadec0dad87b2df3",
      "parents": [
        "efc6369224b036a1fb77849f7ae65b3492c832c0"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Nov 08 10:39:18 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Nov 16 14:01:34 2012 -0800"
      },
      "message": "Add \"kind\" argument to Get/SetVReg.\n\nIn order to determine where a register is promoted its necessary to know\nthe kind of use of the register.\nExtend notion of precise-ness to numeric verifier register types.\nDump verifier output in oatdump.\nDump vregs with their location or constant value.\nIntroduce indenting ostream utility.\n\nChange-Id: Ia3d29497877976bc24465484743bca08236e1768\n"
    },
    {
      "commit": "725a957985171d712d5c048cc3d00ff14968784b",
      "tree": "3bd4b161268ecd477aa471665316fb27a3dda145",
      "parents": [
        "35883cc623fdf475a4ead1dafcba9e9becc1ed11"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Tue Nov 13 18:20:12 2012 -0800"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Wed Nov 14 11:42:33 2012 -0800"
      },
      "message": "Pulled out instrumentation into its own class separate from trace.\n\nThis is in preparation for Ian\u0027s debugger changes. The instrumentation\nstill needs support for debugging, which I\u0027ll add later.\n\nChange-Id: I29ce0af1ff2eaec8f6d2f54963263381363ebf72\n"
    },
    {
      "commit": "8161c0336b97e11e02c000af357f8f40de2e23e4",
      "tree": "cc5dafd36fefd9ec71ced5b2af36955053b450f3",
      "parents": [
        "72891f319f83eca0680a9aeb1445dddd40dec99b"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Wed Oct 31 15:50:00 2012 -0700"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Wed Oct 31 16:24:36 2012 -0700"
      },
      "message": "More MIPS fixes. The vm-tests and oat tests all work on the emulator.\n\n- Changed the base address of the art image for MIPS to allow enough\n  space for CTS to run on the target.\n- Fixed exception delivery to jump without linking, and to preserve the\n  value of $gp.\n- Added dumping of /proc/self/maps whenever mmap fails, and cleaned up\n  other debugging output (not MIPS related).\n\nChange-Id: I4e92e992ee6a6167e901db8ad90a6062bbc5168a\n"
    },
    {
      "commit": "2fa6b2e2fc3d2a2fc27808ce518dc76b80ce369a",
      "tree": "daba5f5e64409452e31ae42e3b1b6b6491ccb007",
      "parents": [
        "6ed960d260d0ec3cbbef455c646ccd47f4e78119"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Oct 17 00:10:17 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Oct 26 16:12:59 2012 -0700"
      },
      "message": "Interpreter.\n\nThe opcodes filled-new-array and packed-switch aren\u0027t implemented but\nare trivial given that they are variants of implemented opcodes.\nRefactor Field::Get routines to take the declaring class in the case of\nstatic field accesses. This avoids a check on every use of a field.\nRefactor arg array builder to be shared by JNI invokes and invocations\ninto the interpreter.\nFix benign bug in const decoding in the verifier.\n\nChange-Id: I8dee6c1f4b7f033e6c003422c56e9471cfaccda8\n"
    },
    {
      "commit": "6ed960d260d0ec3cbbef455c646ccd47f4e78119",
      "tree": "73c5db413bab25b3462ddc35e10fd6392123b525",
      "parents": [
        "bf90dbe0ad99b91dc20f6e35ee32a05884c5c481",
        "0e4627e593bc39f8e3d89c31f8977d55054c07cc"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Oct 26 12:01:16 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 26 12:01:17 2012 -0700"
      },
      "message": "Merge \"Add thread pool class\" into dalvik-dev"
    },
    {
      "commit": "0e4627e593bc39f8e3d89c31f8977d55054c07cc",
      "tree": "1d69558732c0c916e51a530985a26d4235ef0e6c",
      "parents": [
        "9281f004db3f194930ef34d31e5d80c98341f38f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Oct 23 16:13:36 2012 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 26 12:00:03 2012 -0700"
      },
      "message": "Add thread pool class\n\nAdded a thread pool class loosely based on google3 code.\n\nModified the compiler to have a single thread pool instead of creating new threads in ForAll.\n\nMoved barrier to be in top level directory as it is not GC specific code.\n\nPerformance Timings:\n\nReference:\nboot.oat: 14.306596s\ntime mm oat-target:\nreal    2m33.748s\nuser    10m23.190s\nsys 5m54.140s\n\nThread pool:\nboot.oat: 13.111049s\ntime mm oat-target:\nreal    2m29.372s\nuser    10m3.130s\nsys 5m46.290s\n\nThe speed increase is probably just noise.\n\nChange-Id: If3c1280cbaa4c7e4361127d064ac744ea12cdf49\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": "858f1c5fd5e528d0b16040ced74d4636046a42d8",
      "tree": "3cfe50b75962353cdd62ec68112f3f148f026506",
      "parents": [
        "ef851d3058abfc56ed544f25d387dc7ff9c32e0b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Oct 17 17:45:55 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 23 10:38:45 2012 -0700"
      },
      "message": "Check point root marking.\n\nAdded thread list checkpoint function, this goes through every thread and runs\nthe checkpoint on each thread. Threads that are runnable run the checkpoint\ncallback themselves in the next suspend check, while suspended threads are\nleft suspended but have the callback called on them.\n\nAdded a checkpoint visitor member to each thread, this visitor called when the\ncheckpoint request flag is set during transitions to suspended from runnable.\n\nUsing the checkpoint to mark the roots reduces the first pause of partial /\nfull gc to around 1 ms.\n\nChange-Id: I97239cc72ee0e4a3397e9138a62ee559268dce0a\n"
    },
    {
      "commit": "88f365433dd8412a80258847e0b0359b125c06c2",
      "tree": "9a646f251ca1f64e1718bc47c2f65393db22afaf",
      "parents": [
        "dc1cd1037bf1b81c55b842b230fcc5f0d1e73003"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Oct 16 23:24:21 2012 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Oct 17 10:51:25 2012 -0700"
      },
      "message": "Add support for Value Format VALUE_TYPE in the encoded_array_item used for initial values of static field references from a class_def_item\n\nBug: 7356558\nChange-Id: I2bef6de9b41605f17518bbcc72907bf5a92c6c26\n"
    },
    {
      "commit": "1c23e1edb7361bbaec6e57fca86d8d3797960ad2",
      "tree": "af8aa791777271fc5105f19a70aa972768493856",
      "parents": [
        "ed6d5ed3494648780b9e91422c90d6bc22c16b79"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 12 14:14:11 2012 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 12 17:34:08 2012 -0700"
      },
      "message": "More space refactoring.\n\nAdd common interface, AllocSpace.\n\nRenamed the old AllocSpace to DLMallocSpace.\n\nAdded an new option enforce_target_size_, which when enabled, doesn\u0027t let\nthe heap grow past ideal heap size calculated during last Gc.\n\nRemoved redundant AllocationSize calls.\n\nMoved large object space to its own file instead of being in space.h/cc.\n\nChange-Id: I15e60531114bf213800599737cbd66ef44b46b15\n"
    },
    {
      "commit": "7469ebf3888b8037421cb6834f37f946646265ec",
      "tree": "b1eb8cd8d1e3b6263c2de77616020de4b4b5019f",
      "parents": [
        "d8195f19840911a73b1491dfc8e7c18139753731"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Sep 24 16:28:36 2012 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 08 18:02:42 2012 -0700"
      },
      "message": "Refactor and remove copy mark bits.\n\nRefactor code GC realted code to be in a GC folder.\n\nRemove copy mark bits by using pointer changing instead.\n\nEnable concurrent sweeping of system weaks.\n\nFix non concurrent GC plan.\n\nChange-Id: I9c71478be27d21a75f8a4e6af6faabe896e5e263\n"
    },
    {
      "commit": "d8195f19840911a73b1491dfc8e7c18139753731",
      "tree": "0df5a92659dc0472f5368695a2e33ac37c149666",
      "parents": [
        "59e5384d894836ace0b8ea22ff12d26ffb3026d4"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Oct 05 12:21:28 2012 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Oct 08 10:53:25 2012 -0700"
      },
      "message": "Reduce mark stack / allocation stack / live stack address space usage.\n\nWe now have upper bounds on the stack sizes so that we don\u0027t run out of\nvirtual addresses with large heaps.\n\nRename mark stack to atomic stack, which now takes any data type.\n\nAdded behaviour to force GC when the allocation stack becomes too full.\n\nAdded a new special map for reserving the oat file address range.\n\nChange-Id: I5169dd98b5f5072ac67637798da50cb8fc68af2b\n"
    },
    {
      "commit": "a75a01313e801c53145df00bad1842d9f643c0a1",
      "tree": "4c592c89e188cfb5b4efeb656f4d152cddc14d2c",
      "parents": [
        "acc46d6f64969a7ae32c53a92fcdad875ec6f50f"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Sep 28 11:41:42 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Sep 28 11:41:42 2012 -0700"
      },
      "message": "Make dex instruction size a lookup.\n\nAdd ostream operators for dex instruction enums.\nMove simple methods to header file.\n\nChange-Id: I9644bfb975896a491ee73ef9a8ef13c062c5fcbd\n"
    },
    {
      "commit": "81d425b0b232962441616f8b14f73620bffef5e5",
      "tree": "cd1e46656269acf20e78817d675e56d9b9133e6c",
      "parents": [
        "bfaf917edbb1de8d158c3615e0da8ac3143d10c8"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Sep 27 16:03:43 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Sep 27 17:19:25 2012 -0700"
      },
      "message": "Pass self to lock methods.\n\nThis avoids frequent recomputation of\nThread::Current/pthread_getspecific.\n\nAlso add a futex based reader/writer mutex that is disabled.\n\nChange-Id: I118fdb99ef1d1c4bfda6446ba3a0d8b6ab31eaee\n"
    },
    {
      "commit": "0c7abda482f53db3d153c073d1c7a145f84e0626",
      "tree": "837b89c75f0047cbcd16c9121739069a36b4f22a",
      "parents": [
        "ba0b9c55adce3f533845ab1b25c552589e5b4118"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Sep 19 13:33:42 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 20 15:26:35 2012 -0700"
      },
      "message": "NativePcOffsetToReferenceMap\n\nRather than translate a native PC to a Dex PC and then to the reference\nbitmap, just go straight from the native PC to the reference bitmap.\nEncode the native PC offsets using a hash rather than linearly\nsearching.\n\nChange-Id: Iee1073d93c941c0a31f639e5f23cea9e9f747bee\n"
    },
    {
      "commit": "06809edbe7058aac95069e6a3d392bae4de17c35",
      "tree": "a271f038543aac5248feaadec7dd455b347a984b",
      "parents": [
        "b259652a72293b4bd3c346bb0e40fb8a7f878fa2"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Sep 17 14:19:20 2012 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Sep 17 14:19:20 2012 -0700"
      },
      "message": "Add WITH_ART_USE_PORTABLE_COMPILER and art/USE_PORTABLE_COMPILER support\n\nChange-Id: I750fb1fc0e94ae97b56cc165228e572adc06c686\n"
    },
    {
      "commit": "bb33f2fa8e462937574a8cd1b744b86c2f762571",
      "tree": "45ac9bab7e86dc7533837e74bca37cdf0ab6141d",
      "parents": [
        "abc4c6bc6d5b54860810eb6e7205fd87cfa52636"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Aug 23 13:20:00 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sat Sep 15 04:51:24 2012 -0700"
      },
      "message": "Integrating portable path with the Frontend.\n\n(1) Connect the new interface oatCompileMethodToGBC and gbc_expander.\n(2) Need to fix Android.common.mk for fly2iceland: Portable path has\n    frontend: USE_QUICK_COMPILER and backend: USE_LLVM_COMPILER.\n(3) Fix Android.libart-compiler-llvm.mk so we can call the new interface.\n\nChange-Id: I7216f378bdb5e42a35fd6fa10c1d5d161a912401\n"
    },
    {
      "commit": "89f960588c2d7e5220f9c82431df579294300932",
      "tree": "653d725678a285d6cf9a966ccb1daa59df85b743",
      "parents": [
        "1f196f1c338487d53d16fb132c619d6f5941a065"
      ],
      "author": {
        "name": "TDYa127",
        "email": "tdy@google.com",
        "time": "Thu Jul 12 20:49:53 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sat Sep 15 04:15:18 2012 -0700"
      },
      "message": "Move inferred_reg_category_map to greenland.\n\nChange-Id: I33e98b3cfe661f69046362d71f9315bd5b439abd\n"
    },
    {
      "commit": "21d28f510eb590f52810c83f1f3f37fe5f4adf46",
      "tree": "f937b4d39aab322541b9b83cc5dd59d8e3f2fddd",
      "parents": [
        "0967a25d1482d8f7b4a26c5926263e7ffa63189f"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Tue Jun 12 05:55:00 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sat Sep 15 04:15:17 2012 -0700"
      },
      "message": "GBC Expander. Removed lir.\n\nChange-Id: If8d13e36f1e6d82c2a7f7bfec62b8fb41fd8cdaa\n"
    },
    {
      "commit": "fd678beb171a4686a4f2d53ca4188a4ade8fa54e",
      "tree": "ab932e92d683d8033241bb2248da98e76249d3eb",
      "parents": [
        "5bfa60ffcc953340feb711ed05cf576ac821905e"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Aug 30 14:50:54 2012 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 04 14:58:14 2012 -0700"
      },
      "message": "Additional heap verification for the Gc\n\nThere are now two verification booleans which can be enabled. When these get enabled, it verifies that each live object only references other live objects.\n\nChanged SetClass to use SetFieldPtr to avoid having an extra card mark. This is safe since all classes are held live by the class linker.\n\nChange-Id: I005bb59e5cc8153a79d3ccb3d7b5cabd29fb4051\n"
    },
    {
      "commit": "87e552db94588455c081efd87dbde0cd96d02942",
      "tree": "02fc47be772d65e3ba4f2453f5d330b7dd111d1a",
      "parents": [
        "c747cffa950b8398cb8844d47e2253214c855750"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Aug 31 15:54:48 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Sep 01 00:23:33 2012 -0700"
      },
      "message": "Make ICCE logic common, refactor throws.\n\nThere were 2 sets of ICCE logic in ClassLinker::ResolveMethod and\nMethod::CheckIncompatibleClassChange, merged into just 1 piece of logic\nin Method::CheckIncompatibleClassChange.\n\nMove Throw... routines into own file and make adding the dex location to\nthe detail message more thorough.\n\nChange-Id: I953dbfa3fed3767f35799b2f82b16637c437dbbe\n"
    },
    {
      "commit": "15bf2d34efa2218e287b584fb3653d268b9edc8d",
      "tree": "4435664bd2c9a041d8c355940f2b5c95e03d38f7",
      "parents": [
        "e4f0b2ab4abd8e942a099e9b9b4682fbdd9eb21c"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Aug 28 17:33:04 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Aug 30 17:22:52 2012 -0700"
      },
      "message": "Use bionic\u0027s dlmalloc 2.8.5.\n\nAlso fix free space computations for DDMS.\n\nChange-Id: Icbc045b5461af89a0516f37f01acaaa815205348\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": "931c278aed62d7a97b87cf1bb9cfdd189e77eb24",
      "tree": "f53d3c7b6446c8c069220787c5cf220ca5f26b1a",
      "parents": [
        "003e870b32ac2df76964d12ce7ef7706a2e66bff"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Aug 20 14:46:21 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Aug 20 14:46:21 2012 -0700"
      },
      "message": "Remove build flag brought over from dalvik.\n\nChange-Id: Icf6d3f87f7300c923f9f13cc176f129ecb9dafb4\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": "cc236d74772dda5a4161d9bc5f497fd3d956eb87",
      "tree": "2cd44e980357edc5b1a477fb261adb590d34c7c7",
      "parents": [
        "f1ea6b072b8b473eabf91d1d582fb5966ffea4ba"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jul 20 10:29:05 2012 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jul 27 14:30:51 2012 -0700"
      },
      "message": "Zygote space / partial collection support.\n\nThe zygote space is now created right before zygote fork. This space has new allocations into it disabled, this reduces memory usage since we have more shared pages.\n\nPartial collection works by marking all the zygote space -\u003e alloc space references by using a mod-union table and then recursively marking only over the alloc space.\n\nApproximate improvements;\n\nDeltablue time goes down ~0.5 seconds.\n\nCaffeinemark score goes up ~300.\n\nSystem memory usage goes down ~7MB.\n\nChange-Id: I198389371d23deacd9b4534f39727eb641786b34\n"
    },
    {
      "commit": "9ba4f47026587cf6e46b4660b76aca1b554e3131",
      "tree": "b2f41d954265a8123e182e45904c5c7c7318dfc4",
      "parents": [
        "462ef2008ccb79197f8210f0580bcdc61ffc3898"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 18 23:04:15 2012 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jul 19 10:23:46 2012 -0700"
      },
      "message": "Allow various LLVM builds to be enabled by environment variable\n\nChange-Id: Idb6e3eff3f3c6917024eef7c935e3b4fc571a118\n"
    },
    {
      "commit": "b062fdd4cb097fbae69b4bcb479c34d83ecab8ca",
      "tree": "215ea8fb42828a0f753ac5bd424ca098ce748342",
      "parents": [
        "ca314c6a1be1b4cc11f4d284da90af7dc8a4ce25"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jul 03 09:51:48 2012 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jul 11 17:17:46 2012 -0700"
      },
      "message": "Each space has its own bitmap(s)\n\nEach alloc space now has One mark+live bitmap. Each image space has only one live bitmap.\n\nChange-Id: I2e919d1bd7d9f4d35d0e95ed83a58df6f754df6e\n"
    },
    {
      "commit": "971bf3f9184010d68b9a3ad30b396fa401af91a3",
      "tree": "493e80309ce41fd21359da8093fbebfd21b7936c",
      "parents": [
        "468a7b1fcb2114ec973e31b5276daea0be62c198"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue May 01 15:47:55 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Jun 27 03:47:58 2012 -0700"
      },
      "message": "Compile method one-by-one.\n\nChange-Id: Ic56fb397f3bd6dee32372eb875261a3383eaf30c\n"
    },
    {
      "commit": "67008a6d4ed1e107ad6a1d983a7d1f9fee313ad9",
      "tree": "5d40522fdea93f36836961bd459b59e974ede638",
      "parents": [
        "d02711cf7fb6cc8b9dd7a271e3f839886f0e59f1"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Wed Jun 06 18:23:12 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Jun 27 03:17:06 2012 -0700"
      },
      "message": "Add procedure linkage table.\n\nChange-Id: I18bc173c6f7565862e9fcb1b603b391401e7beca\n"
    },
    {
      "commit": "b43b7d42b0c497333564e76be953157066c2b995",
      "tree": "1b40050796f54ac8f1cd4db70cd1bad571492f18",
      "parents": [
        "57b47f9b59b8850c5cf7ddba587cc0cb094ca878"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jun 19 13:15:09 2012 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 25 16:39:55 2012 -0700"
      },
      "message": "Enable mod union table\n\nEnable mod union table(bitmap). This change aims to reduce the second pause times by processing dirty image cards and cleaning them by storing their alloc space references in a bitmap. The bitmap is then scanned concurrently(if CMS) before recursive mark.\n\nReduces second pause time. Second pause time now typically \u003c 5 ms instead of 30-40ms.\n\nChange-Id: I831eeb8af7299d4e86cf2dd9c29d0b7e230cd387\n"
    },
    {
      "commit": "008fa5114f356861f74f086f0b0c50fe42ef2891",
      "tree": "4e02644aad39bad7debe1acf0fd2fe8509ed5e51",
      "parents": [
        "a64f157a79bec7215e29f18a5a73d70edb0f8abf"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Fri Jun 22 08:09:57 2012 -0700"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Fri Jun 22 08:53:36 2012 -0700"
      },
      "message": "Fix d2i, f2i runtime support regression.\n\n(double)(int32_t)(0x80000000ul) is not equal to\nstatic_cast\u003cdouble\u003e(0x80000000ul).  We should use\nstatic_cast\u003cdouble\u003e(static_cast\u003cint32_t\u003e(0x80000000))\ninstead.\n\nChange-Id: Idfc39ec7c990056bd157689fe4cdb899e62c0f10\n"
    },
    {
      "commit": "06f7987f1013638a172715986e8fce3fe884e47a",
      "tree": "e9bcc1797951616428aba51e1ce472342435657c",
      "parents": [
        "5937e047bd15b3ce48c95e0457e501ab6feb7234"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 21 13:51:52 2012 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 21 15:10:27 2012 -0700"
      },
      "message": "Fix \"holding ThreadListLock while doing condition variable wait on HeapLock\"\n\nNow we release the ThreadListLock if we are going to wait on the heap condition variable in WaitForConcurrentGC.\n\nChange-Id: I506c8ff93f4b79ee74c98b7936a7d155be833b90\n"
    }
  ],
  "next": "f8349361a16a4e2796efe9f3586b994e8d4834e4"
}
