)]}'
{
  "log": [
    {
      "commit": "fc0e3219edc9a5bf81b166e82fd5db2796eb6a0d",
      "tree": "5fc7f5b941724a62f8e3411df09fae431ff5e3cf",
      "parents": [
        "56d947fbc9bc2992e2f93112fafb73e50d2aaa7a"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 17 14:40:12 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 17 16:49:05 2013 -0700"
      },
      "message": "Fix multiple inclusion guards to match new pathnames\n\nChange-Id: Id7735be1d75bc315733b1773fba45c1deb8ace43\n"
    },
    {
      "commit": "56d947fbc9bc2992e2f93112fafb73e50d2aaa7a",
      "tree": "cfdbb596075c8652384e89c1d002f147d610c07d",
      "parents": [
        "6d69f592696f3bbd3bb0978ae3b25f2c359aac0d"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jul 15 13:14:23 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 17 13:10:11 2013 -0700"
      },
      "message": "Add verification of boot.oat generated on device\n\nChange-Id: I069586205a9a92fc7375ccf5cdde136bbbcfc800\n"
    },
    {
      "commit": "6d69f592696f3bbd3bb0978ae3b25f2c359aac0d",
      "tree": "5a9555d8149ab2eddf80197e47ffe6336c07f060",
      "parents": [
        "17bfe263d8a37aa4da4c5088e4245dedaebc3ff8"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jul 16 17:18:16 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 17 10:18:59 2013 -0700"
      },
      "message": "Fix thread initialization issue when runtime started twice (as seen in image_test)\n\nChange-Id: Ic20758ee64c1b2c41cd2329cf6d66b15d0ac2473\n"
    },
    {
      "commit": "17bfe263d8a37aa4da4c5088e4245dedaebc3ff8",
      "tree": "28f8c7403efeb3ea1d3199450299089e19a6e432",
      "parents": [
        "0cb7853dec0ccc99c5d21f6b591b315710a15922"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jul 16 17:31:22 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 17 09:50:05 2013 -0700"
      },
      "message": "Use LOCAL_REQUIRED_MODULES instead of LOCAL_ADDITIONAL_DEPENDENCIES so we only relink the tests on libart changes but do not recompile them.\n\nChange-Id: I47d7cdaa51749970eccac8528b032448a26b6e91\n"
    },
    {
      "commit": "0cb7853dec0ccc99c5d21f6b591b315710a15922",
      "tree": "5e7e2a60496af6a42dc2a4eb495e8c0ac07c53cc",
      "parents": [
        "c0ee6506e0c824f6ea737b37e1d6c23f5d258dea"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jul 16 17:17:47 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jul 16 17:19:58 2013 -0700"
      },
      "message": "Fix typo in makefile\n\nChange-Id: I462df0f268472460171c355d322eafc58a46a522\n"
    },
    {
      "commit": "c0ee6506e0c824f6ea737b37e1d6c23f5d258dea",
      "tree": "3b99d376ed8174a7e731ce5a4c4bbe66aa131843",
      "parents": [
        "3795f2517f47702764f372086367c47d4cd776d9"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 12 18:09:50 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jul 16 15:39:17 2013 -0700"
      },
      "message": "Fix LOCAL_ADDITIONAL_DEPENDENCIES in Android.oat.mk\n\n(cherry picked from commit c8475a6eda5d640263210e1e0c025d15b6180c02)\n\nChange-Id: Ie97484e53c9187fdcaaf9f27b6f0c3770ab7d7a9\n"
    },
    {
      "commit": "3795f2517f47702764f372086367c47d4cd776d9",
      "tree": "74f4b94b6bc1c7b53a23e41572c02ebda4764fc4",
      "parents": [
        "4478eb0a14a154fbdbaeef075dce8a5f8a33b25c"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Jul 14 21:41:35 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Jul 14 21:41:35 2013 -0700"
      },
      "message": "Use non-PHONY dependency to avoid rebuilding art gtests repeatedly.\n\nChange-Id: I675552b68c3375204eb9ef356ce80aa9615f4ccf\n"
    },
    {
      "commit": "4478eb0a14a154fbdbaeef075dce8a5f8a33b25c",
      "tree": "ec5cd60219d37e4bda78d2ad76a0ef123b39208d",
      "parents": [
        "87de59dfe44c746c0a261053b99ac59992d571e6"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Jul 14 21:05:57 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Jul 14 21:05:57 2013 -0700"
      },
      "message": "Include dex2oatd along with libart and libartd-compiler\n\nChange-Id: I154fccef2667d640141f9fc484697d5cf6531608\n"
    },
    {
      "commit": "87de59dfe44c746c0a261053b99ac59992d571e6",
      "tree": "c534c68abf2d0ec4439289abfee343fdf03e2fbb",
      "parents": [
        "e68fb3c532f7a99c50b34321577dfc8a1bc3e6b1",
        "f1d3455064792ac1c486a4a9c24279a37b4af473"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sat Jul 13 03:49:54 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jul 13 03:49:54 2013 +0000"
      },
      "message": "Merge \"Do not mark pages executable unnecessarily to play nice with selinux\""
    },
    {
      "commit": "f1d3455064792ac1c486a4a9c24279a37b4af473",
      "tree": "ac3020b447d6929def1f3322b5165bef6a66a4cd",
      "parents": [
        "7940e44f4517de5e2634a7e07d58d0fb26160513"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 12 20:22:23 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 12 20:45:54 2013 -0700"
      },
      "message": "Do not mark pages executable unnecessarily to play nice with selinux\n\nChange-Id: Ief4a5da38ac7c2cf7bf6f7a640cb63c5e8ed03bd\n"
    },
    {
      "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": "5cd9e3b122f276f610980cbaf0d2ad6ed4cd9088",
      "tree": "649049981a0e58343dbb8557559582c15c4580bf",
      "parents": [
        "098249eb69eb204d9eef5b47269079407e5195f5"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 10 13:13:32 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 12 09:59:39 2013 -0700"
      },
      "message": "Revert \"Always enable lock level checks.\" DO NOT MERGE\n\nThis reverts commit ccf124800fe025be3ca05c28a60514909ca66a11.\n\n(cherry picked from commit 27c590edf6c24107b6473e84e526c432bd081f6e)\n\nChange-Id: I2be879dcd126fc8d043641bdfbf2f9b80a678d10\n"
    },
    {
      "commit": "098249eb69eb204d9eef5b47269079407e5195f5",
      "tree": "b9f37158659792bbf4fad05d66abdf342310b1d0",
      "parents": [
        "3d92d523089bdd7881d2319414a29bf77172b432",
        "dab6f91d32aef2f94682222e36501e758f052978"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 12 09:57:10 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 12 09:57:10 2013 -0700"
      },
      "message": "Merge remote-tracking branch \u0027goog/dalvik-dev\u0027 into merge-art-to-master\n"
    },
    {
      "commit": "dab6f91d32aef2f94682222e36501e758f052978",
      "tree": "b9f37158659792bbf4fad05d66abdf342310b1d0",
      "parents": [
        "3d92d523089bdd7881d2319414a29bf77172b432",
        "3693c086ad4d5ba13ffcc7c7f481b21f67543660"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 12 16:53:35 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 12 16:53:35 2013 +0000"
      },
      "message": "Merge \"Fixes for portable build\" into dalvik-dev"
    },
    {
      "commit": "3693c086ad4d5ba13ffcc7c7f481b21f67543660",
      "tree": "9b3d40be35ee56c84f4df947d4800be0d6dc9cb2",
      "parents": [
        "1581766afea0b31de0ed0f9f677fc3b92a29daae"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 12 09:48:25 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 12 09:48:25 2013 -0700"
      },
      "message": "Fixes for portable build\n\nChange-Id: I29d6a9fb7f8ec134128329d974acf6b6534e25f1\n"
    },
    {
      "commit": "3d92d523089bdd7881d2319414a29bf77172b432",
      "tree": "e11d0af1421cfd41966b892722cfa8d5fa787524",
      "parents": [
        "1581766afea0b31de0ed0f9f677fc3b92a29daae"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 12 09:03:08 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 12 09:03:08 2013 -0700"
      },
      "message": "Add HAVE_ANDROID_OS check around cutils/properties.h include\n\nChange-Id: Ibe3ffd4a829d3ec0e41f861b09da0990e603f2c2\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": "3d76933675895667f212500a65c9c7ea2b6209fc",
      "tree": "4eaa18f45a2bd1a9327835f3849e386e829e9184",
      "parents": [
        "b1a5879d2c87a5af9f8dbd63a112b138b87135e4",
        "934313b5b14474fee3b84bbda0f0d3fe4805c63f"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 12 03:40:03 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 12 03:40:03 2013 +0000"
      },
      "message": "Merge \"Let dalvikvm default based on persist.sys.dalvik.vm.lib\" into dalvik-dev"
    },
    {
      "commit": "b1a5879d2c87a5af9f8dbd63a112b138b87135e4",
      "tree": "663098cb9c72b39ae76f3b8d8dec6b5166772431",
      "parents": [
        "d3d41ba95c7760891a1ca4fc02e3f88baaa25dda"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 11 18:10:58 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 11 18:10:58 2013 -0700"
      },
      "message": "Port 1778d17feda232e5f794ba1ebdf400a600a17fd8 to art.\n\nIncrease the default alloc tracker maximum, and add a new system\nproperty \"dalvik.vm.allocTrackerMax\" that allows developers to choose\nan arbitrary limit.\n\nChange-Id: I8b3fcfb00ba87d1cf515d5835c101b5375b1d8a2\n"
    },
    {
      "commit": "934313b5b14474fee3b84bbda0f0d3fe4805c63f",
      "tree": "19f52c6782289999da34aeba2448e6fe5641edf1",
      "parents": [
        "534f2b6f430c7984fda9333f8e72b37962b144b4"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jul 11 13:01:37 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jul 11 13:01:37 2013 -0700"
      },
      "message": "Let dalvikvm default based on persist.sys.dalvik.vm.lib\n\nChange-Id: I0e2aa9b1227d9665c37366d6d7bdca2b6c009271\n"
    },
    {
      "commit": "d3d41ba95c7760891a1ca4fc02e3f88baaa25dda",
      "tree": "a82c2a3f08d3fafa46a7a330d72669859407cb32",
      "parents": [
        "46e811b07533a4c21f8c9abe22d22d6a3d8b18b0",
        "67ce9b0daabcf0b415b5e75ba672a18f83961424"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Jul 11 16:24:47 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 11 16:24:48 2013 +0000"
      },
      "message": "Merge \"Adds missing dataflow flag for invoke-interface.\" into dalvik-dev"
    },
    {
      "commit": "46e811b07533a4c21f8c9abe22d22d6a3d8b18b0",
      "tree": "45415fdee46c30737742663d0389d6ce21fa77ac",
      "parents": [
        "534f2b6f430c7984fda9333f8e72b37962b144b4"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jul 10 17:09:14 2013 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 11 09:19:00 2013 -0700"
      },
      "message": "Fix DDMS allocation tracker.\n\nThe allocation tracker previously did a NewByteArray while holding the\ngAllocTrackerLock. This was problematic due to the fact that this new\nallocation would also try to acquire said lock. Fixed the issue by\nmoving the newByteArray call outside of the lock.\n\nBug: 9767557\n\nChange-Id: I7e94e631d9c96aa642637de52f100b371f813294\n"
    },
    {
      "commit": "67ce9b0daabcf0b415b5e75ba672a18f83961424",
      "tree": "9d3035be7491a1e33c88803c5cf2958eb87050ba",
      "parents": [
        "534f2b6f430c7984fda9333f8e72b37962b144b4"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Jul 11 14:31:18 2013 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Jul 11 14:31:18 2013 +0200"
      },
      "message": "Adds missing dataflow flag for invoke-interface.\n\nAdds missing DF_NULL_CHK_OUT0 flag in dataflow attributes of invoke-interface\nand invoke-interface-range instructions. This is used by null check elimination\npass.\n\nChange-Id: I41e6ff414b3d74a16d1e020fa8988a30b7431afa\n"
    },
    {
      "commit": "534f2b6f430c7984fda9333f8e72b37962b144b4",
      "tree": "e7d524ddf7b24f57cb190d9bb728a7ce4d79a21b",
      "parents": [
        "5ece45186e4648ab38afbe86a71d8fff16bb1f57"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Jul 10 15:29:36 2013 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Jul 10 15:29:36 2013 -0700"
      },
      "message": "Fix GetDirectBufferrAddress to use GetLongField.\n\nThe return type of this was recently changed from int to long.\n\nChange-Id: Ia9e5356b53fb3bf0f83190e42023ec56ad2bff54\n"
    },
    {
      "commit": "5ece45186e4648ab38afbe86a71d8fff16bb1f57",
      "tree": "d27b1d9c45cd3e4a42f199da5eca30a8b6dfdc1b",
      "parents": [
        "44d854dcd1404b858033eec1805ce61adc2e6a88",
        "cf90940b2f83f16f6a0ef3e9d9d911e11bb6c055"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Jul 10 22:17:43 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 10 22:17:43 2013 +0000"
      },
      "message": "Merge \"Fix debug build assertion failing on boot.\" into dalvik-dev"
    },
    {
      "commit": "cf90940b2f83f16f6a0ef3e9d9d911e11bb6c055",
      "tree": "d27b1d9c45cd3e4a42f199da5eca30a8b6dfdc1b",
      "parents": [
        "ebc540205b35826398f32fa3486393ad6ead6f22"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Jul 10 15:14:40 2013 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Jul 10 15:14:40 2013 -0700"
      },
      "message": "Fix debug build assertion failing on boot.\n\nChange-Id: Ica7b115340821fc729db674077ed2a488c02b7c3\n"
    },
    {
      "commit": "44d854dcd1404b858033eec1805ce61adc2e6a88",
      "tree": "ffcc5055d264d763de0e0e10b4d8146dd19af3c8",
      "parents": [
        "ebc540205b35826398f32fa3486393ad6ead6f22",
        "27c590edf6c24107b6473e84e526c432bd081f6e"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 10 13:32:22 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 10 13:32:22 2013 -0700"
      },
      "message": "am 27c590ed: (-s ours) Revert \"Always enable lock level checks.\" DO NOT MERGE\n\n* commit \u002727c590edf6c24107b6473e84e526c432bd081f6e\u0027:\n  Revert \"Always enable lock level checks.\" DO NOT MERGE\n"
    },
    {
      "commit": "27c590edf6c24107b6473e84e526c432bd081f6e",
      "tree": "6a7313a8608ab8954fcf00addb761b3403906047",
      "parents": [
        "4922e9d4e5f86e40ca89fb097cec40e191dae0a1"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 10 13:13:32 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 10 13:13:32 2013 -0700"
      },
      "message": "Revert \"Always enable lock level checks.\" DO NOT MERGE\n\nThis reverts commit ccf124800fe025be3ca05c28a60514909ca66a11.\n"
    },
    {
      "commit": "ebc540205b35826398f32fa3486393ad6ead6f22",
      "tree": "ffcc5055d264d763de0e0e10b4d8146dd19af3c8",
      "parents": [
        "28e923f96c54bf0c6bbc2755fb5dfb21401a5660",
        "4922e9d4e5f86e40ca89fb097cec40e191dae0a1"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 10 09:36:59 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 10 09:36:59 2013 -0700"
      },
      "message": "am 4922e9d4: Use /system/framework/framework.jar:preloaded-classes for on device dex2oat\n\n* commit \u00274922e9d4e5f86e40ca89fb097cec40e191dae0a1\u0027:\n  Use /system/framework/framework.jar:preloaded-classes for on device dex2oat\n"
    },
    {
      "commit": "28e923f96c54bf0c6bbc2755fb5dfb21401a5660",
      "tree": "c5448de4804a05077bb45afdb55ad3d568a28558",
      "parents": [
        "9408ddaf898f8b8dde701c06e01fa163dd078593",
        "c64440528822281a7889aba9cebf96baa4235b87"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 10 09:36:58 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 10 09:36:58 2013 -0700"
      },
      "message": "am c6444052: Update class_initializer_black_list for master\n\n* commit \u0027c64440528822281a7889aba9cebf96baa4235b87\u0027:\n  Update class_initializer_black_list for master\n"
    },
    {
      "commit": "9408ddaf898f8b8dde701c06e01fa163dd078593",
      "tree": "ddc92fbf86e42b4637ad19467386b8a84cf1da01",
      "parents": [
        "e0e4340a22abd999e3fb426ddeeaed79f593b315",
        "2c3caadb48b066a0355cd3d2dcd5d5e9b48fc19c"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 10 09:36:58 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 10 09:36:58 2013 -0700"
      },
      "message": "am 2c3caadb: Merge remote-tracking branch \\\u0027goog/dalvik-dev\\\u0027 into merge-art-to-master\n\n* commit \u00272c3caadb48b066a0355cd3d2dcd5d5e9b48fc19c\u0027:\n"
    },
    {
      "commit": "4922e9d4e5f86e40ca89fb097cec40e191dae0a1",
      "tree": "dc480f255588c59f221654566a05a61aee7a9795",
      "parents": [
        "c64440528822281a7889aba9cebf96baa4235b87"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jul 09 17:18:47 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 10 09:16:07 2013 -0700"
      },
      "message": "Use /system/framework/framework.jar:preloaded-classes for on device dex2oat\n\nChange-Id: I30ccbd5295a2979b9c89f00c93ad316d9b6475e9\n"
    },
    {
      "commit": "c64440528822281a7889aba9cebf96baa4235b87",
      "tree": "9c62cd2c56f0195f0095b3bcd62896700a10c7b6",
      "parents": [
        "2c3caadb48b066a0355cd3d2dcd5d5e9b48fc19c"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jul 02 09:38:32 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 10 09:14:59 2013 -0700"
      },
      "message": "Update class_initializer_black_list for master\n\nChange-Id: Id8c69cc349290ba7d255ea214f8d1b51d3ce062a\n"
    },
    {
      "commit": "2c3caadb48b066a0355cd3d2dcd5d5e9b48fc19c",
      "tree": "fc53640b73fb2f648e018a15bed8585818f3784f",
      "parents": [
        "75fe90cdb6e358a09047468b750648c8a3bfac9f",
        "0b4e3ef67508a0b8c121b6b26ab5ea0a1d8e7141"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 10 08:46:00 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 10 08:46:28 2013 -0700"
      },
      "message": "Merge remote-tracking branch \u0027goog/dalvik-dev\u0027 into merge-art-to-master\n\nChange-Id: Id6bec909d7137192be0acc7bd8f736d1d8027745\n"
    },
    {
      "commit": "e0e4340a22abd999e3fb426ddeeaed79f593b315",
      "tree": "ddc92fbf86e42b4637ad19467386b8a84cf1da01",
      "parents": [
        "56adf601ed9d1d11a2c462caa262e7de66a9e172",
        "7d658cf06827d409d76686da1cd2b6acb5977885"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Jul 09 17:44:42 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 09 17:44:42 2013 +0000"
      },
      "message": "Merge \"Fix -Xint mode.\" into dalvik-dev"
    },
    {
      "commit": "56adf601ed9d1d11a2c462caa262e7de66a9e172",
      "tree": "a994d1346436e86dfd26a9c0a7d3de7c118c70dc",
      "parents": [
        "3dd9f76ff8fa99be9ff6b18354528c5def7b26f7"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Jul 09 17:27:07 2013 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Jul 09 18:09:30 2013 +0200"
      },
      "message": "Adds ThrowAbstractMethodError to common throws.\n\nChange-Id: Ib9b6b634a934b075a168534e50b2160a4e4dbc65\n"
    },
    {
      "commit": "7d658cf06827d409d76686da1cd2b6acb5977885",
      "tree": "0a0ee93edb8c28c859c47af7390fad05a9fc356a",
      "parents": [
        "3dd9f76ff8fa99be9ff6b18354528c5def7b26f7"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Jul 09 10:56:11 2013 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Jul 09 11:19:23 2013 +0200"
      },
      "message": "Fix -Xint mode.\n\nBug: 9700950\n\nMake ClassLinker::FixupStaticTrampolines updates entry point from compiled code\nwith interpreter entry point when interpreter mode is enabled.\n\nChange-Id: Ie52ace8ea054ae7cb17442264dc62f68472409c6\n"
    },
    {
      "commit": "3dd9f76ff8fa99be9ff6b18354528c5def7b26f7",
      "tree": "12803784ef0801e7962812370dadea9fd17e8768",
      "parents": [
        "9dacec7d3ec1f9b6efdb61fd494f0192c85183bf"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Jul 08 13:09:25 2013 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Jul 08 13:24:53 2013 -0700"
      },
      "message": "Interpret methods invoked via JNI in interpreter only mode.\n\nThis fixes the issue of Dhrystone having the same performance in\ninterpreter only mode. Main was executing compiled code since it\nuses CallStaticVoidMethod directly. Now a check for interpreter\nonly mode in InvokeWithArgArray redirects it to the interpreter.\n\nChange-Id: If6e6d8ede5cd0d8ad687d161667056373b1b031c\n"
    },
    {
      "commit": "9dacec7d3ec1f9b6efdb61fd494f0192c85183bf",
      "tree": "a93312a5b164c160a09f31f0c0a4734b2a688621",
      "parents": [
        "bdd0fb9bf5e3af9d2f0366652979ac04b05d3d1e",
        "f3e861db83eec398c49e003fc323b7964fca6e50"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Jul 08 20:20:36 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 08 20:20:36 2013 +0000"
      },
      "message": "Merge \"Fix GetQuickCodeFor to return actual code pointer if it exists.\" into dalvik-dev"
    },
    {
      "commit": "bdd0fb9bf5e3af9d2f0366652979ac04b05d3d1e",
      "tree": "55c5221d3cf39308d1bb03d8c7efb102ba8af26e",
      "parents": [
        "5f10000a4515b5d828a1182fd8d34367af496861"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jul 02 10:16:15 2013 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jul 08 09:57:53 2013 -0700"
      },
      "message": "Improve sticky GC ergonomics\n\nBefore we scheduled a partial GC after 10 sticky GC had been run to\nprevent excessive heap growth and fragmentation. The issue with this is\nthat it was just a ballpark estimate which was not based on reality. The\nnew behaviour has that we do sticky GC until we have less space remaining\nthan minimum free after the GC. When this occurs, we set the next GC to be a\npartial GC. After a partial / full GC we grow the heap and set the next GC to\nbe a sticky GC. This prevents the heap from always growing more than the target\nutilization, while ensuring that we do sticky GC often.\n\ndumpsys meminfo: ~450Mb -\u003e 420Mb. Slight slowdown in GCBench.\n\nChange-Id: Ifd865123f7d4ae39914fda44c9225a6731d27890\n"
    },
    {
      "commit": "f3e861db83eec398c49e003fc323b7964fca6e50",
      "tree": "bf612abb7a9b1bce6c3e056fd382694e33d5d778",
      "parents": [
        "5f10000a4515b5d828a1182fd8d34367af496861"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Jul 03 15:42:17 2013 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Jul 03 15:47:07 2013 -0700"
      },
      "message": "Fix GetQuickCodeFor to return actual code pointer if it exists.\n\nIf the compiled entry point is the interpreter entry point, the code\nnow tries to get oat code for it before returning.\n\nChange-Id: Iea1cec1ed003aadd71b432cc405fc81509bc644a\n"
    },
    {
      "commit": "5f10000a4515b5d828a1182fd8d34367af496861",
      "tree": "a6b39485ce4c9a3d499fb1c33c38070dd21cdb27",
      "parents": [
        "50425add8fee19dce79cfe6c2c433323f4899aea",
        "d25de7a7c5f3c9462654a572e28cca73909520b0"
      ],
      "author": {
        "name": "Anwar Ghuloum",
        "email": "anwarg@google.com",
        "time": "Wed Jul 03 19:57:15 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 03 19:57:15 2013 +0000"
      },
      "message": "Merge \"Preparing SSA support for SEA IR: reaching definitions.\" into dalvik-dev"
    },
    {
      "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": "50425add8fee19dce79cfe6c2c433323f4899aea",
      "tree": "d2fdf8885f2299f9d6f8a0b1c41efb6c5d28099e",
      "parents": [
        "8a8539937f9cdbe37e0fba64101012a35ae204bf",
        "9a916d3c0d0574d106c764e737c67b52988d6139"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Jul 03 17:20:43 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 03 17:20:43 2013 +0000"
      },
      "message": "Merge \"Add marks for instrumentation frames that get interpreted.\" into dalvik-dev"
    },
    {
      "commit": "8a8539937f9cdbe37e0fba64101012a35ae204bf",
      "tree": "175a02cbc7eb7c8813c1ec5a8fa59a386875e39f",
      "parents": [
        "190dec7168f4fa45d85be0590051b0c53dba5378",
        "cc10e0eca724a005faa2d0d5a9445df7fe6ef1c6"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Jul 03 07:25:34 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 03 07:25:35 2013 +0000"
      },
      "message": "Merge \"Constructor barrier support in DEX-to-DEX compiler.\" into dalvik-dev"
    },
    {
      "commit": "190dec7168f4fa45d85be0590051b0c53dba5378",
      "tree": "64c0116e3a8839e29d875ba6d17a0c8562fac8b1",
      "parents": [
        "2010a6004fb083eb4109c21886fce6ee65abda33",
        "73cca6ff8a8134ddbf56c8aef80bb3cc46b83a7d"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jul 03 02:23:24 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 03 02:23:24 2013 +0000"
      },
      "message": "Merge \"Fix DDMS lock ordering error.\" into dalvik-dev"
    },
    {
      "commit": "73cca6ff8a8134ddbf56c8aef80bb3cc46b83a7d",
      "tree": "e86f0f8db05388cb9daa17df58969fa1d0c5f7fc",
      "parents": [
        "0b4e3ef67508a0b8c121b6b26ab5ea0a1d8e7141"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jul 02 17:40:28 2013 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jul 02 17:41:59 2013 -0700"
      },
      "message": "Fix DDMS lock ordering error.\n\nRenamed kJdwpSerialLock to guard both the jdwp socket and serial.\nMoved the lock priority higher than the alloc space lock priority.\nThis is needed since walking the dlmalloc heap requires acquiring\nthe alloc space lock.\n\nChange-Id: Idce47ea8c400643829edc5aaebb57f8b686b2853\n"
    },
    {
      "commit": "2010a6004fb083eb4109c21886fce6ee65abda33",
      "tree": "59182eeeadcb3d9926fd4fb1e355a70e15fde079",
      "parents": [
        "0b4e3ef67508a0b8c121b6b26ab5ea0a1d8e7141"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 02 14:17:23 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jul 02 14:17:23 2013 -0700"
      },
      "message": "Disable -Xjnigreflimit: in art too.\n\nBug: 7903975\nChange-Id: I1ec552b35331227ecd7dc3d0a2f0507b1c24e375\n"
    },
    {
      "commit": "9a916d3c0d0574d106c764e737c67b52988d6139",
      "tree": "759e3f6152e80ad08ba220692d30252c1f10bf7e",
      "parents": [
        "0b4e3ef67508a0b8c121b6b26ab5ea0a1d8e7141"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Jun 27 18:45:37 2013 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Jul 02 14:12:36 2013 -0700"
      },
      "message": "Add marks for instrumentation frames that get interpreted.\n\nDuring instrumentation, if a method goes to the interpreter, a special callee-\nsave ref and args method frame is pushed onto the stack, instead of a frame for\nthe method being called. This change adds a bool to mark methods that end up\ninterpreted, so things that walk the stack know to look for the callee-save\nmethod instead.\n\nAlso included is a change to UnsafeLogFatalForThreadSuspendAllTimeout to prevent\nit from grabbing locks before dumping. This was breaking DumpLocked, which\neventually gets a ScopedObjectAccessUnchecked requiring those locks not be held.\n\nChange-Id: I7e68cf195c77f40df6f497551c94b0926d3c5065\n"
    },
    {
      "commit": "0b4e3ef67508a0b8c121b6b26ab5ea0a1d8e7141",
      "tree": "fc53640b73fb2f648e018a15bed8585818f3784f",
      "parents": [
        "3e089ee6ef1e33c5ff6405b209c4f14a123c0e7e"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jul 01 09:29:04 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jul 01 09:29:04 2013 -0700"
      },
      "message": "Add StandardCharsets to the class_initializer_black_list\n\nChange-Id: Id13a58fc6da8a2c39f47bcee14a743c88fc899b7\n"
    },
    {
      "commit": "3e089ee6ef1e33c5ff6405b209c4f14a123c0e7e",
      "tree": "e97a54ca8142f2e2b64e1cdd87b1267d319f711f",
      "parents": [
        "c1cea9c8beaba59461a8b1efe159af2f46fcd1a3",
        "cef450c613d8324db7c418130596182b8e9a5cdd"
      ],
      "author": {
        "name": "Anwar Ghuloum",
        "email": "anwarg@google.com",
        "time": "Mon Jul 01 14:22:51 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 01 14:22:52 2013 +0000"
      },
      "message": "Merge \"add dalvik.system.VMRuntime.vmLibrary implementation for ART\" into dalvik-dev"
    },
    {
      "commit": "c1cea9c8beaba59461a8b1efe159af2f46fcd1a3",
      "tree": "f9c3ff313c1beebea20212f9b9586ec7c0988844",
      "parents": [
        "2cb33b8f7377f532cebed755be89bb351c150a22",
        "c15853b8b5da9dd8fb28e2adbbd61af34555e4c2"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Jul 01 13:46:10 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 01 13:46:10 2013 +0000"
      },
      "message": "Merge \"Cleanup quick support in verifier.\" into dalvik-dev"
    },
    {
      "commit": "cc10e0eca724a005faa2d0d5a9445df7fe6ef1c6",
      "tree": "d7660a0eeaca72e422a55fe92d7b79a172714389",
      "parents": [
        "2cb33b8f7377f532cebed755be89bb351c150a22"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Jun 28 14:24:48 2013 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Jul 01 10:59:28 2013 +0200"
      },
      "message": "Constructor barrier support in DEX-to-DEX compiler.\n\nBug: 9307738\n\nSome constructors require a barrier before returning. This CL introduces the\nRETURN-VOID-BARRIER instruction. The DEX-to-DEX compiler replaces all\nRETURN-VOID instructions where a barrier is required by this instruction.\nThe interpreter and the verifier are updated to support this new instruction.\n\nChange-Id: If31979b4027bc12157b933eda9fcbd5270edd202\n"
    },
    {
      "commit": "2cb33b8f7377f532cebed755be89bb351c150a22",
      "tree": "de5847bf78f6b6f1b9c87bbf3f4a99453014a9ea",
      "parents": [
        "dfe193532cbbe09a54cb4edfa8626a759b67c116"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Jun 28 10:01:18 2013 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Jul 01 10:11:23 2013 +0200"
      },
      "message": "Improve SPARSE_SWITCH handling in interpreter.\n\nThis CL avoids to set \"next\" instruction twice. We used to first set \"next\"\ninstruction to the instruction following the SPARSE_SWITCH. Then, we set it to\nthe instruction corresponding to the entry we find in the table.\n\nWe now set it only once: either we branch or we continue.\n\nChange-Id: Ic93cd0abae00edb1fb952c34bc9031fffc7f4a35\n"
    },
    {
      "commit": "dfe193532cbbe09a54cb4edfa8626a759b67c116",
      "tree": "b218b22c56a0c8747129832c814e636911daa427",
      "parents": [
        "4ec2c8ec641497d2b5eb902f953452147707f060",
        "24bbb10403cb7659ff39d7682a94fdc86c19d1f9"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Jul 01 07:57:08 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 01 07:57:08 2013 +0000"
      },
      "message": "Merge \"Avoid duplicated code for FILLED_NEW_ARRAY.\" into dalvik-dev"
    },
    {
      "commit": "24bbb10403cb7659ff39d7682a94fdc86c19d1f9",
      "tree": "f4132cdb41018b9031bc8a5ec5e8bfee317a7c92",
      "parents": [
        "48fcf64a2d8ecc993e64d7b349b10d3b066724ae"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Jun 28 09:57:10 2013 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Jul 01 09:35:45 2013 +0200"
      },
      "message": "Avoid duplicated code for FILLED_NEW_ARRAY.\n\nCreates DoFilledNewArray to handle FILLED_NEW_ARRAY and FILLED_NEW_ARRAY_RANGE\ninstructions. This function is always inlined so we keep the same level of\nperformance.\n\nChange-Id: I9ec130c400b9898713a32ffe780c89aff1712aab\n"
    },
    {
      "commit": "4ec2c8ec641497d2b5eb902f953452147707f060",
      "tree": "181420f1b44daddef69f835e46ad5918f83e2ced",
      "parents": [
        "60c70c77d10ea2cea9ca73bb3d6e550ac167f3a1",
        "13e2d1f9c737f9f30ce251a48fc8a6d905f7ba35"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Jul 01 07:21:58 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 01 07:21:59 2013 +0000"
      },
      "message": "Merge \"Minor interpreter cleanup.\" into dalvik-dev"
    },
    {
      "commit": "60c70c77d10ea2cea9ca73bb3d6e550ac167f3a1",
      "tree": "e840540444a6bdb823f33340dc2633af7a54531e",
      "parents": [
        "55163b8c34f40c9107cc3aa72e0d2f542f7a164e",
        "9897be996580db9de86f880f9ad9d36c66057a52"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Jul 01 07:21:33 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 01 07:21:34 2013 +0000"
      },
      "message": "Merge \"Make Array\u0027s throw routines void.\" into dalvik-dev"
    },
    {
      "commit": "cef450c613d8324db7c418130596182b8e9a5cdd",
      "tree": "2355aca9a92bd8ff515c7b5f759f92220c396467",
      "parents": [
        "55163b8c34f40c9107cc3aa72e0d2f542f7a164e"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jun 28 14:38:26 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Jun 30 13:17:06 2013 -0700"
      },
      "message": "add dalvik.system.VMRuntime.vmLibrary implementation for ART\n\nChange-Id: Ibc1a5abb5a0ee49cb20e55dc2e169a224fcf9d8b\n"
    },
    {
      "commit": "13e2d1f9c737f9f30ce251a48fc8a6d905f7ba35",
      "tree": "8009dda7bec80ee1ad93230638a59cee0383f382",
      "parents": [
        "48fcf64a2d8ecc993e64d7b349b10d3b066724ae"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Jun 28 09:50:36 2013 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Jun 28 11:30:53 2013 +0200"
      },
      "message": "Minor interpreter cleanup.\n\n- Removes useless cast\n- Improves calculation of FILL_ARRAY_DATA\u0027s payload pointer.\n- Make some \"cast\" instructions handling code consistent with some \"cmp\"\ninstructions.\n\nChange-Id: Ib7af78b4bab146f2b48ba5ac8e4723002c8c1f60\n"
    },
    {
      "commit": "55163b8c34f40c9107cc3aa72e0d2f542f7a164e",
      "tree": "71d2ed3459a7674a6ce53563a660991677916dd7",
      "parents": [
        "48fcf64a2d8ecc993e64d7b349b10d3b066724ae",
        "752a0e606afdc7aa4825ebbe62b187b8abba14cc"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 27 22:00:02 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 27 22:00:02 2013 +0000"
      },
      "message": "Merge \"Adding systrace logging to GC\" into dalvik-dev"
    },
    {
      "commit": "752a0e606afdc7aa4825ebbe62b187b8abba14cc",
      "tree": "0227935df9d993321812a126e6cfbaf13dd78d79",
      "parents": [
        "b126134010ebeee771da0eec7fa76ad13fe9a9c9"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 27 11:03:27 2013 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 27 14:38:48 2013 -0700"
      },
      "message": "Adding systrace logging to GC\n\nAdded systrace logging to GC, thread checkpoints, GC pause,\nand time spent waiting for concurrent GC to complete.\n\nChange-Id: I33f0cf260526ccfd07bfaf038dfbf0a712eab24d\n"
    },
    {
      "commit": "9897be996580db9de86f880f9ad9d36c66057a52",
      "tree": "e45bfd56f1d1aa640682e2ac8c5b83d0a5941a79",
      "parents": [
        "48fcf64a2d8ecc993e64d7b349b10d3b066724ae"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Jun 27 18:24:46 2013 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Jun 27 18:24:46 2013 +0200"
      },
      "message": "Make Array\u0027s throw routines void.\n\nThe \"bool\" return type of Array::ThrowArrayIndexOutOfBoundsException and\nArray::ThrowArrayStoreException is useless. Make them void.\n\nNote on ARM, this removes a \"cmp\" instruction in AGET/APUT instructions.\n\nChange-Id: I843e895aa4622ca56aaa3f2eb2d5b5100a92c1ae\n"
    },
    {
      "commit": "48fcf64a2d8ecc993e64d7b349b10d3b066724ae",
      "tree": "3d1041b9ba97f3f6fd328473e280fc88ae0c0bd9",
      "parents": [
        "e53ebbcf98d004f0e1f631a630d0344d104e3dc6",
        "0a3b863fb1acae912b54f4be2c1928d3afa5e936"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Jun 27 07:37:19 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 27 07:37:20 2013 +0000"
      },
      "message": "Merge \"Remove unused Thread parameter from ThrowArithmeticExceptionDivideByZero.\" into dalvik-dev"
    },
    {
      "commit": "e53ebbcf98d004f0e1f631a630d0344d104e3dc6",
      "tree": "6190aab5b5c6061a25df9931e1b0dbd6229d0a95",
      "parents": [
        "eac1880f791c4a2b18f1b197cc6289a28ec11252",
        "39f992750ac1eb7e51955d3e52bddc32b37c370f"
      ],
      "author": {
        "name": "Anwar Ghuloum",
        "email": "anwarg@google.com",
        "time": "Thu Jun 27 07:13:43 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 27 07:13:43 2013 +0000"
      },
      "message": "Merge changes I3b33358e,I7467ee05 into dalvik-dev\n\n* changes:\n  Added wrapper functions for register acccess in Instruction.\n  Added support for SEA IR.\n"
    },
    {
      "commit": "eac1880f791c4a2b18f1b197cc6289a28ec11252",
      "tree": "0b23a262a18bb9630d8ac5459499b6a636291abe",
      "parents": [
        "921d7ae71cd07a8bea4d3851fe6e181f595c11c2",
        "75fe90cdb6e358a09047468b750648c8a3bfac9f"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jun 27 00:13:32 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 27 00:13:32 2013 -0700"
      },
      "message": "am 75fe90cd: Improve exception detail with JNI_OnLoad issues\n\n* commit \u002775fe90cdb6e358a09047468b750648c8a3bfac9f\u0027:\n  Improve exception detail with JNI_OnLoad issues\n"
    },
    {
      "commit": "75fe90cdb6e358a09047468b750648c8a3bfac9f",
      "tree": "3c2872c22550ca36e158297e080debc7bfecd425",
      "parents": [
        "f3b3bf13247364eb111cd20493a236e8f3ce2164"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jun 26 22:26:16 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jun 27 00:10:34 2013 -0700"
      },
      "message": "Improve exception detail with JNI_OnLoad issues\n\nChange-Id: I83c679d0b282f8d9ceb717acf20dda3af2124c66\n"
    },
    {
      "commit": "39f992750ac1eb7e51955d3e52bddc32b37c370f",
      "tree": "968d9aeeb41396cae603fe98a9262b8837032218",
      "parents": [
        "7467ee05012e1fd9834df74663c1ebda46f5636b"
      ],
      "author": {
        "name": "Dragos Sbirlea",
        "email": "dragoss@google.com",
        "time": "Tue Jun 25 13:17:36 2013 -0700"
      },
      "committer": {
        "name": "Dragos Sbirlea",
        "email": "dragoss@google.com",
        "time": "Wed Jun 26 15:40:36 2013 -0700"
      },
      "message": "Added wrapper functions for register acccess in Instruction.\n\nThe VRegB and VRegC functions allow uniform\naccess to the parameter registers, no matter what the\ninstruction format is.\n\nChange-Id: I3b33358ea0ed071e22bc6d51bd01fce29bbd432c\n"
    },
    {
      "commit": "921d7ae71cd07a8bea4d3851fe6e181f595c11c2",
      "tree": "199fc69e2f27afa21059f342ded755c2412381ff",
      "parents": [
        "d325151ce4bef981f937640ca5e44113b8881f82",
        "51033221761f643b96a337e1af60c9d4168af0a8"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jun 26 21:50:26 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 26 21:50:27 2013 +0000"
      },
      "message": "Merge \"Change alloc space lock level\" into dalvik-dev"
    },
    {
      "commit": "51033221761f643b96a337e1af60c9d4168af0a8",
      "tree": "a78197949d29e87cb0d5381b3d5d586541964da8",
      "parents": [
        "b126134010ebeee771da0eec7fa76ad13fe9a9c9"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jun 26 13:37:27 2013 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jun 26 14:26:11 2013 -0700"
      },
      "message": "Change alloc space lock level\n\nMoves the alloc space lock level to a lower level than the default lock.\nThis fixes https://b.corp.google.com/issue?id\u003d9414652\nwhich was caused by occasionally having a large object which was in the\nglobals indirect reference table in JavaVMExt. The old lock ordering had\nalloc spack with a higher level than the default lock, this caused occasional\nlock ordering violations since the lock which guarded the globals table was\ndefault level.\n\nChange-Id: I7e249ee1df9664fe2897510df454e025f4e5bc7f\n"
    },
    {
      "commit": "0a3b863fb1acae912b54f4be2c1928d3afa5e936",
      "tree": "f563159297172d0ff12e15025eb82030190ebf81",
      "parents": [
        "b126134010ebeee771da0eec7fa76ad13fe9a9c9"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Jun 26 11:16:01 2013 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Jun 26 14:06:42 2013 +0200"
      },
      "message": "Remove unused Thread parameter from ThrowArithmeticExceptionDivideByZero.\n\nThe \"Thread* self\" parameter of ThrowArithmeticExceptionDivideByZero is unused.\nThis CL removes it and updates all call sites.\n\nChange-Id: I5cff86e97dd82dd07f4c174a3d8fbcf980da4aea\n"
    },
    {
      "commit": "c15853b8b5da9dd8fb28e2adbbd61af34555e4c2",
      "tree": "946d064868a8f98894aaf926904744eefdf69e05",
      "parents": [
        "b126134010ebeee771da0eec7fa76ad13fe9a9c9"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Jun 25 17:36:27 2013 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Jun 26 10:13:32 2013 +0200"
      },
      "message": "Cleanup quick support in verifier.\n\nBug: 9568063\n\nThis CL cleans up the way we are requesting for field/method being\naccessed/invoked by a -quick instruction.\n\nNow we let the verifier run completely and once it is done, we access the\nregister line of the instruction\u0027s dex PC and calculate the reference to the\nfield/method. This is pretty the same way the verifier checks the instruction\nbut here we get the final register line.\n\nChange-Id: I06f02b0ddeb1bbdd71de610cc0656057624f6e3b\n"
    },
    {
      "commit": "d325151ce4bef981f937640ca5e44113b8881f82",
      "tree": "b2ba51ef226919cdd6c34063124a5b568c3fecc2",
      "parents": [
        "eae05507f22a9f58d2058514496afd0f9b3e94b6",
        "f3b3bf13247364eb111cd20493a236e8f3ce2164"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jun 25 23:55:58 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 25 23:55:58 2013 -0700"
      },
      "message": "am f3b3bf13: Make art use core-libart explicitly (part 2)\n\n* commit \u0027f3b3bf13247364eb111cd20493a236e8f3ce2164\u0027:\n  Make art use core-libart explicitly (part 2)\n"
    },
    {
      "commit": "f3b3bf13247364eb111cd20493a236e8f3ce2164",
      "tree": "28a51531ad24a9ba4760e7576ae2c63881261a10",
      "parents": [
        "3b010aa88cec548a9a4213c7cbdc416f73ea5c3c"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jun 25 23:28:49 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jun 26 06:31:05 2013 +0000"
      },
      "message": "Make art use core-libart explicitly (part 2)\n\nChange-Id: Id08306ae147c745a407635d6ce93019f14145181\n(cherry picked from commit eae05507f22a9f58d2058514496afd0f9b3e94b6)"
    },
    {
      "commit": "eae05507f22a9f58d2058514496afd0f9b3e94b6",
      "tree": "b2ba51ef226919cdd6c34063124a5b568c3fecc2",
      "parents": [
        "9c7ca420ca940ac778f64ac2277792b47779e1fb"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jun 25 23:28:49 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jun 25 23:29:24 2013 -0700"
      },
      "message": "Make art use core-libart explicitly (part 2)\n\nChange-Id: Id08306ae147c745a407635d6ce93019f14145181\n"
    },
    {
      "commit": "9c7ca420ca940ac778f64ac2277792b47779e1fb",
      "tree": "bef5b7704f46413cb539d73e00edf3f24c67e37c",
      "parents": [
        "78b388842414005a30d2ec308861473f9f33ed5b",
        "3b010aa88cec548a9a4213c7cbdc416f73ea5c3c"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jun 25 23:11:03 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 25 23:11:03 2013 -0700"
      },
      "message": "am 3b010aa8: Make art use core-libart explicitly\n\n* commit \u00273b010aa88cec548a9a4213c7cbdc416f73ea5c3c\u0027:\n  Make art use core-libart explicitly\n"
    },
    {
      "commit": "3b010aa88cec548a9a4213c7cbdc416f73ea5c3c",
      "tree": "155c461f956cc45f1c6152f3da6ef095c01bb4fd",
      "parents": [
        "fb67b724df2e3288c8573e8d72b6b6d06aff26ca"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jun 25 23:06:36 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jun 25 23:06:36 2013 -0700"
      },
      "message": "Make art use core-libart explicitly\n\nChange-Id: Ibc75910df56428dd8d5d2a4bab41dc3d2a3c61d7\n"
    },
    {
      "commit": "78b388842414005a30d2ec308861473f9f33ed5b",
      "tree": "a15c4320420aeddff8b55527722c631c67222700",
      "parents": [
        "80a459893571c1a1ba92c73883993d7e0b5f1ad6",
        "fb67b724df2e3288c8573e8d72b6b6d06aff26ca"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jun 25 22:31:37 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 25 22:31:37 2013 -0700"
      },
      "message": "am fb67b724: Make art adapt to BOOTCLASSPATH containing dalvik core.jar\n\n* commit \u0027fb67b724df2e3288c8573e8d72b6b6d06aff26ca\u0027:\n  Make art adapt to BOOTCLASSPATH containing dalvik core.jar\n"
    },
    {
      "commit": "80a459893571c1a1ba92c73883993d7e0b5f1ad6",
      "tree": "a8009b0d6acd847ce1ac71c11e6c2967951a67fe",
      "parents": [
        "b126134010ebeee771da0eec7fa76ad13fe9a9c9",
        "a7a60a8244dd6f6e70ff1d7babf261c7a8da873a"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jun 25 22:31:36 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 25 22:31:36 2013 -0700"
      },
      "message": "am a7a60a82: add use-art, use-artd, use-dalvik phony targets\n\n* commit \u0027a7a60a8244dd6f6e70ff1d7babf261c7a8da873a\u0027:\n  add use-art, use-artd, use-dalvik phony targets\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": "b126134010ebeee771da0eec7fa76ad13fe9a9c9",
      "tree": "a520720c12ce6adc6467db58885b509110580466",
      "parents": [
        "40983166b997fe112b72bb5af59a0d7c7cb7763b",
        "2d6ba5158d7fd459db2870df47300b517dc4d08c"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Jun 25 07:12:20 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 25 07:12:20 2013 +0000"
      },
      "message": "Merge \"Quickening support.\" into dalvik-dev"
    },
    {
      "commit": "fb67b724df2e3288c8573e8d72b6b6d06aff26ca",
      "tree": "2347057a6cfa7740db719e7c5ce459a1caff33be",
      "parents": [
        "a7a60a8244dd6f6e70ff1d7babf261c7a8da873a"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jun 24 23:41:51 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jun 24 23:41:51 2013 -0700"
      },
      "message": "Make art adapt to BOOTCLASSPATH containing dalvik core.jar\n\nChange-Id: I9b1fcae03630123100c335394a6324824d245bd6\n"
    },
    {
      "commit": "a7a60a8244dd6f6e70ff1d7babf261c7a8da873a",
      "tree": "31f9ac2415d288a0a9ffe7572e6d8b23dcb8e12d",
      "parents": [
        "999cd43edadfd408064457c2b46a9f3b6dde4dd3"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jun 24 17:41:19 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jun 24 17:41:19 2013 -0700"
      },
      "message": "add use-art, use-artd, use-dalvik phony targets\n\nChange-Id: I0d2e583821b53c138acdcd491acf5699c0a7b3e4\n"
    },
    {
      "commit": "40983166b997fe112b72bb5af59a0d7c7cb7763b",
      "tree": "99b3fda886e728937296f99928e68c990baa79e4",
      "parents": [
        "ce3e27bae5914b6999e45361b476fce25cfd5c5e",
        "999cd43edadfd408064457c2b46a9f3b6dde4dd3"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jun 24 10:20:52 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 24 10:20:52 2013 -0700"
      },
      "message": "am 999cd43e: Fix oat-target to use new odex style extensions\n\n* commit \u0027999cd43edadfd408064457c2b46a9f3b6dde4dd3\u0027:\n  Fix oat-target to use new odex style extensions\n"
    },
    {
      "commit": "999cd43edadfd408064457c2b46a9f3b6dde4dd3",
      "tree": "ca82384b99d1e2b956333543ad705c3cee2993d7",
      "parents": [
        "30e2ea4a701d53f28431041af68dc0669e60c569"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sat Jun 22 23:08:53 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jun 24 17:14:38 2013 +0000"
      },
      "message": "Fix oat-target to use new odex style extensions\n\nChange-Id: I2add476d54c8c1d1f3dc42a9657171bbd5b72a6f\n(cherry picked from commit ce3e27bae5914b6999e45361b476fce25cfd5c5e)"
    },
    {
      "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": "ce3e27bae5914b6999e45361b476fce25cfd5c5e",
      "tree": "99b3fda886e728937296f99928e68c990baa79e4",
      "parents": [
        "1e2ee7de9dff66f7ca2bdf83a7262e21d75b37d1"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sat Jun 22 23:08:53 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sat Jun 22 23:17:07 2013 -0700"
      },
      "message": "Fix oat-target to use new odex style extensions\n\nChange-Id: I2add476d54c8c1d1f3dc42a9657171bbd5b72a6f\n"
    },
    {
      "commit": "1e2ee7de9dff66f7ca2bdf83a7262e21d75b37d1",
      "tree": "d5d22869403943faccf457c3d010ad459b94f8bb",
      "parents": [
        "1d54e73444e017d3a65234e0f193846f3e27472b",
        "3c50a4b4ba6d7d9369ee9a0bd6d30bf4c9c79bb0"
      ],
      "author": {
        "name": "Anwar Ghuloum",
        "email": "anwarg@google.com",
        "time": "Fri Jun 21 20:13:24 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 21 20:13:24 2013 +0000"
      },
      "message": "Merge \"Rename vmData\" into dalvik-dev"
    },
    {
      "commit": "3c50a4b4ba6d7d9369ee9a0bd6d30bf4c9c79bb0",
      "tree": "dd109268a189e95339509b0bbfa7a95a3d6065af",
      "parents": [
        "7eacac472e360b337f8af565dfba862a194ce4ea"
      ],
      "author": {
        "name": "Anwar Ghuloum",
        "email": "anwarg@google.com",
        "time": "Fri Jun 21 13:05:23 2013 -0700"
      },
      "committer": {
        "name": "Anwar Ghuloum",
        "email": "anwarg@google.com",
        "time": "Fri Jun 21 13:05:23 2013 -0700"
      },
      "message": "Rename vmData\n\nChange-Id: I34e49e56187bbb27cb892721084f6d69c2eaacce\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": "4c22e7eabef3f815841dfc6e0d5bbead96150752",
      "tree": "85cc5fded5852dfa78102da10861e24c9e8fea15",
      "parents": [
        "7f46fc67094104aa637a1b5534fe8f844d40afc5",
        "30e2ea4a701d53f28431041af68dc0669e60c569"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jun 20 16:59:24 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 20 16:59:24 2013 -0700"
      },
      "message": "am 30e2ea4a: Move art to use dalvik names for .oat files\n\n* commit \u002730e2ea4a701d53f28431041af68dc0669e60c569\u0027:\n  Move art to use dalvik names for .oat files\n"
    },
    {
      "commit": "7f46fc67094104aa637a1b5534fe8f844d40afc5",
      "tree": "f1d86502b3a1d87f4730d49d95f5247e5bf5ea6b",
      "parents": [
        "7eacac472e360b337f8af565dfba862a194ce4ea",
        "0eba633357c6c01b298434c7fd8a5705b5b2e18f"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jun 20 16:59:23 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 20 16:59:23 2013 -0700"
      },
      "message": "am 0eba6333: Use libnativehelper to find JNI_CreateJavaVM\n\n* commit \u00270eba633357c6c01b298434c7fd8a5705b5b2e18f\u0027:\n  Use libnativehelper to find JNI_CreateJavaVM\n"
    },
    {
      "commit": "30e2ea4a701d53f28431041af68dc0669e60c569",
      "tree": "55a04655d0896e1d22d41df17d1fed5f6b85396d",
      "parents": [
        "0eba633357c6c01b298434c7fd8a5705b5b2e18f"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jun 19 23:25:37 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jun 20 16:53:02 2013 -0700"
      },
      "message": "Move art to use dalvik names for .oat files\n\nChange-Id: Ia383c0a0847684a513cab7db44b4ecf8fe05e1c3\n"
    },
    {
      "commit": "0eba633357c6c01b298434c7fd8a5705b5b2e18f",
      "tree": "88ff7d988b4e7691403c48caa5a72100c877d2ff",
      "parents": [
        "ad27f28fa7516b169ee9947ca24a04fd5600f2e6"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jun 19 15:08:24 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jun 20 16:53:02 2013 -0700"
      },
      "message": "Use libnativehelper to find JNI_CreateJavaVM\n\nChange-Id: If5da43aee75a3ac5337a90b25264ac30129e3933\n"
    },
    {
      "commit": "7eacac472e360b337f8af565dfba862a194ce4ea",
      "tree": "6342b8b689b6fd0fe493a2b94d1f21ca5be9636f",
      "parents": [
        "b19fa800aab1c2731b12ff24696feca13901db3f",
        "3c539ffccabada93c404c0dfba8b52926ae06d0c"
      ],
      "author": {
        "name": "Anwar Ghuloum",
        "email": "anwarg@google.com",
        "time": "Thu Jun 20 21:22:18 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 20 21:22:18 2013 +0000"
      },
      "message": "Merge \"Improve Logging\" into dalvik-dev"
    },
    {
      "commit": "b19fa800aab1c2731b12ff24696feca13901db3f",
      "tree": "04047f1f9f3ce4d1dd1d4be04e8d24023b59859a",
      "parents": [
        "45478f42a780d9852892c97c876d5d969d26533c"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jun 20 11:17:03 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jun 20 11:17:03 2013 -0700"
      },
      "message": "Don\u0027t always slow-path array casts/instance-of.\n\nRecent changes to IsAbstract for arrays pushed us in to always generating\nslow-paths.\n\nChange-Id: I52fb50953949f337243961a308eabf0d684eacf3\n"
    },
    {
      "commit": "3c539ffccabada93c404c0dfba8b52926ae06d0c",
      "tree": "e3cb6ad4bb75ef94e0267be2c3945bc9b0d8fdeb",
      "parents": [
        "45478f42a780d9852892c97c876d5d969d26533c"
      ],
      "author": {
        "name": "Anwar Ghuloum",
        "email": "anwarg@google.com",
        "time": "Thu Jun 20 08:58:23 2013 -0700"
      },
      "committer": {
        "name": "Anwar Ghuloum",
        "email": "anwarg@google.com",
        "time": "Thu Jun 20 08:58:23 2013 -0700"
      },
      "message": "Improve Logging\n\nA couple of changes here to improve logging. First, we eliminate some red herrings when a java app\nis aborting by guarding some lock invariant checking when aborting.  Second, we print the name of the\nthread (if it exists) if we try to suspend a thread with no peer.  A separate CL is coming that\neliminates most, if not all, of the occurences of this that we\u0027re seeing on device.\n\nChange-Id: I9177e45462b1f0ff9b88be4d72c7d77edf6ac43c\n"
    },
    {
      "commit": "45478f42a780d9852892c97c876d5d969d26533c",
      "tree": "7aa0ea6e69e506d07cb72ea1ada2107b3be3ccd5",
      "parents": [
        "3e4184356b83e32721ca23c5c898f8e919efc9b0",
        "828a07f4b378918673aa56711fa8cf487112659d"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jun 19 06:52:14 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 19 06:52:15 2013 +0000"
      },
      "message": "Merge \"Fix cbz disassembly bug.\" into dalvik-dev"
    }
  ],
  "next": "828a07f4b378918673aa56711fa8cf487112659d"
}
