)]}'
{
  "log": [
    {
      "commit": "b3bd5f07884f5a1f2b84224363b1372d7c28d447",
      "tree": "6e2997ab64b4a4f32d7ef539a4649adc736ea553",
      "parents": [
        "ddbd01ac1660d57416879d5a576482f1048dde64"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 08 21:05:27 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 09 15:37:46 2012 -0800"
      },
      "message": "Refactor the compilers out of libart.\n\nThis builds three separate compilers and dynamically links with the right one\nat runtime.\n\nChange-Id: I59d22b9884f41de733c09f97e29ee290236d5f4b\n"
    },
    {
      "commit": "ddbd01ac1660d57416879d5a576482f1048dde64",
      "tree": "0fb4767de9915243addbdb712563e1ac330da0d2",
      "parents": [
        "0b440ef78eae4f1c8558dca549e9c94a84f42639"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Fri Mar 09 14:42:12 2012 -0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Fri Mar 09 15:04:58 2012 -0800"
      },
      "message": "Move compiler-specific code out of runtime_support_common.\n\nHelpers or utilities such as FindFieldFast are still in\nruntime_support_common. But LLVM has different stacks, no callee-saves\nand different exception mechanisms. Those won\u0027t belong to\nruntime_support_common.\n\nChange-Id: Ibc43d7d53316941481a6a21815ddefdc1e6bdde6\n"
    },
    {
      "commit": "0b440ef78eae4f1c8558dca549e9c94a84f42639",
      "tree": "19dbd7cf27e3ab3bffab3f8fe74a709b33b1023f",
      "parents": [
        "a433b2e8edf91c8124abd8eb5b3bd558a40fc987"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Fri Mar 09 13:05:11 2012 -0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Fri Mar 09 14:07:00 2012 -0800"
      },
      "message": "Fix crashes.\n\nThe bug was due to a refactoring error last night. We will also take out\n_artInvokeCommon and other confusing de-dup in the next CL. But I want\nto fix the crash right away.\n\nChange-Id: Ic3fcb0bbaaca44cf368f79994a0cdcfac5fdfc8b\n"
    },
    {
      "commit": "a433b2e8edf91c8124abd8eb5b3bd558a40fc987",
      "tree": "d0c6b2cd101ed66897193ac03f4738d6a7473da3",
      "parents": [
        "f5a9d80f6afaf714c1afeaf2e869ff194aa2556a"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Mar 09 08:40:33 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Mar 09 08:59:48 2012 -0800"
      },
      "message": "Tidy MIPS floating point helpers.\n\nFix initialization bug in thread.cc.\n\nChange-Id: Ibdc81d6f5c8b1a245044bf901003179167a5d4f1\n"
    },
    {
      "commit": "f5a9d80f6afaf714c1afeaf2e869ff194aa2556a",
      "tree": "11e1164eb4fcd8c9a04e96c69e4b0e133562c9de",
      "parents": [
        "399ed3f4bb92eb69b739c4c5d9dcf2d4c78696b2"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Fri Mar 09 01:31:09 2012 -0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Fri Mar 09 01:31:09 2012 -0800"
      },
      "message": "Fix build: Move a 2-line function to runtime_support_common\n\nChange-Id: I59df076e148b571d253df2aa3bb852fc032c9714\n"
    },
    {
      "commit": "399ed3f4bb92eb69b739c4c5d9dcf2d4c78696b2",
      "tree": "2a7136e079f2d7d93519b3f63184a952b3362939",
      "parents": [
        "4d3c07f0bbfd07815f2ac848ad2b08979b9bee4d"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Mar 08 01:27:04 2012 -0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Fri Mar 09 00:17:21 2012 -0800"
      },
      "message": "Add object-space related runtime support.\n\nChange-Id: Ieac2be41efcb57923de6f1dedad94fab0803812d\n"
    },
    {
      "commit": "055b77628479f1e5934f9fb992ffc680de16661d",
      "tree": "5baeda84ecd05518b4df23dfb0afb6b85cd4b61e",
      "parents": [
        "8fc6d41482b54c12fca4235e8b979e4a93499a14"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Mar 08 11:41:52 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Mar 08 11:41:52 2012 -0800"
      },
      "message": "Remove non-functional IsInSamePackage implementation\n\nThis version tried to use std::mismatch instead of a loop.\n\nChange-Id: I463bef4a36dd91573369754db2f32f3d45fc53dc\n"
    },
    {
      "commit": "8fc6d41482b54c12fca4235e8b979e4a93499a14",
      "tree": "d1ec4e9682e1b520fc9fb23107d53dc9986ef2ac",
      "parents": [
        "d9c7ad348b56172c1d87f214dd293ac822ac717d",
        "9a8a8889418e09bf2d4ae3f683fbb40a71c3c8f4"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Mar 08 02:34:21 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 08 02:34:21 2012 -0800"
      },
      "message": "Merge \"Disable virtual call sharpening.\" into dalvik-dev"
    },
    {
      "commit": "9a8a8889418e09bf2d4ae3f683fbb40a71c3c8f4",
      "tree": "706ce6181dfd046845a82d60b3b66ee7270131d3",
      "parents": [
        "680b1bdd7e5d112ba4b95d6c81a43b65119b3b9c"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Mar 08 02:30:55 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Mar 08 02:30:55 2012 -0800"
      },
      "message": "Disable virtual call sharpening.\n\nA regression in voice search was seen. Disable for now. Add a few\nassertions to aid future diagnostics.\n\nChange-Id: I635b1126b3e45293489b6b7ad54d838773ae7030\n"
    },
    {
      "commit": "d9c7ad348b56172c1d87f214dd293ac822ac717d",
      "tree": "6516e97ffb605f93fd1c0cf4726be8b05fb45a8c",
      "parents": [
        "2824bf55b43b441dad8bb54530f1758883766480"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Mar 08 02:01:18 2012 -0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Mar 08 02:01:18 2012 -0800"
      },
      "message": "Fix the build. Add inline back to appease -Werror.\n\nChange-Id: Ib05030d29a2d9c1ee08413f24ca9c7c2082bf72f\n"
    },
    {
      "commit": "2824bf55b43b441dad8bb54530f1758883766480",
      "tree": "261b7ed890806d7d1d2d6c0d41fbb334761064d0",
      "parents": [
        "680b1bdd7e5d112ba4b95d6c81a43b65119b3b9c",
        "b0ee9d705a51b3de188be1f8a28e00574d8eabae"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Mar 07 23:57:46 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 07 23:57:46 2012 -0800"
      },
      "message": "Merge \"Add runtime_support_common.\" into dalvik-dev"
    },
    {
      "commit": "b0ee9d705a51b3de188be1f8a28e00574d8eabae",
      "tree": "6106b897dabfd4a0fd7a13b6c38205df63844c0b",
      "parents": [
        "d8af8bd46c13347ca15558999db4da85dbc31818"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Mar 07 16:39:26 2012 -0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Mar 07 23:56:54 2012 -0800"
      },
      "message": "Add runtime_support_common.\n\nAddressed the issue that we shouldn\u0027t maintain 2 copies of almost the\nsame code.\n\nChange-Id: I212656f65e6c47e1167a193c1024100ae97f0028\n"
    },
    {
      "commit": "680b1bdd7e5d112ba4b95d6c81a43b65119b3b9c",
      "tree": "21514b638db9b28cf26b4b452c3e5f9449568812",
      "parents": [
        "d8af8bd46c13347ca15558999db4da85dbc31818"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Mar 07 20:18:49 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Mar 07 20:18:49 2012 -0800"
      },
      "message": "Unify branch flags, pretty printer for OpKind.\n\nLIR operand 0 is always an offset for a branch. This is clear in\nconditional branches that are binary and have the 2nd operand as the\ncondition codes of the branch. This changes unconditional branches to be\nunary and therefore more intention revealing that the 1st operand will\nbe used by the assembler to hold an offset.\n\nA \u003c\u003c operator for OpKind allows easy pretty printing.\n\nChange-Id: I933b8e0bf43f5be3eff13f93c3fc1539ae526840\n"
    },
    {
      "commit": "d8af8bd46c13347ca15558999db4da85dbc31818",
      "tree": "a0153603c7fef38d7af3f41bcfa7d5c4ccba55fc",
      "parents": [
        "5cd9e6d5ca3e8736b307240bf7307e8aceceae5d",
        "5bc5a7b9d9adcfb50e18bd3776d3875ad7a4ae8c"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Mar 07 16:14:04 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 07 16:14:04 2012 -0800"
      },
      "message": "Merge \"MIPS runtime support stubs.  Untested/uncompiled\" into dalvik-dev"
    },
    {
      "commit": "5bc5a7b9d9adcfb50e18bd3776d3875ad7a4ae8c",
      "tree": "7cbe66a8ee0fa788d2ac3bfc0708d7f0c7322228",
      "parents": [
        "86a4bce32e2aaf3d377c0acf865f0630a7c30495"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Mar 07 15:52:59 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Mar 07 15:52:59 2012 -0800"
      },
      "message": "MIPS runtime support stubs.  Untested/uncompiled\n\nFirst stab at translating the Arm stubs to MIPS code.\n\nChange-Id: I0cff280c760b6355e2ede85434752efe1e425c58\n"
    },
    {
      "commit": "5cd9e6d5ca3e8736b307240bf7307e8aceceae5d",
      "tree": "9fcf7b0012e96c2d7280eca681406d932c5440be",
      "parents": [
        "86a4bce32e2aaf3d377c0acf865f0630a7c30495",
        "e89df50ee79b5e6c38a46e23133f970c8ee226f4"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Wed Mar 07 12:18:16 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 07 12:18:16 2012 -0800"
      },
      "message": "Merge \"Fixed instruction decoding for throw-verification error format.\" into dalvik-dev"
    },
    {
      "commit": "e89df50ee79b5e6c38a46e23133f970c8ee226f4",
      "tree": "21789ccac161066276fe92777ab6c42c8f8954e9",
      "parents": [
        "6150d9889b56e95f1267d9200c5702b16e0d32d5"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Wed Mar 07 12:15:46 2012 -0800"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Wed Mar 07 12:15:46 2012 -0800"
      },
      "message": "Fixed instruction decoding for throw-verification error format.\n\nThe decoder was not populating register vA and vB.\n\nChange-Id: I5a162f308ef919f4c98efe9bbdf8eb263906d01a\n"
    },
    {
      "commit": "86a4bce32e2aaf3d377c0acf865f0630a7c30495",
      "tree": "98517211fdb1309f461e3fe3c41a34739ad121c1",
      "parents": [
        "6150d9889b56e95f1267d9200c5702b16e0d32d5"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Mar 06 18:15:00 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Mar 07 12:10:21 2012 -0800"
      },
      "message": "Fix branch bug (showed up in codegen for debug)\n\nThere are a few \"safe\" optimizations in the compiler - removing\nregister copies where source and target are the same, deleting\nbranches to the next instruction, etc.  One of the redundant\nbranch optimizations, however, was incorrect and resulted in\na good branch being deleted.  This one showed up in the debug\nbuild, and resulted in a failure to do a suspend check (because\nthe branch to the suspend check was deleted).\n\nI had hoped that this but might also be the case of some\nother unexpected failures, but unfortunately I was only able\nto trigger it when doing a \"codegen for debug\" build.\n\nThe source of the bug was a confusion around 16 v/ 32-bit\nunconditional branch encodings.  For a 32-bit unconditional\nbranch, going to the next instruction means an displacement\nof zero.  However, for 16-bit branches, the next instruction\nis represented by a displacement of -1.\n\nTo help track down this sort of thing in the future, this CL\nalso adds a new optimization disable flag: kSafeOptimizations.\nThis will allow us to really turn off all optimizations for A/B\ntesting.\n\nAlso in this CL we are re-enabling the ability to promote argument\nregisters and improving somewhat the code sequence for suspend\ncheck when debug is enabled.\n\nChange-Id: Ib6b202746eac751cab3b4609805a389c18cb67b2\n"
    },
    {
      "commit": "6150d9889b56e95f1267d9200c5702b16e0d32d5",
      "tree": "84a16e556fe52a499c252ab6989cb9327d6c80c3",
      "parents": [
        "7cce95f86941dfd791496229d90fd1a5714b2ec1",
        "fc34adb0c40e336c4d0582698fd6d4bf3b3de5e1"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Mar 07 09:59:04 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 07 09:59:04 2012 -0800"
      },
      "message": "Merge \"Use llvm_shutdown_obj to fix \"static initialization order fiasco.\"\" into dalvik-dev"
    },
    {
      "commit": "7cce95f86941dfd791496229d90fd1a5714b2ec1",
      "tree": "9eb4e40b75a4068be8b1062ebdbf52a34a41febf",
      "parents": [
        "720fc19a1602ca1ee06cd7936979c2c30422a739",
        "4dcbffb3c6e8757d127dede32c8efa6c04e44a70"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Mar 07 09:40:28 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 07 09:40:28 2012 -0800"
      },
      "message": "Merge \"Fix oatdump OAT_LOCATION output\" into dalvik-dev"
    },
    {
      "commit": "fc34adb0c40e336c4d0582698fd6d4bf3b3de5e1",
      "tree": "7ad6793be3c7c90c0e698fa77814e4edd05389a3",
      "parents": [
        "720fc19a1602ca1ee06cd7936979c2c30422a739"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Mar 07 08:51:44 2012 -0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Mar 07 09:18:56 2012 -0800"
      },
      "message": "Use llvm_shutdown_obj to fix \"static initialization order fiasco.\"\n\nYesterday we added a static guard, which is removed from this commit.\nUsing llvm_shutdown_obj will avoid the ordering problem.\n\nChange-Id: Iaa2e4293373c849f6b07082fb70b49ff0e805033\n"
    },
    {
      "commit": "720fc19a1602ca1ee06cd7936979c2c30422a739",
      "tree": "2400cb17a1ad91d2f0986b67e360ee365fe3ed53",
      "parents": [
        "786d583ffb498ccf07a133e0ed22cbe6ea1d2c27",
        "66adbb79b317e08b6b4838a51d38ae81a7bb87fa"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Mar 07 08:47:31 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 07 08:47:31 2012 -0800"
      },
      "message": "Merge \"Implement thread-related runtime support routines.\" into dalvik-dev"
    },
    {
      "commit": "66adbb79b317e08b6b4838a51d38ae81a7bb87fa",
      "tree": "80ad3febdfb99f341dca0fb7b4a228b9c74d9891",
      "parents": [
        "666527de37f04d50e52987d5d0878f2de9cc1e8a"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Mar 07 01:31:50 2012 -0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Wed Mar 07 01:54:21 2012 -0800"
      },
      "message": "Implement thread-related runtime support routines.\n\nChange-Id: Idb6165ba4525293b5ac8d65a5f37240ef6bc3483\n"
    },
    {
      "commit": "4dcbffb3c6e8757d127dede32c8efa6c04e44a70",
      "tree": "568c490d168780cf314c550c1b10c5459e68d78c",
      "parents": [
        "a79d86d1564ae2ab75055ce62beb4f07d2f6bd5d"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Mar 07 00:21:18 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Mar 07 00:21:18 2012 -0800"
      },
      "message": "Fix oatdump OAT_LOCATION output\n\nregressed in 3a5c1ce3f11805a3382046f699c8fb1410a602b3\n\nChange-Id: I85ea2d8a4e5c97ac69a5a9d505b58bbd98215234\n"
    },
    {
      "commit": "a79d86d1564ae2ab75055ce62beb4f07d2f6bd5d",
      "tree": "b36ef3e6e80fadbb1c80a37f56d3f01fc0807eda",
      "parents": [
        "666527de37f04d50e52987d5d0878f2de9cc1e8a",
        "7d77624abcc39cc94e8c59a67db2ed06b8adff08"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Mar 06 23:08:47 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 06 23:08:47 2012 -0800"
      },
      "message": "Merge \"Change CHECK(dex_cache !\u003d NULL) to use DCHECK\" into dalvik-dev"
    },
    {
      "commit": "7d77624abcc39cc94e8c59a67db2ed06b8adff08",
      "tree": "c455f20888c968f4f991bebb41a2ed46f8895000",
      "parents": [
        "adb8c67f6d87a160d4e3a8afea7cb93f6c14568b"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Mar 06 23:05:49 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Mar 06 23:05:49 2012 -0800"
      },
      "message": "Change CHECK(dex_cache !\u003d NULL) to use DCHECK\n\nChange-Id: If10b8748eff68f4b57c6ae6ecf4b18be4b4546b5\n"
    },
    {
      "commit": "be5ff20bc68de0d14f043421815c5f3dbe0c39da",
      "tree": "31445fbc651ff0dec85678c48ae45969d78f6adf",
      "parents": [
        "63deaad18853e55097761e47a9eedd12eb0c1e58"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Tue Mar 06 21:57:49 2012 -0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Tue Mar 06 21:57:49 2012 -0800"
      },
      "message": "Fix ART_USE_LLVM_COMPILER breakage.\n\nCope with today\u0027s compiler.cc change.\n\nChange-Id: I0f13536652a5b7c617648fe43a03dbbec391efd6\n"
    },
    {
      "commit": "63deaad18853e55097761e47a9eedd12eb0c1e58",
      "tree": "4eb14783cac63b87c7985409a8f8d70ebceaa4e5",
      "parents": [
        "adb8c67f6d87a160d4e3a8afea7cb93f6c14568b"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Tue Mar 06 17:26:37 2012 -0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Tue Mar 06 21:53:05 2012 -0800"
      },
      "message": "Fix memory corruption due to premature llvm_shutdown().\n\nUnder LLVM, multiple compiler-related gtests randomly crashes from time\nto time, because common_test.h has code to new multiple compiler\ninstances. Multiple CompilerLLVM instances may cause crash if one\nshuts down LLVM prematurely.\n\nThis fix uses static class member. Destructor is where we shut\ndown LLVM.\n\nChange-Id: Ied371794af7ca9eb2c9fe6b278fd779a61a4a753\n"
    },
    {
      "commit": "adb8c67f6d87a160d4e3a8afea7cb93f6c14568b",
      "tree": "93b265743b7fd7a831803f6bc84e2aa8ce338156",
      "parents": [
        "731b2abfccd8704d129e3b8e46a086660161fef3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 06 16:49:32 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 06 17:21:07 2012 -0800"
      },
      "message": "Move the compiler away from libdex.\n\nChange-Id: I0c5fdc38d94f1199023cfc6aab3060b927ad2383\n"
    },
    {
      "commit": "731b2abfccd8704d129e3b8e46a086660161fef3",
      "tree": "dae3ad92a46b1846b767bfb643b1360b6973b8f7",
      "parents": [
        "f56197c5519395fcf8226a7148cc87367e0a7ad4"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Mar 06 16:53:35 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Mar 06 16:53:35 2012 -0800"
      },
      "message": "Make the code more defensive against null DexCache values\n\nChange-Id: Iaa3f17dced518a5d2a53479b3ae3cebacb1e3b6a\n"
    },
    {
      "commit": "f56197c5519395fcf8226a7148cc87367e0a7ad4",
      "tree": "1403d90cb236e3643192e40a293b71ea8cd4a3be",
      "parents": [
        "9787ac4a18e71a57ed2b559759e9903b557a65dd"
      ],
      "author": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Mon Mar 05 18:01:54 2012 -0800"
      },
      "committer": {
        "name": "jeffhao",
        "email": "jeffhao@google.com",
        "time": "Tue Mar 06 16:19:22 2012 -0800"
      },
      "message": "Verifier can handle an unresolved method or class.\n\nAdded a new dex verifier entry point that takes in a ClassDef index and\ncontext instead of a Class pointer. This allows basic structural\nverification to still be run on classes that FindClass fails to find. If\nthe basic structural classes fail, then the compilation for the class is\nskipped. Before, an unresolvable malformed class would cause the\ncompiler to segfault.\n\nChange-Id: Ia02c77560bf274281c4e22250983dc96511501eb\n"
    },
    {
      "commit": "9787ac4a18e71a57ed2b559759e9903b557a65dd",
      "tree": "57f673ba508c0fea41b9a231866ecd4b47f42adf",
      "parents": [
        "bc615a1d16969196168d5d4632f2cb1aa8b6664b"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Mar 06 18:24:03 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Tue Mar 06 14:38:23 2012 -0800"
      },
      "message": "Skip src/jni_compiler.cc from llvm backend\n\nLLVM backend has llvm-specific JNI compiler, which\nis using different calling convention and being\nincompatible with src/jni_compiler.cc, thus we are\nnot using src/jni_compiler.cc in the llvm backend.\n\nChange-Id: I68a3beb2668b4bcc8ed36aed57fa252907ad2453\n"
    },
    {
      "commit": "bc615a1d16969196168d5d4632f2cb1aa8b6664b",
      "tree": "471480a66cf51e692c4107627798a7c5ca148d49",
      "parents": [
        "fc5bc67b206208415e09dec039413fdb87b45f18"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Mar 06 17:03:48 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Tue Mar 06 14:16:11 2012 -0800"
      },
      "message": "Create the runtime support table from the function list.\n\nChange-Id: I04fb12c51e7820e3fe169bc0865778350071cd93\n"
    },
    {
      "commit": "fc5bc67b206208415e09dec039413fdb87b45f18",
      "tree": "9076b3e266d90cc618a13ebe1371fb02053864b3",
      "parents": [
        "bae4c85765fa94393c44c0e3be532a08761913cd"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Mar 06 16:54:30 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Tue Mar 06 11:05:32 2012 -0800"
      },
      "message": "Add more runtime function defintion for LLVM.\n\nChange-Id: I5d510055411155d17bb4d5c0395454c14e96a27c\n"
    },
    {
      "commit": "bae4c85765fa94393c44c0e3be532a08761913cd",
      "tree": "5ccf9af51bb5c6b8817989874a266587d4d2a72a",
      "parents": [
        "2771fb1ebc5dd9be8b56ff721c0b2606287d5a62"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Mar 06 16:53:31 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Tue Mar 06 11:05:17 2012 -0800"
      },
      "message": "Remove the quotation of the function name.\n\nChange-Id: Ib01363787fe69b23996bdd0e200a07c7997370fc\n"
    },
    {
      "commit": "2771fb1ebc5dd9be8b56ff721c0b2606287d5a62",
      "tree": "7b171a58a1a5cc6eb7aae2b2df84934bc530444e",
      "parents": [
        "6f8048d151c1f80db84e712f6fbd8419bd10cfa6"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Mar 06 16:28:35 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Tue Mar 06 11:04:36 2012 -0800"
      },
      "message": "Move the runtime support function lookup callback to runtime_support_llvm.cc.\n\nChange-Id: I5384543966880742a814cfac398edd30060e06d9\n"
    },
    {
      "commit": "6f8048d151c1f80db84e712f6fbd8419bd10cfa6",
      "tree": "c0239e4d331df0782c3c8af166f7268ffd334d13",
      "parents": [
        "3b2b2e7622404b6b08d97ed368b78c5b7984dd07",
        "de797834a282bf913e144f83ff044efd6d77b278"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Mar 06 10:42:01 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 06 10:42:01 2012 -0800"
      },
      "message": "Merge \"Dummy up MOV instructions, add/tweak comments.\" into dalvik-dev"
    },
    {
      "commit": "de797834a282bf913e144f83ff044efd6d77b278",
      "tree": "2d4e91dfc5065b1b046c22972739129c48ad5a2d",
      "parents": [
        "96ab420e2a78f9832a094254354062b8bc54bf72"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Mar 06 10:18:10 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Mar 06 10:41:21 2012 -0800"
      },
      "message": "Dummy up MOV instructions, add/tweak comments.\n\nAlso reorder some things to help me see them on screen at the same time.\n\nChange-Id: I398b46410f73d7853b5a1734f5c2a9e256b981bf\n"
    },
    {
      "commit": "3b2b2e7622404b6b08d97ed368b78c5b7984dd07",
      "tree": "156ce660d5b69500c379405924782c9a182cd3c3",
      "parents": [
        "a6b2ca64e4ee348265ff61e6e3250e446f44636e"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Mar 06 16:11:45 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Tue Mar 06 10:04:52 2012 -0800"
      },
      "message": "Fix IGET/IPUT slow path code generation.\n\nTwo bugs are fixed in this commit:\n\n1. IGET instructions is calling Set*Instance runtime\n   function, which should be changed to Get*Instance.\n\n2. We should pass the object address to the runtime\n   function for IGET and IPUT.\n\nChange-Id: I10c317e5c2d093966d8a0f2fd422f9bb5d2b34ba\n"
    },
    {
      "commit": "a6b2ca64e4ee348265ff61e6e3250e446f44636e",
      "tree": "e389bf3f75590871a0a5dd9e43c14c304ff20045",
      "parents": [
        "96ab420e2a78f9832a094254354062b8bc54bf72"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Mar 06 15:50:54 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Tue Mar 06 09:50:48 2012 -0800"
      },
      "message": "Remove unused runtime support function.\n\nart_object_init_from_code() is longer useful after\n\"f3773f0: Move finalizer registration into managed code\"\nhas been committed.\n\nart_resolve_method_frome_code() has never been used\nand won\u0027t be used in the future.\n\nChange-Id: I114eb4e985b733ff3183c60ebc23fc54007423fd\n"
    },
    {
      "commit": "96ab420e2a78f9832a094254354062b8bc54bf72",
      "tree": "6430fd7a7009d3de261995af55253970756c7a28",
      "parents": [
        "95ba0dc516531776813c426e85ce868ead564a7b"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Mar 05 19:51:02 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Mar 06 09:06:14 2012 -0800"
      },
      "message": "Beginning of X86 encoding map and instruction size routine.\n\nChange-Id: Idaa0d5e0852d7bcfeabff443a45223a078ad02d2\n"
    },
    {
      "commit": "95ba0dc516531776813c426e85ce868ead564a7b",
      "tree": "9d1de523e588210764373cdd1b44de8b04eb8468",
      "parents": [
        "f03c288c11ce3334fccab7fe31d8ebd14ad02157"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Mar 05 22:06:14 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Mar 05 22:06:14 2012 -0800"
      },
      "message": "Adjust Thumb2 code offsets\n\nChange-Id: I2ec65c653bda3b47efa54d5496c96a3c7f343e5a\n"
    },
    {
      "commit": "f03c288c11ce3334fccab7fe31d8ebd14ad02157",
      "tree": "f726d1813d8fdb576eab842ba5b035d4898daa6a",
      "parents": [
        "7638ae31e349f4d257d718f1cb62532ccf0a46a1"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Mar 05 20:29:06 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Mar 05 20:45:30 2012 -0800"
      },
      "message": "Remove redundant oat file fields\n\nChange-Id: I2d48acec661c491a692971767694d13a2355e22a\n"
    },
    {
      "commit": "7638ae31e349f4d257d718f1cb62532ccf0a46a1",
      "tree": "93a257d620ea28425a28e36ad5082ea0d1d445e4",
      "parents": [
        "a7678db092ac6bb79f7cad490099a1015fbbc714",
        "a72ec820f8cb8e04b0ba87a62e36b05a2c92ef36"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 05 17:45:11 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 05 17:45:11 2012 -0800"
      },
      "message": "Merge \"Store the instruction set in the oat header, and use it in oatdump.\" into dalvik-dev"
    },
    {
      "commit": "a72ec820f8cb8e04b0ba87a62e36b05a2c92ef36",
      "tree": "c94c0a91525d1cc6d08daaf36d4c092f303b0287",
      "parents": [
        "e88dfbf138bc204b1ce21911f1c34098ea74af7c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 05 17:12:22 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 05 17:44:43 2012 -0800"
      },
      "message": "Store the instruction set in the oat header, and use it in oatdump.\n\nChange-Id: I5cc4b853c3ebf1efcc1feb14ce05c97ceabe2c3e\n"
    },
    {
      "commit": "a7678db092ac6bb79f7cad490099a1015fbbc714",
      "tree": "95181107e5ef16068298cbec717b605f54748ca4",
      "parents": [
        "e88dfbf138bc204b1ce21911f1c34098ea74af7c"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Mar 05 15:35:46 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Mar 05 15:35:46 2012 -0800"
      },
      "message": "x86 source code hack and slash\n\nMade a pass over the compiler source to get it into a compileable\nstate for the x86 target.  Lots of temporary #ifdefs, but it\ncompiles and makes it to oatArchInit().\n\nChange-Id: Ib8bcd2a032e47dcb83430dbc479a29758e084359\n"
    },
    {
      "commit": "e88dfbf138bc204b1ce21911f1c34098ea74af7c",
      "tree": "c7ca47856bf4b47563cb31b455f299871f7b7a6f",
      "parents": [
        "9831bfac0d2ef54a996ae02e0755600ecb5f66ea"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Mar 05 11:19:57 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Mar 05 11:22:32 2012 -0800"
      },
      "message": "x86 codegen source file skeletons\n\nAdd source files for x86 code generation.  These are basically just\nthe MIPS versions with all bodies ifdef\u0027d out and replaced with\nUNIMPLEMENTED(WARNING).\n\nThere is also one real change in this CL related to the way the\nassembler computes instruction size.  We now set the initial\ninstruction size into the LIR during flag generation.  For x86, this\nsize may be changed during assembly when we detect the ability to\nsubstitute a general instruction for an equivalent one with a shorter\nencoding.\n\nNOTE: the new files are not yet ready for compilation.  That will be\nthe next CL.\n\nChange-Id: Id94fbeeb7c3e36ba4a8d93c3807351ea20c74133\n"
    },
    {
      "commit": "9831bfac0d2ef54a996ae02e0755600ecb5f66ea",
      "tree": "0931a3b4b09af073876805bde7f0784ab6503d4e",
      "parents": [
        "4455f7816c697b36fc3c158234770c6f1176b41e",
        "e32ca23c21187f62aaef70d33de3c362e2bbd0e3"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Mar 05 10:28:57 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 05 10:28:57 2012 -0800"
      },
      "message": "Merge \"Start of X86 LIR description.\" into dalvik-dev"
    },
    {
      "commit": "e32ca23c21187f62aaef70d33de3c362e2bbd0e3",
      "tree": "3534e61e1742bb496df5bac7ae15602a0d111d17",
      "parents": [
        "cad9606ee40300d19d9e135065f8ffe29d970c29"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Mar 05 10:20:23 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Mar 05 10:23:19 2012 -0800"
      },
      "message": "Start of X86 LIR description.\n\nChange-Id: I34298bf9cf6bfdb022064bc7fdabffae857c8c5c\n"
    },
    {
      "commit": "4455f7816c697b36fc3c158234770c6f1176b41e",
      "tree": "015a112589bea82b5b04f21c76fd961e3e95d31a",
      "parents": [
        "cad9606ee40300d19d9e135065f8ffe29d970c29"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Mar 05 10:14:28 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Mar 05 10:16:02 2012 -0800"
      },
      "message": "Fix type in README.mips\n\nChange-Id: I0089fba3a0e04573043f3805180c8785342a6862\n"
    },
    {
      "commit": "cad9606ee40300d19d9e135065f8ffe29d970c29",
      "tree": "d43c03c0a5e677353a499077e720d62974cb28dd",
      "parents": [
        "fb6adba0d5d5505610fbd325e7911db700a2f1e8"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Mar 04 10:33:52 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Mar 05 09:07:56 2012 -0800"
      },
      "message": "Fix MIPS comment typo.\n\nChange-Id: I0235350b4d5204e6c3a63b7f73b83c85628067f3\n"
    },
    {
      "commit": "fb6adba0d5d5505610fbd325e7911db700a2f1e8",
      "tree": "84ad8f9cc55a2ae87f80c05927126af7e75604d7",
      "parents": [
        "123e8a7fdf69b40603f7df95f08d62c69ee1c07e"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Mar 04 21:51:51 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Mar 05 08:56:55 2012 -0800"
      },
      "message": "Sharpen virtual calls to final methods.\n\nAlso remove unused instance resolution stub.\n\nChange-Id: I2abb988d107e98ac0148fb81464b22622a468382\n"
    },
    {
      "commit": "123e8a7fdf69b40603f7df95f08d62c69ee1c07e",
      "tree": "ff5a69bd1c8457127d7570f0484ae7f867f41a03",
      "parents": [
        "3ad8b9d7e2f44d7dc5c2e5e500d27f3a31dc5628",
        "ed64e8d73d55e9b2b3e34439ee5747cdb8415c5e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 05 07:01:26 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 05 07:01:26 2012 -0800"
      },
      "message": "Merge \"Add the missing operator\u003c\u003c for InstructionSet and use it in the disassembler.\" into dalvik-dev"
    },
    {
      "commit": "3ad8b9d7e2f44d7dc5c2e5e500d27f3a31dc5628",
      "tree": "e4d24a0c1e7ba5f176a364836858a59a20555dd4",
      "parents": [
        "edbd6ed0f5881e9cc9e2e864aa35b3ea390afacf"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sun Mar 04 23:41:35 2012 -0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sun Mar 04 23:41:35 2012 -0800"
      },
      "message": "Fix build. ART mandates the ordering of fields in SIRT.\n\nChange-Id: I3ea8e165d9598b35045d895caf04a276a6c50576\n"
    },
    {
      "commit": "edbd6ed0f5881e9cc9e2e864aa35b3ea390afacf",
      "tree": "2b139ed283c1527333d425b0b7c914c3a6c89f71",
      "parents": [
        "113f4fc6600ac72c3d5b8ef7c8a9e041116111d0"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sun Mar 04 22:32:59 2012 -0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sun Mar 04 23:08:37 2012 -0800"
      },
      "message": "No more \"-0\", \"-1\" files. gtest-0 or boot-0 are OK, not \"-0\"\n\nChange-Id: I3b00d1511cf03e4bf54b222971f69f2f13f9ab04\n"
    },
    {
      "commit": "113f4fc6600ac72c3d5b8ef7c8a9e041116111d0",
      "tree": "2d185d86ad0e12f028661fba18f809338c982b39",
      "parents": [
        "a8a9c3490776ab897a15bebd31119c94ede5c19a"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sun Mar 04 14:28:35 2012 -0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sun Mar 04 23:07:30 2012 -0800"
      },
      "message": "Add runtime support routines to runtime_support_llvm.h and utils_llvm.\n\nE.g., to pass compiler_test, add\nart_throw_null_pointer_exception_from_code.\n\nChange-Id: Ib8a367fd52ee82dcafe8f916050f0b59e5eda3bb\n"
    },
    {
      "commit": "a8a9c3490776ab897a15bebd31119c94ede5c19a",
      "tree": "71f4bea1ffafb679209f18aee242ca41c3fd7ed2",
      "parents": [
        "a33cb99eeb65cb91ba29bfc31d7794b761781e74"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sat Mar 03 22:35:16 2012 -0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sun Mar 04 23:04:23 2012 -0800"
      },
      "message": "Initial runtime support routines for ART LLVM.\n\nChange-Id: Id5bb87685e1a95444bdd7a676f68b378e1b88d3f\n"
    },
    {
      "commit": "a33cb99eeb65cb91ba29bfc31d7794b761781e74",
      "tree": "5c5a6eae547d986613caae2ca6bcb7947526d205",
      "parents": [
        "a2ebdd74eb2f36e6efa7a482bc11c7b93d97c2c3",
        "40627dbd27b3c9e2cf32768882d9859ce71ef015"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Mar 04 20:11:39 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Mar 04 20:11:39 2012 -0800"
      },
      "message": "Merge \"Disassembler support for branches.\" into dalvik-dev"
    },
    {
      "commit": "40627dbd27b3c9e2cf32768882d9859ce71ef015",
      "tree": "5dc265a1a3fda7c75679c5c6a5cb55d2bd3ada90",
      "parents": [
        "11f9d2130e938511efceb6d2a4793cee7dfdde35"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Mar 04 17:31:09 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Mar 04 20:08:54 2012 -0800"
      },
      "message": "Disassembler support for branches.\n\nChange-Id: Ifc6b0177a984b972c54ac5e3a86ab874fcc9d747\n"
    },
    {
      "commit": "a2ebdd74eb2f36e6efa7a482bc11c7b93d97c2c3",
      "tree": "2d63c98a1f729f1e17969bfbc4b7dc1da48f4567",
      "parents": [
        "11f9d2130e938511efceb6d2a4793cee7dfdde35"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Mar 04 14:57:06 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun Mar 04 15:00:36 2012 -0800"
      },
      "message": "Complete MIPS code generation support\n\nWith this CL code generation for MIPS is complete (though untested on\nactual hardware).  Core and the boot classpath compile without issue.\n\nThe primary thrust here was to support expanding of short branch\nsequences to long form during assembly if the displacement field overflowed.\nThat led to a general cleanup of creation on LIR nodes outside of the\nnormal flow.\n\nAlso introduced is a README to describe the state of MIPS support, as well\nas memory barrier handling.\n\nChange-Id: I251a2ef8d74bc7183406dce9493464be24a9d7f7\n"
    },
    {
      "commit": "11f9d2130e938511efceb6d2a4793cee7dfdde35",
      "tree": "cf6a63ad64a66c5ee225c789adc15ba4962d526c",
      "parents": [
        "e8267506ac2d64351e21ce90e8643b9247e1803c"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@google.com",
        "time": "Sat Mar 03 20:03:18 2012 -0800"
      },
      "committer": {
        "name": "Bill Buzbee",
        "email": "buzbee@google.com",
        "time": "Sat Mar 03 20:03:18 2012 -0800"
      },
      "message": "Mips portable floating point support\n\nFleshing out the portable floating point.\n\nChange-Id: Ie7a6dcb168a4eb2a61a52e6d747da4118d54f3aa\n"
    },
    {
      "commit": "e8267506ac2d64351e21ce90e8643b9247e1803c",
      "tree": "e36eebed027e0db210b6edb1b95f5475064904c0",
      "parents": [
        "434ce294296b41a962a4fd86c3deb1f0f462d3e6",
        "c5159d55ca8e9022b748176f9f53676e8e9d4cd2"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sat Mar 03 16:33:01 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 03 16:33:01 2012 -0800"
      },
      "message": "Merge \"MIPS switch table support\" into dalvik-dev"
    },
    {
      "commit": "c5159d55ca8e9022b748176f9f53676e8e9d4cd2",
      "tree": "d407a682788fbbca4dbd0821350058a3c2901617",
      "parents": [
        "5b455485c1deda58959fdc410050e01448c032c2"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sat Mar 03 11:48:39 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sat Mar 03 16:32:24 2012 -0800"
      },
      "message": "MIPS switch table support\n\nAnd 64-bit neg/add/sub (ouch! Mips has no carry bit...)\n\nChange-Id: Ifb94324a0052d6069977fb8f22679b95890445d8\n"
    },
    {
      "commit": "434ce294296b41a962a4fd86c3deb1f0f462d3e6",
      "tree": "00961755d4b53d178f8820febbf6f352778b77f3",
      "parents": [
        "4c17dffabb0ad062574018ba1b2e760ec34a03ee",
        "c77928475995d01e1d6d2b2d6672510d01a5fce4"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Mar 03 15:48:38 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 03 15:48:38 2012 -0800"
      },
      "message": "Merge \"Fix bug in JNI compiler AAPCS padding calculation\" into dalvik-dev"
    },
    {
      "commit": "c77928475995d01e1d6d2b2d6672510d01a5fce4",
      "tree": "a7d7f10217216601bd26e1e500750d0cf0300da4",
      "parents": [
        "5b455485c1deda58959fdc410050e01448c032c2"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Mar 03 15:36:20 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Mar 03 15:48:03 2012 -0800"
      },
      "message": "Fix bug in JNI compiler AAPCS padding calculation\n\nFixes bug found in Google Earth.\n\nChange-Id: I54beb05a67e77a004052b567c11837cc6f2c18fe\n"
    },
    {
      "commit": "4c17dffabb0ad062574018ba1b2e760ec34a03ee",
      "tree": "5c677c962ec3b8503149dd33e3bd3af48804c28c",
      "parents": [
        "5b455485c1deda58959fdc410050e01448c032c2"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Fri Mar 02 20:15:46 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Sat Mar 03 09:38:27 2012 -0800"
      },
      "message": "Enable -arm-long-calls for ARMv7/Thumb2 code generation.\n\nChange-Id: I3d31fe94f5fb2ff6990343f5399f3c0352c89234\n"
    },
    {
      "commit": "ed64e8d73d55e9b2b3e34439ee5747cdb8415c5e",
      "tree": "8e46939e7ea4873aad92fee45e2fef688a34f0e0",
      "parents": [
        "5b455485c1deda58959fdc410050e01448c032c2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 02 20:37:45 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 02 20:37:45 2012 -0800"
      },
      "message": "Add the missing operator\u003c\u003c for InstructionSet and use it in the disassembler.\n\nChange-Id: I9de4a8a00d9fcbad79f6893eff2aa28aafa8e6e3\n"
    },
    {
      "commit": "5b455485c1deda58959fdc410050e01448c032c2",
      "tree": "8d845941c908b6ef33e2b27add49c56da5a1f2b2",
      "parents": [
        "3a5c1ce3f11805a3382046f699c8fb1410a602b3",
        "a4060e5fe4729fa30bde965efc35779690478fa4"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Mar 02 17:03:07 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 02 17:03:07 2012 -0800"
      },
      "message": "Merge \"Fix a deadlock caused by my big threading change yesterday.\" into dalvik-dev"
    },
    {
      "commit": "a4060e5fe4729fa30bde965efc35779690478fa4",
      "tree": "c1689d50ddc3914c64d53ca345157702cdd4e661",
      "parents": [
        "1f729aac2e3a4924d09cdb1a17f72ee2e22745b4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 02 16:51:35 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 02 16:51:35 2012 -0800"
      },
      "message": "Fix a deadlock caused by my big threading change yesterday.\n\nAlso add even more locking diagnostics that catch this class of error and\nexplain what you\u0027ve done in clear terms. In this case:\n\n03-02 16:42:46.040 20768 20785 E art     : holding ThreadListLock while doing condition variable wait on ThreadSuspendCountLock\n...\n03-02 16:42:46.493 23421 23421 I DEBUG   :     #01  pc 00149e5f  /system/lib/libartd.so (art::Runtime::Abort(char const*, int)+338)\n03-02 16:42:46.493 23421 23421 I DEBUG   :     #02  pc 00113c0b  /system/lib/libartd.so (art::LogMessage::~LogMessage()+1026)\n03-02 16:42:46.493 23421 23421 I DEBUG   :     #03  pc 0015a723  /system/lib/libartd.so (art::Thread::CheckSafeToWait(art::MutexRank)+290)\n03-02 16:42:46.493 23421 23421 I DEBUG   :     #04  pc 0012481f  /system/lib/libartd.so (art::ConditionVariable::Wait(art::Mutex\u0026)+26)\n03-02 16:42:46.493 23421 23421 I DEBUG   :     #05  pc 001631fb  /system/lib/libartd.so (art::ThreadList::FullSuspendCheck(art::Thread*)+154)\n03-02 16:42:46.493 23421 23421 I DEBUG   :     #06  pc 00159ffd  /system/lib/libartd.so (art::Thread::SetState(art::Thread::State)+128)\n03-02 16:42:46.493 23421 23421 I DEBUG   :     #07  pc 00161bb5  /system/lib/libartd.so (art::ScopedThreadListLock::ScopedThreadListLock()+64)\n03-02 16:42:46.493 23421 23421 I DEBUG   :     #08  pc 00164a31  /system/lib/libartd.so (art::ThreadList::Unregister()+92)\n03-02 16:42:46.493 23421 23421 I DEBUG   :     #09  pc 0015e537  /system/lib/libartd.so (art::Thread::CreateCallback(void*)+230)\n03-02 16:42:46.493 23421 23421 I DEBUG   :     #10  pc 00013b08  /system/lib/libc.so (__thread_entry+48)\n03-02 16:42:46.493 23421 23421 I DEBUG   :     #11  pc 0001363c  /system/lib/libc.so (pthread_create+180)\n\nChange-Id: I9cdb770e766f63359ab7d11ee1993dd7a6fc1c90\n"
    },
    {
      "commit": "3a5c1ce3f11805a3382046f699c8fb1410a602b3",
      "tree": "74d7f28a910d4670de71d9edc2e9af3b56d31636",
      "parents": [
        "41f05df8aeba13e853a22820a0f4bf094233e2d9"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Feb 29 10:06:46 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Mar 02 15:47:32 2012 -0800"
      },
      "message": "Extra verbosity and disassembler for oatdump\n\nDisassembler for thumb2 instructions.\nPrint outlying methods for ART files.\nFind oat code methods that require trampolines.\nFix accounting of code and which file contains which bytes.\nDump oat meta-data.\n\nChange-Id: I10f52a4841f57a3f65d61ce0d1bb71bb4eb9f595\n"
    },
    {
      "commit": "41f05df8aeba13e853a22820a0f4bf094233e2d9",
      "tree": "0f107dd37b06d85ee3cf4261b855d836f1f4ba6a",
      "parents": [
        "be00364d260ea96323a070723af0bd61e3ea703a",
        "0398c42cd64682d18120a26c6c39b193fdf97658"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Mar 02 15:40:30 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 02 15:40:30 2012 -0800"
      },
      "message": "Merge \"More MIPS support\" into dalvik-dev"
    },
    {
      "commit": "be00364d260ea96323a070723af0bd61e3ea703a",
      "tree": "065731f9d2f41c68f4d7dea0a642857f2ab8a69d",
      "parents": [
        "bc6ba404efa7bec4ca5d9fdee890cba7beaaee5a"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Mar 02 15:28:37 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Mar 02 15:28:37 2012 -0800"
      },
      "message": "Another attempt to fix the mac build\n\nChange-Id: Ib005ee782085e809f97ffb1a8fb843bca29d2e2d\n"
    },
    {
      "commit": "0398c42cd64682d18120a26c6c39b193fdf97658",
      "tree": "f5a60c8bca5d4acd7b31d21239f3c74bf7c7d42c",
      "parents": [
        "82488f563e7f72f8c626052893c1792d76ab3faf"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Mar 02 15:22:47 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Mar 02 15:22:47 2012 -0800"
      },
      "message": "More MIPS support\n\nWorking through the unimps.\n\nChange-Id: Ie088d2061ca9a77f42ebd75e2936159465deed10\n"
    },
    {
      "commit": "bc6ba404efa7bec4ca5d9fdee890cba7beaaee5a",
      "tree": "f309b72db67250d828d5db168834c9167c2b4e80",
      "parents": [
        "1f729aac2e3a4924d09cdb1a17f72ee2e22745b4"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Mar 02 14:52:47 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Mar 02 14:57:37 2012 -0800"
      },
      "message": "Fix the mac build - tweak the display format\n\nChange-Id: I6c89ba96556f0db847d3426544adeeac98e14051\n"
    },
    {
      "commit": "1f729aac2e3a4924d09cdb1a17f72ee2e22745b4",
      "tree": "c591f64fea660a410647adc82a3f08c160399efd",
      "parents": [
        "82488f563e7f72f8c626052893c1792d76ab3faf"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 02 13:55:41 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 02 13:55:41 2012 -0800"
      },
      "message": "Make diagnostic output more consistent.\n\nChange-Id: I3a2feb06fc0ef1db6b17ebd64c2241d94193a5d7\n"
    },
    {
      "commit": "82488f563e7f72f8c626052893c1792d76ab3faf",
      "tree": "e17e3bc62adf8b57bfeb86a3a879dfb099d3d1d7",
      "parents": [
        "013b6f296ff7c0cb6aa5aeb6868df05995eeadb7"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Mar 02 08:20:26 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Mar 02 13:02:52 2012 -0800"
      },
      "message": "Multi-target Codegen cleanup\n\nTrying to get a bit more consistent in the abstraction layer\nnaming:\n\n     genXXX   -\u003e high-level codegen, for ex: genIGet()\n     opXXX    -\u003e instruction-level output, for ex: opRegImm()\n\nAlso more fleshing out of the Mips codegen support.\n\nChange-Id: Iafdf397cbb5015bfe3aa2c38680d96c7c05f8bc4\n"
    },
    {
      "commit": "013b6f296ff7c0cb6aa5aeb6868df05995eeadb7",
      "tree": "6ea7d86b3b79d8562fc50566ac392f3572a971e2",
      "parents": [
        "6d6d754c5500e29e5e6ec6b3404725535b794e1e"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Fri Mar 02 17:20:33 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Fri Mar 02 01:41:30 2012 -0800"
      },
      "message": "Print LLVM passes time consumption.\n\nChange-Id: I592b843da83acefb5b397e07565406254081d3df\n"
    },
    {
      "commit": "6d6d754c5500e29e5e6ec6b3404725535b794e1e",
      "tree": "34a6c1bbad3860fab9d9c9f6980d0559af63f934",
      "parents": [
        "480c5734d2bf5bceace1d5db96c41ea6ba328273"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Fri Mar 02 14:00:31 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Mar 01 22:11:17 2012 -0800"
      },
      "message": "Remove duplicated code.\n\nChange-Id: Ib884f29e1dcefd6e36526b0b306031a7a52e8c43\n"
    },
    {
      "commit": "480c5734d2bf5bceace1d5db96c41ea6ba328273",
      "tree": "22745353684e846bb93b21bde4799e89421a9b44",
      "parents": [
        "ffb465f23d9549dd591e6aa62e9250523cb00233",
        "ce1190657a66a414e8e6a79cf9bcf6ddeae0d934"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Mar 01 21:21:25 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 01 21:21:26 2012 -0800"
      },
      "message": "Merge \"Remove MutexLock from the argument.  Use AssertHeld instead.\" into dalvik-dev"
    },
    {
      "commit": "ffb465f23d9549dd591e6aa62e9250523cb00233",
      "tree": "2108ba79a4ec8031faa56ef0806f93bc2217c237",
      "parents": [
        "71ac99485e79ad7eb1ba3ea2d404d53bb5784c13"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 01 18:46:05 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 01 21:15:36 2012 -0800"
      },
      "message": "libcorkscrew native stacks, mutex ranking, and better ScopedThreadListLock.\n\nThis change uses libcorkscrew to show native stacks for threads in kNative or,\nunlike dalvikvm, kVmWait --- working on the runtime directly I\u0027ve found it\nsomewhat useful to be able to see _which_ internal resource we\u0027re waiting on.\nWe can always take that back out (or make it oatexecd-only) if it turns out to\nbe too noisy/confusing for app developers.\n\nThis change also lets us rank mutexes and enforce -- in oatexecd -- that you\ntake locks in a specific order.\n\nBoth of these helped me test the third novelty: removing the heap locking from\nScopedThreadListLock. I\u0027ve manually inspected all the callers and added a\nScopedHeapLock where I think one is necessary. In manual testing, this makes\njdb a lot less prone to locking us up. There still seems to be a problem with\nthe JDWP VirtualMachine.Resume command, but I\u0027ll look at that separately. This\nis a big enough and potentially disruptive enough change already.\n\nChange-Id: Iad974358919d0e00674662dc8a69cc65878cfb5c\n"
    },
    {
      "commit": "ce1190657a66a414e8e6a79cf9bcf6ddeae0d934",
      "tree": "ed4593bbfd1cab11ffdd72bea3b6b3a0b153b5dd",
      "parents": [
        "71ac99485e79ad7eb1ba3ea2d404d53bb5784c13"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Fri Mar 02 11:57:34 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Mar 01 21:11:24 2012 -0800"
      },
      "message": "Remove MutexLock from the argument.  Use AssertHeld instead.\n\nChange-Id: I43beab4cf30cbb6b2d3c383d492240d4a1ac8068\n"
    },
    {
      "commit": "71ac99485e79ad7eb1ba3ea2d404d53bb5784c13",
      "tree": "1a3a853d1b3b64f3d99b4b8f8dd9d2f85cd13d92",
      "parents": [
        "5de3494e4297c0d480409da3fecee39173f1d4e1"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Mar 01 17:23:10 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Mar 01 17:23:10 2012 -0800"
      },
      "message": "Change assembler to use byte instruction lengths\n\nChange the Arm \u0026 Mips instruction templaces to record instruction\nsize in bytes rather than half-words.  Also includes a few Mips\nchanges to get us in compilable state.\n\nChange-Id: I5a4f6cbd0cb0569805d9dfbd341c244152e59ac7\n"
    },
    {
      "commit": "5de3494e4297c0d480409da3fecee39173f1d4e1",
      "tree": "269cd3447925d0b474d47fb056da4730f288ee12",
      "parents": [
        "6edfde4ae89f3a16d22ca82c928a5dd420e9fce9"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Mar 01 14:51:57 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Mar 01 16:43:54 2012 -0800"
      },
      "message": "Another step towards a Mips target\n\nUpdating the MIPS target to use the now common codegen routines.\nStill much to do, but the general structure is sufficient to allow\nwork to begin on the other target.\n\nChange-Id: I0d288fdfb59c8e76fad73185fdd56b345e87b604\n"
    },
    {
      "commit": "6edfde4ae89f3a16d22ca82c928a5dd420e9fce9",
      "tree": "79215d9e8ef82914033311c74d7a09f041276337",
      "parents": [
        "50aaf814cc01a02c81b10a913fa161ad13c1a3b3"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Mar 01 15:49:12 2012 -0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Mar 01 15:50:48 2012 -0800"
      },
      "message": "Add kMips and mips32r2 target attribute. Remove NoFramePointerElim.\n\nMIPS ICS devices today are mips32r2. Tested LLVM on MIPS devices without\nsynci and rdhwr instructions to make sure LLVM/mips32r2 is working.\n\nChange-Id: If1db7fe268e9f3b7d27eedbacd1d55620d57612a\n"
    },
    {
      "commit": "50aaf814cc01a02c81b10a913fa161ad13c1a3b3",
      "tree": "ea95841247d1b6fac791e114152d637491809e4b",
      "parents": [
        "d6e614bf540679f16575db9a2318909259db2d9d"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Thu Mar 01 21:03:24 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Mar 01 12:23:42 2012 -0800"
      },
      "message": "Code cleanup: Move private members to the end of class declaration.\n\nChange-Id: Id5be7b5484623bb40687df400b5b4370dbb7cdbe\n"
    },
    {
      "commit": "d6e614bf540679f16575db9a2318909259db2d9d",
      "tree": "3384e05e466b46fda7baf6675a98364c134df6e4",
      "parents": [
        "4f00596ddd181cac1804ff49f45f3ae76244556b"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Thu Mar 01 20:57:44 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Mar 01 12:22:35 2012 -0800"
      },
      "message": "Rename header guard of compiler_llvm.h\n\nChange-Id: Ib13fc8c0c8f39288a5c6e994928c0f4787a16a4c\n"
    },
    {
      "commit": "4f00596ddd181cac1804ff49f45f3ae76244556b",
      "tree": "9af05f71baac68ca05b99f08453848814e2f18e2",
      "parents": [
        "7f76761d8705b7aa5b1fdd2fc1ebb80250992f4c"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Thu Mar 01 20:36:30 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Mar 01 12:21:54 2012 -0800"
      },
      "message": "Remove incorrect LOG(INFO).\n\nChange-Id: Ied2808806dabc03e115402e8a453ce57c1318693\n"
    },
    {
      "commit": "7f76761d8705b7aa5b1fdd2fc1ebb80250992f4c",
      "tree": "4a94f53797ce340ec147896baca6333522040637",
      "parents": [
        "94bbf8873848b9c5e99d0f77abe1cda0f038aadb"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Thu Mar 01 18:54:49 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Mar 01 12:17:05 2012 -0800"
      },
      "message": "Cleanup LLVM code generation code.\n\nMaterialize the bitcode in the end of CompileClass,\nso that the code generation time won\u0027t be calculated\nin method compilation time.\n\nChange-Id: I1e2bd0b23bcb5c55bd966a31b1df0b8b34922f94\n"
    },
    {
      "commit": "94bbf8873848b9c5e99d0f77abe1cda0f038aadb",
      "tree": "09520f773a2bf4222e70cd864419ac1fda52dcb9",
      "parents": [
        "dbe72bde0815ad53d26ec26da581c163d7928656"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Mar 01 12:05:14 2012 -0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Mar 01 12:05:14 2012 -0800"
      },
      "message": "Fix the build by adding #if defined(ART_USE_LLVM_COMPILER)\n\nChange-Id: Ib30784651bc30b841db1e4248bef061933b1fae9\n"
    },
    {
      "commit": "dbe72bde0815ad53d26ec26da581c163d7928656",
      "tree": "e37e7e920bf42736845ce1ace6b94cb6801cbc7a",
      "parents": [
        "8ee03b5f4fce36047927191f7cc48c0ed2382445"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Thu Mar 01 18:27:33 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Mar 01 11:52:45 2012 -0800"
      },
      "message": "Allocate local variable on the stack.\n\nChange-Id: I14ce622686d44e975e2760e2f1c1e0e64e83125f\n"
    },
    {
      "commit": "8ee03b5f4fce36047927191f7cc48c0ed2382445",
      "tree": "69b9cc5ea456b628f282c0515b8bd75f98424d77",
      "parents": [
        "bfe4ea4463848ccb91e0848d35d79539d52c627a"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Thu Mar 01 13:53:02 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Mar 01 11:51:51 2012 -0800"
      },
      "message": "Use switch statement to select target triple.\n\nChange-Id: I40a77c816231663bf19c635af69f48f5e10363fc\n"
    },
    {
      "commit": "bfe4ea4463848ccb91e0848d35d79539d52c627a",
      "tree": "7e96875639c7248ea1ae3007a0ad9c947b803d3e",
      "parents": [
        "4eb953f49e9febf908bd57a559e4894dd1867ac9"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Thu Mar 01 13:24:17 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Mar 01 11:50:30 2012 -0800"
      },
      "message": "Code cleanup\n\nCleanup some code to follow the coding convention,\nsuch as changing \"T const*\" to \"const T*\".\n\nChange-Id: I1a96f17a86b7bfafea2474834d6a1eaaa5a834f6\n"
    },
    {
      "commit": "4eb953f49e9febf908bd57a559e4894dd1867ac9",
      "tree": "b8c214a763f18114a07cfad995160a88598e4d2c",
      "parents": [
        "1557ea53f9f13d8785911064f576663f0f01afaa"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Thu Mar 01 13:16:52 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Mar 01 11:49:37 2012 -0800"
      },
      "message": "Update the header guard of oat_compilation_unit.h\n\nChange-Id: I56b946a6dd2410ef7835068c0a104cb582fe4a10\n"
    },
    {
      "commit": "1557ea53f9f13d8785911064f576663f0f01afaa",
      "tree": "ccf490871cb8356f29fa9aecebce802b9e7c42ad",
      "parents": [
        "e84f807b454521b6e34915b4872b39075724cb41"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Thu Mar 01 13:15:34 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Mar 01 11:48:36 2012 -0800"
      },
      "message": "Disable frame pointer elimination of the LLVM code generator.\n\nChange-Id: I81f79997e339a0f8d947daddf44b1f18b4c276f2\n"
    },
    {
      "commit": "e84f807b454521b6e34915b4872b39075724cb41",
      "tree": "ac70b660b4db7ddbb2c67b34bc9e50ef2414ea0a",
      "parents": [
        "c73a7562fd82b027a6a49dc8f2ad53ab2982208e",
        "dd7cf5b005ee368ce8df548af85579fbea20dcb3"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Mar 01 11:47:23 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 01 11:47:23 2012 -0800"
      },
      "message": "Merge \"Move llvm::PassRegistry to InitializeLLVM().\" into dalvik-dev"
    },
    {
      "commit": "dd7cf5b005ee368ce8df548af85579fbea20dcb3",
      "tree": "aa60af6a106e8916e81afbd2523ee11c2d21f4dc",
      "parents": [
        "5b8b1edc803a85bb3172560826d6a23fb23c3452"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Thu Mar 01 12:55:19 2012 +0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Mar 01 11:46:17 2012 -0800"
      },
      "message": "Move llvm::PassRegistry to InitializeLLVM().\n\nChange-Id: I0b897b7dddc927c8f8dbdc73f3598304a435819e\n"
    },
    {
      "commit": "c73a7562fd82b027a6a49dc8f2ad53ab2982208e",
      "tree": "a4866f1c2582afb92e2717df989ec20d34c71f84",
      "parents": [
        "a1e3a58f682ecf1fee00508c7140ae0a5d6329f8",
        "5b8b1edc803a85bb3172560826d6a23fb23c3452"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Mar 01 11:45:56 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 01 11:45:56 2012 -0800"
      },
      "message": "Merge \"Implement Link-loading and pass 62 tests in JniInternalTest.\" into dalvik-dev"
    },
    {
      "commit": "5b8b1edc803a85bb3172560826d6a23fb23c3452",
      "tree": "43fe7644011ad6b8c7175ee9748f5fd27e0d27af",
      "parents": [
        "31a4a6f5717f645da6b97ccc1e420ae1e1c71ce0"
      ],
      "author": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Feb 23 23:48:21 2012 -0800"
      },
      "committer": {
        "name": "Shih-wei Liao",
        "email": "sliao@google.com",
        "time": "Thu Mar 01 11:44:02 2012 -0800"
      },
      "message": "Implement Link-loading and pass 62 tests in JniInternalTest.\n\nThe passed tests include the 12 originally ARM-only tests. Now it works\non x86 as well if defined(ART_USE_LLVM_COMPILER).\n\nChange-Id: I03092637fa4f0979ca77e0cac06e5d31a867e465\n"
    },
    {
      "commit": "fe487d0c789b94e75c93a2b799f1955c3e4edb10",
      "tree": "cc490fab25de0c6cab87fb8b68e3136e315130ba",
      "parents": [
        "31a4a6f5717f645da6b97ccc1e420ae1e1c71ce0"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Feb 29 18:49:16 2012 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Mar 01 09:49:10 2012 -0800"
      },
      "message": "Fix dump-oat-Calculator\n\nalso add --host-prefix defaulting to oatdump matching oatexec\n\nChange-Id: I0e82f78510be18dcb09dbb1ec14931fe46173a68\n"
    },
    {
      "commit": "31a4a6f5717f645da6b97ccc1e420ae1e1c71ce0",
      "tree": "de07c7175bcda6c2e3f11329d72d142319354f3f",
      "parents": [
        "32c9a2decebe7b736e1f05b53b5822affea5e81d"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Feb 28 15:36:15 2012 -0800"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Feb 29 18:52:47 2012 -0800"
      },
      "message": "More target-independence\n\nContinuing to move target-specific code from the Arm\ncode generator into the independent realm.  This will be\ndone in multiple small steps.\n\nIn this CL, the focus is on unifying the LIR data structure and\nvarious enums that don\u0027t really need to be target specific. Also\ncreates two new shared source files: GenCommon.cc (to hold\ntop-level code generation functions) and GenInvoke.cc (which\nis likely to be shared only by the Arm and Mips targets).\n\nAlso added is a makefile hack to build for Mips (which we\u0027ll\neventually remove when the compiler support multiple targets\nvia the command line) and various minor cleanups.\n\nOverall, this CL moves more than 3,000 lines of code from\ntarget dependent to target independent.\n\nChange-Id: I431ca4ae728100ed7d0e9d83a966a3f789f731b1\n"
    }
  ],
  "next": "32c9a2decebe7b736e1f05b53b5822affea5e81d"
}
