)]}'
{
  "log": [
    {
      "commit": "762869dee6e0eadab5be1c606792d6693bbabf4e",
      "tree": "8c986c621e8a5f3cf4e4e3b2cc13b400401ad89b",
      "parents": [
        "b4cf427734c6839b46d0d6037e3189a5e8aa1bdb"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 15 15:28:35 2016 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Sep 30 10:44:31 2016 +0100"
      },
      "message": "Simplify our intrinsic recognizer.\n\n- Use the modifiers for storing the intrinsic kind.\n- Delete dex_file_method_inliner and its associated map.\n\nThis work was also motivated by the fact that the inline\nmethod analyzer leaks intrinsic tables, and even worse, might re-use\na table from one dex file to another unrelated dex file in the presence\nof class unloading and the unlikely event of the dex files getting\nthe same address.\n\ntest: m test-art-host m test-art-target\n\nChange-Id: Ia653d2c72df13889dc85dd8c84997582c034ea4b\n"
    },
    {
      "commit": "f517e283d477dd2ae229ee3f054120c6953895db",
      "tree": "69e2ca99e98aa8aeeb4825ae7ceccaaddf66307e",
      "parents": [
        "2bbd98c8472b76c4f140035eb2392c12ef073ee4"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 28 14:56:54 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 28 15:39:13 2016 -0700"
      },
      "message": "ART: Disambiguate access-checks mode from lock-counting\n\nLock-counting (when structural locking verification failed) is a\nspecial sub-mode of access-checks and must be disambiguated, because\nwe currently use access-checks mode class-wide when at least one\nmethod soft-fails, but do not stop the compiler/JIT to compile\nthe \"working\" methods. So we may end up in the access-checks\ninterpreter for a working method through deopt without knowing\nwhich locks are already held.\n\nBug: 28351535\nChange-Id: I083032f064d88df8f8f0611ad8b57d1b39cd09fb\n"
    },
    {
      "commit": "62e631a678ef18c80f37862a2dc74004954a8502",
      "tree": "9d013de0cdb62490f7a927c31110e18bbe6dd2dd",
      "parents": [
        "ac4d51883f2a87c31945b79e09762937c4d12331"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Apr 20 16:27:53 2016 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Apr 25 15:04:33 2016 +0100"
      },
      "message": "Add flag to ArtMethod to skip compilation.\n\nTo ensure even the JIT will not try to compile methods with\nsoft failures a runtime_throw.\n\nbug:28293819\nbug:28313047\n\n(cherry picked from commit 250a378d5a2152662e0fa820f2b38f794ddd3596)\n\nChange-Id: Ic6d019bc2dd24e35e1377a6c3f8530348c1049df\n"
    },
    {
      "commit": "7ead0c009c64f1e10aa39e44ea10383dd859d332",
      "tree": "425c2548b2a33050d6b3aeb0b3ce4e1a1e282f53",
      "parents": [
        "6e2237d6615c8f7b09c99d196e5effcfd087943b"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Feb 22 13:43:29 2016 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Feb 23 14:42:51 2016 -0800"
      },
      "message": "Make JNI work correctly with default methods.\n\nAlso adds some tests for JNI and DefaultMethods.\n\nBug: 27259142\nBug: 24618811\n\n(cherry picked from commit 3612149aee482ab7a17da68b0ef5fef3879729a2)\n\nChange-Id: I31222e3e41059d803be1dbb0f40e1144ac4bf457\n"
    },
    {
      "commit": "df707e406877e9c0426dd051c00933ebb331673e",
      "tree": "db9c96c96d373935a83dda2fafbf3c7e1aef3377",
      "parents": [
        "e3d4ff566f9545114bf9ed72421e49eaf9d37953"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Feb 02 16:56:50 2016 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Feb 03 13:39:19 2016 -0800"
      },
      "message": "runtime: Don\u0027t skip verification for -Xverify:soft-fail\n\nWhen forcing the interpreter into access checks mode,\nmake sure that the regular verification is still run,\ngiving the verifier an opportunity to throw a VerifyError.\n\nIf verification would\u0027ve succeeded (without -Xverify:soft-fail flag),\noverride this and soft-fail, to force the interpreter-with-access-checks to be run\ninstead of the normal faster interpreter.\n\nThis fixes the following run-tests under the interpeter-access-checks:\n* 135\n* 412\n* 471\n* 506\n* 800\n\nBug: 22414682\nChange-Id: I5cb86a8bba71c7af9361a63c0802786c852b857b\n"
    },
    {
      "commit": "3a0909248e04b22c3981cbf617bc2502ed5b6380",
      "tree": "b0b7013ea78b10f23fae75ef145e53a696ff797c",
      "parents": [
        "457e874459ae638145cab6d572e34d48480e39d2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 24 09:17:30 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 24 09:17:30 2015 +0000"
      },
      "message": "Revert \"lambda: Add support for invoke-interface for boxed innate lambdas\"\n\n955-lambda is flaky\n\nBug: 24618608\nBug: 25107649\n\nThis reverts commit 457e874459ae638145cab6d572e34d48480e39d2.\n\nChange-Id: I24884344d21d7a4262e53e3f5dba57032687ddb7\n"
    },
    {
      "commit": "457e874459ae638145cab6d572e34d48480e39d2",
      "tree": "b192c4698c4889ae90db6abe2652199802213fe6",
      "parents": [
        "3944f7175dcf60316ba58a42698ccf23c65ac57c"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Oct 22 17:37:50 2015 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Nov 20 16:33:06 2015 -0800"
      },
      "message": "lambda: Add support for invoke-interface for boxed innate lambdas\n\nLambda closures created with the \u0027create-lambda\u0027 instruction\n(termed \"innate lambdas\") can be turned into an object with \u0027box-lambda\u0027.\n\nThis CL enables support for those kinds of lambdas to work with\n\u0027invoke-interface\u0027 by generating a proxy class for the lambda.\n\nNote: MIPS32/64 support not included.\n\nBug: 24618608\nBug: 25107649\nChange-Id: Ic8f1bb66ebeaed4097e758a50becf1cff6ccaefb\n"
    },
    {
      "commit": "9139e008abe30b7beaf4afd6533228a1dd9b202c",
      "tree": "506be89287507bd777bd132627ad963729434969",
      "parents": [
        "d7c76bd7e867b151ac81ef41810614c7b4cc898e"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Oct 09 15:59:48 2015 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Nov 10 17:20:41 2015 -0800"
      },
      "message": "Correct exception behavior for default methods\n\nDefault methods are defined to throw an IncompatibleClassChangeError\n(ICCE) when they are called and there is no \"best\" implementation.\nPreviously we would simply throw an ICCE during class loading as soon\nas we noticed that this would happen if called. This makes us wait\nuntil we actually attempt to execute the method. Furthermore, this\nallows us to use other, non-conflicting, methods on the object as\nnormal.\n\nFurthermore, this makes us correctly throw AbstractMethodErrors in\ncases where all default implementations of a method are overridden by\nabstract declarations.\n\nAdds 3 tests for this new behavior.\n\nBug: 24618811\n\nChange-Id: Id891958a81f9b3862b2ce5919636aabef7d3422e\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": "52a7f5caebdf359ab877f1928aad59f1e9ad29fa",
      "tree": "fe23aeb3682128a31c62324e427b906c9804afd3",
      "parents": [
        "944973e56fd3c04c92d902b05d0148f77ed28a78"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Aug 18 18:35:52 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Aug 21 10:25:36 2015 -0700"
      },
      "message": "Add class flags to class to help GC scanning\n\nReduces GC time and pauses by reducing the number of loads required\nto scan an object.\n\nAverage total GC time before on EvaluateAndApplyChanges (EAAC): 7.452s\nAfter: 7.144s\n\nAverage GC pause times before on EAAC: 860.67us\nAfter: 722.75us\n\nAdding the class flags field cause a memory increase of ~24k system\nwide on low memory devices.\n\nChange-Id: I3f04212d5787bfbf5e55026584d149f55476105e\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": "e4275c07e9852a6944f47efa9d0591fceb8e8e36",
      "tree": "92d5e69374f88555f454d137e5d60fb1c925b4d8",
      "parents": [
        "82b844fb449ddc5d7b4e43e71a55eb934a1b0b45"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Aug 06 15:34:15 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Aug 12 15:50:24 2015 -0700"
      },
      "message": "Visit class roots from ClassLoader::VisitReferences\n\nThis causes the classes of a class loader to get marked when that\nclass loader gets marked instead of during class root visiting.\n\nBug: 22720414\n\nChange-Id: If53f042aff1d9f7bf94ecbe6886601edda029b7d\n"
    },
    {
      "commit": "848f70a3d73833fc1bf3032a9ff6812e429661d9",
      "tree": "b0349b3a40aab5a915af491b100659a5ca9fbbf6",
      "parents": [
        "d14438f0c5071962be7fab572b54687d32d9d087"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Jan 15 13:49:50 2014 -0800"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Apr 27 18:54:52 2015 -0700"
      },
      "message": "Replace String CharArray with internal uint16_t array.\n\nSummary of high level changes:\n  - Adds compiler inliner support to identify string init methods\n  - Adds compiler support (quick \u0026 optimizing) with new invoke code path\n    that calls method off the thread pointer\n  - Adds thread entrypoints for all string init methods\n  - Adds map to verifier to log when receiver of string init has been\n    copied to other registers. used by compiler and interpreter\n\nChange-Id: I797b992a8feb566f9ad73060011ab6f51eb7ce01\n"
    },
    {
      "commit": "c0365b144651c4e586ddc235423b3f0111966f89",
      "tree": "7d996dcd0233f6f26ffd7c72dda331f630cc8309",
      "parents": [
        "a2b02f7bb474549ae356b5edfbb27a76e5460c58"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 18 18:31:52 2015 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 20 12:16:25 2015 +0000"
      },
      "message": "Remember whether a method was worth inlining.\n\nChange-Id: I9d8efe312b264739ac6307f966e43c1d7650a3ca\n"
    },
    {
      "commit": "956af0f0cb05422e38c1d22cbef309d16b8a1a12",
      "tree": "b558c804d206dad8da648b815750f1b3c97610ae",
      "parents": [
        "407d77f344cfbdbbfb50531c5f0766bc0892e2fe"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 11 14:34:28 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 12 09:33:34 2014 -0800"
      },
      "message": "Remove portable.\n\nChange-Id: I3bf3250fa866fd2265f1b115d52fa5dedc48a7fc\n"
    },
    {
      "commit": "5182932cf6704b53e957f7b4be021fe505a55e22",
      "tree": "99ee2bfb5a6f4d27735aeed26a0533c759db733c",
      "parents": [
        "56369897d662ea63ea5ed57ae36af0ae0fa1452d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 25 15:05:04 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Sep 15 09:37:25 2014 -0700"
      },
      "message": "ART: Change access flag behavior in verifier\n\nNote: this moves the miranda modifier to the upper 16 bit.\n\nBug: 16161620\n\n(cherry picked from commit 7fc8f90b7160e879143be5cfd6ea3df866398884)\n\nChange-Id: I2f591d53b7d1559171e70aaaf22225d94b4882f5\n"
    },
    {
      "commit": "48498591b90a8ff7b24b1ce05c220e3bc42013df",
      "tree": "39ca61335fafc57cbcf91c5087335f367ccbedc4",
      "parents": [
        "b9620f305c79914f5159cf9279a7ccd173af1186"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Sep 10 19:48:05 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Sep 11 08:04:35 2014 -0700"
      },
      "message": "ART: Correctly make methods preverified\n\nBug: 16828525\n\n(cherry picked from commit df1532b9ba0cda2d00b78fbdef461f8a6cf8a737)\n\nChange-Id: I66756348b2aa50e41dacca59769b6810a91c73b0\n"
    },
    {
      "commit": "df8a07325db1ca6d8aa66027039c7d163c1e4d7d",
      "tree": "9767209d2c4d6ba283b2e9555996832d56ead0d4",
      "parents": [
        "2befd09cf4fe89a18a655f3e1dd310831bfa769f"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Feb 19 14:16:33 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Feb 19 14:16:33 2014 -0800"
      },
      "message": "Documentation nit.\n\nChange-Id: If006b2d4ad432917c287d66cebaa0a7bffa1aea7\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": "1eb512d33f94d1dd7ea38263307ba0f7a0dfa653",
      "tree": "b4d4d9b16013ab90fb4b40d23013d7ef44bb5852",
      "parents": [
        "b917ea1a62aa0ab8eca3f689ef64b5be34e11abb"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Oct 18 15:42:20 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun Oct 20 14:55:26 2013 -0700"
      },
      "message": "Fast JNI support.\n\nUse a modifier to signal a native method is a fast JNI method. If the\nmodifier is set then don\u0027t perform runnable transitions.\n\nChange-Id: I7835b4d837bfdd1cb8e2d54b919c0d5e6cf90499\n"
    },
    {
      "commit": "8e3fb14615f20677da8421ada131b5f2fcd8eb56",
      "tree": "a06c3cbc6d8ea544fd221765af770921fd340d77",
      "parents": [
        "31c9763a1b5f45ee51cef272244a58fb1115945a"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Oct 09 21:00:27 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Oct 09 21:00:27 2013 -0700"
      },
      "message": "Revert \"Add Jack modifier.\"\n\nThis reverts commit 6ffd0967027c092a62d7100ca42ceded369c8ca1.\n\nChange-Id: Ia69241a5100e8f740379e2ed944279de4daaf9ed\n"
    },
    {
      "commit": "fc0e3219edc9a5bf81b166e82fd5db2796eb6a0d",
      "tree": "5fc7f5b941724a62f8e3411df09fae431ff5e3cf",
      "parents": [
        "56d947fbc9bc2992e2f93112fafb73e50d2aaa7a"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 17 14:40:12 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 17 16:49:05 2013 -0700"
      },
      "message": "Fix multiple inclusion guards to match new pathnames\n\nChange-Id: Id7735be1d75bc315733b1773fba45c1deb8ace43\n"
    },
    {
      "commit": "7940e44f4517de5e2634a7e07d58d0fb26160513",
      "tree": "ac90242d96229a6942f6e24ab137bc1f8f2e0025",
      "parents": [
        "5cd9e3b122f276f610980cbaf0d2ad6ed4cd9088"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 12 13:46:57 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 12 17:49:01 2013 -0700"
      },
      "message": "Create separate Android.mk for main build targets\n\nThe runtime, compiler, dex2oat, and oatdump now are in seperate trees\nto prevent dependency creep.  They can now be individually built\nwithout rebuilding the rest of the art projects. dalvikvm and jdwpspy\nwere already this way. Builds in the art directory should behave as\nbefore, building everything including tests.\n\nChange-Id: Ic6b1151e5ed0f823c3dd301afd2b13eb2d8feb81\n"
    },
    {
      "commit": "233ea8e084a95ad2a3af746dddbadb155db6a814",
      "tree": "be5eeee19b2274e1b199a230e9297f277b47d155",
      "parents": [
        "8afe6e0d8c4151ac74afc4ebe0dab85550821243"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Jun 06 11:57:09 2013 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Jun 13 17:15:16 2013 +0200"
      },
      "message": "No access check support.\n\nThis CL adds support to disable access check when a method is preverified (at\ncompilation time) and we know we don\u0027t need to do any access check.\n\nThe interpreter has now two modes of execution: with or without access check.\nThis is realized by using a template function.\n\nA new runtime access flag kAccPreverified is added onto each method belonging\nto a preverified class. If this flag is set, we enter the interpreter in \"no\naccess check\" mode. Otherwise, we enter the interpreter in \"with access check\"\nmode.\n\nChange-Id: Ic34163421d5b0aca3d1bce22ef7c095dcf465a18\n"
    },
    {
      "commit": "a1827042bb46161b452cd720d235fb1cdfefaa76",
      "tree": "c4c2db93e91f3020ae4d44717679f164323b2b43",
      "parents": [
        "23055dc5d7a90c4a12e259fd0ed7cd4d04d89182"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Apr 18 16:36:43 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Apr 18 16:36:43 2013 -0700"
      },
      "message": "Tidy up compiled method.\n\nDocument the meaning of fields, in particular their meaning for quick or\nportable.\nMake symbol const.\nDocument kAccConstructor in modifiers applies to both \u003cinit\u003e and \u003cclinit\u003e.\n\nChange-Id: Ib42dd6e7db3759c11ea222f9bc72cb00356fad62\n"
    },
    {
      "commit": "2dd0e2cea360bc9206eb88ecc40d259e796c239d",
      "tree": "9d619dc9508cbe73e4793bf6f08cbc761abfb48a",
      "parents": [
        "ac21b797b3a425975d656d6b84a7b24401d35f42"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jan 24 12:42:14 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 30 16:48:31 2013 -0800"
      },
      "message": "Directory restructuring of object.h\n\nBreak object.h into constituent files.\nReduce number of #includes in other GC header files.\nIntroduce -inl.h files to avoid mirror files #include-ing each other.\nCheck invariants of verifier RegTypes for all constructors.\n\nChange-Id: Iecf1171c02910ac152d52947330ef456df4043bc\n"
    },
    {
      "commit": "6ffd0967027c092a62d7100ca42ceded369c8ca1",
      "tree": "95a87e608aab1934058204c0ae7a3a85a8e8601f",
      "parents": [
        "9281f004db3f194930ef34d31e5d80c98341f38f"
      ],
      "author": {
        "name": "mikaelpeltier",
        "email": "mikaelpeltier@google.com",
        "time": "Thu Oct 25 15:37:45 2012 +0200"
      },
      "committer": {
        "name": "mikaelpeltier",
        "email": "mikaelpeltier@google.com",
        "time": "Fri Oct 26 10:40:19 2012 +0200"
      },
      "message": "Add Jack modifier.\n\nBug: 7419545\nChange-Id: I58f40e11f3b3256ca7f7922f12b7bdeef724930f\n"
    },
    {
      "commit": "08f753d5859936f8d3524e9e4faa6cee353873ea",
      "tree": "5679a9ad8be6827e2a10de282cd28e3d000917de",
      "parents": [
        "b0b2be7688109cff548d2ddc8f02eecbad49ecd2"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Aug 24 14:35:25 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Aug 28 11:34:56 2012 -0700"
      },
      "message": "Avoid compile time rewriting of dex code by verifier.\n\nCompile time rewriting of dex code leads to dead code that is causing\nissues with the LLVM compiler. Make instantiation and incompatible class\nchange errors be detected in slow path field and invoke logic so its\nsafe for the compile time verification just to softly fail the effected\nclasses.\n\nThis change places incompatible class change logic into the class\nlinkers ResolveMethod and consequently changes a number of APIs.\n\nChange-Id: Ifb25f09accea348d15180f6ff041e38dfe0d536e\n"
    }
  ]
}
