)]}'
{
  "log": [
    {
      "commit": "524e7ea8cd17bad17bd9f3e0ccbb19ad0d4d9c02",
      "tree": "ad07cc96f633bdae839ff2f1553d84b9c864a930",
      "parents": [
        "b697c447eb61c2e14315166ec3b0d16375ae403c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 16 17:13:34 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 20 11:52:11 2015 +0100"
      },
      "message": "Remove ArtCode.\n\n- Instead use OatQuickMethodHeader.\n- Various cleanups now that we don\u0027t have all those\n  ArtMethod -\u003e ArtCode -\u003e OatQuickMethodHeader indirections.\n\nAs a consequence of this cleanup, exception handling got a bit\nfaster.\n\nParserCombinators benchmark (exception intensive) on x64: (lower is better)\nBefore:\nParserCombinators(RunTime): 1062500.0 us.\nAfter:\nParserCombinators(RunTime): 833000.0 us.\n\nChange-Id: Idac917b6f1b0dc254ad68fb3781cd61bccadb0f3\n"
    },
    {
      "commit": "eb7c144a6aff7da673ba53d501c46f00311d4d7f",
      "tree": "feec33dd2e711800305477b092970500991a3993",
      "parents": [
        "98ae42010a6e6a0e4c5bcc4d6a357805eef3f4ff"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Aug 31 13:17:42 2015 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Oct 13 13:09:37 2015 -0700"
      },
      "message": "Add initial default method support to Art\n\nThis commit starts the process of adding default methods and their\nassociated pieces to ART.\n\nThis adds full support for calling default methods using\ninvoke-interface and invoke-virtual on objects implementing the\ninterfaces. Verifier is changed to allow this when the runtime is\nstarted with -Xexperimental:default-methods.\n\nThis also adds support for defining and calling static methods on\ninterface classes with invoke-static.\n\nDirectly calling overridden default methods using invoke-super is not\nyet supported.\n\nThis adds 5 new run-tests for this functionality.\n\nBug: 24618811\n\nChange-Id: I35ca800d99d3329348b277789b70ceeeba6e7f03\n"
    },
    {
      "commit": "6bc4374e3fa00e3ee5e832e1761c43e0b8a71558",
      "tree": "38118523aa6b9a92fbdcd7bf1d32ca6185a3d3f0",
      "parents": [
        "16065ce56394c73c87dcb78ead4164ddc80fddb3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Oct 12 18:11:10 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 13 12:05:27 2015 +0100"
      },
      "message": "Add an abstraction over a compiled code.\n\nThat\u0027s just step 1, moving code-related functions of ArtMethod to\nanother class. That class is only a wrapper on an ArtMethod, but will\nbe changed to be a wrapper around compiled code.\n\nChange-Id: I6f35fc06d37220558dff61691e51ae20066b0dd6\n"
    },
    {
      "commit": "cbc96b802f505ebcc71bb505c9a069ebec66df49",
      "tree": "16b155464ead004fe14a821b453f1186add68c79",
      "parents": [
        "3f8cc8d3454c6289a0b2171000a34bf2297def10"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Sep 30 20:05:24 2015 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Sep 30 19:31:12 2015 -0700"
      },
      "message": "Revert \"Revert \"ART: Remove unnecessary SHARED_REQUIRES in ArtMethod\"\"\n\nThis reverts commit 38b8287004770e4d20dcc0e0fe4697060917ec72.\n\nDo not always use ScopedObjectAccess. The GC might call this during\nsanity checking, at which point the state is not runnable, but the\nmutator lock is still held.\n\nCurrently needs an ugly NO_THREAD_SAFETY_ANALYSIS helper, as the\nassert isn\u0027t correctly handled (establishing the held mutator lock).\n\nChange-Id: Ie79e85e2afedc9b989382d88155b09e426fe7f75\n"
    },
    {
      "commit": "38b8287004770e4d20dcc0e0fe4697060917ec72",
      "tree": "e37a48f0f06a60271c02c4175cfbe8d1b409e71d",
      "parents": [
        "6dd332933a570f5e413dd0d784481607798fbcf5"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 29 22:22:28 2015 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 29 22:22:28 2015 +0000"
      },
      "message": "Revert \"ART: Remove unnecessary SHARED_REQUIRES in ArtMethod\"\n\nThis reverts commit 6dd332933a570f5e413dd0d784481607798fbcf5.\n\nInterestingly fails for sdk build.\n\nChange-Id: I28d8fc05575ff1d744b4a831c32ef4414775561a\n"
    },
    {
      "commit": "6dd332933a570f5e413dd0d784481607798fbcf5",
      "tree": "a978604c589e2d63c5e7d7b7155bf62ff3cb72cd",
      "parents": [
        "0766e3ff5638b14d6b3ea6157c800eed11be5b98"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 29 11:21:43 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 29 11:21:43 2015 -0700"
      },
      "message": "ART: Remove unnecessary SHARED_REQUIRES in ArtMethod\n\nMove DCHECKs in GetAccessFlags into their own block and let them\nacquire the mutator lock, if necessary. Then remove the old\nannotations.\n\nChange-Id: I29e24f17b001d0e16dc66c01a0f6450efb64ebc6\n"
    },
    {
      "commit": "1e9c1ffa2fc148fc8d0ee5eb1222dd894116e68d",
      "tree": "0caf77956d845e3f4e94cd994df0bc9626e1aeee",
      "parents": [
        "ada5ccd318fb02f9d5c7b20c9d6fed9ffa614961",
        "1147b9bd68323c753ed1a0b6106b205fd640c820"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 15 17:03:55 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 15 17:03:55 2015 +0000"
      },
      "message": "Merge \"Use image pointer size for profile info\""
    },
    {
      "commit": "1147b9bd68323c753ed1a0b6106b205fd640c820",
      "tree": "d14f8a47c66b78716d23b6cdcbc6e3e6da498361",
      "parents": [
        "b505997b2176bd29a108cb6c33d06d4ef29ba001"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Sep 14 18:50:08 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 15 10:02:40 2015 -0700"
      },
      "message": "Use image pointer size for profile info\n\nMay fix some random crashes in dex2oat due to cross compilation.\n\nChange-Id: I633652500e8c7dfec38044dffd07eb467973d82a\n"
    },
    {
      "commit": "f1fbd5220551aeae1025a1058fd501ad41167425",
      "tree": "241a01e13cf76b9004f627e936368b33e4bc1681",
      "parents": [
        "5836f8465ddd0a7f5cbeec9c30d739bd0619867f"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Sep 15 17:57:31 2015 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Sep 15 17:58:20 2015 +0100"
      },
      "message": "Rename parameter in ArtMethod::ToNativeQuickPc\n\nAddressing a nit for CL Idb2b34aabf1ac7249c30a00806af7d63d7e682dd.\n\nChange-Id: I1112312b90aa6123e7e9ca8f67132dd7cc57a62f\n"
    },
    {
      "commit": "72f7b880d5d0057b9fac3a51ef3a0f22909bc633",
      "tree": "5a5a92f0c52bd334f662ba2f51885540874973bb",
      "parents": [
        "b505997b2176bd29a108cb6c33d06d4ef29ba001"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Sep 15 17:00:52 2015 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Sep 15 17:50:43 2015 +0100"
      },
      "message": "ART: Fix 004-ReferenceMap run test\n\nThis patch adds a new option to ArtMethod::ToNativeQuickPc to select\nthe order of iteration over stack maps. The method is only used by\nthe runtime to find native_pc of catch blocks, but also by the\n004-ReferenceMap test which uses it to find native_pc of a safepoint.\n\nChange-Id: Idb2b34aabf1ac7249c30a00806af7d63d7e682dd\n"
    },
    {
      "commit": "5550ca8bcc742b109d77e62f3a0877c667d894d3",
      "tree": "522c873c59b56fff0244e754dd869f18ccf485f4",
      "parents": [
        "dbd357086fdb7fce619d745fda4efd52377becdd"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Aug 21 18:38:30 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Sep 11 15:08:37 2015 +0100"
      },
      "message": "Record profiling information before Jitting.\n\n- Add a new instrumentation kind to record dynamic invokes.\n- Use the JNI entry point field to store the profiling data.\n- Record seen receivers for every dynamic invoke.\n\nChange-Id: I2c1738ab2a72052d45964d055dc16b44b906e54c\n"
    },
    {
      "commit": "05792b98980741111b4d0a24d68cff2a8e070a3a",
      "tree": "bad79a387bcbdaefc87c07b388099960ca9caff3",
      "parents": [
        "c26b4512a01d46756683a4f5e186a0b7f397f251"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Aug 03 11:56:49 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Sep 03 17:30:57 2015 +0100"
      },
      "message": "ART: Move DexCache arrays to native.\n\nThis CL has a companion CL in libcore/\n    https://android-review.googlesource.com/162985\n\nChange-Id: Icbc9e20ad1b565e603195b12714762bb446515fa\n"
    },
    {
      "commit": "e418dda75998e0186f7580c2c54705767c3c8f1f",
      "tree": "49b3183cd1d25b6a5cfb31e0d16678deb023c1e8",
      "parents": [
        "4d786026efaac41acf8278d1c87d842f7ce06fde"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Aug 11 20:03:09 2015 -0700"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Aug 20 11:00:12 2015 +0100"
      },
      "message": "Be more flexible on the code unit size when inlining.\n\nThis change increases the maximum code unit size, and fold\nparameters in the inlinee in the hope to reduce the overall\nsize of the graph. We then make sure we don\u0027t inline methods\nthat have more than N HInstructions.\n\nAlso, remove the kAccDontInline flag on ArtMethod. The compiler\ndoes not need it anymore.\n\nChange-Id: I4cd3da40e551f30ba83b8b274728b87e67f6812e\n"
    },
    {
      "commit": "2a5c4681ba19411c1cb22e9a7ab446dab910af1c",
      "tree": "883ea0c07aad9efdb7c86960056cbefd7992b2bc",
      "parents": [
        "228b3973b2b24783c727a55fda2b4b80375f7207"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 14 08:22:54 2015 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 17 15:42:25 2015 -0700"
      },
      "message": "ART: Some header cleaning around bit-utils\n\nTry to remove dependencies where they are not necessary.\n\nChange-Id: I5ff35cb17aea369bed3725b1610b50d7eb05b81e\n"
    },
    {
      "commit": "14632857428b7e37761e6e811c19021715a400f8",
      "tree": "1774ef3ed5b973ce661b761814bd86bdbfa8fdbc",
      "parents": [
        "8ecc1357e2c682165467ca8e10c7a748f7554df2"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Aug 17 12:07:23 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Aug 17 14:49:34 2015 +0100"
      },
      "message": "ART: Rename ArtMethod\u0027s size and alignment methods.\n\nRemove the historical prefix \"Object\" to avoid confusion\nwith Java objects.\n\nChange-Id: Ib36422c9a24878d8d4bd757977d99cbf66b3d567\n"
    },
    {
      "commit": "cf36d493124d8048efa0bd6f67d817ce3cd6b725",
      "tree": "fac1336f54ea477ce1afe2e99a04b68db38c7ac8",
      "parents": [
        "1cad8c7c63b600a3da83bf05fb645e08ac8fafc0"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Aug 12 19:27:26 2015 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Aug 17 10:04:42 2015 +0100"
      },
      "message": "ART: Compress LengthPrefixedArray on 32-bit targets.\n\nPreviously, the LengthPrefixedArray\u003cArtMethod\u003e on 32-bit\ntargets contained a 64-bit length field followed by the\nArtMethod elements with size only a multiple of 4, not 8.\nConsequently, an odd-length array broke the alignment for\nthe following array which would have the 64-bit length\nplaced at an unaligned address.\n\nTo fix that, we make the length field 32-bit and explicitly\npass the alignment information to the LengthPrefixedArray.\nThis also makes the 32-bit boot image a bit smaller.\nOn Nexus 5, AOSP, ToT, the field section is 11528B smaller\nand the method section is 21036B smaller. 64-bit targets\nshould see the same savings for the field section but no\ndifference for the methods section.\n\nChange-Id: I3e03e7b94129025c8a1c117c27645a34dec516d2\n"
    },
    {
      "commit": "10e5ea90e20375e5ad2ff26cb760c0e7c586cc16",
      "tree": "45cc204db4d61e729cb8bcea681e7efa758d7bfb",
      "parents": [
        "b923298c9b6e47b4110dd0cb23cb6a4e98b8552b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Aug 13 12:56:31 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Aug 13 17:59:00 2015 -0700"
      },
      "message": "Visit declaring class of methods on call stack\n\nBug: 22720414\nChange-Id: Iab9727dde243d76fd9dfdb1db73899fedd1ab6ea\n"
    },
    {
      "commit": "da7c650022a974be10e2f00fa07d5109e3d8826f",
      "tree": "eb713496fee4a6885a3c240309e5efc78c6774cf",
      "parents": [
        "2a7ea34cda9bf776339dfc7f4a22ab01f9525f2d"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 23 16:01:26 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jul 24 11:50:43 2015 -0700"
      },
      "message": "Visit class native roots from VisitReferences\n\nVisit class roots when we call Class::VisitReferences instead of in\nthe class linker. This makes it easier to implement class unloading\nsince unmarked classes won\u0027t have their roots visited by the class\nlinker.\n\nBug: 22181835\nChange-Id: I63f31e5ebef7b2a0b764b3ba3cb038b3f561b379\n"
    },
    {
      "commit": "90443477f9a0061581c420775ce3b7eeae7468bc",
      "tree": "8c74b81dfae162e0fd0ccf8d5ac50827ba815174",
      "parents": [
        "6078aec213dfaf111c29969706e8e5967cfc9bea"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 16 20:32:27 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jul 22 15:13:56 2015 -0700"
      },
      "message": "Move to newer clang annotations\n\nAlso enable -Wthread-safety-negative.\n\nChanges:\nSwitch to capabilities and negative capabilities.\n\nFuture work:\nUse capabilities to implement uninterruptible annotations to work\nwith AssertNoThreadSuspension.\n\nBug: 20072211\n\nChange-Id: I42fcbe0300d98a831c89d1eff3ecd5a7e99ebf33\n"
    },
    {
      "commit": "9523a3ed0ae6fa31cd978a3999fd88233218f98b",
      "tree": "f74eae1f98064e15ea6b239eb2548133423976fe",
      "parents": [
        "33e50d85a3e43072fad4f58369b71da73b8f966c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 17 11:51:28 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 17 12:58:00 2015 +0100"
      },
      "message": "Revert \"Revert \"Use the quickened metadata to compile -QUICK opcodes.\"\"\n\nThis reverts commit 8ab9a9010f3929acbb6c671008b8885b762b01e1.\n\nChange-Id: I1e654d5010ea2112982c3055fcb8c8f9c10e9ac8\n"
    },
    {
      "commit": "8ab9a9010f3929acbb6c671008b8885b762b01e1",
      "tree": "ed38799e9dcddb859158e013d1c5d840903789f6",
      "parents": [
        "4515a67434c9e3e1627586629a1f2aba1a99aa6a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 17 10:02:30 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 17 10:02:30 2015 +0000"
      },
      "message": "Revert \"Use the quickened metadata to compile -QUICK opcodes.\"\n\nBroke sdk build. Investigating.\n\nThis reverts commit 4515a67434c9e3e1627586629a1f2aba1a99aa6a.\n\nChange-Id: I6c1107ab626758570a59dc6bf3e4228c70a57196\n"
    },
    {
      "commit": "4515a67434c9e3e1627586629a1f2aba1a99aa6a",
      "tree": "94a31425ceac8234cce150588e5667fbedff6449",
      "parents": [
        "cced6ad152cf8ec13f38f2210c1b8445919232d3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jul 16 14:58:58 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jul 16 18:36:05 2015 +0100"
      },
      "message": "Use the quickened metadata to compile -QUICK opcodes.\n\nChange-Id: I28a8d68921698bea81f54c95cc6e4c6d2c03f2b4\n"
    },
    {
      "commit": "7bf2b4f1d08050f80782217febac55c8cfc5e4ef",
      "tree": "61b26b116454c5a114ac4b2f55c71153be7a9d43",
      "parents": [
        "569e81e500725f52116b7d0342ec80a6d1e0089b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 08 10:11:59 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 08 14:22:19 2015 +0100"
      },
      "message": "Revert \"Revert \"Remove interpreter entrypoint in ArtMethod.\"\"\n\nThe start of the interned strings in the image was not aligned\nproperly, now that ArtMethods just need to be word aligned.\n\nThis reverts commit 7070ccd8b6439477eafeea7ed3736645d78e003f.\n\nbug:22242193\n\nChange-Id: I580c23310c33c239fe0e5d15c72f23a936f58ed1\n"
    },
    {
      "commit": "7070ccd8b6439477eafeea7ed3736645d78e003f",
      "tree": "e32dca6b4342ce7b42952e0d9150a85fba361562",
      "parents": [
        "fa2c054b28d4b540c1b3651401a7a091282a015f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 08 09:41:54 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 08 09:41:54 2015 +0000"
      },
      "message": "Revert \"Remove interpreter entrypoint in ArtMethod.\"\n\nBuild failures on bots. Investigating.\n\nThis reverts commit fa2c054b28d4b540c1b3651401a7a091282a015f.\n\nChange-Id: Id65b2009aa66cb291fb8c39758a58e0b0d22616c\n"
    },
    {
      "commit": "fa2c054b28d4b540c1b3651401a7a091282a015f",
      "tree": "d39c2eca12dce2e0366a092b05715b3eab1319b4",
      "parents": [
        "c87c8939ea1bcfbddb954478d527cf1138f4f343"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 01 14:32:54 2015 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 08 09:31:25 2015 +0100"
      },
      "message": "Remove interpreter entrypoint in ArtMethod.\n\nSaves 4/8 bytes for each ArtMethod.\n\nChange-Id: I110ecdddf8516b0759a31fa157609643e6d60b15\n"
    },
    {
      "commit": "e401d146407d61eeb99f8d6176b2ac13c4df1e33",
      "tree": "17927f9bfe7d2041b5942c89832d55f9dedb24c5",
      "parents": [
        "2006b7b9b8e32722bd0d640c62549d8a0ac624b6"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 22 13:56:20 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 29 18:45:49 2015 -0700"
      },
      "message": "Move mirror::ArtMethod to native\n\nOptimizing + quick tests are passing, devices boot.\n\nTODO: Test and fix bugs in mips64.\n\nSaves 16 bytes per most ArtMethod, 7.5MB reduction in system PSS.\nSome of the savings are from removal of virtual methods and direct\nmethods object arrays.\n\nBug: 19264997\nChange-Id: I622469a0cfa0e7082a2119f3d6a9491eb61e3f3d\n"
    },
    {
      "commit": "2006b7b9b8e32722bd0d640c62549d8a0ac624b6",
      "tree": "338d673ee59a3c850333465c9ca4c617acc42af4",
      "parents": [],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Fri May 29 22:40:31 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 29 22:40:32 2015 +0000"
      },
      "message": "Merge \"Add unstarted runtime test for String.\u003cinit\u003e.\""
    }
  ]
}
