)]}'
{
  "log": [
    {
      "commit": "d2fe10a3a34af171bf1631219cd2d6ff6b7778b5",
      "tree": "b6b7eb8eba23a5c2723518da99c03bf47b97f58a",
      "parents": [
        "5a3f55ad9519e87c0d3bbddaf3d8a186a887a79b"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Jan 15 10:20:56 2014 +0100"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Feb 17 11:32:15 2014 +0100"
      },
      "message": "Remove blacklist\n\nRemoves the class initialization blacklist and use transaction to detect and\nrevert class initialization attempting to invoke native method. This only\nconcerns class initialization happening at compilation time when generating an\nimage (like boot.art for the system).\n\nIn transactional mode, we log every object\u0027s field assignment and array update.\nTherefore we\u0027re able to abort a transaction to restore values of fields and\narray as they were before the transaction starts. We also log changes to the\nintern string table so we can restore its state prior to transaction start.\n\nSince transactional mode only happens at compilation time, we don\u0027t need to log\nall these changes at runtime. In order to reduce the overhead of testing if\ntransactional mode is on/off, we templatize interfaces of mirror::Object and\nmirror::Array, respectively responsible for setting a field and setting an\narray element.\n\nFor various reasons, we skip some specific fields from transaction:\n- Object\u0027s class and array\u0027s length must remain unchanged so garbage collector\ncan compute object\u0027s size.\n- Immutable fields only set during class loading: list of fields, method,\ndex caches, vtables, ... as all classes have been loaded and verified before a\ntransaction occurs.\n- Object\u0027s monitor for performance reason.\n\nBefore generating the image, we browse the heap to collect objects that need to\nbe written into it. Since the heap may still holds references to unreachable\nobjects due to aborted transactions, we trigger one collection at the end of\nthe class preinitialization phase.\n\nSince the transaction is held by the runtime and all compilation threads share\nthe same runtime, we need to ensure only one compilation thread has exclusive\naccess to the runtime. To workaround this issue, we force class initialization\nphase to run with only one thread. Note this is only done when generating image\nso application compilation is not impacted. This issue will be addressed in a\nseparate CL.\n\nBug: 9676614\nChange-Id: I221910a9183a5ba6c2b99a277f5a5a68bc69b5f9\n"
    },
    {
      "commit": "d565caf5a5742e2c0b09a1edefac96c8bf354642",
      "tree": "c72c8bb4f817c0247453fbf3e4ae5252e4c8c65d",
      "parents": [
        "32a6c7f3bd76bbe574675d44b7d8076995690a5b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sun Feb 16 15:59:00 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sun Feb 16 16:06:03 2014 -0800"
      },
      "message": "Don\u0027t store this_object in SIRT for static invokes.\n\nI believe this_object is sometimes is garbage for static invokes.\nThis may lead to bad roots being marked if ResolveMethod causes\nsuspension for GC.\n\nBug: 13051126\nChange-Id: I6775b3db63ac5ce37ad423796f16c92645bd7891\n"
    },
    {
      "commit": "32a6c7f3bd76bbe574675d44b7d8076995690a5b",
      "tree": "e293693b0d019ba350cdd8c86cb2141b52b0236a",
      "parents": [
        "89925e948c49616689eb4959aaf0e4ff1de18161",
        "e7e8a5fea2d852cccc840fa046151a16627f26cd"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sat Feb 15 02:34:20 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Feb 15 02:34:20 2014 +0000"
      },
      "message": "Merge \"Remove using mirror::* in jni internal.\""
    },
    {
      "commit": "e7e8a5fea2d852cccc840fa046151a16627f26cd",
      "tree": "4509736090c371a363e79f4a3d01107d0b8d5e72",
      "parents": [
        "cc35e45f371f5018b42e2ef383185e2840cf4374"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Feb 14 16:59:41 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Feb 14 18:26:37 2014 -0800"
      },
      "message": "Remove using mirror::* in jni internal.\n\nCleans up the code since it helps make it easier to spot moving GC\nrelated bugs.\n\nAlso fixed moving GC bugs in MonitorEnter, and FindFieldID.\n\nChange-Id: I794e4fbcc2010875fc6b299c6d4c9fb0f071b71a\n"
    },
    {
      "commit": "239e8da166be56f83340938ac080daf97b638f9d",
      "tree": "f0f284f670929676c5a04a36b8f139c2c69304fc",
      "parents": [
        "209a3a03595984a7a94103c3c6ba8c5afaf358a1",
        "97f4489166ae31c12d35ad3f550a5fc8d143b4fa"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Feb 14 23:19:41 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 14 23:19:41 2014 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Revert \"Add a script for running art standalone.\"\"\"\""
    },
    {
      "commit": "97f4489166ae31c12d35ad3f550a5fc8d143b4fa",
      "tree": "3fc0e914648425587960fb12b7369e0020015da0",
      "parents": [
        "4b23250f4cbf3047924c646c1a0c078394f8362d"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Feb 14 23:10:04 2014 +0000"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Feb 14 23:10:04 2014 +0000"
      },
      "message": "Revert \"Revert \"Revert \"Add a script for running art standalone.\"\"\"\n\nThis reverts commit 4b23250f4cbf3047924c646c1a0c078394f8362d.\n\nChange-Id: Ib749a8267abf35e51552b741ba749d6ed6975f95\n"
    },
    {
      "commit": "209a3a03595984a7a94103c3c6ba8c5afaf358a1",
      "tree": "7972bfa14527139f35512e1012335cfcac409ac6",
      "parents": [
        "44ba8062c60da5287880c46aa4603bb097be37b8",
        "8e611d32d8bb32681e94af896eb10d6ce6b8485b"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Feb 14 12:21:24 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 14 12:21:24 2014 +0000"
      },
      "message": "Merge \"Fix function names in CHECK_NON_NULL_ARGUMENT.\""
    },
    {
      "commit": "44ba8062c60da5287880c46aa4603bb097be37b8",
      "tree": "c446e6a7f67e8c0feae289e651b6f91defb41cdb",
      "parents": [
        "d58c40ecf2099ccd5caa976f8e44a74738cad613",
        "4b23250f4cbf3047924c646c1a0c078394f8362d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 14 10:15:46 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 14 10:15:46 2014 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Add a script for running art standalone.\"\"\""
    },
    {
      "commit": "cc35e45f371f5018b42e2ef383185e2840cf4374",
      "tree": "7aa5ce20fee02978ce959e7f684f6c4cd0ec3f62",
      "parents": [
        "e5d15b5f8eb38f50c49951050bdcecacac898874",
        "f5b0e20b5b31f5f5465784adcf2a204dcd69c7fd"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Feb 14 00:14:01 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 14 00:14:02 2014 +0000"
      },
      "message": "Merge \"Thread-local allocation stack.\""
    },
    {
      "commit": "f5b0e20b5b31f5f5465784adcf2a204dcd69c7fd",
      "tree": "9e1b211414c1dcb34f19a7b509e72aee2153a3cf",
      "parents": [
        "68bb649b128cd8760732524bd7ba58b49780d9d3"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Feb 11 17:02:22 2014 -0800"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Feb 13 13:43:43 2014 -0800"
      },
      "message": "Thread-local allocation stack.\n\nWith this change, Ritz MemAllocTest gets ~14% faster on N4.\n\nBug: 9986565\nChange-Id: I2fb7d6f7c5daa63dd4fc73ba739e6ae4ed820617\n"
    },
    {
      "commit": "874d2524d4e2fcf5a8a5194b1813fd64bf0c3ee5",
      "tree": "68ed7f9acbaa45bef6e630fdfb2c660ae9915647",
      "parents": [
        "68bb649b128cd8760732524bd7ba58b49780d9d3"
      ],
      "author": {
        "name": "Dave Platt",
        "email": "dplatt@google.com",
        "time": "Thu Feb 13 13:33:36 2014 -0800"
      },
      "committer": {
        "name": "Dave Platt",
        "email": "dplatt@google.com",
        "time": "Thu Feb 13 13:33:36 2014 -0800"
      },
      "message": "Remove old fork-and-specialize API\n\nAs promised, this is the cleanup patch-set which removes the\nold native \"fork and specialize\" API, which has been replaced\nby a slightly-enhanced one which can close the Zygote socket\ndescriptors in the Zygote child.\n\nChange-Id: I096f058e851aa079e342ecc718ff5757db68c8cd\n"
    },
    {
      "commit": "ebdf3f320d71563cf0236c31d35d633be9576d8c",
      "tree": "d371569a07fd95b2fba833a7f670c72f2e1e2a5c",
      "parents": [
        "d2be39a0c106728bc9087ff0c0500b796aadea25"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Feb 13 10:23:27 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Feb 13 10:40:24 2014 -0800"
      },
      "message": "Prevent object allocation related races in VisitObjects.\n\nPrevents the following race conditions:\nSomeone is in the process of pushing a reference in the allocation\nstack but hasn\u0027t yet written the reference. This caused VisitObjects\nto occasionally send null objects to the visitor.\nFixed another race where the object had just been allocated but the\nclass had not been written. We now skip objects in the allocation\nstack which have a null class.\n\nBug: 13004631\nChange-Id: Iad789c5e277a7717ce595c7124f0d65b44392fd8\n"
    },
    {
      "commit": "d2be39a0c106728bc9087ff0c0500b796aadea25",
      "tree": "4e649ace212d48b16e2ab5249a2b4dcf5fbfa5aa",
      "parents": [
        "13511e8157d637b617a1a701dba3580f1d5a30fc",
        "8544b462b524a502d2a18efb5a790ef98fa5eb51"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Feb 13 18:03:10 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 13 18:03:10 2014 +0000"
      },
      "message": "Merge \"Fix race condition in BumpPointerSpace::Walk.\""
    },
    {
      "commit": "13511e8157d637b617a1a701dba3580f1d5a30fc",
      "tree": "c9bf9350e315df7817084de8703d63289fe60b0e",
      "parents": [
        "ab4a4f2c6eb7ad5ddb7b63677ee12a5efb16d35c",
        "ad35d904c0b835f7e005c471d2c6b18b84894595"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Feb 13 18:02:48 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 13 18:02:48 2014 +0000"
      },
      "message": "Merge \"Avoid unnecessarily dirtying pages in SemiSpace collector.\""
    },
    {
      "commit": "4b23250f4cbf3047924c646c1a0c078394f8362d",
      "tree": "62bae8c857c85293bcba4bf920ed47ed094e458a",
      "parents": [
        "8b8adace3511e6fd68c6ae0eb80046d68186f8eb"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 13 08:45:56 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 13 14:36:28 2014 +0000"
      },
      "message": "Revert \"Revert \"Add a script for running art standalone.\"\"\n\nThis reverts commit 41dcb9f856a2051527cd595f8fe7d200066acba4.\n\nChange-Id: Ide6fa696c6fb43fe17e0993e8c9d1b588c99b1f3\n"
    },
    {
      "commit": "8544b462b524a502d2a18efb5a790ef98fa5eb51",
      "tree": "3a53268a568a8bd6cb7bfd65906e74c920a3aa4f",
      "parents": [
        "1f26fb175bf3a10b5e1eb495d22778b47400f323"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Feb 12 17:47:42 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Feb 12 17:51:51 2014 -0800"
      },
      "message": "Fix race condition in BumpPointerSpace::Walk.\n\nThere was a race where we would incorrectly tread part of the main\nblock as other blocks. This was caused by a thread allocating into\nthe bump pointer space when another thread was walking it. The new\nsolution is to ignore objects allocated since we started the walk.\n\nBug: 12966354\nChange-Id: I49abd4de97609e9c9a3fae40b9c159abfdbbd07c\n"
    },
    {
      "commit": "ad35d904c0b835f7e005c471d2c6b18b84894595",
      "tree": "1a89dea5a31f514cd65015e609512de2c25e589f",
      "parents": [
        "1f26fb175bf3a10b5e1eb495d22778b47400f323"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Feb 11 16:20:42 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Feb 12 17:28:22 2014 -0800"
      },
      "message": "Avoid unnecessarily dirtying pages in SemiSpace collector.\n\nAdded a special version of memcpy which has handling to avoid dirty\npages for objects which are larger than one page. No non noise GC\nperformance regression measured on ritzperf benchmark. Seems to save\n4k to 148k memory per app on AOSP mako.\n\nBug: 10802951\nChange-Id: I5976c83643e06beebf5c86a65c584bf7c1ab1e2e\n"
    },
    {
      "commit": "8b8adace3511e6fd68c6ae0eb80046d68186f8eb",
      "tree": "3fc0e914648425587960fb12b7369e0020015da0",
      "parents": [
        "ed8081ab1e7fd5dc1d3429fc116ee02e450bbc0f",
        "870901d89a2720589c452411a9c1929be78521be"
      ],
      "author": {
        "name": "Dave Platt",
        "email": "dplatt@google.com",
        "time": "Wed Feb 12 23:03:40 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 12 23:03:40 2014 +0000"
      },
      "message": "Merge \"Finish fixing Zygote descriptor leakage problem\""
    },
    {
      "commit": "41dcb9f856a2051527cd595f8fe7d200066acba4",
      "tree": "2ced313e1f56d616d4a5a2317781aea86ea04b4c",
      "parents": [
        "707c96a9d3b23182d1515a7e683c0885eee08a06"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Feb 12 12:25:56 2014 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Feb 12 12:25:56 2014 -0800"
      },
      "message": "Revert \"Add a script for running art standalone.\"\n\nThis reverts commit 1f5a90f28443886ebefcfbd531b8e41ece298cca.\n"
    },
    {
      "commit": "2300790c868f70862f1d1c2578a07c8d0f29d53d",
      "tree": "c7f45cdd8bc190f1679a9f84eef8593d49d42d88",
      "parents": [
        "b422d3fed381d93451ffcf96cbf928d7a13d3701",
        "89bb1449bbef1863b12dfa3813ab7c78be94316f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Feb 12 18:42:12 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 12 18:42:13 2014 +0000"
      },
      "message": "Merge \"Fix wrong thread id being passed to SIRT roots.\""
    },
    {
      "commit": "89bb1449bbef1863b12dfa3813ab7c78be94316f",
      "tree": "57e4d0325144cd01d73af8b2fe475b9f72b6bad0",
      "parents": [
        "3c976a8f82007285316dd9d1bbccb659b0668a06"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Feb 12 10:06:23 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Feb 12 10:18:24 2014 -0800"
      },
      "message": "Fix wrong thread id being passed to SIRT roots.\n\nFixes jhat on hprof dumps.\n\nChange-Id: I1a71eb3370606129fb5cf791ab582f34052a9f35\n"
    },
    {
      "commit": "8e611d32d8bb32681e94af896eb10d6ce6b8485b",
      "tree": "4c361e685d68ab78cfc4a86390b9537b83ca28a2",
      "parents": [
        "b422d3fed381d93451ffcf96cbf928d7a13d3701"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Feb 10 18:20:06 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Feb 12 14:20:33 2014 +0000"
      },
      "message": "Fix function names in CHECK_NON_NULL_ARGUMENT.\n\nFixes a copy paste error that leads to confusing\nJNI error logs.\n\nChange-Id: I27af4e1b206e84d28590c50e38d4f718af2405e9\n"
    },
    {
      "commit": "b422d3fed381d93451ffcf96cbf928d7a13d3701",
      "tree": "48998bbff239544b1d9947f3ce81ed6bbe572652",
      "parents": [
        "763a08537134c14defe8a591f88846164adef0c9",
        "bbcc0c0a17262f3d2a70fc0a82e1783862f708cc"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 12 10:37:11 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 12 10:37:12 2014 +0000"
      },
      "message": "Merge \"Speed up method lookup in a different dex file.\""
    },
    {
      "commit": "763a08537134c14defe8a591f88846164adef0c9",
      "tree": "f2610bda28e12a7783594a54e9363d2d9936179d",
      "parents": [
        "7655968112fa08844f3a810bd6203fdde4d5f58f",
        "1f5a90f28443886ebefcfbd531b8e41ece298cca"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Feb 12 10:22:39 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 12 10:22:40 2014 +0000"
      },
      "message": "Merge \"Add a script for running art standalone.\""
    },
    {
      "commit": "1f5a90f28443886ebefcfbd531b8e41ece298cca",
      "tree": "55aa67a2549526ed14d51092663be0fd9803ba19",
      "parents": [
        "a52214230ad091359956ed7566670963aedf2045"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 07 18:33:04 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Feb 12 09:54:40 2014 +0000"
      },
      "message": "Add a script for running art standalone.\n\nChange-Id: I0c48856d811c40662a6e4a4782478a0bc8e0f697\n"
    },
    {
      "commit": "fd14755c09ada4769b5b6658e484441ca3f628b5",
      "tree": "c70c10b6e319f44dadb56c78acaf7ce89b502d82",
      "parents": [
        "3c976a8f82007285316dd9d1bbccb659b0668a06",
        "0177e53ea521ad58b70c305700dab32f1ac773b7"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Feb 12 01:16:29 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 12 01:16:30 2014 +0000"
      },
      "message": "Merge \"Work in the direction of hard float quick ABIs.\""
    },
    {
      "commit": "0177e53ea521ad58b70c305700dab32f1ac773b7",
      "tree": "db15627a19a04634cf84cecd15b813319d80d225",
      "parents": [
        "abaf927f29f6feceb3df3e6ced7d01970ba0dbe9"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Feb 11 16:30:46 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Feb 11 17:02:21 2014 -0800"
      },
      "message": "Work in the direction of hard float quick ABIs.\n\nPass a shorty to ArtMethod::Invoke so that register setup can use it.\nDocument x86-64 ABI.\nAdd extra debug output for one JNI native method registration fails, namely a\ndump of the Class and its dex file\u0027s location.\nAdd hack to get testing of OatMethod\u0027s without GC maps working in 64bit.\n\nChange-Id: Ic06b68e18eac33637df2caf5e7e775ff95ae70f3\n"
    },
    {
      "commit": "3c976a8f82007285316dd9d1bbccb659b0668a06",
      "tree": "c5b9f69a1aa32440badc6d79caf21995156426ec",
      "parents": [
        "330ded1d3f6ec00e3472cd038e004af59c8e6b03",
        "d68ac700820f3e4253c8b4bcf718daf452f6da4c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Feb 12 00:08:42 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 12 00:08:42 2014 +0000"
      },
      "message": "Merge \"Add more checking to ReleasePrimitiveArray.\""
    },
    {
      "commit": "d68ac700820f3e4253c8b4bcf718daf452f6da4c",
      "tree": "c4579acae2e9c807bdef4d8523124d9aed509075",
      "parents": [
        "6b3697fec487b355d107b693c965919bf5fff906"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Feb 11 14:50:51 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Feb 11 15:05:31 2014 -0800"
      },
      "message": "Add more checking to ReleasePrimitiveArray.\n\nWhen we ReleasePrimitiveArray, we now check that the elements pointer\nis not a heap address if it is not equal to the java array\u0027s data.\n\nBug: 12845603\nChange-Id: I458862f4dc586ba1c414647c7eb81b978c4ccb7e\n"
    },
    {
      "commit": "4d2efce8bf1947880b90efc44448b4940c8016fb",
      "tree": "61adad3b981719a12d00aa9be44f76c004dd44c4",
      "parents": [
        "6b3697fec487b355d107b693c965919bf5fff906"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Feb 10 16:19:09 2014 -0800"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Feb 11 13:16:20 2014 -0800"
      },
      "message": "Don\u0027t hardcode object layout in Unsafe and space_test.\n\nAdd a test for Unsafe.arrayBaseOffset() and Unsafe.arrayIndexScale().\n\nChange-Id: I9cbdb79a4a7ee055129f41811a117910c8b2febd\n"
    },
    {
      "commit": "fc4c27e4d68707271bd7578ae5c8bef93a3ea66b",
      "tree": "a9d9ced4ea1f12ede0be2fa301afad7ad0715f76",
      "parents": [
        "f54c9d6abcff96464c95303bd6227cfd013f416f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Feb 11 11:05:41 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Feb 11 11:16:20 2014 -0800"
      },
      "message": "Change BumpPointerSpace main block header to not be in space data.\n\nChanged the bump pointer space main block to be in the space and not\nthe space data. This lets us access the main block header when the\nspace is protected and lets us walk a protected space as long as it\nis empty.\n\nBug: 12966354\nChange-Id: Id53bf59224926718af7356dd9fc1205ff91cc5d1\n"
    },
    {
      "commit": "f54c9d6abcff96464c95303bd6227cfd013f416f",
      "tree": "aeca8a734171d01042497c6680eda186815b077a",
      "parents": [
        "0a07f9391e9bef0f49bd3623892f9cf3d77c14a1",
        "83c8ee000d525017ead8753fce6bc1020249b96a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Feb 11 18:43:22 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 11 18:43:23 2014 +0000"
      },
      "message": "Merge \"Add root types and thread id to root visiting.\""
    },
    {
      "commit": "83c8ee000d525017ead8753fce6bc1020249b96a",
      "tree": "d5167ed15dee2629905ac3640b6ea0578d4ae312",
      "parents": [
        "7cba217ab0661d74deccbb97160cdf60b74d4ea3"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jan 28 14:50:23 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Feb 11 10:40:10 2014 -0800"
      },
      "message": "Add root types and thread id to root visiting.\n\nEnables us to pass the root type and thread id to hprof.\n\nBug: 12680863\nChange-Id: I6a0f1f9e3aa8f9b4033d695818ae7ca3460d67cb\n"
    },
    {
      "commit": "bbcc0c0a17262f3d2a70fc0a82e1783862f708cc",
      "tree": "ccb113f6c8532d5656b2f38e464d1e1086d9d0de",
      "parents": [
        "0a07f9391e9bef0f49bd3623892f9cf3d77c14a1"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 03 14:08:42 2014 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Feb 11 18:14:58 2014 +0000"
      },
      "message": "Speed up method lookup in a different dex file.\n\nUse already known name and proto.\n\nChange-Id: I4505b81724bd6a0f3cf21ee6fed44774d38c4e15\n"
    },
    {
      "commit": "611c2c3404a8b27bc1584cc63f232dbfb316f78a",
      "tree": "fa6b32061aa2151d6c2b7f699b97ab1403816df3",
      "parents": [
        "abaf927f29f6feceb3df3e6ced7d01970ba0dbe9"
      ],
      "author": {
        "name": "Dmitry Petrochenko",
        "email": "dmitry.petrochenko@intel.com",
        "time": "Mon Feb 10 14:48:12 2014 +0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Feb 11 08:46:59 2014 -0800"
      },
      "message": "art: 64-bit support in UContext::Dump\n\nDump the register contents for x86_64 host.\n\nChange-Id: I6ca5c2a013ab313ac0bfae23775f7e3552c55aeb\nSigned-off-by: Dmitry Petrochenko \u003cdmitry.petrochenko@intel.com\u003e\n"
    },
    {
      "commit": "abaf927f29f6feceb3df3e6ced7d01970ba0dbe9",
      "tree": "245cb514e070eea6fd48dba6d1e5d85fcd9146c5",
      "parents": [
        "9e36e4c3abdc5f101a2ce2beb3681a941f9d4be5",
        "ea3fa0b4ba13d7bd7f7c1cd85202ccbe141a35ae"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 11 10:35:35 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 11 10:35:36 2014 +0000"
      },
      "message": "Merge \"Re-apply: Implement cumulative timings for CompilerDriver.\""
    },
    {
      "commit": "ea3fa0b4ba13d7bd7f7c1cd85202ccbe141a35ae",
      "tree": "7fe7cc462617ff41bf26dc551f2fdc5f25146eda",
      "parents": [
        "a52214230ad091359956ed7566670963aedf2045"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Feb 10 11:59:41 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Feb 11 10:12:55 2014 +0000"
      },
      "message": "Re-apply: Implement cumulative timings for CompilerDriver.\n\nThe bug was due to how the test infrastructure works:\na compiler driver surives the stack where it is allocated.\n\nChange-Id: I345fe0e4afb2bd15937233db8afb350f09429558\n"
    },
    {
      "commit": "83bef92043a5b9020e99eac076db5f327b36cb7e",
      "tree": "6db772579979f0a7e8e646e4e30934093e33bc81",
      "parents": [
        "b1e61ad59958f70fe4db6e134b9c8dfc47733a30"
      ],
      "author": {
        "name": "Dmitry Petrochenko",
        "email": "dmitry.petrochenko@intel.com",
        "time": "Mon Feb 03 12:34:59 2014 +0700"
      },
      "committer": {
        "name": "Dmitry Petrochenko",
        "email": "dmitry.petrochenko@intel.com",
        "time": "Tue Feb 11 09:47:49 2014 +0700"
      },
      "message": "art: dex offset fix in oat_file.cc for x86_64\n\nAvoid wrong offset calculation when compiled for x86_64\n\nChange-Id: Ic58335657e55b05372afcdce2f21102057d39303\nSigned-off-by: Dmitry Petrochenko \u003cdmitry.petrochenko@intel.com\u003e\n"
    },
    {
      "commit": "7cba217ab0661d74deccbb97160cdf60b74d4ea3",
      "tree": "509f912447ef4dcafc4f043267bf990cee62167c",
      "parents": [
        "3ece181223974d8c081fb88cfbec8d85fd194d66",
        "ad0d30a2a2141aa0e9da9e97993ce20e4d8e056e"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@android.com",
        "time": "Mon Feb 10 18:18:04 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 10 18:18:04 2014 +0000"
      },
      "message": "Merge \"Update to the BitVector Implementation\""
    },
    {
      "commit": "e07ab627458f49fdf2c3c5d26251510460714c26",
      "tree": "af6ec8afcf65f4299e7649f761e514d7afd24152",
      "parents": [
        "1b1cc276f059da24fdd06256f077f6cc9de8b9da",
        "5bb99037bef70784ae4630c2e4b81688d2a18621"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Feb 10 17:29:15 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 10 17:29:18 2014 +0000"
      },
      "message": "Merge \"Fix CreateMultiArray to be compaction safe.\""
    },
    {
      "commit": "b1851650fc457a50cfa2c8eec2611da081b822c4",
      "tree": "780893a39a9da366719a41ea6da86932370aae2d",
      "parents": [
        "9c7f35435b51cdeae8665aabb8e63392105db787",
        "2bc47809febcf36369dd40877b8226318642b428"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 10 09:43:45 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 10 09:43:45 2014 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Check FastInstance() early for special getters and setters.\"\"\""
    },
    {
      "commit": "2bc47809febcf36369dd40877b8226318642b428",
      "tree": "ef722d79fb041864aca76a0243271c6edc7a9bd6",
      "parents": [
        "632e458dc267fadfb8120be3ab02701e09e64875"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 10 09:43:07 2014 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 10 09:43:07 2014 +0000"
      },
      "message": "Revert \"Revert \"Check FastInstance() early for special getters and setters.\"\"\n\nThis reverts commit 632e458dc267fadfb8120be3ab02701e09e64875.\n\nChange-Id: I5098c41ee84fbbb39397133a7ecfd367fecebe42\n"
    },
    {
      "commit": "5bb99037bef70784ae4630c2e4b81688d2a18621",
      "tree": "7c01146719c9bd445f983d470980206952d8719b",
      "parents": [
        "9c7f35435b51cdeae8665aabb8e63392105db787"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sat Feb 08 16:20:58 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sat Feb 08 16:26:12 2014 -0800"
      },
      "message": "Fix CreateMultiArray to be compaction safe.\n\nIt used to be compaction safe before moving classes was enabled.\nAdded missing SIRTs.\n\nChange-Id: I92963ed71fa6d2a20d16ec0e400b8fa0e41ac196\n"
    },
    {
      "commit": "412c7fced915fc8d4d5e4166e977d55c809168a6",
      "tree": "b8efee7f46a440f3e89765b1e9b2aa6454839c87",
      "parents": [
        "109e2b34799a377a0407781fc32ec1ec607d6c41"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Feb 07 12:18:39 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sat Feb 08 15:23:36 2014 -0800"
      },
      "message": "Make debugger / jdwp compaction safe.\n\nFixed GetInstances, GetReferringObjects, CountInstances to use\nVisitObjects instead of the live bitmap.\n\nWe now treat the object registry as system weaks and update the\nobjects when/if they move. Also added the recent_allocation_records_\nas roots.\n\nBug: 12936165\n\nChange-Id: I615c289efbf2977ceab5c4ffa73d216d799e6e33\n"
    },
    {
      "commit": "109e2b34799a377a0407781fc32ec1ec607d6c41",
      "tree": "b92e065e9f3886eebb1cd6036ee775a2ee5251b8",
      "parents": [
        "5cb2870afebb9f82fc79266721f878adc7481063",
        "632e458dc267fadfb8120be3ab02701e09e64875"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Feb 08 07:37:37 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Feb 08 07:37:37 2014 +0000"
      },
      "message": "Merge \"Revert \"Check FastInstance() early for special getters and setters.\"\""
    },
    {
      "commit": "632e458dc267fadfb8120be3ab02701e09e64875",
      "tree": "d5af74460066ce7ef7e6f7bf212552ba086867f2",
      "parents": [
        "5dc5727261e87ba8a418e2d0e970c75f67e4ab79"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Feb 08 07:37:24 2014 +0000"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Feb 08 07:37:24 2014 +0000"
      },
      "message": "Revert \"Check FastInstance() early for special getters and setters.\"\n\nThis reverts commit 5dc5727261e87ba8a418e2d0e970c75f67e4ab79.\n\nChange-Id: I3299c8ca5c3ce3f2de994bab61ea16a734f1de33\n"
    },
    {
      "commit": "f9bc0a5b9be90c19f34ddbaf99797aa195ab3525",
      "tree": "b13faaa3590957fff410a29cec638c2f981d54cc",
      "parents": [
        "e111380864030f4625b216c772e0132832e3139e",
        "29501cf5663c7951717bae3521815d121a778396"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Feb 08 05:02:35 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Feb 08 05:02:35 2014 +0000"
      },
      "message": "Merge \"Make primitive getter/setters consistently signed.\""
    },
    {
      "commit": "29501cf5663c7951717bae3521815d121a778396",
      "tree": "4673078721c88f8a73ec52a82868e0896149d2d1",
      "parents": [
        "6957616884d7b290f2b8e98e2c4304695799134b"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Feb 07 21:00:25 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Feb 07 21:00:25 2014 -0800"
      },
      "message": "Make primitive getter/setters consistently signed.\n\nUse QuasiAtomic for Cas64, which fixes the MIPS build of ART.\n\nChange-Id: Id1dba264b148a7ce9bcc637159ec733cfbd88b70\n"
    },
    {
      "commit": "a4adbfd44032d70e166e6f18096bbbed05a990ba",
      "tree": "8fe1c7e9e0a12ca5d97de79f034978cadf25b391",
      "parents": [
        "6957616884d7b290f2b8e98e2c4304695799134b"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Feb 04 18:12:17 2014 -0800"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Feb 07 15:33:21 2014 -0800"
      },
      "message": "RosAlloc verification.\n\nIf enabled, RosAlloc verification checks the allocator internal\nmetadata and invariants to detect bugs, heap corruptions, and race\nconditions. Added runtime options for enabling and disabling\nit. Enable it for the debug build.\n\nBug: 9986565\nBug: 12592026\nChange-Id: I923742b87805ae839f1549d78d0d492733da6a58\n"
    },
    {
      "commit": "5dc5727261e87ba8a418e2d0e970c75f67e4ab79",
      "tree": "ef722d79fb041864aca76a0243271c6edc7a9bd6",
      "parents": [
        "a52214230ad091359956ed7566670963aedf2045"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Feb 05 14:53:36 2014 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Feb 07 14:13:43 2014 +0000"
      },
      "message": "Check FastInstance() early for special getters and setters.\n\nPerform the FastInstance() check for getters and setters\nwhen they are detected by the inliner. This will help avoid\nthe FastInstance() check for inlining.\n\nWe also record the field offset and whether the field is\nvolatile and whether the method is static for use when\ninlining or generating the special accessors.\n\nChange-Id: I3f832fc9ae263883b8a984be89a3b7793398b55a\n"
    },
    {
      "commit": "a52214230ad091359956ed7566670963aedf2045",
      "tree": "d5af74460066ce7ef7e6f7bf212552ba086867f2",
      "parents": [
        "d1b9241a91f5eef9995e54cf80f9789045e5a233",
        "0376e6b62bfb43b515b791f0a7afed2d0d8030bc"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Feb 07 09:00:45 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 07 09:00:46 2014 +0000"
      },
      "message": "Merge \"Fix JDWP thread crash.\""
    },
    {
      "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": "462553e9f6507d184b0aeef913fa4d613de1e725",
      "tree": "e4a258d51faa4f57e25a3c751e0555fec49e230a",
      "parents": [
        "69cd439742026ba9d76a0776e0edb847f4bf84b1",
        "1efa0a9d6cd5f5b40b8a21d39f1103a3610250ee"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Feb 07 00:43:33 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 07 00:43:33 2014 +0000"
      },
      "message": "Merge \"ART can\u0027t create more than 8k threads during the worktime\""
    },
    {
      "commit": "1efa0a9d6cd5f5b40b8a21d39f1103a3610250ee",
      "tree": "a7e8d43e657c6af0ff5e25ee029938b75bde6117",
      "parents": [
        "7c84c44f389e3f707eefafab35d4f838dbf7fe26"
      ],
      "author": {
        "name": "Alexei Zavjalov",
        "email": "alexei.zavjalov@intel.com",
        "time": "Tue Feb 04 02:08:31 2014 +0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Feb 06 16:41:30 2014 -0800"
      },
      "message": "ART can\u0027t create more than 8k threads during the worktime\n\nART uses LDT to point to the Java Thread structure. This structure\ncan holds up to 8k pointers, so we can have 8k threads simultaneously.\nBut the current implementation does not free slots for the finished threads.\nThis means there cannot be more than 8k threads created during the whole\nlife cycle.\nThis patch implements the LDT slots freeing mechanism.\n\nChange-Id: Ifcf8fe1f4434a13f940146fff39b9c7bf91ee17b\nSigned-off-by: Alexei Zavjalov \u003calexei.zavjalov@intel.com\u003e\n"
    },
    {
      "commit": "870901d89a2720589c452411a9c1929be78521be",
      "tree": "b601dd15defc448d09c918017973fe4b85fa5c80",
      "parents": [
        "8e3cde5d3f842928bb965a72d5d54785f0140556"
      ],
      "author": {
        "name": "Dave Platt",
        "email": "dplatt@google.com",
        "time": "Wed Feb 05 17:03:16 2014 -0800"
      },
      "committer": {
        "name": "Dave Platt",
        "email": "dplatt@google.com",
        "time": "Thu Feb 06 14:35:22 2014 -0800"
      },
      "message": "Finish fixing Zygote descriptor leakage problem\n\nIn order to prevent Zygote descriptors from leaking into the child\nenvironment, they should be closed by the forked-off child process\nbefore the child switches to the application UID.  These changes close\nthe descriptors via dup2(), substituting a descriptor open to\n/dev/null in their place; this allows the Zygote Java code to close\nthe FileDescriptor objects cleanly.\n\nThis is a multi-project change:\tdalvik, art, libcore, frameworks/base,\nand external/sepolicy are affected.  The CLs need to be approved\ntogether, lest the build break or the software fail to boot.\n\nRound 2: use proper type (jsize) for iteration variable;  whitespace.\n\nRound 3: indentation.\n\nBug: 12114500\nChange-Id: I31d25831b477b076d980c531d57773f9c8c83261\n"
    },
    {
      "commit": "69cd439742026ba9d76a0776e0edb847f4bf84b1",
      "tree": "80172ce1f3eb9bdc6cb8cde74b8d4ca83e5bd935",
      "parents": [
        "7c84c44f389e3f707eefafab35d4f838dbf7fe26",
        "055d46c479369ea825712834353660b45215c195"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Feb 06 20:46:17 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 06 20:46:17 2014 +0000"
      },
      "message": "Merge \"Add missing SIRT to LoadNativeLibrary.\""
    },
    {
      "commit": "055d46c479369ea825712834353660b45215c195",
      "tree": "8d8074b21603975548118e06f1525e3c12d14f6a",
      "parents": [
        "4c4f90c2d1776137e249c6720b83c81c09961dda"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Feb 06 11:22:17 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Feb 06 11:25:49 2014 -0800"
      },
      "message": "Add missing SIRT to LoadNativeLibrary.\n\nWhen we transition to kWaitingForJniOnLoad, we are suspended and\na GC can occur. This caused issues since classloaders are movable.\n\nChange-Id: Iae59019c22ac64322a82300107d06a4323ee602b\n"
    },
    {
      "commit": "7c84c44f389e3f707eefafab35d4f838dbf7fe26",
      "tree": "f2212c8e70fa72aa078ee6765079524ee0aea565",
      "parents": [
        "4c4f90c2d1776137e249c6720b83c81c09961dda",
        "3b878f99dd84807543b9ec7964256c7634471aaf"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Feb 06 18:29:32 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 06 18:29:33 2014 +0000"
      },
      "message": "Merge \"[MIPS64] Temporary placeholder build, to allow other projects to build\""
    },
    {
      "commit": "0d6adac2550113da33d42e88f0d87a57b25c5a60",
      "tree": "0a912efc0b1147a1a2ac908d89b05aad4b819a8a",
      "parents": [
        "1dcff62155e8477eb114c8a86eb1beb0797ffc11"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Feb 05 17:39:16 2014 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Feb 06 09:49:26 2014 -0800"
      },
      "message": "Fix apps with more than one dex file with the same name\n\nReverts most of 60836d5a9bcf8b30984aae4279a4f6233b0bf622 which I\nbelieve was an incorrect attempt to address issue introduced in\n8d31bbd3d6536de12bc20e3d29cfe03fe848f9da, which is also reverted here.\n\nAlso adds some debugging aids include operator\u003c\u003c for DexFile and\nMemMap and checksum information to OatFile logging.\n\nBug: 12802375\nChange-Id: Idd6f7dd487f6e01e9479cd15cd4b61580160e8a3\n"
    },
    {
      "commit": "0376e6b62bfb43b515b791f0a7afed2d0d8030bc",
      "tree": "776dc23a8313dac196ac485975aa6d8f228d7756",
      "parents": [
        "78c0bb9bc0668be07baa0bde1e82a475a0ac1f86"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Feb 06 18:12:59 2014 +0100"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Feb 06 18:13:54 2014 +0100"
      },
      "message": "Fix JDWP thread crash.\n\nFix a crash happenning when JDWP thread attempts to process incoming packets\nfrom a closed socket. It happens when the runtime shuts down while JDWP thread\nis still running and waiting for incoming JDWP packets.\n\nWhen we close the JDWP connection from runtime destructor, we wake up the JDWP\nthread. To avoid this, we call Dbg::Dispose before closing the connection.\n\nBug: 12578041\nChange-Id: I8d03478b6c3f5f49e08899d476f292b7a401d5f3\n"
    },
    {
      "commit": "3b878f99dd84807543b9ec7964256c7634471aaf",
      "tree": "1e74ff456d82ed46b5835bdfdc60ab656789176f",
      "parents": [
        "bcba51238943c69943357d48d6727d694f7d9265"
      ],
      "author": {
        "name": "Duane Sand",
        "email": "duane.sand@imgtec.com",
        "time": "Tue Jan 21 10:34:41 2014 -0800"
      },
      "committer": {
        "name": "Chris Dearman",
        "email": "chris.dearman@imgtec.com",
        "time": "Wed Feb 05 19:48:35 2014 -0800"
      },
      "message": "[MIPS64] Temporary placeholder build, to allow other projects to build\n\nThis needs to be reverted once proper mips64 port is available\n\nChange-Id: I64d1c7ebbdb4d8b9cc5306830954df351e67d813\n"
    },
    {
      "commit": "816021e1ef6a9b1751cb455b51f53f98bcac1756",
      "tree": "ec2866a1105bdcaf3c51806e936eb93abda7cc3f",
      "parents": [
        "37a9876bf9ff26a451841722a3e3ab9ad4c1e584"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Feb 05 16:34:42 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Feb 05 16:34:42 2014 -0800"
      },
      "message": "Remove unused code in heap.h\n\nChange-Id: I77268e92deeade14315e704dcfe77618382c46b8\n"
    },
    {
      "commit": "37a9876bf9ff26a451841722a3e3ab9ad4c1e584",
      "tree": "0370ffd1477301079b8d8bf156a6cbfc0e4e744e",
      "parents": [
        "90ea00c30f5dd1a7c2934417ac5ec7d116ceb93d"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Feb 05 12:14:39 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Feb 05 12:24:48 2014 -0800"
      },
      "message": "Add missing SIRT to FindMethodFromCode.\n\nNeeded since ResolveMethod can cause allocations -\u003e GC.\nThis change will hopefully fix the trampoline native crash in the\ndalvik-dev monkeys.\n\nChange-Id: I73aa84a8198142ffb344773372ac80828c225c5c\n"
    },
    {
      "commit": "90ea00c30f5dd1a7c2934417ac5ec7d116ceb93d",
      "tree": "15e7bafe164469aa4bd76fb74bbba81bbad6ea59",
      "parents": [
        "8e3cde5d3f842928bb965a72d5d54785f0140556",
        "d1e05bf325fa4f57e8d79155a328313da800cf27"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Feb 05 01:42:13 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 05 01:42:14 2014 +0000"
      },
      "message": "Merge \"Change marking objects in to_space DCHECK to CHECK\""
    },
    {
      "commit": "d1e05bf325fa4f57e8d79155a328313da800cf27",
      "tree": "631b3cfca65d934d7bc269861f28755e0b113b38",
      "parents": [
        "f2ef56d441986bf2826d1bc635c38ced64c6b476"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Feb 04 17:11:58 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Feb 04 17:11:58 2014 -0800"
      },
      "message": "Change marking objects in to_space DCHECK to CHECK\n\nShould have no visible performance hit since the check should only\nhappen for large objects.\n\nWorking on pinpointing bug 12897879\n\nChange-Id: I5cacf5275af8367997a595b72d42474a909ff10f\n"
    },
    {
      "commit": "2d983907d6c3cf1d69f753e3db275158bdcb69a3",
      "tree": "3234e579da0a6d51897f25484ef65c7f97ecf71b",
      "parents": [
        "f2ef56d441986bf2826d1bc635c38ced64c6b476"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 04 16:17:13 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 04 16:17:13 2014 -0800"
      },
      "message": "Switch art over to a long in DexFile.\n\nChange-Id: I4ced147941f0d564eaf7f314bc21f6fd9caf3cbb\n"
    },
    {
      "commit": "64cffee929a1782622015fd18beebc86d0afb1da",
      "tree": "79d721ac99e8b66e60ee1b6194156e742ce55d51",
      "parents": [
        "c293218e89bb53ce34c022e97437c18fcbf3b609"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Feb 04 17:59:35 2014 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Feb 04 17:59:35 2014 +0000"
      },
      "message": "Make DexCache references const.\n\nClean up after https://android-review.googlesource.com/80446 .\n\nChange-Id: I32dac9d8aa68bb891ec8b551d771f65db7be409d\n"
    },
    {
      "commit": "c293218e89bb53ce34c022e97437c18fcbf3b609",
      "tree": "ac62c75d9c8e6cff64e05fd2033f6489c7749b29",
      "parents": [
        "d889bf48c9f16ce50626da2e05aa585de0299efd",
        "89786437f4c0176b35ca0376153dd18ab7df4924"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Feb 04 11:21:09 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 04 11:21:10 2014 +0000"
      },
      "message": "Merge \"Don\u0027t assume resolved type has the same dex cache.\""
    },
    {
      "commit": "c0a9ea40237de8fa3c623f68c904d416a3a79bf5",
      "tree": "86ecb21335886c951ca9745451bbdb63b09cba4b",
      "parents": [
        "ac33bfadbe78588401b77c4021c771e2a25fd974"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Feb 03 16:36:49 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Feb 03 16:49:17 2014 -0800"
      },
      "message": "Add missing SIRT to CreateArrayClass.\n\ncomponent_type was not guarded by a SIRT. This meant that it could\npoint to a stale object if AllocClass caused a GC.\n\nBug: 12875306\nChange-Id: I387aa53cf461349b183360c37ff69bffbfe54041\n"
    },
    {
      "commit": "ac33bfadbe78588401b77c4021c771e2a25fd974",
      "tree": "425e491c5045afac3f5db3b286cad7f951ac48ae",
      "parents": [
        "842888a0409eab0fcfb021b6ff1f3cd1d8e5368d",
        "1f3b5358b28a83f0929bdd8ce738f06908677fb7"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Feb 04 00:34:01 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 04 00:34:01 2014 +0000"
      },
      "message": "Merge \"Move SwapBitmaps to ContinuousMemMapAllocSpace.\""
    },
    {
      "commit": "70f60042558e0a766e98f2aaefbf80596ace4d53",
      "tree": "cbe6ccfc38ca39d6b49da6a57b06e290ad24cd52",
      "parents": [
        "1f00671edaaa34578319d0fdaf605600ed539d41"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Feb 03 12:31:29 2014 -0800"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Feb 03 16:03:33 2014 -0800"
      },
      "message": "Fix a race condition in RosAlloc.\n\nFix a race condition in RosAlloc between RosAlloc::BulkFree() and\nRosAlloc::RevokeThreadLocalRuns() with regard to bulk_free_bit_map.\n\nChange-Id: I128917d5bdfe2dab604174ca4cbe228282578b8a\nSigned-off-by: Serguei Katkov \u003cserguei.i.katkov@intel.com\u003e\nBug: 12592026\n"
    },
    {
      "commit": "1f3b5358b28a83f0929bdd8ce738f06908677fb7",
      "tree": "81545b9a91de8bde45f55c7dbc8a9d5358a89bdb",
      "parents": [
        "1f00671edaaa34578319d0fdaf605600ed539d41"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Feb 03 14:00:42 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Feb 03 16:00:05 2014 -0800"
      },
      "message": "Move SwapBitmaps to ContinuousMemMapAllocSpace.\n\nMoved the SwapBitmaps function to ContinuousMemMapAllocSpace since\nthe zygote space uses this function during full GC.\n\nFixed a place where we were casting a ZygoteSpace to a MallocSpace,\nsomehow this didn\u0027t cause any issues in non-debug builds.\n\nMoved the CollectGarbage in PreZygoteFork before the lock to prevent\nan occasional lock level violation caused by attempting to enqueue\njava lang references with the a lock.\n\nBug: 12876255\n\nChange-Id: I77439e46d5b26b37724bdcee3a0948410f1b0eb4\n"
    },
    {
      "commit": "89786437f4c0176b35ca0376153dd18ab7df4924",
      "tree": "c1b233f9e036c14f7a39d722a7a34874253307c1",
      "parents": [
        "1f00671edaaa34578319d0fdaf605600ed539d41"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jan 31 15:03:55 2014 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Feb 03 18:15:13 2014 +0000"
      },
      "message": "Don\u0027t assume resolved type has the same dex cache.\n\nWhen we resolve a type with a certain DexCache that type\u0027s\nGetDexCache() doesn\u0027t necessarily return the same DexCache.\nThis could have led to the wrong DexFile being used in\naccess checks by the CompilerDriver.\n\nChange-Id: I2c836477f69f142bcbff902207dc0ad83854a398\n"
    },
    {
      "commit": "caa82d61b73d2d426ac1666e9186d7825000a849",
      "tree": "a36946daefdd719b62b3f2b32d4de58f8afce6d7",
      "parents": [
        "27e180ff7321269d11d6d5675c4578d65f00c52f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sun Feb 02 16:51:17 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sun Feb 02 17:11:28 2014 -0800"
      },
      "message": "Fix lock order checking violation.\n\nTurns out you can\u0027t do thread state changes while holding locks.\nThis change fixes occasional lock violations in ThreadStress test.\n\nAlso moved the usleep in TransitionCollector outside of the place we\nhold the gc_complete_lock_.\n\nChange-Id: Ib3a85fffdbea80b64d72a2ad7e916251340c22e6\n"
    },
    {
      "commit": "27e180ff7321269d11d6d5675c4578d65f00c52f",
      "tree": "214a1ab449cdf9a5eb3ae7d0064e538f30b4d458",
      "parents": [
        "316116b8f11998fa07e532366482ae9493c1a1c6",
        "d5a89ee74c00bd24a34b6e795828a0b86842630f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Feb 03 00:30:16 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 03 00:34:23 2014 +0000"
      },
      "message": "Merge \"Fix race conditions caused by StartGC.\""
    },
    {
      "commit": "7c6aca27dd2df58ac3d83a93ec5848e2b7d3159a",
      "tree": "4fa6a6f1c2c8116667a5c848154591c87873eeae",
      "parents": [
        "81c414a90067d6eb6e03f1657e0d121a5f967e13"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jan 31 18:44:56 2014 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jan 31 18:45:30 2014 -0800"
      },
      "message": "Properly tolerate missing declaring source files\n\nBroken in 228d6b8a4f0a21c1e9b2372c3104ce4ee19f65b4\n\nBug: 12802375\nChange-Id: I60eeefeb3aff3e0a9f143791cf772e531a68d16a\n"
    },
    {
      "commit": "d5a89ee74c00bd24a34b6e795828a0b86842630f",
      "tree": "ebeab83820aaae0761a52de2e3ac8c83f68757f5",
      "parents": [
        "39a548933c7d083647ccb1d508240198ffff5a5c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jan 31 09:55:13 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jan 31 14:59:20 2014 -0800"
      },
      "message": "Fix race conditions caused by StartGC.\n\nRace1: Heap trimming could happen when we were transitioning the heap.\nThis caused the space to get deleted in the middle of the trim.\n\nRace2: IncrementDisableCompactingGC needed to WaitForConcurrentGC if\nwe were running a moving GC or about to starting a moving GC.\n\nRace3: The logic for whether or not we had a compacting GC was\ncalculated before StartGC in CollectGarbageInternal. This could cause\nus to get blocked waiting for the GC to complete and come out of the\nwait with a new collector_type_ due to a heap transition.\n\nChange-Id: I07c36ae5df1820e9cca70cf239e46175c1eb9575\n"
    },
    {
      "commit": "616ffafa3130d0ef9cdd18c7adbf4e688026a724",
      "tree": "b6ef3e190072cf7bf680d5263f1d6070167fd42e",
      "parents": [
        "f0c3718cf42e2c45859f136e05bceb224871eae6",
        "da7a69b3fa7bb22d087567364b7eb5a75824efd8"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Jan 31 22:15:53 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 31 22:15:53 2014 +0000"
      },
      "message": "Merge \"Enable compiler temporaries\""
    },
    {
      "commit": "da7a69b3fa7bb22d087567364b7eb5a75824efd8",
      "tree": "17aea3b34d6059b52fab73fc206470eca5e9d305",
      "parents": [
        "353e494a7108f382daf1782596fc0a93d92f38a4"
      ],
      "author": {
        "name": "Razvan A Lupusoru",
        "email": "razvan.a.lupusoru@intel.com",
        "time": "Wed Jan 08 15:09:50 2014 -0800"
      },
      "committer": {
        "name": "Razvan A Lupusoru",
        "email": "razvan.a.lupusoru@intel.com",
        "time": "Fri Jan 31 13:58:28 2014 -0800"
      },
      "message": "Enable compiler temporaries\n\nCompiler temporaries are a facility for having virtual register sized space\nfor dealing with intermediate values during MIR transformations. They receive\nexplicit space in managed frames so they can have a home location in case they\nneed to be spilled. The facility also supports \"special\" temporaries which\nhave specific semantic purpose and their location in frame must be tracked.\n\nThe compiler temporaries are treated in the same way as virtual registers\nso that the MIR level transformations do not need to have special logic. However,\ngenerated code needs to know stack layout so that it can distinguish between\nhome locations.\n\nMIRGraph has received an interface for dealing with compiler temporaries. This\ninterface allows allocation of wide and non-wide virtual register temporaries.\n\nThe information about how temporaries are kept on stack has been moved to\nstack.h. This is was necessary because stack layout is dependent on where the\ntemporaries are placed.\n\nChange-Id: Iba5cf095b32feb00d3f648db112a00209c8e5f55\nSigned-off-by: Razvan A Lupusoru \u003crazvan.a.lupusoru@intel.com\u003e\n"
    },
    {
      "commit": "9aeeeac4ba0b136652f213d60a5a1990a333a629",
      "tree": "9ed565fec210c69dc136223edb882a9d858e0788",
      "parents": [
        "d65c39a050af53bef5f92221619b5416b1a8822e",
        "a1602f28c0e3127ad511712d4b08db89737ae901"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jan 31 18:55:35 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 31 18:55:35 2014 +0000"
      },
      "message": "Merge \"Add zygote space as its own space type.\""
    },
    {
      "commit": "a1602f28c0e3127ad511712d4b08db89737ae901",
      "tree": "44d7abfcaa57de85fd3c3c40d5bff3173cc60387",
      "parents": [
        "a0e4b01b6b1ef5c88e340e6b2c09f83e535777a1"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jan 13 17:19:19 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jan 31 09:45:09 2014 -0800"
      },
      "message": "Add zygote space as its own space type.\n\nHelps prevent errors caused from doing invalid operations on the\nold alloc space.\n\nRemoved some duplicated code in mark_sweep.cc and semi_space.cc.\n\nChange-Id: I67a772cab30d698744c918aad581053f282a4a99\n"
    },
    {
      "commit": "1cbed454da5d7760d7bc607ac164241e82a2b15e",
      "tree": "adc3178af4128e9f045aadf3fe38de5a413e5121",
      "parents": [
        "6ed358fc49ee5f534743bed45b19ad966490b78a",
        "43b2e0f9105848da6470458e7c04bf1fd7fcb25c"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Jan 31 16:18:59 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 31 16:18:59 2014 +0000"
      },
      "message": "Merge \"Fix multi-line hex dumping and add unit test.\""
    },
    {
      "commit": "4a7867b672631cd9f1725b275c4c87358fc31c39",
      "tree": "e136589713b44940f3f4d327cf2e2becda7fa6f3",
      "parents": [
        "f52bb809f0a6d4fb1c70b7f3b2f6e45c1d80ab9d"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Jan 30 17:44:12 2014 -0800"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Jan 30 17:54:22 2014 -0800"
      },
      "message": "Add property to disable sampling profiler.\n\nThis is to enable power measurements to be performed without\nthe profiler running.  The default is off (no profiler).\n\nTo enable the profiler:\n\nadb shell setprop dalvik.vm.profiler 1\n\nChange-Id: I983f2ffcf6c2c7bb8e29f0610fe259f3d56a4b1d\n"
    },
    {
      "commit": "43b2e0f9105848da6470458e7c04bf1fd7fcb25c",
      "tree": "65406c86398c27c934169251c3a4446e99c885f7",
      "parents": [
        "f7eedc939e9dc07b627b2f94eb132155be992883"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jan 30 16:58:39 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jan 30 16:58:39 2014 -0800"
      },
      "message": "Fix multi-line hex dumping and add unit test.\n\nChange-Id: I7657018fef5d9c17410a9a634db275555f180014\n"
    },
    {
      "commit": "ee28773caa775e60e7b24a7d197973dc5ffc6d0a",
      "tree": "9a8bc67510f0ad5acc43043d63bb093f22549bea",
      "parents": [
        "f7eedc939e9dc07b627b2f94eb132155be992883"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 30 12:09:13 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 30 12:09:13 2014 -0800"
      },
      "message": "Bionic has \u003csys/ucontext.h\u003e now.\n\nChange-Id: I7b97df04204b22e8976b64bf93af72a311ddb0e9\n"
    },
    {
      "commit": "ba5870d1cb6c6320bfd2eb818772352df71a8269",
      "tree": "4f4313c65f1c7e86c92863bf259b63ba15692ddd",
      "parents": [
        "a0e4b01b6b1ef5c88e340e6b2c09f83e535777a1"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Jan 29 15:31:03 2014 -0800"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Jan 29 15:31:03 2014 -0800"
      },
      "message": "Fix a large object space issue with the GSS collector.\n\nObjects in the large object space weren\u0027t properly collected because\nlarge objects on the allocation stack weren\u0027t copied from the live set\nto the marked set.\n\n(Cherrypick commit c7c9fdff117cd53a12aaefb0f5bc9b3245de6a02 from master.)\n\nBug: 12553120\nBug: 11650816\nChange-Id: Ib67394eb6de0520fe215c9e6e6988a7dd59cdd48\n"
    },
    {
      "commit": "6c2270be8d01a9cc3b691c49b43644545c2f4f33",
      "tree": "15d3163d15ce7de270045cf7b9ede5eca4b9fd04",
      "parents": [
        "78c0bb9bc0668be07baa0bde1e82a475a0ac1f86"
      ],
      "author": {
        "name": "lzang1",
        "email": "lin.zang@intel.com",
        "time": "Wed Jan 29 14:21:25 2014 +0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jan 29 10:59:42 2014 -0800"
      },
      "message": "Fix GC options to make the setting available\n\nThe concurrent gc thread number and parallel gc thread number is configurable by the options,\nThis patch fix the bug that making the options value valid.\nThis patch also fix that GC log threshold settings as MillionSecond.\n\nChange-Id: I737838ef4af44396c23a538cd8a33581d9ae5e4d\nAuthor: Lin Zang \u003clin.zang@intel.com\u003e\nSigned-off-by: Jack Ren \u003cjack.ren@intel.com\u003e\nSigned-off-by: Bruce Beare \u003cbruce.j.beare@intel.com\u003e\n"
    },
    {
      "commit": "78c0bb9bc0668be07baa0bde1e82a475a0ac1f86",
      "tree": "767a8ac75ec0e5c394e1f8e792ebdf002a03bb98",
      "parents": [
        "6203d3e68909b97ba5941bbe97c6bf6f4998f379",
        "abff6439db28fbbed95490bfff7e24d1fdf5b771"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Jan 29 08:59:35 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 29 08:59:36 2014 +0000"
      },
      "message": "Merge \"Refactor array access for the interpreter.\""
    },
    {
      "commit": "7f9d66c7e889dc9ace6be7b794bd9df85a7685d3",
      "tree": "9cd9a8fa4215f71c515e0b1ad4a1137193e18ffb",
      "parents": [
        "86b26b7aaa4b79e0ab1e8c1b456311b41c4762ce"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jan 28 18:21:49 2014 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jan 28 18:21:49 2014 -0800"
      },
      "message": "Bump oat file version due to apparent recent code/runtime interface change\n\nChange-Id: I1fe5a9ce388eed8f2e7ae6fdaa47473223a33f1c\n"
    },
    {
      "commit": "8f4be93c8260b84d706d91586aff572791edd9fe",
      "tree": "04c348840d1d4c39dd8c1cfbe5efe9c4dfc047cb",
      "parents": [
        "5b8cf9d8913cf7f09871f752dc5fe612260e1a0e"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jan 28 15:25:19 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jan 28 15:38:00 2014 -0800"
      },
      "message": "Visit libraries roots in JavaVMExt::VisitRoots\n\nSharedLibrary holds a direct pointer to a class loader. Since class\nloaders can move we need to visit these as roots and update them\nduring the GC. I believe this was causing UnsatisfiedLinkError with\nbackground compaction enabled.\n\nBug: 8981901\nChange-Id: I9e2a230c6dd3c25969abaf2121d8d473f6f8b601\n"
    },
    {
      "commit": "5b8cf9d8913cf7f09871f752dc5fe612260e1a0e",
      "tree": "9bdba1607ece76615f9fee9a6cf4a23f405d79af",
      "parents": [
        "0088703cc24ef615e0427f58461c6c7f7aed17a4",
        "1d27b34d3b18a5a0c832dae9768366dc08ef8d1c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jan 28 23:05:24 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 28 23:05:24 2014 +0000"
      },
      "message": "Merge \"Change DisableGC to DisableMovingGC.\""
    },
    {
      "commit": "0088703cc24ef615e0427f58461c6c7f7aed17a4",
      "tree": "ae656d5f543abef8626851cc331eeb3713323e68",
      "parents": [
        "be9e06c7b73c08b5ca00ebd913f8d8f4140e811d",
        "caf22aca3482e2fcc8bf443f911718a5021da1c9"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Jan 28 21:37:17 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 28 21:37:17 2014 +0000"
      },
      "message": "Merge \"Modify to use new BacktraceMap creation function.\""
    },
    {
      "commit": "1d27b34d3b18a5a0c832dae9768366dc08ef8d1c",
      "tree": "2e4ad88180586b82455f8ec3ee17c94944b14bb4",
      "parents": [
        "8721832a889e466c25005ae9a9d78a0a87f9b47f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jan 28 12:51:09 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jan 28 13:00:38 2014 -0800"
      },
      "message": "Change DisableGC to DisableMovingGC.\n\nAlso removed the WaitForConcurrentGC in IncrementDisableMovingGC\nsince we do not currently support any type of concurrent moving\ncollectors.\n\nThis fixes the performance regression introduced by waiting for the\nconcurrent GC which manifested itself in framework perf benchmarks\nas a result of background compaction.\n\nChange-Id: I524f9ab52e1992419626a27649f232ca6967b03d\n"
    },
    {
      "commit": "f7a0c5e644615fc9667eb578f1de5d05ce818435",
      "tree": "953357adab6e286c500bd82ac1e526318f0377dc",
      "parents": [
        "8721832a889e466c25005ae9a9d78a0a87f9b47f",
        "bb8f0ab736b61db8f543e433859272e83f96ee9b"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Jan 28 19:30:11 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 28 19:30:11 2014 +0000"
      },
      "message": "Merge \"Embed array class pointers at array allocation sites.\""
    },
    {
      "commit": "abff6439db28fbbed95490bfff7e24d1fdf5b771",
      "tree": "6ed749056b1d2e29f2bdf81c13e80e15849e9836",
      "parents": [
        "7ea5dafc81b2bba7cabad26130bb75dc8f709803"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Jan 27 18:01:39 2014 +0100"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Jan 28 18:18:14 2014 +0100"
      },
      "message": "Refactor array access for the interpreter.\n\nAdds GetWithoutChecks and SetWithoutChecks methods in PrimitiveArray and use\nthem in the interpreter. Updates Get and Set methods to rely on them and adds\nsome DCHECK to control exception flow.\n\nRenames IsValidIndex into CheckIsValidIndex to reflect it can throw an\nexception. It\u0027s also more consistent with ObjectArray::CheckIsAssignable.\n\nMake ThrowArrayIndexOutOfBoundsException private in Array since it\u0027s only used\nby Array::CheckIsValidIndex.\n\nUpdates DoFilledNewArray to use SetWithoutChecks rather than Set.\n\nChange-Id: I2fd314d77a67cf969843d499b86d04ca7b7a43e6\n"
    },
    {
      "commit": "c7f832061fea59fd6abd125f26c8ca1faec695a5",
      "tree": "183afb5dfc1f4e6fb81f14707caffa558d31dbcc",
      "parents": [
        "7ea5dafc81b2bba7cabad26130bb75dc8f709803"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Jan 24 17:55:18 2014 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jan 28 11:22:42 2014 +0000"
      },
      "message": "Refactor verification results.\n\nRename VerificationMethodsData to VerificationResults.\nCreate new class VerifiedMethod to hold all the data for\na given method.\n\nChange-Id: Ife1ac67cede20f3a2f9c7f5345f08a851cf1ed20\n"
    },
    {
      "commit": "caf22aca3482e2fcc8bf443f911718a5021da1c9",
      "tree": "c4954179726eee89fa5504c1ee51dcb37a39ba8c",
      "parents": [
        "7ea5dafc81b2bba7cabad26130bb75dc8f709803"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Jan 27 18:32:14 2014 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Jan 27 18:32:14 2014 -0800"
      },
      "message": "Modify to use new BacktraceMap creation function.\n\nChange-Id: I703ef4a26917678236b931d81b7e4c758754742b\n"
    },
    {
      "commit": "bb8f0ab736b61db8f543e433859272e83f96ee9b",
      "tree": "7b7bac5c0e7d0ac9aba91a40e0fbf761cfacb412",
      "parents": [
        "6e65720d99bd3387b72d528a46291f1ed8184ede"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Jan 27 16:50:29 2014 -0800"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Jan 27 16:50:29 2014 -0800"
      },
      "message": "Embed array class pointers at array allocation sites.\n\nFollowing https://android-review.googlesource.com/#/c/79302, embed\narray class pointers at array allocation sites in the compiled code.\n\nChange-Id: I67a1292466dfbb7f48e746e5060e992dd93525c5\n"
    },
    {
      "commit": "3e8b2e1f14176c6beb61a31a27af30bc35998e80",
      "tree": "5d4993e38d76320aef7d8ff303bd1375db00f1ed",
      "parents": [
        "e1ede2cc4b2d82fd29e0927c55ff229ad996f01e"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sun Jan 19 17:17:26 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jan 24 18:24:10 2014 -0800"
      },
      "message": "Fix bugs in ReleasePrimitiveArray.\n\nJNI_COMMIT should not unpin the array or decrement the disable GC\ncount.\n\nChange-Id: I8f6beef18c03cff93387a6967f32a8891348642c\n"
    },
    {
      "commit": "9be9a7a344096e040f2edfbdf8e479634058a2d7",
      "tree": "a696209e7608198f6c2309dd5a1862e7d0ac583e",
      "parents": [
        "26a302b2bb07d754b958a4013116946fbbd78c62"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jan 24 14:07:33 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jan 24 14:41:36 2014 -0800"
      },
      "message": "Improve IsMovableObject logic.\n\nThe new logic says the main space is non movable iff neither the\nbackground collector or foreground collector are compacting.\nTemporarily fixes performance regressions and stability issues\ncaused by buggy JNI code.\n\nAlso addressed a few review comments from previous CLs.\n\nChange-Id: Id5f91765b5fbdae387b566c0bda3392557218ba1\n"
    }
  ],
  "next": "26a302b2bb07d754b958a4013116946fbbd78c62"
}
