)]}'
{
  "log": [
    {
      "commit": "56bd56262320a37c1823f28d9f8bd087da2944be",
      "tree": "f4c69e6ee512d1dc425c6fe90403c8b0faff23b9",
      "parents": [
        "6c13ce8b4ccdb6127c4428cf8b2c8261dccced20"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Jul 19 10:31:46 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Jul 19 10:31:46 2017 -0700"
      },
      "message": "dalvikvm.cc: use proper nativehelper headers\n\nlibnativehelper exports headers under nativehelper. These were\navailable before incorrectly as global headers in order to give\naccess to jni.h.\n\nTest: modules using dalvikvm.cc find headers\nBug: 63762847\nChange-Id: I24776efb77b7d86d3b9d2ef78bc17bffe2e02f33\n"
    },
    {
      "commit": "e431e2758d62cf56f7f347f5a8c9d79e41b6dcd7",
      "tree": "b8733533e2478069aabbdc3a34d0f40aff33e1b1",
      "parents": [
        "b98d384eb424ad7e1dc9816392ded33dce0e0372"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Jul 18 16:53:49 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Jul 18 18:25:55 2017 -0700"
      },
      "message": "art: use proper nativehelper headers\n\nlibnativeheader exports headers under nativeheader. These were\navailable before incorrectly as global headers in order to give\naccess to jni.h.\n\nTest: modules using art find headers\nBug: 63762847\nChange-Id: I5c820d677e94e07b2859e78610bc997fe51b41dc\n"
    },
    {
      "commit": "2cebb24bfc3247d3e9be138a3350106737455918",
      "tree": "d04d27d21b3c7733d784e303f01f873bb99e7770",
      "parents": [
        "1f02f1a7b3073b8fef07770a67fbf94afad317f0"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 21 16:50:40 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 22 12:44:27 2015 -0700"
      },
      "message": "Replace NULL with nullptr\n\nAlso fixed some lines that were too long, and a few other minor\ndetails.\n\nChange-Id: I6efba5fb6e03eb5d0a300fddb2a75bf8e2f175cb\n"
    },
    {
      "commit": "fc58af45e342ba9e18bbdf597f205a58ec731658",
      "tree": "3f93906235cb4d2462d237223b72ccf4eedef645",
      "parents": [
        "bbf02afc641a393d33342976e269218668c07386"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 16 18:00:39 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 21 15:51:29 2015 -0700"
      },
      "message": "Add AbstractMethod, Constructor, Method\n\nMoves functionality to ART from libcore. Precursor to moving\nArtMethods to native. Mostly performance improvements.\n\nN5 perf before (irrelevant results removed):\n            Class_getConstructor  962.87 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n         Class_getDeclaredMethod 2394.37 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n                 Class_getMethod 2509.20 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n               Class_newInstance 1999.81 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n                  Method_invokeI 1439.02 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n          Method_invokePreBoxedI 1415.82 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n            Method_invokeStaticI 1456.24 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n    Method_invokeStaticPreBoxedI 1427.32 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n            Method_invokeStaticV  814.47 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n                  Method_invokeV  816.56 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nAfter:\n                       benchmark      ns linear runtime\n            Class_getConstructor 1302.04 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n         Class_getDeclaredMethod 1459.01 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n                 Class_getMethod 1560.40 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n               Class_newInstance 2029.94 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n                  Method_invokeI 1312.89 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n          Method_invokePreBoxedI 1255.01 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n            Method_invokeStaticI 1289.13 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n    Method_invokeStaticPreBoxedI 1196.52 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n            Method_invokeStaticV  790.82 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n                  Method_invokeV  791.73 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nPerformance improvements are more than just fixing regressions introduced\nin: http://android-review.googlesource.com/#/c/146069/\n\nBug: 19264997\n\nChange-Id: Ife79c469fdb09f30e3aefcfc3e0ce5ed32303fce\n"
    },
    {
      "commit": "2eebc9956095f3fb510692acda478f39a364fb74",
      "tree": "6bb56e0305e0be1fced1720446bdbc9f2bc195af",
      "parents": [
        "e974c704991378162e68a67f5e63607984e38567"
      ],
      "author": {
        "name": "Piotr Jastrzebski",
        "email": "haaawk@google.com",
        "time": "Fri Oct 17 12:40:38 2014 +0100"
      },
      "committer": {
        "name": "Piotr Jastrzebski",
        "email": "haaawk@google.com",
        "time": "Fri Oct 17 12:42:41 2014 +0100"
      },
      "message": "Fix error message to match the code.\n\nThe code checks that curr_opt \u003e option_count\nbut error message says that curr_opt \u003e\u003d option_count.\n\nChange-Id: I19cd077e2383ad9a368e324a1e35cc98170a40a4\n"
    },
    {
      "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": "866ac80d18c37a3854a8c857cb084614fba01110",
      "tree": "2b15c2faf3865f3c88d02e57f3fa5fcba56a8559",
      "parents": [
        "245e536fbe303a114cf3f2535122fcb327a243b7"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri May 16 12:27:03 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri May 16 12:27:03 2014 -0700"
      },
      "message": "Add missing header necessary for libc++.\n\nChange-Id: I0fe951f681415cf40b3e3f606feffd5bd6bd14c8\n"
    },
    {
      "commit": "507dfdd147c97bfbadebfd63584d094b6a4e7b47",
      "tree": "cce43931b6dcd088cb2932c2491f86116353a27f",
      "parents": [
        "922ddb30982d2597eab634d8b8598bec0eb7d3b7"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu May 15 16:42:40 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu May 15 16:50:51 2014 -0700"
      },
      "message": "Compatibility layer to transition from UniquePtr to std::unique_ptr.\n\nUse ART_WITH_STLPORT (enabled for the target) to cause the use of UniquePtr,\nfor the host switch to std::unique_ptr. For now the type remains called\nUniquePtr.\nMake dalvik compile with clang on the host, move its build to C++11.\n\nChange-Id: I5ba8d2757904bc089ed62047ea03de3c0853fb12\n"
    },
    {
      "commit": "bd5ea6a2f7c61c4cd7b66fead1bedd96e938369d",
      "tree": "1c1dde0d817303e669c413a919c192e2f3463bb0",
      "parents": [
        "5e17616b7386159cef8f2fb6ffe3cbc4fb1373e4"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Apr 16 16:34:44 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Apr 16 16:35:44 2014 -0700"
      },
      "message": "Preparation for transition to libc++.\n\nMove the dependency on libc++ to its own makefile so that we can switch in a\nsingle place between libc++ and stlport.\n\nChange-Id: Ie61e7d054dcd049e36d5e7298c27d8a4abe6edf7\n"
    },
    {
      "commit": "686107ea2f123edf8fbba2df5081a5f0b6de4d13",
      "tree": "66cd50556da0d17c43e90eaf752aa642cde72348",
      "parents": [
        "ef2cc5a9c6e508a3e8b24d04ca35f7422f27e112"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Feb 25 23:08:33 2014 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Feb 25 23:35:49 2014 -0800"
      },
      "message": "Fix dalvikvm -help\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d62149\nChange-Id: I8ab11cc7c171dc4b7eee1d33aa1624aae832a393\n"
    },
    {
      "commit": "570c009c9994225db8cb94838e0adcaf306aa9b9",
      "tree": "f95ef3efd5d543d8c179c906d2b70a438e5a6437",
      "parents": [
        "226476bd6067864b860b48ed5b88982e131c20d9"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Sep 11 15:15:09 2013 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Sep 11 23:03:59 2013 +0000"
      },
      "message": "Add explicit dependency on algorithm\n\n(cherry picked from commit f409f8134fa7222bc56f50a96cd541bb76ce75e9)\n\nChange-Id: I3edb34b3c3a1e89a195db18ad8e6a71bc7b4a570"
    },
    {
      "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": "934313b5b14474fee3b84bbda0f0d3fe4805c63f",
      "tree": "19f52c6782289999da34aeba2448e6fe5641edf1",
      "parents": [
        "534f2b6f430c7984fda9333f8e72b37962b144b4"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jul 11 13:01:37 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jul 11 13:01:37 2013 -0700"
      },
      "message": "Let dalvikvm default based on persist.sys.dalvik.vm.lib\n\nChange-Id: I0e2aa9b1227d9665c37366d6d7bdca2b6c009271\n"
    },
    {
      "commit": "0eba633357c6c01b298434c7fd8a5705b5b2e18f",
      "tree": "88ff7d988b4e7691403c48caa5a72100c877d2ff",
      "parents": [
        "ad27f28fa7516b169ee9947ca24a04fd5600f2e6"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jun 19 15:08:24 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jun 20 16:53:02 2013 -0700"
      },
      "message": "Use libnativehelper to find JNI_CreateJavaVM\n\nChange-Id: If5da43aee75a3ac5337a90b25264ac30129e3933\n"
    },
    {
      "commit": "ad27f28fa7516b169ee9947ca24a04fd5600f2e6",
      "tree": "13952eac9f9ca30c93cf118fe4b9a26d31bed66e",
      "parents": [
        "35bd61a3e107b3bd30550d268dd708b0381af04a"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jun 18 16:32:51 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jun 18 16:32:51 2013 -0700"
      },
      "message": "Add missing dlclose\n\nChange-Id: I02c893fc59f0d3bea8a24c4c0fc39e2f34592a34\n"
    },
    {
      "commit": "fa42b4410d49134a8e63dc2196be4013d286f2d6",
      "tree": "71e325089092167f202fbdf763daaf700cfd4a4b",
      "parents": [
        "7675e16bcae06c0fe258aad89b3d511037dec399"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jun 17 12:53:45 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jun 17 19:01:40 2013 -0700"
      },
      "message": "Move to new art dalvikvm\n\nChange-Id: Ib04bc9853b7084965fa0c9899c3e5f5ac42d4ce7\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": "07ed66b5ae659c452cbe1ab20c3dbf1d6f546461",
      "tree": "2350745da33df6fcb9fb0c9059e55ea5d5ea8f67",
      "parents": [
        "76b6167407c2b6f5d40ad895b2793a6b037f54b2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 12 18:34:25 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 12 18:35:05 2012 -0800"
      },
      "message": "Move logging.h into base/logging.h.\n\nChange-Id: Id68f85f7c3a71b156cb40dec63f94d4fb827f279\n"
    },
    {
      "commit": "66f19258f9728d4ffe026074d8fd429d639802fa",
      "tree": "fd94009774c6cbbb1528ea096e606133bd35f104",
      "parents": [
        "a5e1e3d153990845d80cb8d013157210f11a473c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Sep 18 08:57:04 2012 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Sep 21 17:32:56 2012 -0700"
      },
      "message": "Change dex cache to be java object instead of array, add pointer to dex file in dex cache.\n\nGeneric clean up to facilitate having GDB macros for Pretty* helper functions.\n\nImproved cleanliness of DexCache since having it as an object array was not the best solution.\n\nFixed a bug in InOrderWalk caused by ResolveType sometimes allocating classes.\n\nRename C++ Method to AbstractMethod and add two new classes Constructor, Method which both inherit from AbstractMethod.\n\nRename done to have the C++ code be closer to the java code.\n\nChange-Id: I4995b4c5e47a3822192b08afa24a639d3b1f4da9\n"
    },
    {
      "commit": "0d39c12238499ca9ccc34d1532c443335e7c1044",
      "tree": "78a6befc07c5f24691234759eb2a8ddb488d0ef1",
      "parents": [
        "ebe2e0f2e5145ef8433c1459b9cd60ecd853ee76"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 06 16:41:17 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 06 17:31:26 2012 -0700"
      },
      "message": "\"InitGoogle\"-style argv stashing.\n\nThis lets us give the command line in crash dumps when dex2oat dies in the\ncontinuous build on the Mac. I\u0027ve also taken the opportunity to use the\nbasename of argv[0] as the default log tag, so dex2oat will now show up in\nlogcat as \"dex2oat\" instead of \"art\" (and we can probably stop manually\nprefixing dex2oat log output).\n\nAlso stash pthread_self() so we can _correctly_ report \"handle\u003d\" in the\nSIGQUIT output.\n\nChange-Id: Ia8249cd19bab5b816cb94a531a65becdfacaa98b\n"
    },
    {
      "commit": "eac766769e3114a078c188ea26776a81f0edb3cf",
      "tree": "4b9b8dfc89725173431817baba4455c013e40577",
      "parents": [
        "3f9ace8d90bfc48c8d7bf35af66de8ce8238de7f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 24 21:56:51 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 25 12:04:43 2012 -0700"
      },
      "message": "DO NOT MERGE Fix all unsafe caching to be like libcore.\n\nThis way, if a runtime is restarted within a process, we re-initialize all\nthe cached data.\n\nConflicts:\n\n\tsrc/native/java_lang_Runtime.cc -- nativeExit lost an argument in dalvik-dev\n\n(cherry picked from commit 7756d5473fa27ce7e6ac7c31770eef7030431da4)\n\nChange-Id: I6184fc20c2a9ec16c4b053584a4d1c3b64452d0f\n"
    },
    {
      "commit": "72395bf298b7707ad9d93c3e51b57e1b8e010311",
      "tree": "8d2e6c3b6bd72ae27aa19979f301630fc438dfec",
      "parents": [
        "ae80b493748c5b6ffe310a91c651e7043f4b2dae"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 24 13:45:26 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 24 13:45:26 2012 -0700"
      },
      "message": "Support ANDROID_LOG_TAGS.\n\nThis is the dalvik-compatible solution to the \"I don\u0027t want non-FATAL logging\nin my test output\" problem.\n\nChange-Id: I51b7b883ce89604af4661696e7c7b041a0ef8211\n"
    },
    {
      "commit": "17057b15cb8d8da97b2bc28fd38bdcc7a34e846e",
      "tree": "68112562cc3bece94ac075c918bdb1f91bce96ee",
      "parents": [
        "c5f40bf576e2acc148366b84a22842f321290aab"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 03 10:22:39 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 03 10:22:39 2012 -0700"
      },
      "message": "Fix shutdown when the current thread has been manually detached.\n\nChange-Id: I76990a88c31ff671c13e1e1a90710749911d185c\n"
    },
    {
      "commit": "81ff3184e7eb8de4605c7646674ea4f9fa29b5f3",
      "tree": "eaf443fcc575d3a793af3ab3e435211981a1c1b1",
      "parents": [
        "5147733292cd0b80ca7da3099e43cc549d67526b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 23 20:35:56 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 26 08:38:34 2012 -0700"
      },
      "message": "Nomenclature improvements.\n\nChange-Id: I809ab04b6ee74bb8141791e1f3f5d7e3f4efb61c\n"
    },
    {
      "commit": "e84278b035c8a48f6032ef98fae008d875fba7a4",
      "tree": "899db76267f361ead832a9a59160848961849df8",
      "parents": [
        "3a71160a8ca468bbf80c57e49c3450a7807c4c52"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 22 10:06:53 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 22 10:06:53 2012 -0700"
      },
      "message": "Stop saying \"clazz\".\n\nChange-Id: I569a3d29f6a394ee40e6dbdb8f76ae9a60348b65\n"
    },
    {
      "commit": "1bac54ffa933fbe9b92b62437577f2f4583eff1a",
      "tree": "a27134343ed3cd45a286c3a68b9a4469e70f13e7",
      "parents": [
        "96970cdab3e28511322ce37fa578f6eff8931d72"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 16 12:48:31 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 16 12:48:31 2012 -0700"
      },
      "message": "Fix all our unused parameter warnings so we let GCC report them.\n\nThere were a couple of genuine bugs here (fixed), plus there\u0027s a missing\nfeature in trace.cc that I\u0027ve just added a TODO for.\n\nAlso note that I haven\u0027t touched the compilers; this warning is still\nexplicitly disabled for that code. I\u0027ll do that when there\u0027s less going\non in those directories.\n\nChange-Id: Ic3570bf82411a07c7530bfaf1995ac995b9fc00f\n"
    },
    {
      "commit": "2faa5f1271587cda765f26bcf2951065300a01ff",
      "tree": "c59557857c36741cfcd1b6bf5ae039886a8ad6e7",
      "parents": [
        "0850c69c88d49efd4075288511b70d6c032bd0c8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 30 14:42:07 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 30 16:46:29 2012 -0800"
      },
      "message": "Fix copyright headers.\n\nChange-Id: I5b7bc76a370238d810d78522bd5531600746700f\n"
    },
    {
      "commit": "11d1b0c31ddd710d26068da8e0e4621002205b4b",
      "tree": "8d9c9c0dd5741214466775b86069032d609fd91c",
      "parents": [
        "bbdb1437f55948e5395b4dcb306e25605539a444"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 23 16:57:47 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 23 17:26:10 2012 -0800"
      },
      "message": "Reduce namespace pollution.\n\nThis leaves us with just the mspace stuff and three libdex functions to clean\nup. We deliberately expose the JII API, and I don\u0027t think there\u0027s anything we\ncan really do about the art_..._from_code stuff (and at least that starts with\n\"art_\").\n\nChange-Id: I77e58e8330cd2afeb496642302dfe3311e68091a\n"
    },
    {
      "commit": "95caa791e560da97363c0c0d22bfda4a7e7377c3",
      "tree": "7cc1c2b15566009216a0c34f456e506e1c859e81",
      "parents": [
        "ce46d3237c5117b1d2268c17e3639392416ff34d"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Wed Oct 12 18:14:17 2011 -0400"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Thu Oct 13 15:21:24 2011 -0400"
      },
      "message": "Create proxy class, constructor, and methods.\n\nThis code compiles but has not been exercised. I still\nneed to wire in the code blocks and return types.\n\nChange-Id: I1796103d3bc4fc3c863f95bdca4cfb9765d4b3b7\n"
    },
    {
      "commit": "3320cf46afd082398aa401b246e6f301cebdf64d",
      "tree": "99ef2b240ad81fa7cafa0bca51ca2364120fa762",
      "parents": [
        "4f0d07c783afef89703dce32c94440fc8621a29b"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Oct 04 14:58:28 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Oct 07 11:59:20 2011 -0700"
      },
      "message": "Move rest of code related blobs from Method to oat\n\nChange-Id: I55041b564ab65317c8b1f863005f20ba650a0322\n"
    },
    {
      "commit": "0c8c6732ee872d6f475db6cd6c8e205e152b113c",
      "tree": "7aa76bf781be43faaa628bcb99749c3a5aece420",
      "parents": [
        "e983d0062addbf374938df04d626243e08b79412"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 02 16:14:13 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 02 16:14:13 2011 -0700"
      },
      "message": "Ensure we exit with EXIT_FAILURE if the main thread had an uncaught exception.\n\nChange-Id: I511d71d84992b2ec5efc7b2c2a39f7f279df941c\n"
    },
    {
      "commit": "d6fe38d96b6116bd53cf2cb14734af8d69e08661",
      "tree": "2ec49bdce91f1641440f5cd228898a93ede73205",
      "parents": [
        "fc22c89072e310767f8e39776195a219df851ea0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 02 11:14:43 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 02 11:14:43 2011 -0700"
      },
      "message": "Fix oatexec to not print uncaught exceptions twice.\n\nChange-Id: I7af0859cf4c981f1dc6fb9e0940ef17897951cc1\n"
    },
    {
      "commit": "f867b6f706818c886087f61b89d1e8f5fc4653cf",
      "tree": "87a87a20f884601848ad09ced087035d121ab2d0",
      "parents": [
        "6bdc3b255d313a71016e78802dbcc97fa995c851"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Sep 16 12:17:25 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Sep 16 23:18:48 2011 -0700"
      },
      "message": "Filling in some Class, Method, and Field native code needed during startup and I/O\n\nChange-Id: Ia2f2a0ec295d1bd848e6f65254bd9fec2fde56f6\n"
    },
    {
      "commit": "78128a63b2615744760b7f8ab83df9764a5d4a95",
      "tree": "544b24f88e1f8d3df2ab28ec2973476ad1b85a97",
      "parents": [
        "d03935aea5192b32e3ca60a94db90b78c6702046"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Sep 15 17:21:19 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Sep 16 10:07:10 2011 -0700"
      },
      "message": "oatdump\n\nFROM MAKE:\nmm dump-boot-oat\n\nON HOST:\noatdump --dex-file\u003d$ANDROID_PRODUCT_OUT/system/framework/core.jar --image\u003d$ANDROID_PRODUCT_OUT/system/framework/boot.oat --strip-prefix\u003d$ANDROID_PRODUCT_OUT\noatdump --boot-dex-file\u003d$ANDROID_PRODUCT_OUT/system/framework/core.jar --boot\u003d$ANDROID_PRODUCT_OUT/system/framework/boot.oat --dex-file\u003d$ANDROID_PRODUCT_OUT/system/framework/art-test-dex-HelloWorld.jar --image\u003d$ANDROID_PRODUCT_OUT//system/framework/art-test-dex-HelloWorld.oat --strip-prefix\u003d$ANDROID_PRODUCT_OUT\n\nON TARGET:\nadb shell oatdump --dex-file\u003d/system/framework/core.jar --image\u003d/system/framework/boot.oat\nadb shell oatdumpd --boot-dex-file\u003d/system/framework/core.jar --boot\u003d/system/framework/boot.oat --dex-file\u003d/system/framework/art-test-dex-HelloWorld.jar --image\u003d/system/framework/art-test-dex-HelloWorld.oat\n\nChange-Id: Iad2ae40a9cf2dc28799ff5dc5222d50f1bc6b39f\n"
    },
    {
      "commit": "69b15fb098162f19a4c20e6dccdcead04d9c77f0",
      "tree": "84fdfc26f560fb618b652a0aff98347f875a2653",
      "parents": [
        "109bd6a38d0cd7c4b7797a9f2db8324c797d1368"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sat Sep 03 12:25:21 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Sep 06 15:28:47 2011 -0700"
      },
      "message": "Working dex2oat and oatexec\n\nadb shell dex2oatd --dex-file\u003d/system/framework/core.jar     --image\u003d/system/framework/boot.oat --base\u003d0x50000000 \"\u0027--method\u003dLjava/lang/System;logI(Ljava/lang/String;)V\u0027\" \"\u0027--method\u003dLjava/lang/System;log(CLjava/lang/String;Ljava/lang/Throwable;)V\u0027\"\nadb shell dex2oatd --boot-dex-file\u003d/system/framework/core.jar --boot\u003d/system/framework/boot.oat --dex-file\u003d/system/framework/art-test-dex-HelloWorld.jar --image\u003d/system/framework/art-test-dex-HelloWorld.oat\nadb shell oatexecd -Xbootclasspath:/system/framework/core.jar -Xbootimage:/system/framework/boot.oat -classpath /system/framework/art-test-dex-HelloWorld.jar -Ximage:/system/framework/art-test-dex-HelloWorld.oat HelloWorld\n\n09-05 17:58:18.912  2385  2385 I System  : Hello, world!\n\nChange-Id: I53e534068584f0c3a837313e4d517a0e4a7154fc\n"
    },
    {
      "commit": "90a3369d3b6238f1a4c9b19ca68978dab1c39bc4",
      "tree": "b66ec9b2cced5713bd5902c499d57b533d2e7a9a",
      "parents": [
        "34023801bd544e613d6e85c9a5b2e743f3710e8f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 30 13:27:07 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 30 13:27:45 2011 -0700"
      },
      "message": "Switch to UniquePtr.\n\nOnly one use of scoped_ptr was incorrect (but then again, I spent an afternoon\nwith valgrind finding and fixing them just last week).\n\nChange-Id: If5ec1c8aa0794a4f652bfd1c0fffccf95facdc40\n"
    },
    {
      "commit": "c1674ed06662420213441ff2b818f2f71f9098dc",
      "tree": "2799982a5059feab2a680ce5d91c276e5852983c",
      "parents": [
        "bafc342a37e423a19ac05f14800006ea9d67a941"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 25 18:09:09 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 25 18:48:47 2011 -0700"
      },
      "message": "Make valgrind happier and stop us leaking so much we can can\u0027t run the tests on a device.\n\nChange-Id: Id8f45dde788fd84c10b0b5807b2d12eae529ba5e\n"
    },
    {
      "commit": "e5b0dc83537bf915c6abe4efeae6e501daf75a27",
      "tree": "09b9ed8051636953f46f33c1e736dcdaee506711",
      "parents": [
        "1a18c8c1c0e4ea1ff06177e93c7ff703376dcee2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 23 09:59:02 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 23 10:52:37 2011 -0700"
      },
      "message": "Add \"class Throwable\" and rewrite exception throwing to use JNI.\n\nChange-Id: I79836075337eedfc5923ebff028176615ffd3598\n"
    },
    {
      "commit": "a0b8feb34a8492c6b8d430f6ca0716e7ff4f4c57",
      "tree": "4c7c1613f5b7af65bfabde2091a2bf106171a9de",
      "parents": [
        "9cff8e13d41825c4f3f0127af061e94b06114fc8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Aug 20 09:50:55 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Aug 20 09:54:46 2011 -0700"
      },
      "message": "Turn off the \u0027public\u0027 check for main, and improve diagnostics.\n\nWe\u0027re likely to be able to invoke a static main method before we can invoke\na virtual getModifiers, and right now we don\u0027t care whether we\u0027ve been asked\nto run a non-public main.\n\nAlso adds PrettyMethod for improved diagnostics.\n\nChange-Id: Iea08f0be980386adbe408b476449c2066c4e6da8\n"
    },
    {
      "commit": "0a96fe07175b960050a606fadbf76d85a060e4fa",
      "tree": "3a2ff3afaa4931b86bb98d0dd616e71a5dc2c665",
      "parents": [
        "bfaadc83460726b049614a8616effbb03a247552"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 19 10:22:04 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 19 10:22:04 2011 -0700"
      },
      "message": "Use libnativehelper\u0027s existing code for creating a String[].\n\nChange-Id: I9d3341b2db5de0313b3542307a43a7be6b83a927\n"
    },
    {
      "commit": "f2682d5a6ce0f7de58da8fd4ec8aec200c43b92e",
      "tree": "e7669f0833a588eb5231fb4452bbac091cc5037e",
      "parents": [
        "0d666d8769714dcbc2acc4dd5b06f0deffa6e0a1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 15 16:37:04 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 15 18:34:59 2011 -0700"
      },
      "message": "Fix the invocation interface.\n\nPreviously, we just cast the Runtime* to a JavaVM*, which blew up as soon as\nthe caller tried to use their supposed JavaVM*.\n\nThis also implements NewObjectArray. Running aexecd on the host, this gets us\nas far as not having an x86 CreateInvokeStub...\n\nChange-Id: Iba5f148797d053fba1c69af99b20508ea6aff5cb\n"
    },
    {
      "commit": "0dab4ecc01c5db0d0846bf5b4f608634d7404f74",
      "tree": "28f48ad1713ac07c817b034bcbb6d7171c72e614",
      "parents": [
        "35baaab2a79014f35e225b189f6dbec1b4ba9542"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 11 12:19:32 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 11 12:19:32 2011 -0700"
      },
      "message": "Switch to the libcore ScopedLocalRef.\n\nAlso stop returning a deleted local reference from CreateStringArray.\n(In a later patch I\u0027ll switch us over to the libcore toStringArray.)\n\nChange-Id: I83cb10b9ecda32476f94a1120325ac4121f9e4fb\n"
    },
    {
      "commit": "2ed144c2b49ae1da6c464d7a1be0062870530802",
      "tree": "2cd7472e610494129bcfd0b65744b81030dd4f2f",
      "parents": [
        "27012039a909f8769e4a90200921db8f0fd0396e"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Jul 26 16:52:08 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Jul 26 16:52:08 2011 -0700"
      },
      "message": "Preliminary implementation of the JNI invocation interface.\n\nChange-Id: Ib144cb887864cd232a8cb8167b20d1540829a6a5\n"
    },
    {
      "commit": "6b6b5f0e67ce03f38223a525612955663bc1799b",
      "tree": "83347b18ba66d4c46d06ca81be01285959f08060",
      "parents": [
        "a5d5cfda6239d8876937e75eba43222f639d2447"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Jun 21 15:05:09 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Jun 21 15:22:34 2011 -0700"
      },
      "message": "Shorten the namespace and re-normalize include guards.\n\nChange-Id: I93af4c1f19edf31098abd20ded1fcca6c5d83854\n"
    },
    {
      "commit": "7b21670581d13db32f1384a3b2692bcfc8f57320",
      "tree": "043e32474029852fc50993e87094f8549c0f9807",
      "parents": [
        "80ad5ffa2dee9a30cdf55a4e3ee5f6edce74d302"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Fri Jun 17 15:09:26 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Fri Jun 17 15:09:26 2011 -0700"
      },
      "message": "Initial build configuration for the new Android runtime.\n\nChange-Id: I9956c8623f7bd333ceba5a41fc8cd3d16c309fd7\n"
    }
  ]
}
