)]}'
{
  "log": [
    {
      "commit": "0866f4ed6338faa4a193b7e819fc7cd72bd7b0ae",
      "tree": "21d3eb3e35a5af9f3bbb183e12c2c30c2873e8c9",
      "parents": [
        "0841a6ddff92e6581fb61d9b72f7317ab4db7248"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Feb 22 10:03:12 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Feb 25 18:56:00 2016 -0800"
      },
      "message": "ART: Add unstarted-runtime functions\n\nAdd more functions to allow compile-time initialization of\ncode.\n\nBug: 27248115\nChange-Id: Iaf8d92deb73547ccd31c0d6dde68da3bc14c3985\n"
    },
    {
      "commit": "7de77dd4f2d3cbb0615ee001589eb99ae82c3dcc",
      "tree": "b699dc76d48c853897d8cabaa825be2ab4ec4f5d",
      "parents": [
        "8cd927c8f6911cfb6118b8c54550959c09eb84f8"
      ],
      "author": {
        "name": "Raghu Gandham",
        "email": "raghu.gandham@imgtec.com",
        "time": "Fri Jun 13 15:16:31 2014 -0700"
      },
      "committer": {
        "name": "Raghu Gandham",
        "email": "raghu.gandham@imgtec.com",
        "time": "Fri Jun 13 15:26:39 2014 -0700"
      },
      "message": "Assign a lower Locklevel for Mutexes used in QuasiAtomic operations.\nThis fixes the CompilerDriverTest on MIPS. The test was failing when\nTransaction::Abort() acquired intern_table_lock_ and log_lock_\nand subsequently performed QuasiAtomic operations.\n\nChange-Id: I9fcda51221f1f298bcb5dd0e10019bd2034ab8ae\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": "b122a4bbed34ab22b4c1541ee25e5cf22f12a926",
      "tree": "624f16271f4481a8fd5aa2f607385f490dc7b3ae",
      "parents": [
        "e40687d053b89c495b6fbeb7a766b01c9c7e039c"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 19 18:00:50 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Dec 20 08:01:57 2013 -0800"
      },
      "message": "Tidy up memory barriers.\n\nChange-Id: I937ea93e6df1835ecfe2d4bb7d84c24fe7fc097b\n"
    },
    {
      "commit": "784639608387602e0c9e448e88db7809577f1667",
      "tree": "804ba3b5e9a96565fbceaf6ca44ab1345ffdb7ca",
      "parents": [
        "8b31a36f846b63b1d375b31097773365ac8d7cb1"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Nov 07 15:48:35 2013 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Nov 07 15:48:35 2013 -0800"
      },
      "message": "Change thread.h to thread-inl.h for missing Thread::Current for mips\n\nChange-Id: Ic1c7c1870c1a49ea470d7f86a9565fea9bb85508\n"
    },
    {
      "commit": "2d88862f0752a7a0e65145b088f49dabd49d4284",
      "tree": "3fac6bbd9a0ff3836f361e46579151c8a93420b6",
      "parents": [
        "751d4ed43e8118f145edf18db4d987daf7dabbae"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jul 18 17:02:00 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jul 18 17:02:52 2013 -0700"
      },
      "message": "Fixing cpplint readability/casting issues\n\nChange-Id: I6821da0e23737995a9b884a04e9b63fac640cd05\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": "1c653d545058a1a850fb6d07d74e607fa1ddf48e",
      "tree": "5765751d823e7f5b841593ff26c9e2371532bd9b",
      "parents": [
        "fa7809f3da2f366317ecb0e37f39c0c7e343d567"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jun 13 15:04:30 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jun 13 15:04:30 2013 -0700"
      },
      "message": "Fix O0 build.\n\nUse builtin for x86 cmpxchg as inline asm defeats O0 register allocator.\nAdd missing const static field definitions.\n\nChange-Id: I10e41ddea90ce156cdb1ca43f4bf9d6d4b6c4259\n"
    },
    {
      "commit": "0fed328fc9dd21a0b0da3e9b39ee2ce6a4d07117",
      "tree": "edff31ac8c23fd405f66e54c7390310a1a2c3cc6",
      "parents": [
        "0e033673670733c0809815e3662bb5a501cdb492"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Apr 19 11:13:20 2013 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Apr 19 11:22:00 2013 -0700"
      },
      "message": "MIPS fix.\n\nDon\u0027t use a local std::string for a mutex name.\n\nChange-Id: I29b6f19f4dc50931deb820b7975ae98e72fdeaf4\n"
    },
    {
      "commit": "0794b6acf40251d25f08defbe8648dbe0a24ba62",
      "tree": "5cef44ecfc81141c5c0cd8ea7b1754e8b2652301",
      "parents": [
        "eae2691d6120e2f34845eaffec5358d9dd8618eb"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 30 16:26:20 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 30 16:26:20 2013 -0800"
      },
      "message": "Fix ARM CAS64.\n\nTested on Google Maps.\n\nChange-Id: I4dcbaec880a9c5267e831a6c64892b577a00706b\n"
    },
    {
      "commit": "9adbff5b85fcae2b3e2443344415f6c17ea3ba0a",
      "tree": "e2893a0096a9c61f400d1f0bf0573eac75ae630d",
      "parents": [
        "cf07143e6b254a4087337d5f50bd7c1ee1b6a230"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 23 18:19:03 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jan 23 18:41:54 2013 -0800"
      },
      "message": "Implement Intel QuasiAtomics.\n\nDon\u0027t use striped locks for 64bit atomics on x86.\nModify QuasiAtomic::Swap to be QuasiAtomic::Write that fits our current use of\nSwap and is closer to Intel\u0027s implementation.\nReturn that MIPS doesn\u0027t support 64bit compare-and-exchanges in AtomicLong.\nSet the SSE2 flag for host and target Intel ART builds as our codegen assumes\nit.\n\nChange-Id: Ic1cd5c3b06838e42c6f94e0dd91e77a2d0bb5868\n"
    },
    {
      "commit": "e222ee0b794f941af4fb1b32fb8224e32942ea7b",
      "tree": "0b9f5fe6398663c9d871881cf7de28eca8bdfc6f",
      "parents": [
        "1aa246dec5abe212f699de1413a0c4a191ca364a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 13 14:41:43 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 13 15:24:45 2012 -0800"
      },
      "message": "Move stringpiece.h and stringprintf.h to base/.\n\nChange-Id: I7f71b4a12f99c5f81771146c66629ae5a947b229\n"
    },
    {
      "commit": "1aa246dec5abe212f699de1413a0c4a191ca364a",
      "tree": "ee9f5be423f56620f211525070273afc7a19c27d",
      "parents": [
        "07ed66b5ae659c452cbe1ab20c3dbf1d6f546461"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 13 09:29:36 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 13 09:29:36 2012 -0800"
      },
      "message": "Move casts.h and stl_util.h into base/.\n\nChange-Id: Idb3bfa5cec3d146e488031d91265737cde2b4cf4\n"
    },
    {
      "commit": "76b6167407c2b6f5d40ad895b2793a6b037f54b2",
      "tree": "5c433a0907ddf401f4078b6703253b1ae75e723e",
      "parents": [
        "f66330a747eff155eb571b634fc9d901c55a78a7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 12 17:47:30 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Dec 12 18:11:44 2012 -0800"
      },
      "message": "Move mutex.h into base/mutex.h.\n\nWe don\u0027t actually need any hackery to get the right mutex.h any\nmore, but since we planned on having the google3-like stuff\nin google3-like locations, this is an easy one to fix.\n\nChange-Id: Ie27464ebbc208a6f4e694a97cf26b1cee0737009\n"
    },
    {
      "commit": "50b35e2fd1a68cd1240e4a9d9f363e11764957d1",
      "tree": "4f3c58b7b293380f19e4f33357cb352e3330772e",
      "parents": [
        "8e9a1497f0d7da4d55f6e7ed8a7d96ba6db7222d"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Oct 04 10:09:15 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Oct 05 11:07:39 2012 -0700"
      },
      "message": "Explicitly pass Thread::Current to MutexLock and Alloc.\n\nChange-Id: I8b75bc0617915465f102815b32306aa7760dcae4\n"
    },
    {
      "commit": "203cffbb905cd61d3fd92e29c4489ffeacf9b6e3",
      "tree": "82027de1df91889e8bc0a292452d7be67d624729",
      "parents": [
        "25fd14b87cced64a179dee885573113be5e11944"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Sep 05 18:10:21 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Sep 05 18:10:21 2012 -0700"
      },
      "message": "Remove __sh__ from atomic.cc\n\nMissed in https://googleplex-android-review.googlesource.com/223277\n\nChange-Id: I9dbbcaeeec7ff1f0a750cff1b89b60edf8cec142\n"
    },
    {
      "commit": "25fd14b87cced64a179dee885573113be5e11944",
      "tree": "9d22fa30b1640b1f4c2645bb7d5968aa7fef7677",
      "parents": [
        "b726dcb581bf72da46527378ccb6889020f0e6e9"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Sep 05 10:56:38 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Sep 05 18:05:47 2012 -0700"
      },
      "message": "Make lock debug checks optional.\n\nMove all locking checks behing kDebugLocking. Disable locking checks\nwhen not DEBUG. Will enable later so that we can get some idea of the\nperformance overhead. We want locking checks to be the default for a\nwhile to make sure we solve any remaining potential deadlock issues.\n\nChange-Id: I4d7622750cc29f9933c84259796de5a2df02b783\n"
    },
    {
      "commit": "7c6169de901fd0a39c8e0c078874dc25207f5b59",
      "tree": "dd7adafc6bcdb734c26a495e4bd923081ef637e7",
      "parents": [
        "736df0253aa65ebccb29ddb6443c31b7730ca3e5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 02 16:11:48 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 02 16:11:48 2012 -0700"
      },
      "message": "Port my AOSP QuasiAtomic rewrite to art.\n\nChange-Id: I9e8fe487b15083cfc441a90ec1ec0eb5e645229e\n"
    },
    {
      "commit": "9bba2b608cf1989b722c565100d509c2fb2a6fa7",
      "tree": "93e37bc63a89473ead578e3c7bc38d2446d16728",
      "parents": [
        "3294429c8b80933d391e2440ec8f74f2c66fb070"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 26 18:35:24 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 26 18:35:24 2012 -0700"
      },
      "message": "Put back some C-style casts for now.\n\nChange-Id: If95f524b10a4a6c346c7c2dc55b1c389a7c6cdd2\n"
    },
    {
      "commit": "398f64b5805246765b699839b439e18c0dfbf2ee",
      "tree": "de3f86de82289b1734b12cdc7c4292f4aff16f55",
      "parents": [
        "ee0fa76b2e5d39ad36d1ff144b2d0270df81e606"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 26 18:05:48 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 26 18:05:48 2012 -0700"
      },
      "message": "Remove more lint, mostly C-style casts.\n\nChange-Id: Iaf1f23290e35ed48e5795fb20690953a9a834457\n"
    },
    {
      "commit": "ff17f1fd3ff32f93e45588eb2b158832d73f9afa",
      "tree": "deab04f6a2ad7f1dbaf0e6be266512d663e3dd91",
      "parents": [
        "a7679b67ca945194fa2442015e606cd250f0de2b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 24 18:12:29 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 24 18:12:29 2012 -0800"
      },
      "message": "Remove various bits of lint.\n\nChange-Id: I5f8f61766d2add7fd7ff40d463ea03cb20515988\n"
    },
    {
      "commit": "f4222065170130a31513dc63e2c2808db80860f1",
      "tree": "8a4e54db25d7bcbcd772b6b9ab3000650d7c5e36",
      "parents": [
        "5702154799b000c5400c17ec98c494bff7524001"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 13 12:02:57 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 13 12:02:57 2012 -0800"
      },
      "message": "Another Mac build fix.\n\nThere\u0027s no atomic 64-bit read; you have to add 0. So we need a const_cast.\n\nChange-Id: I0e693fe9c1262797c68e2c960551257d5dbf9618\n"
    },
    {
      "commit": "362f9bc807169bcfc8761dde067bbfb79b5ad0fd",
      "tree": "100689aa13a39913b43cb12780ba472897cd665a",
      "parents": [
        "fc86162ce2a3467acb690e18cc8bd9b3daafc606"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 17 18:56:41 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 17 20:26:54 2011 -0700"
      },
      "message": "Fix cpplint\u0027s whitespace warnings.\n\nChange-Id: I16b69d773e59b49e8e30227b5aa5cb1959a8930f\n"
    },
    {
      "commit": "557e027f86d86f801e1b48055f8116f2d83d3d5c",
      "tree": "e63ea804f8dda2b9a32c7ed768edff9fac23ce60",
      "parents": [
        "6bf1915f20a11748d8d4b78ad020172bb2e6c946"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 29 10:52:22 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 29 10:52:22 2011 -0700"
      },
      "message": "New atomics from dalvik.\n\nChange-Id: I00de43b180aaaf69f40f9bebddef641cffe949b7\n"
    },
    {
      "commit": "5ea047b386c5dac78eda62305d14dedf7b5611a8",
      "tree": "67f105b78df9d734a463b1194af11bf37ec6fe48",
      "parents": [
        "1d3f114124b140629a7d22fa5cfa20ab8fc96934"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 13 14:38:18 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 13 14:38:18 2011 -0700"
      },
      "message": "Support 64-bit volatiles and reference/pointer volatiles.\n\nChange-Id: I62c0751747767c02d6c57afd0fce3db6c8b02510\n"
    }
  ]
}
