)]}'
{
  "log": [
    {
      "commit": "700a402244a1a423da4f3ba8032459f4b65fa18f",
      "tree": "4c22fcda04d271bd55a37aff30650214af17a90c",
      "parents": [
        "047c11adcbcbc0bcf210defdfcbada763961ffee"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon May 19 16:49:03 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon May 19 22:27:39 2014 -0700"
      },
      "message": "Now we have a proper C++ library, use std::unique_ptr.\n\nAlso remove the Android.libcxx.mk and other bits of stlport compatibility\nmechanics.\n\nChange-Id: Icdf7188ba3c79cdf5617672c1cfd0a68ae596a61\n"
    },
    {
      "commit": "6cd2845c8697074c97b01a68f241314aded9f492",
      "tree": "69b052b3b1ea0076b39a9f282f164af1c9e90603",
      "parents": [
        "ed4b6267dde3bc93fae9ce7000880ca017e04114"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri May 16 15:45:02 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri May 16 15:45:02 2014 -0700"
      },
      "message": "ART: Turn off ARM64 compilation for now\n\nWhen no compiler filter string is given to dex2oat for ARM64,\ndefault to interpreter.\n\nChange-Id: I2a97e07b1d9b75a04aafe4aaa4437e500bdaf202\n"
    },
    {
      "commit": "3ac05bba3eadccb33d26b41d9797f63e8378125f",
      "tree": "4c801c5dc41290a7e7a1cbc2915a357a416ecd7e",
      "parents": [
        "c2ffcecb61e474f29f3c6a8721dfd00e0252b1f8"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue May 13 19:31:38 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed May 14 09:25:34 2014 -0700"
      },
      "message": "Remove ISA from boot image name.\n\nPartially reverts b9beb2e2efb6a204a69ca660d478b45f851e8f09\n\nBug: 14882223\n\n(cherry picked from commit 3da44327c8306bb354c0163a7c7779dea6eeb38a)\n\nChange-Id: Idc9266a97d1047434c110ef140e2f2708c4aadef\n"
    },
    {
      "commit": "5131638f826b74c4e2af62b8ac70eeef1232c99b",
      "tree": "ae06103a9e0af30fba75ba626655c5e8c43b3469",
      "parents": [
        "20cdc069f06f34828e51bcf89597bebe5df445d5"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue May 13 14:59:37 2014 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue May 13 15:05:24 2014 -0700"
      },
      "message": "dex2oat: convert NULL to nullptr\n\nChange-Id: I658511212f7ab265de473e198f8fe3625bbc9b46\n"
    },
    {
      "commit": "20cdc069f06f34828e51bcf89597bebe5df445d5",
      "tree": "916f48e3aa5c688fb5b0642f4a6963f595b64a93",
      "parents": [
        "b720c4b7c6e484c9d0740d805c8d7c3dbeb2a545",
        "d5185344e19d9feb7ac268369e0af6a467d1cb48"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue May 13 22:03:04 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 13 22:03:05 2014 +0000"
      },
      "message": "Merge \"Changes for vogar compatibility\""
    },
    {
      "commit": "d5185344e19d9feb7ac268369e0af6a467d1cb48",
      "tree": "bf5e7174ff631a86b5776ff6ddfa0dfa9de810fb",
      "parents": [
        "a47dcbf4bc226b5bbf30618fc052e7c79672af7a"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue May 13 14:47:05 2014 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue May 13 14:47:11 2014 -0700"
      },
      "message": "Changes for vogar compatibility\n\nMake sure dex2oat can make an image with an empty list of image_classes.\nAdd in some checks to make sure that no bad arguments sneak into\nCompilerDriver.\n\nIf we\u0027re not on the ART_TARGET, we should check for the \"hostdex\"\nversions of the libraries to substitute in our libart version.\n\nChange-Id: I5e8485c6089d25664492f0217b43ef64ca84c061\n"
    },
    {
      "commit": "eb8167a4f4d27fce0530f6724ab8032610cd146b",
      "tree": "bcfeaf13ad78f2dd68466bbd0e20c71944f7e854",
      "parents": [
        "6fb66a2bc4e1c0b7931101153e58714991237af7"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed May 07 15:43:14 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue May 13 14:45:54 2014 -0700"
      },
      "message": "Add Handle/HandleScope and delete SirtRef.\n\nDelete SirtRef and replaced it with Handle. Handles are value types\nwhich wrap around StackReference*.\n\nRenamed StackIndirectReferenceTable to HandleScope.\n\nAdded a scoped handle wrapper which wraps around an Object** and\nrestores it in its destructor.\n\nRenamed Handle::get -\u003e Get.\n\nBug: 8473721\n\nChange-Id: Idbfebd4f35af629f0f43931b7c5184b334822c7a\n"
    },
    {
      "commit": "ad930da1d67968600aab8441c24f5c4cc6e001bd",
      "tree": "8ce7f544da7b4b0be26d19e85c70e2861b068da1",
      "parents": [
        "6f2b602999a9b5253de98e4c8749f821b0046ac2",
        "7624d25dad2d1ba25969ae704fccf68649103ae5"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 13 15:56:12 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 13 15:56:14 2014 +0000"
      },
      "message": "Merge \"Move quick frame info to OatQuickMethodHeader.\""
    },
    {
      "commit": "7624d25dad2d1ba25969ae704fccf68649103ae5",
      "tree": "de72194b76a4e23e0b15ec4085447ae7e4425815",
      "parents": [
        "e1910f1d802dff79bba5ef61e1c4fd0b95f6e5b0"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 02 14:40:15 2014 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 13 11:43:22 2014 +0100"
      },
      "message": "Move quick frame info to OatQuickMethodHeader.\n\nRename OatMethodHeader to OatQuickMethodHeader, move frame\ninfo from OatMethodOffsets to OatQuickMethodHeader. Retrieve\nthe info from other places for non-quick methods (portable\ncompiled bytecode or jni stub, generic jni, runtime,\nabstract and proxy).\n\nThis change has a libcore/ companion CL\n  \"Remove ArtMethod\u0027s quick fields for frame size and spills.\"\n  https://android-review.googlesource.com/94164\n\nBug: 11767815\nChange-Id: I0e31a7875d76732e1ec479c86b9b5ca01203507f\n"
    },
    {
      "commit": "b9beb2e2efb6a204a69ca660d478b45f851e8f09",
      "tree": "168765e73d342712800566b562fb5276f63e49ef",
      "parents": [
        "6393eb7043517c5744935c48e3fd45a482915c2b"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri May 09 16:57:40 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon May 12 15:18:23 2014 -0700"
      },
      "message": "Place ISA into boot image name.\n\nDepends upon:\nhttps://android-review.googlesource.com/94078\n\nChange-Id: I22c18b03b2c0db7a3f792920064e7710363b58b4\n"
    },
    {
      "commit": "674744e635ddbdfb311fbd25b5a27356560d30c3",
      "tree": "c61c3979cbb25bda24954d41f19c64521fbe3b9d",
      "parents": [
        "18694f430b1e499954e5e4fcdbd6ac07a07763ae"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Apr 24 15:18:26 2014 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu May 08 18:45:59 2014 +0100"
      },
      "message": "Use atomic load/store for volatile IGET/IPUT/SGET/SPUT.\n\nBug: 14112919\nChange-Id: I79316f438dd3adea9b2653ffc968af83671ad282\n"
    },
    {
      "commit": "9e06c8cd4a2e1471754470e09aaab63c0795b4af",
      "tree": "c8f7889b9740c9189ac0f11720ff9e18a41b1102",
      "parents": [
        "7189fee4268c70d7ed0151e988ff7c7cd85f2a30"
      ],
      "author": {
        "name": "Zheng Xu",
        "email": "zheng.xu@arm.com",
        "time": "Tue May 06 18:06:07 2014 +0100"
      },
      "committer": {
        "name": "Zheng Xu",
        "email": "zheng.xu@arm.com",
        "time": "Wed May 07 15:06:29 2014 +0100"
      },
      "message": "AArch64: Add fake arm64 backend, and disable it by method filter.\n\nJust create an ArmCodeGenerator for arm64, but currently no code will\nbe generated for arm64.\n\nThe method filter can:\n1. Skip methods with unsupported prototype.\n2. Skip methods with unsupported dalvik byte code.\n3. Skip methods with invocation to unsupported prototype.\n\nThese are temporary codes and should be removed later. But with this\npatch, it won\u0027t break anything when we merge partly implemented arm64\nbackend later.\n\nChange-Id: Ib9180d7b8a978f0a5ebaf6b4893e7e3724897113\n"
    },
    {
      "commit": "43221f789244a898dc9f14e8b063d4c73326b47a",
      "tree": "142d314839f1b980535bcd396688f2a1ccaf307d",
      "parents": [
        "394d4e772e88a304fed8b721755bc7a8d97fb247",
        "7ca278be5f6f15681350e9f05af434df4aab59ca"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu May 01 23:19:20 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 01 23:19:20 2014 +0000"
      },
      "message": "Merge \"Disable the ahead-of-time compilation for MIPS.\""
    },
    {
      "commit": "7ca278be5f6f15681350e9f05af434df4aab59ca",
      "tree": "1ca52f9168a37b7348a717ac3efd822ea90b886e",
      "parents": [
        "b3016551e5f264264dbb633a1ddf03ac97f9c66c"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu May 01 12:24:37 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu May 01 12:24:49 2014 -0700"
      },
      "message": "Disable the ahead-of-time compilation for MIPS.\n\nBug: 14464004\n\nChange-Id: I551c0dc4122853a1a9ab566d03bac74cc057cba5\n"
    },
    {
      "commit": "11d9f06a96a6909905c248ed684366190140095c",
      "tree": "27b02ab216b98ba1656d66072fd46c5adec61242",
      "parents": [
        "b3016551e5f264264dbb633a1ddf03ac97f9c66c"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 23 20:24:57 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu May 01 11:25:07 2014 +0100"
      },
      "message": "Use instruction specific dalvik cache dirs.\n\n- All oat \u0026 art files are now placed under /data/dalvik-cache/\u003cisa\u003e/.\n- GetDalvikCacheOrDie now requires a mandatory subdirectory argument,\n  and is implicitly rooted under /data/.\n- Added helper methods to convert InstructionSet enums into strings\n  and vice versa.\n\n(cherry picked from commit 2974bc3d8a5d161d449dd66826d668d87bdc3cbe)\n\nChange-Id: Ic7986938e6a7091a2af675ebafec768f7b5fb8cd\n"
    },
    {
      "commit": "bf25f7e3a007ecfe4b2bcfa0a9abcb784ff54e26",
      "tree": "6e53daa44e2c03ce13c9a29d38fdbfdc79c2cb08",
      "parents": [
        "0db6d06d1e4dec2ac36ca9c085876eea40d46a50",
        "9cb554a7784307d97c20991d90c76d9cf8a12e01"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Apr 28 04:23:00 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 28 04:23:01 2014 +0000"
      },
      "message": "Merge \"Fix typo of --oat-fd description in help\""
    },
    {
      "commit": "9cb554a7784307d97c20991d90c76d9cf8a12e01",
      "tree": "655402199725897568ffc5d27e8e7d80ff10312c",
      "parents": [
        "da6e4feb6a02fed7f307e1ef3b90e716a99ba24c"
      ],
      "author": {
        "name": "Wonil Kim",
        "email": "wonil.kim@gmail.com",
        "time": "Mon Apr 28 11:26:55 2014 +0900"
      },
      "committer": {
        "name": "Wonil Kim",
        "email": "wonil.kim@gmail.com",
        "time": "Mon Apr 28 11:26:55 2014 +0900"
      },
      "message": "Fix typo of --oat-fd description in help\n\n--oat-fd description in help was copied from --oat-file description.\n\nChange-Id: Idbf36018af58db169f6d65382a7602ec950cce99\nSigned-off-by: Wonil Kim \u003cwonil.kim@gmail.com\u003e\n"
    },
    {
      "commit": "09881a85579cab1779ddf6ba9a91eed861a13cb2",
      "tree": "fae410053b1cc8f0497abb744e820c124015d7b1",
      "parents": [
        "011005100214eb40c2aaad3f8fe9c3dc9465bcec"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Apr 18 17:44:01 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Apr 25 15:40:04 2014 -0700"
      },
      "message": "Do not require dexopt when previous profile does not exist\n\nAlso turn down some dex2oat related noise\n\nBug: 14184659\nChange-Id: I134890f2c452d7f85ca4b736b5724f42533c2a7f\n"
    },
    {
      "commit": "5a9cef81718465118662b22cfa616457cf91b27a",
      "tree": "41e83377afbe1a2f244c09d4dce32557ac666507",
      "parents": [
        "a214996df216757456b548eb9484fe04f8f9b08b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Apr 16 15:03:11 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Apr 16 15:04:43 2014 -0700"
      },
      "message": "Build dex2oat as 64b for the target when using zygote64\n\nIn single-zygote 64b builds we should build dex2oat as 64b to\navoid installd issues\n\nChange-Id: I5f281d90fbd44abbca4182e39162b184be9f1b35\n"
    },
    {
      "commit": "04ae1630adb4d4f10bfa7fded595052a9124de76",
      "tree": "bfba4a9f404bb415598e068a1344d6456ca521e9",
      "parents": [
        "b0f420f93cc4616b196ea84ed72a4010756a73c9"
      ],
      "author": {
        "name": "Stuart Monteith",
        "email": "stuart.monteith@arm.com",
        "time": "Fri Apr 11 11:16:58 2014 +0100"
      },
      "committer": {
        "name": "Stuart Monteith",
        "email": "srdmarm@gmail.com",
        "time": "Fri Apr 11 15:18:12 2014 +0100"
      },
      "message": "AArch64: List arm64 as instruction set option\n\nWhen arm64 was added to dex2oat, it wasn\u0027t added to the list of\ninstruction sets in the help text. This adds it.\n\nChange-Id: I9ffecb67a053b24ad624effd1853ff47331d2e91\nSigned-off-by: Stuart Monteith \u003cstuart.monteith@arm.com\u003e\n"
    },
    {
      "commit": "d6ed642458c8820e1beca72f3d7b5f0be4a4b64b",
      "tree": "1b6e0438f786d6eeb5566e176d71d454a6cdb9e5",
      "parents": [
        "f9487c039efb4112616d438593a2ab02792e0304"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Wed Apr 09 23:36:15 2014 +0000"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Wed Apr 09 23:36:15 2014 +0000"
      },
      "message": "Revert \"Revert \"Revert \"Use trampolines for calls to helpers\"\"\"\n\nThis reverts commit f9487c039efb4112616d438593a2ab02792e0304.\n\nChange-Id: Id48a4aae4ecce73db468587967968a3f7618b700\n"
    },
    {
      "commit": "f9487c039efb4112616d438593a2ab02792e0304",
      "tree": "95f88645bec774d3e8df170bd0f40e4cd0911a34",
      "parents": [
        "b24b0e2bb128532945b31ea62715776d7751f84d"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Tue Apr 08 23:08:12 2014 +0000"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Wed Apr 09 13:18:07 2014 -0700"
      },
      "message": "Revert \"Revert \"Use trampolines for calls to helpers\"\"\n\nThis reverts commit 081f73e888b3c246cf7635db37b7f1105cf1a2ff.\n\nChange-Id: Ibd777f8ce73cf8ed6c4cb81d50bf6437ac28cb61\n\nConflicts:\n\tcompiler/dex/quick/mir_to_lir.h\n"
    },
    {
      "commit": "081f73e888b3c246cf7635db37b7f1105cf1a2ff",
      "tree": "3ad0cab1dfa3bca814ab162cb04af125e819e623",
      "parents": [
        "754ddad084ccb610d0cf486f6131bdc69bae5bc6"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Mon Apr 07 18:58:07 2014 +0000"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Mon Apr 07 18:58:07 2014 +0000"
      },
      "message": "Revert \"Use trampolines for calls to helpers\"\n\nThis reverts commit 754ddad084ccb610d0cf486f6131bdc69bae5bc6.\n\nChange-Id: Icd979adee1d8d781b40a5e75daf3719444cb72e8\n"
    },
    {
      "commit": "754ddad084ccb610d0cf486f6131bdc69bae5bc6",
      "tree": "18d8314f3f6760b035c2bcda7760782ad4f0e0bf",
      "parents": [
        "97a332b4476d5a2b4ad0650dacc6bfcff882fc57"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Wed Feb 19 14:05:39 2014 -0800"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Fri Apr 04 16:07:46 2014 -0700"
      },
      "message": "Use trampolines for calls to helpers\n\nThis is an ARM specific optimization to the compiler\nthat uses trampoline islands to make calls to runtime\nhelper functions.  The intention is to reduce the size\nof the generated code (by 2 bytes per call) without\naffecting performance.\n\nBy default this is on when generating an OAT file.  It is\noff when compiling to memory.\n\nTo switch this off in dex2oat, use the command line option:\n--no-helper-trampolines\n\nEnhances disassembler to print the trampoline entry on the\nBL instruction like this:\n\n0xb6a850c0: f7ffff9e  bl      -196 (0xb6a85000)  ; pTestSuspend\n\nBug: 12607709\nChange-Id: I9202bdb7cf21252ad807bd48701f1f6ce8e3d0fe\n"
    },
    {
      "commit": "91268c1afd6c0d4fad55b7c86d907233d4660205",
      "tree": "618c0488c3ced26275e7117a6c8dddedcbc835a1",
      "parents": [
        "e5893f8fb70c58fe9950c1fc8b1023e32ca34637"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 03 17:50:24 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 04 22:06:33 2014 +0000"
      },
      "message": "Check the machine type of an ELF file when loading.\n\nThis ensures that we reject wrong target ELF files,\nand should result in a recompile for the right\ntarget.\n\nChange-Id: I898dddc4f2bb9b1607a7436083d0ba7619b6007b"
    },
    {
      "commit": "4a200f56b7075309316b04d550c9cc50f8314edd",
      "tree": "0c01f484239203eeeb9f8e5f97300bca09b051ad",
      "parents": [
        "d0ab1223cc8c5181e502196a7765790ad2aba3c8"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Apr 01 14:58:49 2014 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Apr 02 17:18:13 2014 -0700"
      },
      "message": "Add support for -Xverify:none mode.\n\nThis mode skips all verification and compilation.\nPublic bug: https://code.google.com/p/android/issues/detail?id\u003d67664\n\nChange-Id: Idd00ab8e9e46d129c02988b063c41a507e07bf5b\n"
    },
    {
      "commit": "a7a49dd64b2cce5cd3918a01c9cd372931f90dd8",
      "tree": "6a92d080b3870b1987bc851c726ba149785b05bb",
      "parents": [
        "40462bcc8b8fbe8a4981a0fb209e10898a118e2c",
        "8afeb85d3def12b559b7565fb6d3956f81b55132"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Apr 02 23:18:43 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 02 23:18:43 2014 +0000"
      },
      "message": "Merge \"Pass instruction-set from runtime through to spawned dex2oat.\""
    },
    {
      "commit": "8afeb85d3def12b559b7565fb6d3956f81b55132",
      "tree": "60ac7c63d7adba0dc117ac88dd98cc97a879e0ca",
      "parents": [
        "0807e7bbbafc4b4e8e7fb1d2d54fbcb011c05c82"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Apr 02 14:55:49 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Apr 02 14:55:49 2014 -0700"
      },
      "message": "Pass instruction-set from runtime through to spawned dex2oat.\n\nChange-Id: I1727af7beb9f710c29124d4d6bc9175e4856f3cc\n"
    },
    {
      "commit": "d74754320e4706796ebb1d4b413dc1fede6e4854",
      "tree": "d4ab7f6af93b8dbc1889e0e1793e91b95df28629",
      "parents": [
        "0807e7bbbafc4b4e8e7fb1d2d54fbcb011c05c82"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Mar 20 12:55:13 2014 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Apr 02 19:44:09 2014 +0000"
      },
      "message": "force dex2oat target executables to be compiled for 32-bit\n\n64-bit dex2oat doesn\u0027t support 32-bit targets yet, force dex2oat\ntarget executables to compile 32-bit for now by passing in a\nvalue for LOCAL_MULTILIB to build-art-executable.\n\nBug: 13764385\nChange-Id: I41adba1e64f373e4b61a3c13af2592ed4f7d0b57"
    },
    {
      "commit": "b95a5345ae4217b70ca36f0cced92f68dda7caf5",
      "tree": "d9c76db71eb8dd3a668643781eefe6152888fd1d",
      "parents": [
        "66e4c3e96dccdec7423d673ad6bbf7821a776651"
      ],
      "author": {
        "name": "Stuart Monteith",
        "email": "stuart.monteith@arm.com",
        "time": "Wed Mar 12 13:32:32 2014 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Mar 19 17:17:55 2014 -0700"
      },
      "message": "AArch64: Add arm64 runtime support.\n\nAdds support for arm64 to ART. Assembler stubs are sufficient for\ndown calls into interpreter. JNI compiler and generics are not finished.\n\nBasic Generic JNI functionality.\n\nChange-Id: I4a07c79d1e037b9f5746673480e32cf456867b82\n"
    },
    {
      "commit": "0cecf494999cc35e13ff2104145c1d9229bf8776",
      "tree": "f868bc46f369b463f95eea40b31c4c28c78f07af",
      "parents": [
        "b9d50a9829b795932eac4cc50a99b4ce80b0ecb4",
        "cd8ce66a83af05d5ecb59aa6a8aad89a29e0a844"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Mar 13 12:10:49 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 13 12:10:51 2014 +0000"
      },
      "message": "Merge \"Add dex2oat --print-pass-names and --disable-passes\u003d options.\""
    },
    {
      "commit": "b34f69ab43aaf7a6e6045c95f398baf566ef5023",
      "tree": "4090a650de1de3806f6273f3828e77bef9704453",
      "parents": [
        "113f7a4b6093280e4783c69e06467f816a568e72"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 07 15:28:39 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Mar 13 09:10:43 2014 +0000"
      },
      "message": "Add command line support for enabling the optimizing compiler.\n\nAlso run tests with the optimizing compiler enabled when\nthe file art/USE_OPTIMIZING_COMPILER is present.\n\nChange-Id: Ibc33eed62a43547bc3b9fe786d014c0d81b5add8\n"
    },
    {
      "commit": "ffb939a0709ccb100d450e6e30d4c1ca85132163",
      "tree": "9c16e4e7a125004e4d4abcf32676802c426dea97",
      "parents": [
        "fbe40f54d31e8a79c08be64e6e950681a2733242"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Mar 12 11:51:02 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Mar 12 11:51:02 2014 -0700"
      },
      "message": "Set default dex2oat instruction set for x86-64 and ARM64.\n\nChange-Id: I43062dfadb8a4f51304fd06f0105d6af81cf0331\n"
    },
    {
      "commit": "cd8ce66a83af05d5ecb59aa6a8aad89a29e0a844",
      "tree": "a92a3632079120d0833d75e0b9f926d57972a21f",
      "parents": [
        "f1375cd6367fba8b192b7628769931853c25e942"
      ],
      "author": {
        "name": "Chao-ying Fu",
        "email": "chao-ying.fu@intel.com",
        "time": "Tue Mar 11 14:57:19 2014 -0700"
      },
      "committer": {
        "name": "Chao-ying Fu",
        "email": "chao-ying.fu@intel.com",
        "time": "Wed Mar 12 10:44:11 2014 -0700"
      },
      "message": "Add dex2oat --print-pass-names and --disable-passes\u003d options.\n\nAdd --print-pass-names to print a list of pass names.\nAdd --disable-passes\u003d to disable one ore more passes\nseparated by comma.\nEx: Using --disable-passes\u003dUseCount,BBOptimizations can disable UseCount\nand BBOptimizations passes.\n\nChange-Id: I0dffaf10547afdcca78a20d8e0e6b358bfb2ee8c\nSigned-off-by: Chao-ying Fu \u003cchao-ying.fu@intel.com\u003e\n"
    },
    {
      "commit": "39c3bfbd03d85c63cfbe69f17ce5800ccc7d6c13",
      "tree": "fa777039b3f7c34f3dd322d04307766246526080",
      "parents": [
        "0918614b7434783477e8668df7850a7aaf8d5611"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Tue Jan 28 18:33:52 2014 -0800"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Fri Mar 07 13:42:48 2014 -0800"
      },
      "message": "Make use of profiling information for dex2oat\n\nIf the profile file exists, the compiler driver will read it\nand store the data in an internal map.  Then, when we want to work\nout whether to compile a method or not, the map is consulted and if\nthe method shows up with a high enough percentage of use we compile it.\n\nThe profile file itself is created by installd and is writeable by the\napp.  The file is in /data/dalvik-cache/profiles and is named by\nthe package name.\n\nThis also modifies the profiler itself to:\n\n1. Only count runnable threads (not suspended threads) in the profile\n2. Use system properties to allow tuning of the profile parameters\n3. Merge profiles from multiple processes using file locking.\n\nBug: 12877748\nChange-Id: Iab2f3a327a2860db2a80d5724277d6c626227f2b\n\nConflicts:\n\tcompiler/dex/frontend.cc\n\tcompiler/dex/mir_analysis.cc\n\tcompiler/dex/verification_results.cc\n\tcompiler/driver/compiler_driver.cc\n\tdex2oat/dex2oat.cc\n\truntime/class_linker.cc\n\truntime/runtime.cc\n\truntime/runtime.h\n"
    },
    {
      "commit": "c645f1ddb7c40bea6a38eda4b3f83f6b6dec405b",
      "tree": "de6141864c1c011216c19dd99a2c1e2bc442dd6d",
      "parents": [
        "a9d7be62735e3356cef7e8ed797c519134a17061"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 06 18:11:53 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 07 12:09:04 2014 -0800"
      },
      "message": "Add more VerifyObject calls.\n\nAdded verify object calls to SirtRef, IndirectReferenceTable,\nReferenceTable.\n\nRemoved un-needed verify object in ScopedObjectAccess / DecodeJObject\nsince object sources are handled.\n\nBug: 12934910\nChange-Id: I55a46a8ea61fed2a77526eda27fd2cce97a9b125\n"
    },
    {
      "commit": "befbd5731ecca08f08780ee28a913d08ffb14656",
      "tree": "ee359fc38671950afa91d96bf8c29232a799b628",
      "parents": [
        "97c3d61e46a3678dac848578c686c724ec3397fa"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Mar 06 01:13:39 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Mar 06 01:34:07 2014 -0800"
      },
      "message": "Fix host architecture for 64bit.\n\nAlso, hack x86 assembler for use as a x86-64 trampoline compiler\u0027s assembler.\nImplement missing x86-64 quick resolution trampoline.\nAdd x86-64 to the quick elf writer.\n\nChange-Id: I08216c67014a83492ada12898ab8000218ba7bb4\n"
    },
    {
      "commit": "5e754d88c73f1f1fafbbf87d564df000d5a0a12c",
      "tree": "97f90137dfd596aac487ba073f8623263b1522c6",
      "parents": [
        "449fa6e44b220e48dee20f569b46161f3a056add"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Mar 05 10:59:04 2014 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Mar 05 15:38:24 2014 -0800"
      },
      "message": "Revert \"Revert \"Avoid compiling monster methods in boot image\"\"\n\nThis reverts commit f679fab9be8905505d26a62bea257641f0bb0168.\n\n(cherry picked from commit 9d0bdfe63bec5a43d7668d9094a52caf77b6ed53)\n\nChange-Id: I72af1d44483edbd2a5f2e6b678e43f740d4613fd\n"
    },
    {
      "commit": "449fa6e44b220e48dee20f569b46161f3a056add",
      "tree": "982c8feaa7a439c15193a03c75804df1891aeb22",
      "parents": [
        "83f56a43d85dfdadb07cd6b057c03f4df45af647"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Mar 05 10:06:50 2014 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Mar 05 10:37:40 2014 -0800"
      },
      "message": "Revert \"Avoid compiling monster methods in boot image\"\n\nThis reverts commit 217e789288d5a321460ea2399e0eb7f3af6fc91b.\n\n(cherry picked from commit f679fab9be8905505d26a62bea257641f0bb0168)\n\nChange-Id: I058dd461d97bc5992b69941c7597a0aca25df38c\n"
    },
    {
      "commit": "217e789288d5a321460ea2399e0eb7f3af6fc91b",
      "tree": "ed4c1c0273c2a4d64685f3a1a4316af9a9be6ac7",
      "parents": [
        "86b9b4d595c86ebcee3d6523f4d7bff0b0d67bb7"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Feb 05 18:26:04 2014 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Mar 04 23:06:56 2014 -0800"
      },
      "message": "Avoid compiling monster methods in boot image\n\nThe Quick compiler normally avoids compiling extremely large\nmethods (which are usually auto-generated initialization\nroutines) because they take too long to compile, and generally\naren\u0027t executed frequently enough to benefit from compilation.\n\nHowever, we\u0027d previously compiled even large methods in the\nboot image - because it is normally cross-compiled on the host.\nHowever, we are currently compiling it on the target in some\nsituations.  This change moves the default for image creation\nfrom \"compile everything\" to \"compile most things\".\n\nChange-Id: If096e1ae5db2e3a394880e36e19607358e77d677\n"
    },
    {
      "commit": "2ec6520d57479d393bffa05defa1479b25ca8382",
      "tree": "6f5266b53e335c7bf74b52905f64435dd114a18f",
      "parents": [
        "e6031e6fefc8f439b44e284b8563c790ef764c68"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Mar 03 15:16:37 2014 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Mar 04 16:53:15 2014 -0800"
      },
      "message": "Support compiler filters for boot classpath\n\nimage_writer.cc\n  Remove assumption that all methods in the boot classpath are compiled\n\noat_writer.cc\n  Don\u0027t skip writing ArtMethod::quick_code_offset_ for methods that need resolution, leave that to ImageWriter\n\ndex2oat.cc\n  Allow dex2dex compilation of image dex files by making the in memory pages writable in all cases, not just app case.\n\noatdump.cc\n  dump new OatHeader fields\n  use ImageSpace.GetImageFilename, not command line image filename, since location may be in dalvik-cache\n  remove inaccurate check about non-null GC map\n\nquick_trampoline_entrypoints.cc\n  add and improve some DCHECKS that were useful while debugging\n\nclass_linker.cc\nimage_space.cc\n  fix double facepalm\n\nparsed_options.cc\n  fix zygote logging to not skip values to two part options like -classpath \u003cfoo\u003e\n\nruntime.cc\n  wireup parsed compiler options to runtime\n\nChange-Id: Iad314df0b80623c0663d61713d5098297ab9ac87\n"
    },
    {
      "commit": "9583fbcf597eff6d0b3c5359b8e8d5f70ed82c40",
      "tree": "847912709f811adda0fa63e89e4bf8af27769f2e",
      "parents": [
        "093aad184b4451639951a7e012d9b55cbf8c8a07"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 28 15:21:07 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 04 16:30:48 2014 +0000"
      },
      "message": "Remove oat file location in the image.\n\nThe oat file is now always in the same directory, and has the\nsame name as the image file. Only difference is the extension.\n\nThis also removes the need for host-prefix.\n\nChange-Id: I16d1f7aeb1d58372d41921694664e9c321afc1ad\n"
    },
    {
      "commit": "ae9fd93c39a341e2dffe15c61cc7d9e841fa92c4",
      "tree": "e5f70dc307945fd510660ebde1fd259aecdf66a1",
      "parents": [
        "9fab32265f35c808b216210a8d5bebd931279041"
      ],
      "author": {
        "name": "Mark Mendell",
        "email": "mark.p.mendell@intel.com",
        "time": "Mon Feb 10 16:14:35 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Mar 02 11:57:10 2014 -0800"
      },
      "message": "Tell GDB about Quick ART generated code\n\nThis is actually a lot of work.  To do this, we need:\n.debug_info\n.debug_abbrev\n.debug_frame\n.debug_str\n\nThese are generated into the OAT file by OatWriter and ElfWriterQuick.\n\nSince the Quick ART runtime doesn\u0027t use dlopen to load the OAT files,\nGDB can\u0027t find this information.  Use the alternate GDB JIT interface,\nwhich can be invoked at runtime. To use this interface, an ELF image\nneeds to be built in memory.  Read the information from the OAT file,\nfixup the addresses to point to the real locations, add a symbol table\nto hold the .text symbol, and then let GDB know about the information,\nwhich will be read from the runtime address space.\n\nThis is quite primitive now, and could be cleaned up considerably.  It\nprobably needs symbol table entries for the methods, and descriptions of\nparameters and return types.\n\nCurrently only supported for X86.\n\nThis defaults to enabled for debug builds. Added dexoat --gen-gdb-info\nand --no-gen-gdb-info flags to override.\n\nChange-Id: I4d18b2370f6dfaa00c8cc1925f10717be3bd1a62\nSigned-off-by: Mark Mendell \u003cmark.p.mendell@intel.com\u003e\n"
    },
    {
      "commit": "3d504075f7c1204d581923460754bf6d3714b13f",
      "tree": "e095ee11d308f264b3dfb9f4c510f14fe6b1259c",
      "parents": [
        "e4a74a6ac8d1486b1227504044a60002e69a9fec"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Mar 01 09:16:49 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Mar 01 09:16:49 2014 -0800"
      },
      "message": "Make out arguments non-reference types.\n\nAlso, tidy some portable related code.\n\nChange-Id: I67c8aa52eef8b556ca117ecda1b1e75465ba06a5\n"
    },
    {
      "commit": "ae7083dac2db59dcdef869e35ac44a039d888ee9",
      "tree": "65bbdbb112006237f9daeee9fd47f69a3e678f0d",
      "parents": [
        "fffb0b7e23796e5470f4fab4611f2fcc4a16979c"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Feb 24 21:56:02 2014 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Feb 24 21:56:02 2014 -0800"
      },
      "message": "Add additional const\n\nChange-Id: Ibf60cd4cfbb445189efe2439899f2a7084f1ea63\n"
    },
    {
      "commit": "6449c62e40ef3a9bb75f664f922555affb532ee4",
      "tree": "2f1b2120bd648c95dea32b68c8e168e42c8e24fd",
      "parents": [
        "3fcf18e25241253f23efbeebe77b2a4c4a7c54d3"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Feb 10 23:48:36 2014 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Feb 24 14:24:12 2014 -0800"
      },
      "message": "Create CompilerOptions\n\nPackage up most compiler related options in CompilerOptions. Details include:\n- Includes compiler filter, method thresholds, SEA IR mode.\n- Excludes those needed during Runtime::Init such as CompilerCallbacks and VerificationResults.\n- Pass CompilerOptions to CompilerDriver.\n- Remove CompilerOptions from Runtime.\n- Add ability to pass options for app and image dex2oat to runtime via\n  -Xcompiler-option and -Ximage-compiler-option respectively.\n\nOther\n- Replace 2x CompilerCallbacks implementations with one.\n- Factor out execv code for use by both image and oat generation.\n- More OatFile error_msg reporting.\n- DCHECK for SuspendAll found trying to run valgrind.\n\nChange-Id: Iecb57da907be0c856d00c3cd634b5042a229e620\n"
    },
    {
      "commit": "4e30541a92381fb280cd0be9a1763b713ee4d64c",
      "tree": "84093651bbf0ad95b66b846c4f4cf4101994037b",
      "parents": [
        "e266ba9935bd12d685d83f73cd8d759e46c3014d"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Feb 19 10:54:44 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Feb 21 15:24:04 2014 -0800"
      },
      "message": "Fix and optimize verify object.\n\nVerifyObject no longer resides in heap. You can now enable\nVerifyObject for non-debug builds. VerifyStack is still slow, so it\nis now guarded by its own flag.\n\nFixed the image writer to not use verification at places where\nverification fails due to invalid reads.\n\nFixed RosAlloc to use SizeOf which doesn\u0027t call verify object.\n\nAdded a flag paremeter to some of the mirror getters / setters to\nbe able to selectively disable VerifyObject on certain calls.\n\nOptimized the GC to not verify each object multiple times during\nobject scanning if verify object is enabled.\n\nAdded 3 verification options: verify reads, verify this, and verify\nwrites so that you can select how much verification you want for\nmirror getters and setters.\n\nRemoved some useless DCHECKs which would slow debug builds without\nproviding any benefits.\n\nTODO: RosAlloc verification doesn\u0027t currently work with verify\nobjects.\n\nBug: 12934910\nBug: 12879358\n\nChange-Id: Ic61033104dfc334543f89b0fc0ad8cd4f4015d69\n"
    },
    {
      "commit": "5180cc1cddc5112ea544bf9d8323f1d27db56f75",
      "tree": "68f0db574c45377f46573e5dcb6c6b09458c3658",
      "parents": [
        "9a509efcd68644616817f59ed7d442ed6f024ff9"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Feb 21 13:34:16 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Feb 21 13:34:16 2014 -0800"
      },
      "message": "Fix a printf flag that breaks 64bit host builds.\n\nChange-Id: I2dacf3adccde6a397530e91a541d39bcf92627d2\n"
    },
    {
      "commit": "f79fccbf8b5e59a0f48bec754cb7a53877b3c90f",
      "tree": "1e5cd2aaab9cef482c69d8bdef00c6d5db8bb834",
      "parents": [
        "3188d117d6f1ba5f3a30d0ff231d816ebb59a7f7"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Feb 20 08:55:10 2014 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Feb 20 09:18:43 2014 -0800"
      },
      "message": "Add debug code for saving dex file inputs\n\nAlso improve some other logging.\n\nBug: 13078746\nChange-Id: Ic7a7c201b935e2b117ddc38b652cf39152fe42dc\n"
    },
    {
      "commit": "f3e2cc4a38389aa75eb8ee3973a535254bf1c8d2",
      "tree": "ae6cf8c43b724cf2c5d21bd12e0eca507dcc7842",
      "parents": [
        "e7da4cf71712a3d7a64166ceadfb176d07018d32"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 18 18:37:26 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 20 09:43:34 2014 +0000"
      },
      "message": "Code cleanup to avoid LLVM dependency when building with quick only.\n\nChange-Id: I0985c227d775c72fd23975d4c9bf673ba32615c2\n"
    },
    {
      "commit": "f5df8974173124faddb8e2b6a331959afdb94fdf",
      "tree": "26114bf466b445c60176b06a2f8a01f1e14e9358",
      "parents": [
        "32a6c7f3bd76bbe574675d44b7d8076995690a5b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 14 18:37:08 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 18 10:03:48 2014 +0000"
      },
      "message": "Rewrite the compiler interface for CompilerDriver.\n\nChange-Id: I15fa9afe7ffb7283ebda8d788a1e02793e3f75a6\n"
    },
    {
      "commit": "abaf927f29f6feceb3df3e6ced7d01970ba0dbe9",
      "tree": "245cb514e070eea6fd48dba6d1e5d85fcd9146c5",
      "parents": [
        "9e36e4c3abdc5f101a2ce2beb3681a941f9d4be5",
        "ea3fa0b4ba13d7bd7f7c1cd85202ccbe141a35ae"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 11 10:35:35 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 11 10:35:36 2014 +0000"
      },
      "message": "Merge \"Re-apply: Implement cumulative timings for CompilerDriver.\""
    },
    {
      "commit": "ea3fa0b4ba13d7bd7f7c1cd85202ccbe141a35ae",
      "tree": "7fe7cc462617ff41bf26dc551f2fdc5f25146eda",
      "parents": [
        "a52214230ad091359956ed7566670963aedf2045"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Feb 10 11:59:41 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 11 10:12:55 2014 +0000"
      },
      "message": "Re-apply: Implement cumulative timings for CompilerDriver.\n\nThe bug was due to how the test infrastructure works:\na compiler driver surives the stack where it is allocated.\n\nChange-Id: I345fe0e4afb2bd15937233db8afb350f09429558\n"
    },
    {
      "commit": "2bc47809febcf36369dd40877b8226318642b428",
      "tree": "ef722d79fb041864aca76a0243271c6edc7a9bd6",
      "parents": [
        "632e458dc267fadfb8120be3ab02701e09e64875"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 10 09:43:07 2014 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 10 09:43:07 2014 +0000"
      },
      "message": "Revert \"Revert \"Check FastInstance() early for special getters and setters.\"\"\n\nThis reverts commit 632e458dc267fadfb8120be3ab02701e09e64875.\n\nChange-Id: I5098c41ee84fbbb39397133a7ecfd367fecebe42\n"
    },
    {
      "commit": "632e458dc267fadfb8120be3ab02701e09e64875",
      "tree": "d5af74460066ce7ef7e6f7bf212552ba086867f2",
      "parents": [
        "5dc5727261e87ba8a418e2d0e970c75f67e4ab79"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Feb 08 07:37:24 2014 +0000"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Feb 08 07:37:24 2014 +0000"
      },
      "message": "Revert \"Check FastInstance() early for special getters and setters.\"\n\nThis reverts commit 5dc5727261e87ba8a418e2d0e970c75f67e4ab79.\n\nChange-Id: I3299c8ca5c3ce3f2de994bab61ea16a734f1de33\n"
    },
    {
      "commit": "5dc5727261e87ba8a418e2d0e970c75f67e4ab79",
      "tree": "ef722d79fb041864aca76a0243271c6edc7a9bd6",
      "parents": [
        "a52214230ad091359956ed7566670963aedf2045"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 05 14:53:36 2014 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Feb 07 14:13:43 2014 +0000"
      },
      "message": "Check FastInstance() early for special getters and setters.\n\nPerform the FastInstance() check for getters and setters\nwhen they are detected by the inliner. This will help avoid\nthe FastInstance() check for inlining.\n\nWe also record the field offset and whether the field is\nvolatile and whether the method is static for use when\ninlining or generating the special accessors.\n\nChange-Id: I3f832fc9ae263883b8a984be89a3b7793398b55a\n"
    },
    {
      "commit": "ef7d42fca18c16fbaf103822ad16f23246e2905d",
      "tree": "c67eea52a349c2ea7f2c3bdda8e73933c05531a8",
      "parents": [
        "822115a225185d2896607eb08d70ce5c7099adef"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Jan 06 12:55:46 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Feb 06 23:20:27 2014 -0800"
      },
      "message": "Object model changes to support 64bit.\n\nModify mirror objects so that references between them use an ObjectReference\nvalue type rather than an Object* so that functionality to compress larger\nreferences can be captured in the ObjectRefererence implementation.\nObjectReferences are 32bit and all other aspects of object layout remain as\nthey are currently.\n\nExpand fields in objects holding pointers so they can hold 64bit pointers. Its\nexpected the size of these will come down by improving where we hold compiler\nmeta-data.\nStub out x86_64 architecture specific runtime implementation.\nModify OutputStream so that reads and writes are of unsigned quantities.\nMake the use of portable or quick code more explicit.\nTemplatize AtomicInteger to support more than just int32_t as a type.\nAdd missing, and fix issues relating to, missing annotalysis information on the\nmutator lock.\nRefactor and share implementations for array copy between System and uses\nelsewhere in the runtime.\nFix numerous 64bit build issues.\n\nChange-Id: I1a5694c251a42c9eff71084dfdd4b51fff716822\n"
    },
    {
      "commit": "65c23bbb25f069b3b49761468b848c4e5d1aa879",
      "tree": "33c310ff2476776926ff2287c692e5b135c7f841",
      "parents": [
        "1dcff62155e8477eb114c8a86eb1beb0797ffc11"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sat Feb 01 22:12:39 2014 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Feb 05 22:43:54 2014 -0800"
      },
      "message": "Restore end of dex2oat logging\n\nChange-Id: I808cc60e8bb84609f42c0262b10fa0f1b4962763\n"
    },
    {
      "commit": "b39d4b11421d7107be29dd17b39241571d822c21",
      "tree": "8ec38f94211002c208e0533f302ecd3ba86f7333",
      "parents": [
        "6ed358fc49ee5f534743bed45b19ad966490b78a"
      ],
      "author": {
        "name": "Stuart Monteith",
        "email": "Stuart.Monteith@arm.com",
        "time": "Thu Jan 30 15:10:54 2014 +0000"
      },
      "committer": {
        "name": "David Butcher",
        "email": "david.butcher@arm.com",
        "time": "Fri Jan 31 14:26:11 2014 +0000"
      },
      "message": "Enable debug build of dex2oatd on host\n\nART_BUILD_DEBUG is being ignored by the host build of dex2oatd.\nThis commit simple fixes what looks like a copy \u0026 paste error.\n\nChange-Id: Ifb256df2c1f2be42032d1687e1740470f7cf5144\nSigned-off-by: Stuart Monteith \u003cStuart.Monteith@arm.com\u003e\n"
    },
    {
      "commit": "c7f832061fea59fd6abd125f26c8ca1faec695a5",
      "tree": "183afb5dfc1f4e6fb81f14707caffa558d31dbcc",
      "parents": [
        "7ea5dafc81b2bba7cabad26130bb75dc8f709803"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jan 24 17:55:18 2014 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jan 28 11:22:42 2014 +0000"
      },
      "message": "Refactor verification results.\n\nRename VerificationMethodsData to VerificationResults.\nCreate new class VerifiedMethod to hold all the data for\na given method.\n\nChange-Id: Ife1ac67cede20f3a2f9c7f5345f08a851cf1ed20\n"
    },
    {
      "commit": "650be76eb3c38ff905ec1d9675d73e5cb9a82dac",
      "tree": "ade5eadfb41026a5457c8832ca65dc37e90f7bd8",
      "parents": [
        "ed31badc6de501320f49bec679dcdf9214ac07cc"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jan 20 10:55:16 2014 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jan 20 10:55:16 2014 -0800"
      },
      "message": "Revert \"Implement cumulative timings for CompilerDriver.\"\n\nThis reverts commit df013175d1aa04641e5c6175f8c786e547d31654.\n"
    },
    {
      "commit": "df013175d1aa04641e5c6175f8c786e547d31654",
      "tree": "2d1ba389c73218bff2f61e958ee2be2656b3b3b9",
      "parents": [
        "00e7f2e935d98f0eb14f5ef1d376604d0054bf5e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jan 13 10:11:18 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 16 11:05:30 2014 +0000"
      },
      "message": "Implement cumulative timings for CompilerDriver.\n\nChange-Id: I3b04de7f2717273f356b8120f68d69e2379bab2f\n"
    },
    {
      "commit": "740a11d0bfeaef36d910669844d01f3957dbe696",
      "tree": "3dbbe3f941fa98476e881d911f6c6586d91b0147",
      "parents": [
        "2e366d214ab2cf297cc3fa007f6b3bb535ad9413"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Jan 14 10:11:25 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Jan 14 10:13:26 2014 -0800"
      },
      "message": "Add systrace regions for file opening during setup.\n\nWhen the non-parallel dex2oat setup is slow this will help to explain the major\nculprit.\n\nChange-Id: I20143a8c7fafb3f7b834902d95dd85dbfe358746\n"
    },
    {
      "commit": "5816ed48bc339c983b40dc493e96b97821ce7966",
      "tree": "1682c6d13ae274132f4e3630f9b20ab4bdb291a3",
      "parents": [
        "2b5eaa2b49f7489bafdadc4b4463ae27e4261817"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 27 17:04:20 2013 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Dec 17 18:24:13 2013 +0000"
      },
      "message": "Detect special methods at the end of verification.\n\nThis moves special method handling to method inliner\nand prepares for eventual inlining of these methods.\n\nChange-Id: I51c51b940fb7bc714e33135cd61be69467861352\n"
    },
    {
      "commit": "2b5eaa2b49f7489bafdadc4b4463ae27e4261817",
      "tree": "ada8b60989919068d562e3fcee01aa5b7c5cfc61",
      "parents": [
        "0bf1f266869776c2dd21b3242599d74ac80855f0"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Dec 13 13:59:30 2013 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Dec 17 11:03:53 2013 +0000"
      },
      "message": "Move compiler code out of method verifier.\n\nWe want to detect small methods for inlining at the end of\nthe method verification. Instead of adding more compiler\ncode to the runtime, we create a callback from the runtime\ninto the compiler, so that we can keep the code there.\nAdditionally, we move the compiler-related code that was\nalready in the method verifier to the compiler since it\ndoesn\u0027t really belong to the runtime in the first place.\n\nChange-Id: I708ca13227c809e07917ff3879a89722017e83a9\n"
    },
    {
      "commit": "92572be7f754c213e615a62955cc5f65ca8c0c0e",
      "tree": "5d9266c16a5b110bacf1ec6062a46a3e33e16bcb",
      "parents": [
        "1a7e7d6a885bded1ffcdc8ff2490632698dc5139"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Nov 28 14:06:24 2013 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Dec 09 10:19:24 2013 +0000"
      },
      "message": "Use libziparchive for art zip processing.\n\nThis is part of the effort to move all VM \u0026 framework\nzip parsing to a common implementation. This also has\nthe side effect of fixing various TODOs related to\ncrc32 checking.\n\nbug: 10193060\n\nChange-Id: I407f9ad5a94fc91d96ff43556adde00a00df1f14\n"
    },
    {
      "commit": "ca368cb576cf6a436a32c357fca51fbb3082d7a9",
      "tree": "19ca5163509f617a01af571a3befb5956f54954b",
      "parents": [
        "fd91223718ccf5f103b8b48ab2b8abf942ae1803"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Nov 15 15:52:08 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Nov 15 15:52:08 2013 -0800"
      },
      "message": "Break apart oat writing times.\n\nChange-Id: I11045e29dc58ed1efbd19070ec1dcafc1044c95a\n"
    },
    {
      "commit": "5fe9af720048673e62ee29597a30bb9e54c903c5",
      "tree": "733dca70511f4798a3082b084a9a3d6da9f5914a",
      "parents": [
        "dfe78a6e6b526d482298100a1f6392a8c7105522"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Nov 14 00:17:20 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Nov 14 14:59:57 2013 -0800"
      },
      "message": "Fix memory leaks relating to timing logger.\n\nBug: 11670287.\nWe use pointers to uninitialized values for control-flow in the timing logger\ncode, add TODO comments to clean this up later.\nRemove base namespace and other bits of tidying.\n\nChange-Id: I1e6600a1e92f974c8f58f3a405a4e4abb4d9f80f\n"
    },
    {
      "commit": "d5aba599561d8d14bb8c19fd633bfcd05af3c264",
      "tree": "1ab258afc736e63a08d43ab11eeaade646a7fa4a",
      "parents": [
        "3cf59d567072562e120b9524f47ad2bd373f8333"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Nov 12 01:52:44 2013 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Nov 12 01:56:06 2013 -0800"
      },
      "message": "Fix CTS failures caused by ignoring malformed dex files in dex2oat\n\nBug: 11621003\nBug: 11599365\nChange-Id: If1f62dff59346edcd60e4c4b5df58137609f7f19\n"
    },
    {
      "commit": "3cf59d567072562e120b9524f47ad2bd373f8333",
      "tree": "b4235d4a11074310bd6315b005b9d53a4b7511cc",
      "parents": [
        "fb0c1951a6eeacd915618e324104e4d49e78d59e"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun Nov 10 21:04:10 2013 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Nov 12 01:56:06 2013 -0800"
      },
      "message": "Revert \"resolved conflicts for merge of ad93c622 to master\"\n\nThis reverts commit 4f6a77d529ae295630e22d4636c2acc2ba2fbb6d, reversing\nchanges made to bcdbbfebc8f32566d4cb3f66405e89cdb7351992.\n"
    },
    {
      "commit": "4f6a77d529ae295630e22d4636c2acc2ba2fbb6d",
      "tree": "1eecf431db84a4c0cf7f1c20038c64ff3507fe1a",
      "parents": [
        "bcdbbfebc8f32566d4cb3f66405e89cdb7351992",
        "ad93c622492219e4ddf8d1458393727bab4d3f63"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sat Nov 09 09:23:19 2013 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sat Nov 09 09:23:19 2013 -0800"
      },
      "message": "resolved conflicts for merge of ad93c622 to master\n\nChange-Id: I81dc207aa90a96cc46c8a929d745e9aefb0ad802\n"
    },
    {
      "commit": "eb4d2ae2efdd186a01f3c91a3f6d44cc07e116ef",
      "tree": "26d7bbaeb9d8f927ed3b74ade60a59c0e5781bb1",
      "parents": [
        "0e49b42e03af56521d8ce2c9c84ac5b79e6241c9"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Nov 08 18:25:47 2013 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Nov 08 18:25:47 2013 -0800"
      },
      "message": "Ignore missing files in dex2oat\n\nBug: 11599365\nChange-Id: I43f7437d2574c3776f921472f38b5a03a87c2822\n"
    },
    {
      "commit": "1bd2ceb3a8c68ae6ea1f9627b588a7bc7a74487f",
      "tree": "c475526366695c9efe1fcf80da732736255167e7",
      "parents": [
        "a3d2718d1fac53210b2a311b1728409d6c8e7b9d"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Nov 06 00:29:48 2013 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Nov 06 01:33:25 2013 -0800"
      },
      "message": "Make missing DEX2OAT_TARGET_INSTRUCTION_SET_FEATURES an error\n\nChange-Id: I3ca23e4db80c8ab8a86da6408cf38daccd4cfaf1\n"
    },
    {
      "commit": "7020278bce98a0735dc6abcbd33bdf1ed2634f1d",
      "tree": "533cf9a77046a49525d916043a58949e59319f2d",
      "parents": [
        "67f128a4023bbbe55827dd2c11ed0538ee387233"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Tue Oct 22 17:52:19 2013 -0700"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Tue Nov 05 16:48:53 2013 -0800"
      },
      "message": "Support hardware divide instruction\n\nBug: 11299025\n\nUses sdiv for division and a combo of sdiv, mul and sub for modulus.\nOnly does this on processors that are capable of the sdiv instruction, as determined\nby the build system.\n\nAlso provides a command line arg --instruction-set-features\u003d to allow cross compilation.\nMakefile adds the --instruction-set-features\u003d arg to build-time dex2oat runs and defaults\nit to something obtained from the target architecture.\n\nProvides a GetInstructionSetFeatures() function on CompilerDriver that can be\nqueried for various features.  The only feature supported right now is hasDivideInstruction().\n\nAlso adds a few more instructions to the ARM disassembler\n\nb/11535253 is an addition to this CL to be done later.\n\nChange-Id: Ia8aaf801fd94bc71e476902749cf20f74eba9f68\n"
    },
    {
      "commit": "635733da0f67df1c979cc9764409d2a9dcbb20aa",
      "tree": "995f86a6d8fa7b5b5734d65d5a21c9ecab8ccb83",
      "parents": [
        "7195dd860e424057bd9a17d501269d9b50673f11"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Oct 30 23:19:31 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Oct 30 23:19:31 2013 -0700"
      },
      "message": "Fix --compiler-backend usage example\n\nChange-Id: I2ebefe57e94d6a8103c71e86f7c6a302b7107fc4\n"
    },
    {
      "commit": "88474b416eb257078e590bf9bc7957cee604a186",
      "tree": "7c59aa370bec9b0f2d37cb7a96d3b2effb3d92ce",
      "parents": [
        "9780099e445884d8bc9444c8c1261b02d80a26c7"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Oct 23 16:24:40 2013 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Oct 29 12:01:28 2013 -0700"
      },
      "message": "Implement Interface Method Tables (IMT).\n\nChange-Id: Idf7fe85e1293453a8ad862ff2380dcd5db4e3a39\n"
    },
    {
      "commit": "8d31bbd3d6536de12bc20e3d29cfe03fe848f9da",
      "tree": "2373ae08ddddaf1034623df85d647ecf9ac6c831",
      "parents": [
        "57e6d8a99058e5c74d5244b68a5f4d53526fa108"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Oct 13 10:44:14 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Oct 21 17:01:11 2013 -0700"
      },
      "message": "Throw IOException at source of failing to open a dex file.\n\nBefore is:\njava.lang.ClassNotFoundException: Didn\u0027t find class \"GCBench\" on path: DexPathList[[zip file \"/disk2/dalvik-dev/out/host/linux-x86/framework/GCBench.jar\"],nativeLibraryDirectories\u003d[/disk2/dalvik-dev/out/host/linux-x86/lib]]\n        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)\n        at java.lang.ClassLoader.loadClass(ClassLoader.java:511)\n        at java.lang.ClassLoader.loadClass(ClassLoader.java:469)\n        Suppressed: java.lang.ClassNotFoundException: GCBench\n                at java.lang.Class.classForName(Native Method)\n                at java.lang.BootClassLoader.findClass(ClassLoader.java:781)\n                at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)\n                at java.lang.ClassLoader.loadClass(ClassLoader.java:504)\n                ... 1 more\n        Caused by: java.lang.NoClassDefFoundError: Class \"LGCBench;\" not found\n                ... 5 more\nAnd after is:\njava.lang.ClassNotFoundException: Didn\u0027t find class \"GCBench\" on path: DexPathList[[zip file \"/disk2/dalvik-dev/out/host/linux-x86/framework/GCBench.jar\"],nativeLibraryDirectories\u003d[/disk2/dalvik-dev/out/host/linux-x86/lib]]\n        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)\n        at java.lang.ClassLoader.loadClass(ClassLoader.java:511)\n        at java.lang.ClassLoader.loadClass(ClassLoader.java:469)\n        Suppressed: java.io.IOException: Zip archive \u0027/disk2/dalvik-dev/out/host/linux-x86/framework/GCBench.jar\u0027 doesn\u0027t contain classes.dex\n                at dalvik.system.DexFile.openDexFile(Native Method)\n                at dalvik.system.DexFile.\u003cinit\u003e(DexFile.java:80)\n                at dalvik.system.DexFile.\u003cinit\u003e(DexFile.java:59)\n                at dalvik.system.DexPathList.loadDexFile(DexPathList.java:268)\n                at dalvik.system.DexPathList.makeDexElements(DexPathList.java:235)\n                at dalvik.system.DexPathList.\u003cinit\u003e(DexPathList.java:113)\n                at dalvik.system.BaseDexClassLoader.\u003cinit\u003e(BaseDexClassLoader.java:48)\n                at dalvik.system.PathClassLoader.\u003cinit\u003e(PathClassLoader.java:38)\n                at java.lang.ClassLoader.createSystemClassLoader(ClassLoader.java:128)\n                at java.lang.ClassLoader.access$000(ClassLoader.java:65)\n                at java.lang.ClassLoader$SystemClassLoader.\u003cclinit\u003e(ClassLoader.java:81)\n                at java.lang.ClassLoader.getSystemClassLoader(ClassLoader.java:137)\n        Suppressed: java.lang.ClassNotFoundException: GCBench\n                at java.lang.Class.classForName(Native Method)\n                at java.lang.BootClassLoader.findClass(ClassLoader.java:781)\n                at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)\n                at java.lang.ClassLoader.loadClass(ClassLoader.java:504)\n                ... 1 more\n        Caused by: java.lang.NoClassDefFoundError: Class \"LGCBench;\" not found\n                ... 5 more\n\nAlso, move dex file verifier messages out of logs.\nIn the process the ClassLinker::dex_lock_ needed tidying to cover a smaller\nscope. Bug 11301553.\n\nChange-Id: I80058652e11e7ea63457cc01a0cb48afe1c15543\n"
    },
    {
      "commit": "e732ef1c0192acd71925bd0ff1ab09640d45531d",
      "tree": "7b5f261e88958db19c994329c945b632ee0596fd",
      "parents": [
        "d50f8c8e4456263e169c9998d3a1c3a6c5c51435"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Oct 09 15:22:24 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Oct 09 15:22:24 2013 -0700"
      },
      "message": "Make compiler stat dumping easier to use.\n\nPrevious needed -verbose:compiler + a debug build. Now specify --dump-stats to\ndex2oat.\n\nChange-Id: Ifde379e7cd06bbb0fe20149ce89c3b3789221eac\n"
    },
    {
      "commit": "51db7beb7faaea43d697321520732d1d71288f50",
      "tree": "c5849ceac2e59b9e0e656b924a5d7d86b28819fd",
      "parents": [
        "3f9667022788ba1effcd1e47fc9e3decc4db569d"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Sep 05 17:24:22 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Sep 06 10:29:40 2013 -0700"
      },
      "message": "Use exit to avoid destructors in dex2oat.\n\n(cherry picked from commit 2672a9f93caa66add6ca48a8e38ba1661ef43959)\n\nBug: 10645725\nChange-Id: I55c2a7b7f3bd105f1a6a8bf84db2204c6f87e642\n"
    },
    {
      "commit": "2672a9f93caa66add6ca48a8e38ba1661ef43959",
      "tree": "a15502c75038341f6f99ccb5d68face2db304881",
      "parents": [
        "c7cd72c5ad65589b68e6aea185200fc2dbb0e850"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Sep 05 17:24:22 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Sep 06 08:01:05 2013 -0700"
      },
      "message": "Use exit to avoid destructors in dex2oat.\n\nChange-Id: I5f8b396dfa614af2935053c219b09b406a632618\n"
    },
    {
      "commit": "d76e08323893c60df77eccca6e882279e7246d8c",
      "tree": "8a871cf9239e07db055d3a9624af11dd62f1eed0",
      "parents": [
        "e0948e13d5a4552e6a2728087573c07961e4a4f9"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 29 15:17:42 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 29 15:17:42 2013 -0700"
      },
      "message": "Make files writable on the installd path as well\n\nBug: 9618388\nChange-Id: Iabfdfe2bbc44de1fec733269c08a243af75c7dcd\n"
    },
    {
      "commit": "e0948e13d5a4552e6a2728087573c07961e4a4f9",
      "tree": "6162dd8b5e4f05c00f5414e10d1b1ab6fba61a0d",
      "parents": [
        "a7d56cf5e0fe6da41969f6dd841aef0d73f09d93"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 29 09:36:15 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 29 09:45:43 2013 -0700"
      },
      "message": "Make DexFiles opened from files readonly by default, but writable during dex2oat\n\nBug: 9618388\nChange-Id: I83f2e16ee8446a79a94a84971146d807bb0c9ee0\n"
    },
    {
      "commit": "f30f6daf33a9671ff756befb673482d7f3717a18",
      "tree": "f0305c634c1cc322c110237be2d97b4e612956ee",
      "parents": [
        "a436fde2762664a3ecdda5eefcadd20b2e104f59"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Aug 28 17:33:30 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Aug 28 17:33:30 2013 -0700"
      },
      "message": "Set small ART override for image as an option.\n\nBuild fix for small art, avoids changing the compiler filter post runtime\ninitialization.\n\nChange-Id: I359b5231adaa0331321dc6239305cf748d174a17\n"
    },
    {
      "commit": "3f3d22c8fc89d754172858d1770f16916b407d8b",
      "tree": "992608e1b103b3e4fdd5f2e32ac4241fbab05350",
      "parents": [
        "35a41fd2d16b760ba3b783d6f01f80cd719a121a"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Aug 27 18:11:09 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Aug 27 18:11:09 2013 -0700"
      },
      "message": "Reduce the scope of a ScopedObjectAccess in dex2oat.\n\nAllow concurrent GCs during image writing, etc.\n\nChange-Id: I89b70a6dfb17f58b156e164c91457337f1c2648f\n"
    },
    {
      "commit": "c6dfdacea2fd9e268f70328805b0366cdd6b7b9e",
      "tree": "8c6032e2276a3962054dd450025dcf3cc817e43f",
      "parents": [
        "b8a874ca3b13007f4bf688963483ffb3c76e0d7d"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Aug 26 18:57:31 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Aug 26 22:33:11 2013 -0700"
      },
      "message": "Add buffering to ELF file generation\n\nBug: 10496017\nChange-Id: I3cbad249e0fb33f726bd0a504b3b6bd9b4f759c8\n"
    },
    {
      "commit": "fe9ca4028f379688ecba6132ac3738171176b3e4",
      "tree": "00bb0eace8f37499aabce60cd296485d75b6b38e",
      "parents": [
        "4aa48fccbd3782d78207a79541b61948a066b8fc"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Aug 21 09:48:11 2013 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Aug 21 15:13:35 2013 -0700"
      },
      "message": "Compiler filter update\n\nTweak of the compiler filter to give better results for applications\nwhich are not dominated by tight arithmetic loops. Deleted\nthe \"DeferCompilation\" setting - it didn\u0027t differ enough from the\n\"Space\" setting.  Added \"Everything\" setting to support forced\ncompilation (for images and testing).  Previously used \"Speed\"\nfor that purpose, but in the speed setting there are some things we\ndon\u0027t want to compile.\n\nChange-Id: Ia53b14f2044fc9738c1a4c1318f8204f2c25abe3\n"
    },
    {
      "commit": "46398608eaa47afe5a4cfb91e3f43211bf937d68",
      "tree": "838223a5e6aa7bca47fb9a7d0f5339e496327473",
      "parents": [
        "884cf3d55229988e7d72cf38c756b427d47c9e48"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Aug 20 07:50:36 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Aug 20 07:50:36 2013 -0700"
      },
      "message": "dex2oat flag to always dump timing data.\n\nChange-Id: I67fd10aff5cc5822ad119cd8b5a26c23e7a85cac\n"
    },
    {
      "commit": "e6bb3b2ce5a69c31c2adfc7eb2705633b7f966eb",
      "tree": "2c562e3de0fcd0cdd4528c4d2f40aa7fc75eea2e",
      "parents": [
        "cf3de6209f056aa8d6005e4610d49855da581eb4"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Aug 19 21:51:45 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Aug 19 22:52:23 2013 -0700"
      },
      "message": "Reduce AOT initialization.\n\nWhen compiling apps there is no need to resolve all types in the dex file, just\nthose declared in the dex file. There\u0027s also no need to initialize static\nfields if we can only leave the class in a verified state.\n\nIncrease use of CompilerDriver::IsImage.\nMove timing of dex2oat setup to before Runtime::Create.\n\nOn run-test 056 the performance improvement is an order of magnitude, for\nThinkFree dex2oat time is dominated by compilation and this change has no\neffect.\n\nBug 10316099.\n\nChange-Id: Ibdd7caa43284e7448e6a56d810967100ae4a7898\n"
    },
    {
      "commit": "7571e8b761ebc2c923525e12ea9fcf07e62cb33e",
      "tree": "5d90ecf4d0ba1a72b040a376f227df1ba9278889",
      "parents": [
        "2e250c826b3c405d675017efe79e5db3651c9ee6"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Aug 12 17:04:14 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 15 10:33:53 2013 -0700"
      },
      "message": "Add flock(2)ing on dex-cache files to prevent races\n\nBug: 9071417\nChange-Id: I1ee9ff281867f90fba7a8ed8bbf06b33ac29d511\n"
    },
    {
      "commit": "0f40ac31134d9ae0f059d4c448165599dc8459c1",
      "tree": "2f908f5d7a51d4e7b028b307e5d43a9e794abc10",
      "parents": [
        "97a03e3cc86002b10889562a6b5b164cd2b99e7e"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Aug 13 22:10:30 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Aug 13 22:30:39 2013 -0700"
      },
      "message": "Fix races in small mode compiler filters setup\n\nFixes host tests in small art mode.\n\nChange-Id: I2579f872583f425607f91c1e58df68b05b5098bb\n"
    },
    {
      "commit": "1d1e267136732c2b123470b05c06fa536fa6dbbb",
      "tree": "a2c4cf3b5ffa7199d38db677886926c0b9a813cf",
      "parents": [
        "a804b711f21db74f9fb0dd7a5854656b1252fb97",
        "ea46f950e7a51585db293cd7f047de190a482414"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Aug 14 02:15:57 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 14 02:15:58 2013 +0000"
      },
      "message": "Merge \"Refactor java.lang.reflect implementation\" into dalvik-dev"
    },
    {
      "commit": "75a43f10f55e2aa550de51e969cc1e60d583b632",
      "tree": "32667690ae49d1168d8310692af915e497a6a392",
      "parents": [
        "5e3572709b5a5d59957f835db4f73760ecef08da"
      ],
      "author": {
        "name": "Anwar Ghuloum",
        "email": "anwarg@google.com",
        "time": "Tue Aug 13 17:22:14 2013 -0700"
      },
      "committer": {
        "name": "Anwar Ghuloum",
        "email": "anwarg@google.com",
        "time": "Tue Aug 13 19:13:59 2013 -0700"
      },
      "message": "Clean up logcat spam from compiler and verifier\n\nMoved to VLOG(...), adding verifer tag for VLOG.\n\nChange-Id: Ia9ac8aeaf5aa1f4881e384003e82a66e560c5692\n"
    },
    {
      "commit": "ea46f950e7a51585db293cd7f047de190a482414",
      "tree": "9dddc8073547a2dcb58a19e1728932a89cb149c3",
      "parents": [
        "5e3572709b5a5d59957f835db4f73760ecef08da"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jul 30 01:26:50 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Aug 13 18:09:46 2013 -0700"
      },
      "message": "Refactor java.lang.reflect implementation\n\nCherry-picked from commit ed41d5c44299ec5d44b8514f6e17f802f48094d1.\n\nMove to ArtMethod/Field instead of AbstractMethod/Field and have\njava.lang.reflect APIs delegate to ArtMethod/ArtField.\n\nBug: 10014286.\n\nChange-Id: Iafc1d8c5b62562c9af8fb9fd8c5e1d61270536e7\n"
    },
    {
      "commit": "7b67bee4f6ca4e634f35f63d1e08e1b05f138e01",
      "tree": "8135032a8ecd634a7cb8e921b9416a9f63c279a1",
      "parents": [
        "0a564f3ef661a98b46c0a36472b48a52a5c735cc",
        "b3733086ab415088b97fac20b3eea24433a7d2c5"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Aug 13 21:01:23 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 13 21:01:23 2013 +0000"
      },
      "message": "Merge \"Add a systrace support for lock contention logging.\" into dalvik-dev"
    },
    {
      "commit": "b3733086ab415088b97fac20b3eea24433a7d2c5",
      "tree": "ad853d385e5c113e5d6248d0f7d198d7d9136865",
      "parents": [
        "4baa8083ae0820f71cf0f03b94fd7f8d3b9bfa46"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Aug 12 17:28:49 2013 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Aug 13 13:53:12 2013 -0700"
      },
      "message": "Add a systrace support for lock contention logging.\n\n- Now several ART executables like oatdump need to link with libcutils\n  as the mutex code is shared among them.\n- The blocking thread ID and lock owner thread ID are passed to\n  ScopedContentionRecorder in the correct order.\n\nBug: 9986464\nChange-Id: Id766de23fbc4af1d8ba2de051595e365b04f5ae7\n"
    },
    {
      "commit": "155ecba1c9b56ce1b468135e6a591a3fe9258c52",
      "tree": "e854eeece968c454d8cbf34a88e5a6e92ca7feed",
      "parents": [
        "4baa8083ae0820f71cf0f03b94fd7f8d3b9bfa46"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Aug 12 16:15:53 2013 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon Aug 12 16:15:53 2013 -0700"
      },
      "message": "Fix SMALL_ART\n\nOn all art builds, the images classes must be compiled.  When doing\na small art build, it is necessary to override the default compiler\nfilter to force compilation.  A merge mistake broke this logic\nfor dalvik-dev.\n\nChange-Id: I88186bd89d0ccb4316ee0910e9324ddc3e6a1f75\n"
    },
    {
      "commit": "a024a0686c3b0fea13f362bff70d65981e5febc5",
      "tree": "99b003e7524544156a4e94bcca7daa41ed4d4b77",
      "parents": [
        "e0a53e99e2a01f8668d6616c3cec7e2f5a711286"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Jul 31 10:47:37 2013 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Aug 08 13:30:16 2013 -0700"
      },
      "message": "Compilation filter\n\nThis CL introduces a static compilation filter mechanism intended\nto allow us to reduce compilation time and space requirements until\nwe have a profiling mechanism in place.\n\nIt supports 5 modes of filtering:\n\n   o interpret-only (compile nothing)\n   o deferred-compilation (compile only those methods believe to be\n     compute-intensive)\n   o space (optimized for space)\n   o balanced (best return on space investment)\n   o speed (compile everything)\n\nA future CL will allow the default filtering mode to be set\nvia system property.  For now, you can pass it in via command\nline as follows:\n\n   dalvikvm -compiler-filter:[interpret-only|defer-compilation|\n                              space|balanced|speed]\n\nor dex2oat --runtime-arg -compiler-filter:[one of the above modes]\n\nCreating a file named art/SMALL_ART will force the filter\ndefault to interpret-only.  Later on we\u0027ll move this capability\nto a persistent system property.\n\nor modify kDefaultCompilerFilter in runtime.h\n\nIt also changes the compiler driver to allow the compilers to\ndecline to compile a method by return NULL.\n\nChange-Id: Ic73411818f8bb845a4a19a05b0395c50902c534f\n"
    },
    {
      "commit": "0f055d11096cb02563e9c040cd03c791fd8f69a3",
      "tree": "8c7e730f17174ab4e11786fde1c2a05c7039d507",
      "parents": [
        "93c3396f8b33539489763ebdfafcedb4127009d9",
        "7934ac288acfb2552bb0b06ec1f61e5820d924a4"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 26 12:46:02 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 26 12:47:51 2013 -0700"
      },
      "message": "resolved conflicts for merge of 7934ac28 to dalvik-dev\n\nChange-Id: I8798a6f154463d3f92f6aca62f14130aec82d273\n"
    },
    {
      "commit": "7934ac288acfb2552bb0b06ec1f61e5820d924a4",
      "tree": "43f3acd8af7fd34d4ae7b64f6e06bb8429d74bb8",
      "parents": [
        "fb331d7ca004f39608fcfdae49d38df90c702ea9"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 26 10:54:15 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 26 11:55:10 2013 -0700"
      },
      "message": "Fix cpplint whitespace/comments issues\n\nChange-Id: Iae286862c85fb8fd8901eae1204cd6d271d69496\n"
    },
    {
      "commit": "6f28d91aab952e3244fbb4e707fa38f85538f374",
      "tree": "4ad68f49a154598599bc80d4596b7ee64e5923cc",
      "parents": [
        "41a41fdfc5d38f1b389d5e6cf1a945c96170d3ed"
      ],
      "author": {
        "name": "Anwar Ghuloum",
        "email": "anwarg@google.com",
        "time": "Wed Jul 24 15:02:53 2013 -0700"
      },
      "committer": {
        "name": "Anwar Ghuloum",
        "email": "anwarg@google.com",
        "time": "Thu Jul 25 16:20:22 2013 -0700"
      },
      "message": "Add systrace support to NewTimingLogger, migrate compiler timing logging to NewTimingLogger\n\nRpleaced old TimingLogger by NewTimingLogger, renamed NewTimingLogger to TimingLogger, added systrace support to TimingLogger.\nTests passing, phone booting, systrace working.\n\nChange-Id: I2aeffb8bcb7f0fd979d8a2a3a8bcfbaa02413679\n"
    }
  ],
  "next": "b9a0324ab64cd25730f10151b064879af8915587"
}
