)]}'
{
  "log": [
    {
      "commit": "c8ccf68b805c92674545f63e0341ba47e8d9701c",
      "tree": "fb360323538cb242ebf7c5c0aca27d3a0bce0abb",
      "parents": [
        "fcabfbe577c0fd40910b565beb681bd4b66f6c5d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Sep 29 20:07:43 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Sep 29 20:13:48 2014 -0700"
      },
      "message": "ART: Fix some -Wpedantic errors\n\nRemove extra semicolons.\n\nDollar signs in C++ identifiers are an extension.\n\nNamed variadic macros are an extension.\n\nBinary literals are a C++14 feature.\n\nEnum re-declarations are not allowed.\n\nOverflow.\n\nChange-Id: I7d16b2217b2ef2959ca69de84eaecc754517714a\n"
    },
    {
      "commit": "3c821c67e28ee1ec7bea2b3b644f5aed303f19f3",
      "tree": "cf9f9cf4f2bbef75683ca195ecabcc02b7888281",
      "parents": [
        "a68b478fbc6ca8d445a3befc7eb8ca58586294eb"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Sep 10 10:08:37 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Sep 11 13:08:13 2014 -0700"
      },
      "message": "Add DumpClass context on CacheField and CacheMethod failures\n\nChange-Id: Ia1992d98c998cdc98896f5912da50c4849de7699\n"
    },
    {
      "commit": "b30e0c644d1f15cf7f048ce733131e7ac70772ae",
      "tree": "3cb14501878ea73e1777658b84c6acdafe91d0fc",
      "parents": [
        "3437531f515d84609fa43baaec32a0d1cc0e3fe0"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Sep 11 16:23:44 2014 +0200"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Sep 11 12:09:40 2014 -0700"
      },
      "message": "Fix crash when connected to DDMS\n\nRestore init of WellKnownClasses::org_apache_harmony_dalvik_ddmc_Chunk_data and\nremoved duplicated line.\n\nBug: 17467328\nBug: 17463118\n\n(cherry picked from commit 96cd6714d94b47512710776761dec98c8be68bef)\n\nChange-Id: I9f225825bef4995460e1c79a9f3a6c1331f24201\n"
    },
    {
      "commit": "3437531f515d84609fa43baaec32a0d1cc0e3fe0",
      "tree": "2331d63b2299babe5adb7240e7864695eb4bb34d",
      "parents": [
        "967e1a56df7675c8d38d411736fc081039f1a9f9"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Sep 10 23:10:47 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Sep 11 12:09:40 2014 -0700"
      },
      "message": "Use WellKnownClasses in ThrowStackOverflowError to reduce changes of further stack overflow\n\nBug: 17463118\n\n(cherry picked from commit bfc2b98a3cf7a9d580f2477e54aabded5004fd26)\n\nChange-Id: Iea04bb7f6c4daa9cbdb8ee6ce8ddcbeb9f05aa3d\n"
    },
    {
      "commit": "6bcae8fa93684af581d16400f360541d39e5b5e6",
      "tree": "88f99458a0141805acee3f730a0709542283698e",
      "parents": [
        "30cbbee37d9fcca1a39b3681434180102ee5251a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Sep 04 18:33:17 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Sep 08 18:14:42 2014 -0700"
      },
      "message": "Add fast path for FindClass using the type dex file.\n\nIf we are using the PathClassLoader with a BootClassLoader\nparent, we can handle the common case in the FindClass function\nwithout needing to go back to java code.\n\nAround 10% speedup measured of maps launch, could be noise due to\nlarge variation of app launch times. Eliminates defineClassNative\nfrom being anywhere near the top of sampling profiles.\n\nBug: 17397179\nBug: 16828525\n\n(cherry picked from commit 8a39e7fe02e9a81853dc7a75cb50d9ece07a9b37)\n\nChange-Id: I1f31de76c1b1a53e32173b1e61a59b0e2f267c98\n"
    },
    {
      "commit": "7ea6f79bbddd69d5db86a8656a31aaaf64ae2582",
      "tree": "c64f89b15ca71e87317f6dd405ef4a5560b73e01",
      "parents": [
        "e72ff8022968b23efedc56c0afdc1d24e8a928c2"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 14 16:21:44 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 21 23:36:31 2014 -0700"
      },
      "message": "ART: Throw StackOverflowError in native code\n\nInitialize stack-overflow errors in native code to be able to reduce\nthe preserved area size of the stack.\n\nIncludes a refactoring away from constexpr in instruction_set.h to allow\nfor easy changing of the values.\n\nChange-Id: I117cc8485f43da5f0a470f0f5e5b3dc3b5a06246\n"
    },
    {
      "commit": "dd157d732b557a854b3689faf8a24170fb47c270",
      "tree": "09b1761180ce511273b6bd5782baadaabf43526d",
      "parents": [
        "3b2bcbf9daf39f4cece7fde1186f3fa494000ed9"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu May 15 14:47:50 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu May 15 14:47:50 2014 -0700"
      },
      "message": "Avoid some unnecessary use of stl types.\n\nMay be a minor performance win but really done for libc++ as this removes a\ndependency on a library function whose prototype includes a std::string.\n\nChange-Id: Ifc07a9caef1206caf2a69a6e1b0bfc0ba56c8c62\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": "a3d2718d1fac53210b2a311b1728409d6c8e7b9d",
      "tree": "5f000437e67d2def425d0e25c3b53cef8bf2515b",
      "parents": [
        "f7ee11632e3dfda29d553d8962be9747d5ce6dfd"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Nov 05 23:22:27 2013 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Nov 06 01:33:23 2013 -0800"
      },
      "message": "Change thread.h to thread-inl.h to pick up missing Thread::Currnet for debug build in master\n\nChange-Id: I56a4dd18ec1c212f9dbb73b14c0c0623b23c87bd\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": "1db9113bcc12368e405583804ceb8aa7c80cc0cd",
      "tree": "b826b626f901b6012adecf697cb979d371aca78f",
      "parents": [
        "bba5dd55b7deda3a3271be502f1d3b0c30a759d6",
        "7940e44f4517de5e2634a7e07d58d0fb26160513"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 12 18:05:20 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jul 12 18:05:53 2013 -0700"
      },
      "message": "resolved conflicts for merge of 7940e44f to dalvik-dev\n\nChange-Id: I6529b2fc27dfaedd2cb87b3697d049ccabed36ee\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": "bba5dd55b7deda3a3271be502f1d3b0c30a759d6",
      "tree": "74bf9e72fbd66def253f317b9d8b6d7b8d67b86b",
      "parents": [],
      "author": {
        "name": "Anwar Ghuloum",
        "email": "anwarg@google.com",
        "time": "Fri Jul 12 22:57:56 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 12 22:57:56 2013 +0000"
      },
      "message": "Merge \"Semi-pruned SSA support for sea-ir.\" into dalvik-dev"
    },
    {
      "commit": "3c50a4b4ba6d7d9369ee9a0bd6d30bf4c9c79bb0",
      "tree": "dd109268a189e95339509b0bbfa7a95a3d6065af",
      "parents": [
        "7eacac472e360b337f8af565dfba862a194ce4ea"
      ],
      "author": {
        "name": "Anwar Ghuloum",
        "email": "anwarg@google.com",
        "time": "Fri Jun 21 13:05:23 2013 -0700"
      },
      "committer": {
        "name": "Anwar Ghuloum",
        "email": "anwarg@google.com",
        "time": "Fri Jun 21 13:05:23 2013 -0700"
      },
      "message": "Rename vmData\n\nChange-Id: I34e49e56187bbb27cb892721084f6d69c2eaacce\n"
    },
    {
      "commit": "b56812165dd3a2e6eb8b85c810943b3d7bd9bfc4",
      "tree": "de197ecad47c5baef45c584381d2ced1a11c4875",
      "parents": [
        "2e8a4fcfa4070bd18dbc7da037cdaf783dd40916"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 29 17:29:22 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 29 17:29:51 2013 -0700"
      },
      "message": "Port 1abc689a32fc20b38227060e4da5e0934df8fc19 and e5d14162ff278c41e09c42769cc31401feeeba18 to art.\n\n(The last pieces of 64-bit nio support?)\n\nChange-Id: I7f78d55331fa794320451041b4fd5d313beb952b\n"
    },
    {
      "commit": "2e8a4fcfa4070bd18dbc7da037cdaf783dd40916",
      "tree": "e36fe9f838e551eb03a419badc60d805480dbd1f",
      "parents": [
        "10efeeca29edbfe077e6ba1b0cf2151cb2e5935c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 29 16:33:52 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 29 16:33:52 2013 -0700"
      },
      "message": "Port 23579ddf124b5b0d190a68657f76d511c05a4a12 to art.\n\nBuffer.effectiveDirectAddress is now a long.\n\nChange-Id: I72636cddb5101f34d8ed01360d7f707b559fab51\n"
    },
    {
      "commit": "aecb5f3fd5dcd78bc3e74993acc40fed815b6b8b",
      "tree": "f51364904698888e76f2da56c30de469661dc0e7",
      "parents": [
        "03f74e5a79fa0fb7c5e4d581f42be2d8b79b12ba"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 28 08:27:38 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 28 08:27:38 2013 -0700"
      },
      "message": "Track libcore DirectByteBuffer change.\n\nChange-Id: I4e412a2686b35465ec8e36bc47c0a3cc7e637e57\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": "af6e67a4816d2593586115b89faa659225363246",
      "tree": "e3b330d6ed994f82972da4e5b8c3d06be2c66eae",
      "parents": [
        "a6f3aaf8ca5385d870c35d1555b7787d56a70c95"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 16 08:38:37 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 16 15:37:56 2013 -0800"
      },
      "message": "Further proxy refactorings.\n\nFactor the crawling of the quick stack arguments into a common visitor.\nFactor the proxy invocation dispatch into common runtime support code,\nfix numerous bugs relating to GC in the LLVM runtime support with this.\nClean up BoxPrimitive to not use an in argument as an out.\n\nChange-Id: I7b12c8d88d5083614e480b8fb1d2f2ef7c0a51b7\n"
    },
    {
      "commit": "c5dc2ff2d1beb3ff84f93d2c7ebe07c46b76956a",
      "tree": "fa26fad2e5cf942fee87350c11766dc30c771855",
      "parents": [
        "df42c4815c30b9df15aacb88070c1e94f41d0226"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 09 13:44:30 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 09 13:44:30 2013 -0800"
      },
      "message": "Remove references to the now-useless ThreadLock class.\n\nChange-Id: Ic644ff8a5d1fa8fc209aba1441a265ecac2778be\n"
    },
    {
      "commit": "b4e94fd380a84c755264e8668a16052442c7ec32",
      "tree": "0b0262d490c8dd1dffad4861e07b2198d0a2e503",
      "parents": [
        "4cd121ef0cb35fced70c7d9de378277be7a727d9"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 08 14:41:26 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 08 14:41:26 2013 -0800"
      },
      "message": "Extend and fix the monitor diagnostics.\n\n1. Including kSleeping as one of the interesting states.\n\n2. Reset the wait_monitor_ field later so that a thread caught trying to switch\nback to kRunnable doesn\u0027t show up as waiting/sleeping on \"null\". This only\ncame to light because my wait/sleep additions to the ThreadStress test all do\nvery short waits/sleeps.\n\n3. Remove the bogus \"held by\" output. You can only wait/sleep on a monitor you\nhold, so we know the answer already (and this code was producing the wrong\nanswer because it was using stale data).\n\nChange-Id: I23135862c2a429f4eee222756d3ff35204d12d62\n"
    },
    {
      "commit": "c8fece309fa1d3514071fadaca34530648462b50",
      "tree": "d4d20537d732e39effcd3ed7d45c44d7b14312cd",
      "parents": [
        "2d76b041be770102fc912effc398e629a18180d2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 02 11:27:23 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 02 11:27:23 2013 -0800"
      },
      "message": "Port the Runtime.nativeLoad change to art.\n\nAlso improve the diagnostics when RegisterNatives fails.\n\nChange-Id: I1000e2e240ce71fbcb4dbc42168253ef8a15c565\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": "ef28b14268ed0f9db0c7bbd571aa514354a360bd",
      "tree": "6a993310b20f012d9d1d150a85dc4ab97663587c",
      "parents": [
        "cfaa455374aae0a08c8cb28b5bb306b17866d652"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Nov 30 14:22:18 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Nov 30 23:26:19 2012 -0800"
      },
      "message": "Remove some SOA from JNI internal.\n\nRemove or reduce scope of scoped object accesses in JNI internal. Turn a\nPrettyMethod and string compare into a pointer comparison.\n\nChange-Id: I6f8ac8f6a4741916769288c4d6d411c7e0f40ef4\n"
    },
    {
      "commit": "cfaa455374aae0a08c8cb28b5bb306b17866d652",
      "tree": "ca8f25a06f234385b6e62bb774085f1324e5d519",
      "parents": [
        "3676aeb03d5f70933891bb3b21abb8e31a81e36c"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Nov 26 21:00:08 2012 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Nov 30 16:38:21 2012 -0800"
      },
      "message": "Turn the thread peer_ into a Object*.\n\nDon\u0027t use a JNI global ref for the thread peer_ so that we can\nsupport more threads than we can global refs. This fixes run-test 51.\nFix a race in thread destruction where a thread may be requested to\nsuspend while deleting itself.\n\nChange-Id: Id8756a575becf80d2a0be0a213325034556927f1\n"
    },
    {
      "commit": "120f1c74a9768e958377b6c97897511b27ae58c8",
      "tree": "fa1f90d88ea34d8ef9eec729d27c7a70956a6a09",
      "parents": [
        "cabc60e71a65fa17e5a99fba94fc61523fbeb478"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Sep 28 17:17:10 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Oct 03 17:29:26 2012 -0700"
      },
      "message": "Fail threads attaching during runtime shutdown.\n\nIntroduce counters to indicate that threads are being born. Don\u0027t allow\nthread birth to occur during runtime shutdown.\n\nBug: 7000936\n\nChange-Id: Ib0d78f78c0ff126a4b5d3b5a6f1a2ff8f5061ae9\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": "00f7d0eaa6bd93d33bf0c1429bf4ba0b3f28abac",
      "tree": "6a2172ece15c4699e6c2a67ce76f019db0a9a21d",
      "parents": [
        "634ea28f78c4a138e6a1de54eae8696095422415"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jul 19 15:28:27 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Aug 14 10:45:52 2012 -0700"
      },
      "message": "Global lock levels.\n\nIntroduce the notion of the mutators/GC being a shared-exclusive (aka\nreader-writer) lock. Introduce globally ordered locks, analysable by\nannotalysis, statically at compile time. Add locking attributes to\nmethods.\n\nMore subtly, remove the heap_lock_ and split between various locks that\nare held for smaller periods (where work doesn\u0027t get blocked). Remove\nbuggy Dalvik style thread transitions. Make GC use CMS in all cases when\nconcurrent is enabled. Fix bug where suspend counts rather than debug\nsuspend counts were sent to JDWP. Move the PathClassLoader to\nWellKnownClasses. In debugger refactor calls to send request and\npossibly suspend. Break apart different VmWait thread states. Move\nidentity hash code to a shared method.\n\nChange-Id: Icdbfc3ce3fcccd14341860ac7305d8e97b51f5c6\n"
    },
    {
      "commit": "7664f5cd118b355a5fe0c7536cb48ac991ed2b62",
      "tree": "0564c36316e2aa0a892ff9914258433f14641a07",
      "parents": [
        "9eb5f03e0dd90ac25e01fcf81f832c50a1f09d2c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jun 08 18:15:32 2012 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jun 11 11:17:13 2012 -0700"
      },
      "message": "Fix GC performance regression\n\nEnable CMS and fix performance regression due to recursive marking image spaces. Dependent on my java change list.\n\nChange-Id: I4765792aa8226e811ac158f04ab88217db755573\n"
    },
    {
      "commit": "a4f94740f9d66b21f4bcd3a225c434aa29cfa323",
      "tree": "88e3834418ac3e12d2c270fed3a370bda2643d0b",
      "parents": [
        "214d307f3d5bbfe6254ae9e96d504d3e665baa2c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 29 16:28:38 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 29 16:28:38 2012 -0700"
      },
      "message": "Finish cleanup of class/field/method caching.\n\nChange-Id: I289ae724cbd98487429275837d23b7b2d7096156\n"
    },
    {
      "commit": "af8d15a3267343dec135cc6df1db740c0a5c7b52",
      "tree": "8fb28f60c50ca9c6d0f2bfa14e855a2a0a980ab4",
      "parents": [
        "8029cbe626a467b344ff84d86170d757aa12ecd4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 29 09:12:18 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 29 11:38:43 2012 -0700"
      },
      "message": "Move the thread.cc Class*/Field*/Method* caching over to WellKnownClasses.\n\nJust heap.cc left to do, plus maybe some of the less convincing ClassLinker\nroots.\n\nChange-Id: Ib8adf3e28e00025e0c016dcd8d7b17e42f96796c\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"
    }
  ]
}
