)]}'
{
  "log": [
    {
      "commit": "d02bd695a024f98ea926db924a9bcb8c325c8c6b",
      "tree": "78265334074716714176f101903163e52b46f4c7",
      "parents": [
        "ab74d3eae37de79444edd1edd70400970d5e85ad",
        "0a7993ee8796e75ea7f251b7cb9e32f2f4335333"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Dec 05 19:37:19 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 05 19:37:19 2014 +0000"
      },
      "message": "Merge \"ART: Fix typo\""
    },
    {
      "commit": "0a7993ee8796e75ea7f251b7cb9e32f2f4335333",
      "tree": "452019b4d87d9a27b10709240ec46f3ef12a5d81",
      "parents": [
        "aad9c0767a8f8ae6250a7b4edee52cfb6d598687"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Dec 05 11:16:26 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Dec 05 11:16:26 2014 -0800"
      },
      "message": "ART: Fix typo\n\nChange-Id: Ie9a242240511adae9fcdbaae8d6b5be61fb5075b\n"
    },
    {
      "commit": "edfdaf37d5520a3c3a858b6b3fba4f759c60dadc",
      "tree": "4b08c00ba9bc427771413a758c669df56dbba62d",
      "parents": [
        "e652b62c581a3d68b1fc82e0b04e3a59dd633e52"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Dec 05 16:12:21 2014 +0000"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Dec 05 16:12:21 2014 +0000"
      },
      "message": "Revert \"Re-enable one thread dumping the native stack of another.\"\n\nThis reverts commit e652b62c581a3d68b1fc82e0b04e3a59dd633e52.\n\nChange-Id: Ida56d2c23849c1ede82a22100df402877256e270\n"
    },
    {
      "commit": "e652b62c581a3d68b1fc82e0b04e3a59dd633e52",
      "tree": "42cba0668fe1898cec136dc8a8b6f3f4ff45878c",
      "parents": [
        "c5454372f23da8248c84c29e251fb1b21c421a63"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Dec 04 20:11:48 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Dec 04 20:11:48 2014 -0800"
      },
      "message": "Re-enable one thread dumping the native stack of another.\n\nBug: 15446488\nChange-Id: I49d4d283f7b7d04b9d8c940313d6c5107ba9f99d\n"
    },
    {
      "commit": "015b137efb434528173779bc3ec8d72494456254",
      "tree": "2ccaba9d7465bd9995082a7251d34cf76b1ab1ea",
      "parents": [
        "a21fdd0432aa38b63d144ee4b92b6a567aab61d2"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Dec 04 19:53:52 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Dec 04 20:04:45 2014 -0800"
      },
      "message": "Tidy gAborting.\n\nReduce scope to Runtime::Abort and short-cut recursive case earlier. gAborting\nremains global to avoid two fatal errors in thread and the verifier.\n\nChange-Id: Ibc893f891ffee9a763c65cde9507d99083d47b3f\n"
    },
    {
      "commit": "d4605cb8e8260fdec8a05f675788b154f486baa4",
      "tree": "4baef6f0dce66d25154d6df7ee18b38ae1ba6bde",
      "parents": [
        "b510c82ebaf11cf6f4f215f6237ee6a44861ef10",
        "5567c11b9157eec110c0631aa2bff5836631e868"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Dec 04 19:57:01 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 04 19:57:01 2014 +0000"
      },
      "message": "Merge \"Make Barrier robust against spurious wakeups\""
    },
    {
      "commit": "5567c11b9157eec110c0631aa2bff5836631e868",
      "tree": "6385002190e857aa2cedd813f461bb6b038fe4c5",
      "parents": [
        "27478e627e08ab42c43d5d934da9ea336ccaf628"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Dec 02 18:31:31 2014 -0800"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Dec 04 10:20:12 2014 -0800"
      },
      "message": "Make Barrier robust against spurious wakeups\n\nFix Barrier implementation so that Wait cannot return prematurely\ndue to a spurious condition variable wakeup or interrupted futex call.\n\nDocument the resulting semantics of barrier.h, which are a bit surprising,\nbut appear to be exactly what current clients need.\n\nFix the test so that it actually passes with the fixed barrier.h,\nand no longer tests for properties that can\u0027t be correctly satisfied.\n\nImprove comment for InitTimeSpec, which we almost used.\n\nBug:18509123\n\nChange-Id: I0b25f33bcd22322ba04e3951cd484843788c2bf5\n"
    },
    {
      "commit": "b510c82ebaf11cf6f4f215f6237ee6a44861ef10",
      "tree": "cb21385636b6cd223185d374ae5ca6e66a66ae33",
      "parents": [
        "283e2d6023be41bfc359cb57c7af062984b1b682",
        "14317f030db862bb2210135b9af510df429059fd"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Dec 04 17:50:45 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 04 17:50:46 2014 +0000"
      },
      "message": "Merge \"Remove unused headers.\""
    },
    {
      "commit": "baede348efa86600e64fb9db43cec1eef07c86d9",
      "tree": "7ab2c2a69c72b7cd2ce1b7bf1ed9d26b07e4fd7e",
      "parents": [
        "989210eb453898bd94bf3527f18f6146b07aa4bb",
        "6963e44331258b131bcc0599b868ba15902d6d22"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Dec 04 10:21:02 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 04 10:21:02 2014 +0000"
      },
      "message": "Merge \"JDWP: fix breakpoint for method in the image\""
    },
    {
      "commit": "6963e44331258b131bcc0599b868ba15902d6d22",
      "tree": "24ef16e739e99d3e9d980f2acde8dd301c236c37",
      "parents": [
        "220526b05d4365a1820a694c98527eda2d3dc980"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Nov 26 22:11:27 2014 +0100"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Dec 04 10:20:24 2014 +0100"
      },
      "message": "JDWP: fix breakpoint for method in the image\n\nWhen we set a breakpoint in a compiled method, we deoptimize it by\nchanging its entrypoint so it is executed with the interpreter.\nHowever, methods in the image can be called with their direct code\npointer, ignoring the updated entrypoint. In that case, the method\nis not executed with the interpreter and we miss the breakpoint.\n\nThis CL avoids that situation by forcing a full deoptimization so\neverything runs with the interpreter. However, if the image has been\ncompiled in PIC mode, we keep using selective deoptimization because\ndirect code pointer is not used in this mode.\n\nBug: 17965285\nChange-Id: Icaf8cbb7fe9ad01d36f7378c59d50d9ce42ae57f\n"
    },
    {
      "commit": "14317f030db862bb2210135b9af510df429059fd",
      "tree": "156a4bcc6d1410001d5cf3ba3fa2fda0317146cc",
      "parents": [
        "27478e627e08ab42c43d5d934da9ea336ccaf628"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Dec 03 10:48:05 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Dec 03 10:48:05 2014 -0800"
      },
      "message": "Remove unused headers.\n\nPush Closure into only use in thread_pool.h.\nRemove StringFile and NullFile that existed purely for a test.\n\nChange-Id: I329892d5e1f5f017caeb3d60600f803a74114fc1\n"
    },
    {
      "commit": "1a102189c1782e003f27e95ce093e854408767f3",
      "tree": "36b874dcd5d5c8bb7a2c30aa70cff58faaed19a3",
      "parents": [
        "b5fb207ed5e3570ec14e18811b3fa066168fe493"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Dec 02 17:49:19 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Dec 02 18:00:07 2014 -0800"
      },
      "message": "Remove MethodHelper.\n\nMove use as a shorty processor to only use in portable.\nMove GetNumberOfReferenceArgsWithoutReceiver to mirror::ArtMethod.\n\nChange-Id: I7ded3d05315c84bce4ab19cb330ef74289da4bb3\n"
    },
    {
      "commit": "b5fb207ed5e3570ec14e18811b3fa066168fe493",
      "tree": "a964e9039b303cae03654085146d34b279427fae",
      "parents": [
        "b5af2641acf9d2e247baaa2ac7674f91b801878d"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Dec 02 17:22:02 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Dec 02 17:31:32 2014 -0800"
      },
      "message": "Remove MethodHelper::HasSameSignatureWithDifferentClassLoaders.\n\nMove sole use to a static function within class_linker.cc.\nRemove unused MutableMethodHelper and empty method_helper.cc.\n\nChange-Id: Ia26bc76674ed2ee7c9c546de820cc181005fed77\n"
    },
    {
      "commit": "b5af2641acf9d2e247baaa2ac7674f91b801878d",
      "tree": "01a8590fe8a4e480a4ddf94f0f7bdbd26d0d7f45",
      "parents": [
        "810872102513fd19836a9458d850567146ea1964",
        "00f1527007381a0cbf1a2b36b956cb3ddac906cb"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Dec 03 00:58:52 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 03 00:58:53 2014 +0000"
      },
      "message": "Merge \"Fix artQuickResolutionTrampoline.\""
    },
    {
      "commit": "00f1527007381a0cbf1a2b36b956cb3ddac906cb",
      "tree": "23ada8c25751de12e3f4229f18885667897d05c2",
      "parents": [
        "384f729a465d0ab3a76faa7ec8fa05ced82b4a85"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Dec 02 16:55:46 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Dec 02 16:55:46 2014 -0800"
      },
      "message": "Fix artQuickResolutionTrampoline.\n\nMistakenly updating dex method index of the non-receiver method.\n\nChange-Id: I42296e344a53e001bf37414852cd9f23f629ca40\n"
    },
    {
      "commit": "f2247513a54300cfa6a2f23fdbbafead115c99b2",
      "tree": "16d40b270b8a248ae9464d9aca9cd432c284b135",
      "parents": [
        "384f729a465d0ab3a76faa7ec8fa05ced82b4a85"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Dec 02 16:17:08 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Dec 02 16:27:15 2014 -0800"
      },
      "message": "Remove MethodHelper::HasSameNameAndSignature.\n\nMove sole use to a static method with art_method.cc.\n\nChange-Id: I2e7994cc1c31b5ca74df5d7be5538003d4ed0150\n"
    },
    {
      "commit": "a0485607a4a4d8c683a9849f6f20902c4e1da7a4",
      "tree": "bbfa8e6182b702f161ea07efd53975fab1b6b736",
      "parents": [
        "08f1f50d6c2e8f247b8f5f19711d75a792851c7a"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Dec 02 15:48:04 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Dec 02 15:57:13 2014 -0800"
      },
      "message": "Move GetClassFromTypeIdx to ArtMethod.\n\nMove GetClassFromTypeIdx out of MethodHelper into ArtMethod in\npreparation for the removal of MethodHelper.\n\nChange-Id: I9c03dd8c821944c606ea08cdf92afc80c4275247\n"
    },
    {
      "commit": "08f1f50d6c2e8f247b8f5f19711d75a792851c7a",
      "tree": "dca490545d56168f7f9ae4a4616199b1b1c8ba0c",
      "parents": [
        "8443637f71a777a13317fe7635028d758a0adf97"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Dec 02 15:04:37 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Dec 02 15:12:27 2014 -0800"
      },
      "message": "Remove FieldHelper.\n\nChange-Id: I2d74e2d5b3c35a691c95339de0db9361847fca11\n"
    },
    {
      "commit": "f842571345749cc119363fdeb1dda549aafb49bb",
      "tree": "95fbfad6d06a16bfd4a148162288628a2f02507b",
      "parents": [
        "eb8a32f8fbc72d8f5e92dc4335f1e7428e7cba51",
        "e0a02dabedd7db2c511a513fb48d7e39ed3dd9c0"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Dec 02 22:22:49 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 02 22:22:49 2014 +0000"
      },
      "message": "Merge \"Move FindDexMethodIndexInOtherDexFile into ArtMethod.\""
    },
    {
      "commit": "e0a02dabedd7db2c511a513fb48d7e39ed3dd9c0",
      "tree": "70ee0e4caa2cc26c661b6cb0231b8423506e50fa",
      "parents": [
        "e94652f1e321b2c8b71acbe5b07d2ebf69fbdb99"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Dec 02 14:10:53 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Dec 02 14:21:56 2014 -0800"
      },
      "message": "Move FindDexMethodIndexInOtherDexFile into ArtMethod.\n\nMove FindDexMethodIndexInOtherDexFile out of MethodHelper into ArtMethod in\npreparation for the removal of MethodHelper.\nTidy ClassLinker::ResolveMethod so that all exception paths flow through the\nexception pending assertion.\nTidy artQuickResolutionTrampoline to be more explicit about variable names and\nonly update the dex cache if necessary.\n\nChange-Id: I3e48eb4f6c1291533067c1b53efe90c53bfcaea8\n"
    },
    {
      "commit": "b67f965a2c0af98867dcc75ce07ec94d943421ae",
      "tree": "9d2a6c8d8b023e43a5d20a900574391d2ef6e4f1",
      "parents": [
        "5055c8e008fef62b23e485504472cd215b1b5bfd",
        "ef048f6f968abd59fa7fa89413a6eb85c959beaf"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Dec 02 19:25:48 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 02 19:25:50 2014 +0000"
      },
      "message": "Merge \"ART: Add some thread abort logging\""
    },
    {
      "commit": "4256440d7566510e13a796176c90841bad29d0e5",
      "tree": "5bc7e8e43a43715717bd0e7b14bf62fe08258fa9",
      "parents": [
        "32750ae8290b12ebf388f110210bbb9de0ed6fb7",
        "e94652f1e321b2c8b71acbe5b07d2ebf69fbdb99"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Dec 02 19:24:06 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 02 19:24:06 2014 +0000"
      },
      "message": "Merge \"Remove MethodHelper from the interpreter.\""
    },
    {
      "commit": "e94652f1e321b2c8b71acbe5b07d2ebf69fbdb99",
      "tree": "b4c2a4435800222fa740a5ae57fa217b6aed0875",
      "parents": [
        "f25c2ec6b63e116f24f359a10b59c78768fde67a"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Dec 02 11:13:19 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Dec 02 11:13:49 2014 -0800"
      },
      "message": "Remove MethodHelper from the interpreter.\n\nUse ShadowFrame to get the executing method to avoid a handle for the current\nmethod.\nVarious associated bits of header file clean-up and removal of an unnecessary\nuse of MethodHelper in CompilerDriver.\n\nChange-Id: I3b6f4413701e8fc6b0c58b0041a0dd15472bedaa\n"
    },
    {
      "commit": "e7106cbcfcbb07d11948dbc45d2719d32e5e3908",
      "tree": "64f305d18911875a64966eda2ba5c4318ac41786",
      "parents": [
        "f25c2ec6b63e116f24f359a10b59c78768fde67a",
        "7443c9abb22b10fc45895b2171fc0f67866863b7"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Dec 02 18:29:34 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 02 18:29:35 2014 +0000"
      },
      "message": "Merge \"ART: Avoid a recursive abort\""
    },
    {
      "commit": "3ac90da48e9cd56eb4b392c7f176e9267d146500",
      "tree": "f2ef3b42669aa52130e19b3709afc3239998fdeb",
      "parents": [
        "98646a3d98075da05f9959b2cecea849183dbd27"
      ],
      "author": {
        "name": "Pavel Vyssotski",
        "email": "pavel.n.vyssotski@intel.com",
        "time": "Tue Dec 02 19:54:50 2014 +0600"
      },
      "committer": {
        "name": "Pavel Vyssotski",
        "email": "pavel.n.vyssotski@intel.com",
        "time": "Tue Dec 02 20:53:17 2014 +0600"
      },
      "message": "Fix OOM throwing if it happens in finalizer reference (take 2)\n\nThe Class::Alloc should return null if OOM happened during\nadding finalizer reference, even if finalizable object is\nallocated succesfully.\n\nAdded new more reliable test.\n\nChange-Id: Id5fed3bdb16297d6d3a2b14ce62cc305aa703d60\nSigned-off-by: Dmitry Petrochenko \u003cdmitry.petrochenko@intel.com\u003e\nSigned-off-by: Serguei Katkov \u003cserguei.i.katkov@intel.com\u003e\nSigned-off-by: Pavel Vyssotski \u003cpavel.n.vyssotski@intel.com\u003e\n"
    },
    {
      "commit": "f7ebda43cb185b6414a2e86eef95eaf10b74db2c",
      "tree": "904c51e03d06ec37268bba0ce29fd73f073b9b03",
      "parents": [
        "ea09c1ed912bd5cc87aada58f3f24825940fb148",
        "5e2b8747df8eabdd0daf091f1afe3b7b3d6c2719"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Dec 02 03:10:22 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 02 03:10:22 2014 +0000"
      },
      "message": "Merge \"Fix fault handler invoked before vm running.\""
    },
    {
      "commit": "446f9ee5031cf89b8964e29eba2c9f10a4d4aaf1",
      "tree": "224af2e70163cdb99ce61662feba63a9b51a2caf",
      "parents": [
        "87e0aa4c72962a54bbf64fc020c1f59d13c3e30f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Dec 01 15:00:27 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Dec 01 17:06:33 2014 -0800"
      },
      "message": "Try normal allocation if large object allocation fails\n\nIf a large object allocation fails, we now try the normal allocators.\n\nBug: 18124612\n\n(cherry picked from commit f1c4d0e3a27e9b39916750147ecdea1418fcc231)\n\nChange-Id: Ib83ebe53fbdd83aa2d23fd10a8bb10e149f8918f\n"
    },
    {
      "commit": "0310da5361f41bc7f58eb102a5b232faa394183a",
      "tree": "6f53d525aa23939257759598ecf12471426c94f3",
      "parents": [
        "90fe256384b5fcd955018888977df07a5c0d85f4"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Dec 01 13:40:48 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Dec 01 16:48:54 2014 -0800"
      },
      "message": "Fix growth limit / footprint limit problems\n\nWe now properly clear the growth limit of all the spaces when\nClearGrowthLimit is called. Previously we didn\u0027t clear the growth\nlimit of the background space.\n\nThis wasn\u0027t caught by heap test since it only manifested itself\nwhen we had a zygote space.\n\nBug: 18504942\n\n(cherry picked from commit d59c170057dcc213a858652abc71eec710898a41)\n\nChange-Id: I6e4394b9c9f7f22aabc5f5955adb8dd4511c2617\n"
    },
    {
      "commit": "91a6dc41003cdd22073e72fd5425df8e95b1c172",
      "tree": "fb0dcbccd5365f7e9d8ddb461dca72dd20310fc4",
      "parents": [
        "dde815ab8e1a1997ad01cb7f63dd10ef26597f46"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Dec 01 10:31:15 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Dec 01 11:25:40 2014 -0800"
      },
      "message": "Set dex_cache_strings_ when we call Class::SetDexCache\n\nEnsures that these two variables never get out of sync. The error\nwas presumably related to not doing this for proxy classes. This\ncaused java code which was looking at the dex_cache_strings_ field\nto incorrectly access a null array.\n\nBug: 18548887\n\n(cherry picked from commit ea1c3d77b92b30ec527f2ca5bfe316a882b698e0)\n\nChange-Id: I022d9311b38b61e160ed70e3c5d9639797adb29c\n"
    },
    {
      "commit": "91c2f0cde2a009bd52aa1c3d1dee705cc02c932f",
      "tree": "55c02c51308df051c76d89a09627ad16d8f45f72",
      "parents": [
        "bd6bb37c377e78aeafb4faf9acd70efbcbc62d30"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Nov 26 11:21:15 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Nov 26 16:06:35 2014 -0800"
      },
      "message": "Trim reference tables when we trim the heap\n\nBefore:\nSystem server:\n virtual                     shared   shared  private  private\n  size      RSS      PSS    clean    dirty    clean    dirty    # object\n2200      300      229        0       80        0      220   77 /dev/ashmem/dalvik-indirect ref table (deleted)\nLocation:\n1896      128      102        0       28        0      100   39 /dev/ashmem/dalvik-indirect ref table (deleted)\n\nAfter:\n virtual                     shared   shared  private  private\n  size      RSS      PSS    clean    dirty    clean    dirty    # object\nSystem server:\n2216       64       64        0        0        0       64   79 /dev/ashmem/dalvik-indirect ref table (deleted)\nLocation:\n2120       48       48        0        0        0       48   67 /dev/ashmem/dalvik-indirect ref table (deleted)\n\nNo pause time regression measured in memalloc test.\n\n(cherry picked from commit 84dc99d2fa67e5dff018685661cb2bff62132989)\n\nChange-Id: I80d9bd3b98e888fa8f77d03df69f8479ed209986\n"
    },
    {
      "commit": "bd6bb37c377e78aeafb4faf9acd70efbcbc62d30",
      "tree": "f098642047c7a88bddc0ea941fd8fdfa98e3b940",
      "parents": [
        "7939a254e79834746fc52827c6bc0667f098e7db",
        "cd195fe131842ad9ca7909203d479d325feaf9dd"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Nov 27 00:06:30 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 27 00:06:30 2014 +0000"
      },
      "message": "Merge \"Add a way to change the IMT size\""
    },
    {
      "commit": "7443c9abb22b10fc45895b2171fc0f67866863b7",
      "tree": "e422ef5fe3ecad66edeb36c1500cbc28e1b859b0",
      "parents": [
        "220526b05d4365a1820a694c98527eda2d3dc980"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 26 11:58:42 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 26 15:45:16 2014 -0800"
      },
      "message": "ART: Avoid a recursive abort\n\nWhen waiting for checkpoints on abort, don\u0027t abort on timeout.\n\nChange-Id: Ic87c25d466021d391563f870642251b69dd62af5\n"
    },
    {
      "commit": "7939a254e79834746fc52827c6bc0667f098e7db",
      "tree": "132e7752a174f3d885e9f670e711fc02ee38ec06",
      "parents": [
        "3c17775c45277e90da10296d90f0f474f4a1b84a",
        "95c51b3c3765124adf367047caa56f16bfb6eb6f"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Wed Nov 26 22:32:34 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 26 22:32:35 2014 +0000"
      },
      "message": "Merge \"Add a missing SHARED_LOCKS_REQUIRED(mutator_lock_).\""
    },
    {
      "commit": "cd195fe131842ad9ca7909203d479d325feaf9dd",
      "tree": "951be836646a63d4b7300466718d1cd222d01e11",
      "parents": [
        "3c17775c45277e90da10296d90f0f474f4a1b84a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 25 18:36:01 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Nov 26 11:16:28 2014 -0800"
      },
      "message": "Add a way to change the IMT size\n\nUseful for having smaller imts on memory constrainted devices.\nSetting ART_IMT_SIZE\u003dx will change the size of the IMT.\n\n(cherry picked from commit 8ee96437f8cd24e1eb0b2adc6cef3346ed4b6a98)\n\nChange-Id: Ia74946ffc57ad32de5a8d60be3412462f19f8076\n"
    },
    {
      "commit": "f2611341d2e45144edd25c90f66834687a043dcc",
      "tree": "0f0626da9599ed73e18805e44a630c7664967c6a",
      "parents": [
        "e4b9435f53f108ede0cee74295bfd5d519491d51",
        "a1785c5cd88f6256a838a95c93ac0a1bee6c5145"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 26 17:52:32 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 26 17:52:32 2014 +0000"
      },
      "message": "Merge \"ART: Use Overwrite instead of Put\""
    },
    {
      "commit": "94572c51dfbc1d48785ee340e602f0f8092afecf",
      "tree": "fd2181a2d4b8e7e8d26101a9a87b4f0c34fa990f",
      "parents": [
        "220526b05d4365a1820a694c98527eda2d3dc980",
        "9bb492a33c97e72d0c43a4ee968e34cc32534981"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 26 12:00:16 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 26 12:00:17 2014 +0000"
      },
      "message": "Merge \"Add ART_USE_OPTIMIZING_COMPILER flag.\""
    },
    {
      "commit": "a1785c5cd88f6256a838a95c93ac0a1bee6c5145",
      "tree": "f5336a279300ea62bbdec08f0f44401c4374f5b0",
      "parents": [
        "220526b05d4365a1820a694c98527eda2d3dc980"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 25 20:40:08 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 26 01:57:00 2014 -0800"
      },
      "message": "ART: Use Overwrite instead of Put\n\nAllow threads exiting twice when tracing.\n\nBug: 18469797\n\nChange-Id: I88ce5ea8237e53a76ad68fd4b28a367f58e6d635\n"
    },
    {
      "commit": "ef048f6f968abd59fa7fa89413a6eb85c959beaf",
      "tree": "7b0afcbe5659db3ad72a60974a05ceb65672334a",
      "parents": [
        "220526b05d4365a1820a694c98527eda2d3dc980"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 25 22:12:27 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 26 01:46:03 2014 -0800"
      },
      "message": "ART: Add some thread abort logging\n\nThis hits intermittently on tests. Print out the thread name and\nthe state it wants to go to.\n\nChange-Id: I86c8f0d61e23cbe4d46175a5eefaef03c23a2a81\n"
    },
    {
      "commit": "95c51b3c3765124adf367047caa56f16bfb6eb6f",
      "tree": "fd22336d36ea556e4cf0a504b35d3da57a983e25",
      "parents": [
        "af6dad6cbb6685f92d7274f9e8c45baa98232c79"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Wed Nov 26 01:24:13 2014 -0800"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Wed Nov 26 01:24:13 2014 -0800"
      },
      "message": "Add a missing SHARED_LOCKS_REQUIRED(mutator_lock_).\n\nThis was caught by Clang 3.6 using -Wthread-safety-analysis.\n\nChange-Id: If2f25331f111ba6c67570e5aece1fba38f714d05\n"
    },
    {
      "commit": "eace45873190a27302b3644c32ec82854b59d299",
      "tree": "73fbf327839263b6847bdc4359ac1dbea2b897e3",
      "parents": [
        "8ac8d5556fae9c728bcebcc9036a1bbf40087c76"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 24 18:29:54 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 25 16:02:04 2014 -0800"
      },
      "message": "Move dexCacheStrings from ArtMethod to Class\n\nAdds one load for const strings which are not direct.\n\nSaves \u003e\u003d 60KB of memory avg per app.\nImage size: -350KB.\n\nBug: 17643507\nChange-Id: I2d1a3253d9de09682be9bc6b420a29513d592cc8\n\n(cherry picked from commit f521f423b66e952f746885dd9f6cf8ef2788955d)\n"
    },
    {
      "commit": "9bb492a33c97e72d0c43a4ee968e34cc32534981",
      "tree": "93c3b4218e2bdecf80e55ebe77eda6dbeb2df2f9",
      "parents": [
        "dc00c73d24a46c8522176fbc539f3e39710807c2"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 25 23:42:00 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Nov 25 23:56:30 2014 +0000"
      },
      "message": "Add ART_USE_OPTIMIZING_COMPILER flag.\n\nChange-Id: I86065aec5bfe59729c6a4064a3e54d5b523ca45c\n"
    },
    {
      "commit": "3115877616e44b245ecf2c5466d52c749086d3b0",
      "tree": "720c9ed875e40e527a9e244fe8ef0cf19a494ebe",
      "parents": [
        "dc00c73d24a46c8522176fbc539f3e39710807c2"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 25 11:20:28 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 25 14:40:18 2014 -0800"
      },
      "message": "Fix oatwriter code deduping\n\nNow that the GC maps are part of the oat method header they need\nto be checked in CodeOffsetsKeyComparator.\n\nBug: 18523556\n\nChange-Id: I539a6e7216166342b22515c1e2cf831dad32e41e\n\n(cherry picked from commit 4cdf4508903d13fd0f9fba5690aeac1b368db81b)\n"
    },
    {
      "commit": "dc00c73d24a46c8522176fbc539f3e39710807c2",
      "tree": "bb7e95e935c2427fdf520516573db91262ec81f6",
      "parents": [
        "f0c001465371279355eeb7633b67ffcc6f6738e5",
        "90675a77fa03850ebd46280e60b0ff54b8d5eb79"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 25 21:30:20 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 25 21:30:21 2014 +0000"
      },
      "message": "Merge \"ART: Avoid recursive abort\""
    },
    {
      "commit": "ae214ee0064525e8e4a2e5f61b6d0b8f4f1900e8",
      "tree": "a7934d9e5da7c7c8c42caf320fca10cc8c1c401c",
      "parents": [
        "af2d5307c3beaf3f0e9712f88c56c53cecdc06a7"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 24 18:03:01 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 24 18:03:01 2014 -0800"
      },
      "message": "ART: Fix inline dependency\n\nGetClassFromTypeIdx is defined in the -inl file.\n\nChange-Id: Ib5dbcea08dccee43ff70cac2e45cdbf210cb490c\n"
    },
    {
      "commit": "af2d5307c3beaf3f0e9712f88c56c53cecdc06a7",
      "tree": "1df28ced0a76691c2265b493cf50277dbb204cfe",
      "parents": [
        "dd24fcf3e3e76ca2df7d00258e347cc2517fce48",
        "9f612ffab2b188d80027d961d7118eb2c461b5ad"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 24 23:57:17 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 24 23:57:18 2014 +0000"
      },
      "message": "Merge \"ART: Fix unused variables and functions\""
    },
    {
      "commit": "9f612ffab2b188d80027d961d7118eb2c461b5ad",
      "tree": "aa5a5c83810b13f726b16670bc4442a4f271ee55",
      "parents": [
        "c6c88d2079f0d47eb86a2e2e2f53cab25b0503c1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 24 13:42:22 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 24 13:43:11 2014 -0800"
      },
      "message": "ART: Fix unused variables and functions\n\nChange-Id: Icbab884d2dfd71656347368b424cb35cbf524051\n"
    },
    {
      "commit": "957ca1cd025104fccb0b08928f955f9bdb4ab91c",
      "tree": "913ceffe992bb25898ac79977b47dc2af8b3354b",
      "parents": [
        "4d3ed1a6f34bd31ed30faaca0433cf2a4b19bb7b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Nov 21 16:51:29 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 24 10:44:33 2014 -0800"
      },
      "message": "Delete ArtMethod gc_map_ field\n\nMoved the gc_map field from OatMethod to OatQuickMethodHeader.\nDeleted the ArtMethod gc_map_ field.\n\nBug: 17643507\n\nChange-Id: Ifa0470c3e4c2f8a319744464d94c6838b76b3d48\n\n(cherry picked from commit 807140048f82a2b87ee5bcf337f23b6a3d1d5269)\n"
    },
    {
      "commit": "c12da2d91c26e74786a32e7583d996416a2f3494",
      "tree": "38420b41d7832e45d373acdfd73696ea9165aa11",
      "parents": [
        "4a9ac63ba407edc09e13b4e095e2105cf13f603b",
        "af6925b7fe5dc5a3c8d52ee3370e86e75400f873"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Nov 24 11:05:33 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 24 11:05:33 2014 +0000"
      },
      "message": "Merge \"Rewrite GVN\u0027s field id and field type handling.\""
    },
    {
      "commit": "90675a77fa03850ebd46280e60b0ff54b8d5eb79",
      "tree": "9a891b47e6b7e4e5f1c123a477ec2876b8183b52",
      "parents": [
        "4a9ac63ba407edc09e13b4e095e2105cf13f603b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 24 00:21:06 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 24 00:21:06 2014 -0800"
      },
      "message": "ART: Avoid recursive abort\n\nBug: 18469797\nChange-Id: Ided50bec3377034dd9a995f9f0700a795adb3940\n"
    },
    {
      "commit": "acb01387a9863654924891e1d1dfea274f1c9028",
      "tree": "cbfe1417d6364e0e732b58d1e9fb88f28487ea2e",
      "parents": [
        "c6c88d2079f0d47eb86a2e2e2f53cab25b0503c1"
      ],
      "author": {
        "name": "Yevgeny Rouban",
        "email": "yevgeny.y.rouban@intel.com",
        "time": "Mon Nov 24 13:40:56 2014 +0600"
      },
      "committer": {
        "name": "Yevgeny Rouban",
        "email": "yevgeny.y.rouban@intel.com",
        "time": "Mon Nov 24 13:40:56 2014 +0600"
      },
      "message": "ART: ELF symbol table lookup is fixed\n\nELF loader could not find some symbols in the OAT\u0027s symbol table\n(e.g. oatdata, oatexec).\n\nThere was a bug in the symbol hash table lookup: if a valid index of\na chain got greater or equal than the number of hash buckets then\nthe chain was cut off.\n\nThe fix is to compare the chain index with the chains array length\nrather than with the number of buckets.\n\nChange-Id: I20940957c3045913fd426031a51314d4f87ac1bd\nSigned-off-by: Yevgeny Rouban \u003cyevgeny.y.rouban@intel.com\u003e\n"
    },
    {
      "commit": "e8b547d9b4785f4804f83c07c49d3f87530747c5",
      "tree": "f31c8aff7e4c0b0d8be3e20623005f723145fdfb",
      "parents": [
        "a79da1b478e2be0d988aa021d5d4e6973c24b4a0"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Nov 21 22:52:16 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Nov 21 22:57:44 2014 -0800"
      },
      "message": "Avoid some recursive aborting.\n\nBug: 18469797\nChange-Id: Ic1889a605a041bdec679ff54f8dce3842d85f2e1\n"
    },
    {
      "commit": "a79da1b478e2be0d988aa021d5d4e6973c24b4a0",
      "tree": "abe31ae3098a28d547594a7cb427099f63e04a91",
      "parents": [
        "e26310320e7ee7bdfcdf340d2e66f216f1d90aa6",
        "24a5a3003aa7dbc29db698ac86bfa18ef64b2593"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Nov 22 04:35:42 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Nov 22 04:35:43 2014 +0000"
      },
      "message": "Merge \"ART: Wrap AllocThreadUnsafe in Valgrind wrapper\""
    },
    {
      "commit": "24a5a3003aa7dbc29db698ac86bfa18ef64b2593",
      "tree": "0b272c2b51a44cf2ad8c7e553c30a9f3adf35fcc",
      "parents": [
        "1d56c84657a9ba35222f4b6f1f606a0a7f0fe7e0"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 21 19:45:53 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 21 19:45:53 2014 -0800"
      },
      "message": "ART: Wrap AllocThreadUnsafe in Valgrind wrapper\n\nThis needs to be wrapped as it is being used during compaction.\n\nBug: 18481268\nChange-Id: I85ecccc7de8be8eb70a5cb0420817583be9b7999\n"
    },
    {
      "commit": "e26310320e7ee7bdfcdf340d2e66f216f1d90aa6",
      "tree": "09fd909f736572ef8a2fd54f5fc2bbe7e08e53ed",
      "parents": [
        "022b46cb09a6189797fb3e77dbe7673a3d59249f",
        "acbb30867482986e02a7cc53c099b8d56d32acee"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Nov 22 02:23:05 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Nov 22 02:23:06 2014 +0000"
      },
      "message": "Merge \"Fix UnimplementedEntryPoint initialziation.\""
    },
    {
      "commit": "022b46cb09a6189797fb3e77dbe7673a3d59249f",
      "tree": "f3440544c000174e72508ff3561e0e984f9f09f9",
      "parents": [
        "124cd8f768436e082ca0dfed8f1e4f4713220e44",
        "e14f2b3047fd310c5df65cf13470aa2786522a3b"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Nov 22 02:13:20 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Nov 22 02:13:21 2014 +0000"
      },
      "message": "Merge \"Fixed ArtMethod::GetQuickFrameInfo() for proxy methods\""
    },
    {
      "commit": "124cd8f768436e082ca0dfed8f1e4f4713220e44",
      "tree": "c81d24102cfc8a0346dc7ed67ace964ebcd6fa8c",
      "parents": [
        "da4b7e8979e9b7de634aecee62da6ce867ccaa8d",
        "735b8559d6dd26c610d4b97d72f25a092d9c8947"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Nov 22 01:32:30 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Nov 22 01:32:30 2014 +0000"
      },
      "message": "Merge \"Add JNI trampoline for mips32.\""
    },
    {
      "commit": "819b3c05b1553dfd9fbde5fdb8f4cf77b5689682",
      "tree": "e680156efdabe2843649042419992aa4670ea6a2",
      "parents": [
        "2cfbccdc41a75694cf83c034f66b049d42a83ed6",
        "40d3518414202f33c9569ddd8daceabb30208fc2"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sat Nov 22 00:45:10 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Nov 22 00:45:10 2014 +0000"
      },
      "message": "Merge \"ART: Fix crash with unreachable void check-cast\""
    },
    {
      "commit": "af6925b7fe5dc5a3c8d52ee3370e86e75400f873",
      "tree": "1fe667865bb7dbae3a00bb002492bd4ff4ab194a",
      "parents": [
        "f585e549682a98eec12f92033e9634dc162b7df8"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Oct 31 16:37:32 2014 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 21 18:47:37 2014 +0000"
      },
      "message": "Rewrite GVN\u0027s field id and field type handling.\n\nCreate a helper unit for dex insn classification and cache\ndex field type (as encoded in the insn) in the MirFieldInfo.\nUse this for cleanup and a few additional DCHECKs.\n\nChange the GVN\u0027s field id to match the field lowering info\nindex (MIR::meta::{i,s}field_lowering_info), except where\nmultiple indexes refer to the same field and we use the\nlowest of the applicable indexes. Use the MirMethodInfo from\nMIRGraph to retrieve field type for GVN using this index.\nThis slightly reduces GVN compilation time and prepares for\nfurther compilation time improvements.\n\nChange-Id: I1b1247cdb8e8b6897254e2180f3230f10159bed5\n"
    },
    {
      "commit": "07721698d2f30cf5f296284ebea53a55255211cd",
      "tree": "0086990e210a714618e0ae26910800bcf04d9054",
      "parents": [
        "4514d2ac529064819d4f02699527764afa140008",
        "a7dd0386f35c0ba4aef3f5b16bc84c6f4e2fc702"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Nov 21 18:15:38 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 21 18:15:38 2014 +0000"
      },
      "message": "Merge \"Fix oatdump to use OatHeader pointer size\""
    },
    {
      "commit": "a7dd0386f35c0ba4aef3f5b16bc84c6f4e2fc702",
      "tree": "86bcc8c05fb3f868dbdae3dcacbf95de880d4d64",
      "parents": [
        "af6dad6cbb6685f92d7274f9e8c45baa98232c79"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Nov 20 17:08:58 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Nov 21 10:11:41 2014 -0800"
      },
      "message": "Fix oatdump to use OatHeader pointer size\n\nBug: 18473190\nChange-Id: If505b4f62105899f4f1257d3bccda3e6eb0dcd7c\n\n(cherry picked from commit c934e483ceabbd589422beea1fa35f5182ecfa99)\n"
    },
    {
      "commit": "6c36a8bc6c514664ad91ce377df33de839342a8d",
      "tree": "735cf8dc77e270b8d26a80af2992780a798d6cae",
      "parents": [
        "0c45167f110ddd4912b228c6ea04965f10de5873"
      ],
      "author": {
        "name": "Dehao Chen",
        "email": "dehao@google.com",
        "time": "Thu Nov 13 14:13:58 2014 -0800"
      },
      "committer": {
        "name": "Dehao Chen",
        "email": "dehao@google.com",
        "time": "Thu Nov 20 23:47:55 2014 +0000"
      },
      "message": "Restrict FDO to only apply to target build.\n\nChange-Id: I0ef4199b34c123a17eaf2c2f18bc8a1496e03cf8\n"
    },
    {
      "commit": "5e2b8747df8eabdd0daf091f1afe3b7b3d6c2719",
      "tree": "4a24eef9397d422be230e08881c37783a796eb2f",
      "parents": [
        "a971100be7870544360fa8a46311ef7f5adb6902"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Nov 18 15:50:47 2014 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Nov 20 15:47:29 2014 -0800"
      },
      "message": "Fix fault handler invoked before vm running.\n\nIf the ART fault handler is invoked before the vm is running, the\ncode derefences a NULL pointer. In this case, just invoke the next\nhandler in the chain instead.\n\nChange-Id: I58f0493eae1825d7a92a1e052c88e80527914dba\n"
    },
    {
      "commit": "0c45167f110ddd4912b228c6ea04965f10de5873",
      "tree": "773d2db517ff67fce138f4f7e7612fcf15415804",
      "parents": [
        "be0bb06d1bb37344c96d2350f6ab56c9f5ecabe4",
        "f5b4c50f52d1bde054deee33a8ef6fa18a0eff33"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Nov 20 22:53:58 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 20 22:53:58 2014 +0000"
      },
      "message": "Merge \"dex2oat: Pack likely-dirty objects together when generating the boot image\""
    },
    {
      "commit": "f5b4c50f52d1bde054deee33a8ef6fa18a0eff33",
      "tree": "52b7cedb38af4f428b11e79da0f7318dd02ebfb6",
      "parents": [
        "bdfbf86afde269ee3b38a6c928618333ffac13cf"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Nov 14 15:01:59 2014 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Nov 20 14:47:57 2014 -0800"
      },
      "message": "dex2oat: Pack likely-dirty objects together when generating the boot image\n\nThis introduces a new algorithm into image writer which \"bins\" objects\nby how likely they are to be dirtied at runtime. Objects in the same bin\nare placed contiguously in memory (i.e. into the same page). We try to\ntune the bin selection based on how clean or how dirty the object will\nlikely be at runtime.\n\nAs-is, this saves about 150KB per-process (private-dirty pages) and 700KB in\nzygote (shared-dirty).\n\nThere is still about 800KB of objects that are clean but located in\ndirty pages, so with more analysis we can tune the bin selection and get\neven more memory savings.\n\n(cherry picked from commit 3f735bd4f9d09a0f9b2b01321e4c6917879dcae6)\n\nBug: 17611661\nChange-Id: Ia1455e4c56ffd0a36ae2a723d35b7e06502980f7\n"
    },
    {
      "commit": "be0bb06d1bb37344c96d2350f6ab56c9f5ecabe4",
      "tree": "88969c437b34194d317f9fcc812b3b41fe99c56f",
      "parents": [
        "17f78734175cb8ea09441d0c59b9a07502abc31e",
        "3f3c6c030db14e47d3022f00403f46240623f339"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Nov 20 22:35:20 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 20 22:35:20 2014 +0000"
      },
      "message": "Merge \"Tune rosalloc buffer sizes.\""
    },
    {
      "commit": "3f3c6c030db14e47d3022f00403f46240623f339",
      "tree": "e1ed5312837ff53ce57279e2b30fbccb85666cfd",
      "parents": [
        "8542ff31bfa778a06316511672dc113a3f19ae5b"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Nov 20 14:16:06 2014 -0800"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Nov 20 14:16:06 2014 -0800"
      },
      "message": "Tune rosalloc buffer sizes.\n\nWe now use one-page buffers for size brackets 4-7, instead of two-page\nbuffers, and the first 8 size brackets for thread-local allocations,\ninstead of 11.\n\nNo slowdown observed with MemAllocTest, EvaluateAndApplyChanges, and\nBinaryTrees.\n\n(cherrypick commit c4cd95fa37b7138a0fa26d07c235aa409542aecd)\n\nBug: 18377775\nChange-Id: I311f3adf9cab660d258833b17df7e6d905f73c72\n"
    },
    {
      "commit": "83597d06cd4707b19c1985353418bd99f3aca6c7",
      "tree": "2901c93180f2003c2da6cf75eb56554aa8128a16",
      "parents": [
        "bdfbf86afde269ee3b38a6c928618333ffac13cf"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Nov 20 10:29:00 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Nov 20 10:38:51 2014 -0800"
      },
      "message": "Re-enable DumpNativeStack.\n\nBug: 15446488\nChange-Id: Icdd0b90c8abe2a361a488fc1742c6896605ddc41\n"
    },
    {
      "commit": "292b3bd295ad36b9fe142d93c84de517caf2ee89",
      "tree": "c56fc1370cbe69ae3aab86cd8b7f16ac9444dcea",
      "parents": [
        "aad7f3f97ed9ad088d2489dc97325bbf1ead3722",
        "28bc98705912efc27099ffc3a5415f6f941d2ab8"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Nov 20 10:47:22 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 20 10:47:22 2014 +0000"
      },
      "message": "Merge \"Prune image cache if the boot marker is still in place.\""
    },
    {
      "commit": "aad7f3f97ed9ad088d2489dc97325bbf1ead3722",
      "tree": "e3c103b8bca259e9597387a66e82c775022b4a82",
      "parents": [
        "f2f6b5a6c9526a9c51dd73b792d19fc08cdec5ee",
        "f3928794a10516e2ac0ffe2686a10891788d4b9c"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Nov 20 10:20:15 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 20 10:20:16 2014 +0000"
      },
      "message": "Merge \"JDWP: only deoptimize when it is required\""
    },
    {
      "commit": "8b5223b07885305bde316899ee9a8d19d23c8fcd",
      "tree": "befab88a54419e92cb725a3a4faba96be4c2b875",
      "parents": [
        "af6dad6cbb6685f92d7274f9e8c45baa98232c79",
        "3242729362b74d22f11d8bc7b4800ba0a8695df6"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Nov 20 04:51:49 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 20 04:51:50 2014 +0000"
      },
      "message": "Merge \"Avoid JNI call with pending OOME.\""
    },
    {
      "commit": "3242729362b74d22f11d8bc7b4800ba0a8695df6",
      "tree": "e3ac6dbb1d4f1f6295ed4a856473c6f92c88be22",
      "parents": [
        "834896de1c955c04d781d2bf8c53573f94ce8c3e"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 19 14:05:21 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 19 14:05:21 2014 -0800"
      },
      "message": "Avoid JNI call with pending OOME.\n\nIf EnsureResolved fails with an exception then FindClassInPathClassLoader may\nfall-through to a call to NewStringUTF with a pending exception.\nBug: 15446488\n\nChange-Id: I007f7bee7c50aa588d0b1c776da67a38314dc897\n"
    },
    {
      "commit": "7247af507f8e2218e73379ded5b2c4bbdd2a56c7",
      "tree": "b859cf3e5516cd78f5f2798b2eb7dd1a11976f42",
      "parents": [
        "017ff871ba476e21949f3b48751bf4453220cbc5"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Nov 19 10:51:42 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Nov 19 13:45:08 2014 -0800"
      },
      "message": "Fix zygote space and non moving space map names\n\nSpace names:\n\"non moving space\" -\u003e \"zygote space\"\n\"alloc space\" -\u003e \"non moving space\"\n\nBug: 18447855\nChange-Id: Ia937b6d046ccf7f66bf1f6bbb9f17a5e0d00c016\n(cherry picked from commit c5d085c955244be1743c33227384e5b62076b8bd)\n"
    },
    {
      "commit": "8366ca0d7ba3b80a2d5be65ba436446cc32440bd",
      "tree": "b21c1656af3ec5c9f775373c9d78cb832bee2ca9",
      "parents": [
        "8542ff31bfa778a06316511672dc113a3f19ae5b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Nov 17 12:02:05 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 19 11:53:07 2014 -0800"
      },
      "message": "Fix the last users of TARGET_CPU_SMP.\n\nEveryone else assumes SMP.\n\nChange-Id: I7ff7faef46fbec6c67d6e446812d599e473cba39\n"
    },
    {
      "commit": "dd11d2a89a9150122a1cb55fba2b003c6d389fa0",
      "tree": "e2a6967b6df8bdebb5bb0cf5b85ccaa97e02b629",
      "parents": [
        "6a0ac5ccf160e158942d49168d819fb76f887fa3"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 19 10:06:46 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 19 10:06:46 2014 -0800"
      },
      "message": "Fix a memory leak in jni_internal_test.\n\nCaught by valgrind.\n\nChange-Id: I8b3cc0ce946bd457c380655d3e1237b029ed4cc3\n"
    },
    {
      "commit": "28bc98705912efc27099ffc3a5415f6f941d2ab8",
      "tree": "22cb16b4d96681a70ee25295f8e86236a132025a",
      "parents": [
        "6a0ac5ccf160e158942d49168d819fb76f887fa3"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Nov 07 17:46:28 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Nov 19 17:22:56 2014 +0000"
      },
      "message": "Prune image cache if the boot marker is still in place.\n\nWe place a marker in each isa cache dir and have the framework\ndelete it for us.\n\nThis seems like a convenient place to do it given all the other\ndalvik-cache related code that hooks in here, and also because\nthis is the first point where we try to access the cache.\n\nTODO: Add a timeout to the (higher level) zygote code to correctly\nkill the surviving zygote if one of them never comes up.\n\nbug: 18280671\n\n(cherry picked from commit c38276177aeeda4326a54f1121790c154df04300)\n(partial cherry-pick of 9433ec60b325b708b9fa87e699ab4a6565741494)\n\nChange-Id: I5dbea21b4bf9ca4106a13225946d3f35f8060a43\n"
    },
    {
      "commit": "f3928794a10516e2ac0ffe2686a10891788d4b9c",
      "tree": "31648cbd1b6aa6bd7552c4d2664214626b702004",
      "parents": [
        "bf75c5cf32a47eecadcc5e4a324237c1f1d09cde"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Nov 17 19:00:37 2014 +0100"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Nov 19 14:35:28 2014 +0100"
      },
      "message": "JDWP: only deoptimize when it is required\n\nWe don\u0027t need to deoptimize anything when we forced the use of the\ninterpreter (-Xint). In this case, no compiled code is executed\n(except native methods which are not concerned by deoptimization).\nTherefore we even don\u0027t need to enable/disable deoptimization support\nin instrumentation.\n\nWe also don\u0027t need to deoptimize a method that hasn\u0027t been compiled.\nSince it will run with interpreter, there is no point deoptimizing\nit. However this method may be inlined in a compiled caller method\nso we still need to deoptimize everything in this case.\n\nThis CL updates breakpoint support by storing the required kind of\ndeoptimization for a particular method. There are 3 cases:\n- kNothing: the method does not require deoptimization.\n- kSelectiveDeoptimization: the method needs to be deoptimized.\n- kFullDeoptimization: we must deoptimize everythinig.\nWhen uninstalling a breakpoint, we need to do the reverse operation.\n\nAlso fixes the SanityCheckExistingBreakpoints function to control\nbreakpoints related to the given method only and adds extra verbose\nlogs when choosing the appropriate deoptimization kind.\n\nBug: 18407046\nChange-Id: I5212c1fd2f72e06c79e7871db15696824d37dc0b\n"
    },
    {
      "commit": "4303ba97313458491e038d78efa041d41cf7bb43",
      "tree": "5a5873651db918416c9ff63f4bb06b6eb7f4c71a",
      "parents": [
        "a971100be7870544360fa8a46311ef7f5adb6902"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 06 01:00:46 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 18 17:26:06 2014 -0800"
      },
      "message": "ART: Track Flush \u0026 Close in FdFile\n\nImplement a check that aborts when a file hasn\u0027t been explicitly\nflushed and closed when it is destructed.\n\nAdd WARN_UNUSED to FdFile methods.\n\nUpdate dex2oat, patchoat, scoped_flock and some gtests to pass with\nthis.\n\n(cherry picked from commit 9433ec60b325b708b9fa87e699ab4a6565741494)\n\nChange-Id: I9ab03b1653e69f44cc98946dc89d764c3e045dd4\n"
    },
    {
      "commit": "2d7210188805292e463be4bcf7a133b654d7e0ea",
      "tree": "7705a3bf841ae44b2396728fa22ed0b5dcb44dbf",
      "parents": [
        "e0491682d101c69bf88c3c24a965312129cbfa38"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 10 11:08:06 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Nov 18 12:27:37 2014 -0800"
      },
      "message": "Change 64 bit ArtMethod fields to be pointer sized\n\nChanged the 64 bit entrypoint and gc map fields in ArtMethod to be\npointer sized. This saves a large amount of memory on 32 bit systems.\nReduces ArtMethod size by 16 bytes on 32 bit.\n\nTotal number of ArtMethod on low memory mako: 169957\nImage size: 49203 methods -\u003e 787248 image size reduction.\nZygote space size: 1070 methods -\u003e 17120 size reduction.\nApp methods: ~120k -\u003e 2 MB savings.\n\nSavings per app on low memory mako: 125K+ per app\n(less active apps -\u003e more image methods per app).\n\nSavings depend on how often the shared methods are on dirty pages vs\nshared.\n\nTODO in another CL, delete gc map field from ArtMethod since we\nshould be able to get it from the Oat method header.\n\nBug: 17643507\n\nChange-Id: Ie9508f05907a9f693882d4d32a564460bf273ee8\n\n(cherry picked from commit e832e64a7e82d7f72aedbd7d798fb929d458ee8f)\n"
    },
    {
      "commit": "440e3e3f103163a11ebce6376ac79c755c395c2a",
      "tree": "441207afb5a4577a9fa088612c3fa7a1f9da5482",
      "parents": [
        "6eb53ad4fa267c589cd129b68f7d377e589bce88",
        "20ed5af7a623a2d095082f8d6f53151c46fb8842"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Nov 18 02:22:09 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 18 02:22:10 2014 +0000"
      },
      "message": "Merge \"Enable the hspace compaction on OOM by default.\""
    },
    {
      "commit": "20ed5af7a623a2d095082f8d6f53151c46fb8842",
      "tree": "8fc5b4697b80cfcb76e75dc0fbb138310cdb6f99",
      "parents": [
        "974eb9554259536daa74a729ec917bf829ed0301"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Nov 17 18:05:44 2014 -0800"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Nov 17 18:05:44 2014 -0800"
      },
      "message": "Enable the hspace compaction on OOM by default.\n\n(cherrypick commit d3f228062a1d71ce6ace2f31ecf369ae247633c2)\n\nBug: 18377775\nChange-Id: I4a0998c7f35b6418004e92bc07926abc9b74962a\n"
    },
    {
      "commit": "6eb53ad4fa267c589cd129b68f7d377e589bce88",
      "tree": "2e876c4552658cd2c6893f01902942e70a8c9b4a",
      "parents": [
        "a2eb8cb3390240b30910d1f5497dfe8fb111bd1a",
        "d9df67041c54d6416cb53ca8822fe6aa552927e9"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Nov 18 01:40:22 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 18 01:40:23 2014 +0000"
      },
      "message": "Merge \"Add denver64 as a known ARM64 variant.\""
    },
    {
      "commit": "d9df67041c54d6416cb53ca8822fe6aa552927e9",
      "tree": "640778a5243bbbed48fad7c1c75aabd35628b9b6",
      "parents": [
        "410709facb361c5503c7825f01edd264f4450666"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Nov 17 16:43:15 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Nov 17 16:43:15 2014 -0800"
      },
      "message": "Add denver64 as a known ARM64 variant.\n\nOther bits of instruction_set_features_test clean up.\nBug: 18385422\n\nChange-Id: Ic48cfa0564b41ea140805a700de7c1e51addf49d\n"
    },
    {
      "commit": "9c7d8bcc60d3c80df074ebac6ec62cf60a852bfa",
      "tree": "a72910b509d54f039a25a04191dbdfbb4338c660",
      "parents": [
        "974eb9554259536daa74a729ec917bf829ed0301"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 17 14:52:44 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 17 15:36:43 2014 -0800"
      },
      "message": "Change IsZygote test to !IsCompiler\n\nEnables test coverage through run test 118.\n\nChange-Id: I21ce32e83629eb507b8440cebdd721d29171a984\n"
    },
    {
      "commit": "fd04b6f89238af5da682805aa11899639fb4ee07",
      "tree": "e1c2fc7eed43c7d644003c6cc3ec7311624a3dfe",
      "parents": [
        "d777112c261696f60536c1b9cd2a407722a90137"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Nov 14 19:34:18 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 17 14:43:21 2014 -0800"
      },
      "message": "Combine image string char arrays into single array\n\nHaving one giant char array shared between all the strings saves memory\nsince it avoids the 12 bytes of array overhead per image string. Also\nadded substring finding based on prefixes, strings are added into the\narray in reverse sorted length.\n\nImage size goes from 11767808 -\u003e 11100160.\n\nBug: 17643507\n\nChange-Id: I2a7f177b40d0458d5c50640643d8f16b0030bdce\n\n(cherry picked from commit 23c1d0ca7ab63f4adad88631bddefb769d0dcc2c)\n"
    },
    {
      "commit": "bc58ede2eebe20d592959b88c36fb74d4d832441",
      "tree": "d7fe67259afb70cb9ff911762c7edccc1d68ed1d",
      "parents": [
        "5d99e333bcb454add372fe776a00d3172146bd6b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 17 12:36:24 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 17 13:21:43 2014 -0800"
      },
      "message": "Don\u0027t call AddImageStringsToTable or MoveImageClassesToClassTable if running imageless\n\nIf we fail to create the image we use imageless running, this was\nbreaking AddImageStringsToTable since we didn\u0027t check for this\ncase. Added a check which avoids calling AddImageStringsToTable and\nMoveImageClassesToClassTable if we don\u0027t have an image.\n\nBug: 18412472\n\n(cherry picked from commit ab1953f35880f94752e1fcde3f6b3f0d3532125b)\n\nChange-Id: Ida18e1fcd04d752d55923e65c3122c0ac0bde728\n"
    },
    {
      "commit": "78959466de4e53d768d135ae301473cc7f4def99",
      "tree": "8dd18ec371c33ac3b70597025a47760825ee7bc7",
      "parents": [
        "4c552bd16758b5e46ebac02be46872e29d0d76c0"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 17 10:24:04 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 17 10:38:56 2014 -0800"
      },
      "message": "Change 512 to kLocalsMax.\n\nClean up after cherry pick.\n\nChange-Id: I39308ed1497a94b2a47bba8806e494d066d5f6fc\n"
    },
    {
      "commit": "4c552bd16758b5e46ebac02be46872e29d0d76c0",
      "tree": "c5f82fe21b014cec68f1560e83507835c91c2110",
      "parents": [
        "825365c5db4867e524edf4a8f002fe460ba70f2f",
        "7a7c1db21782fb922d3ffc5c576117812624ea58"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Nov 17 18:24:08 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 17 18:24:08 2014 +0000"
      },
      "message": "Merge \"Fix ordering of fields with the same name.\""
    },
    {
      "commit": "41da59665556e8dd5601178185c68d48d645500b",
      "tree": "c1f8b5844e3243907a060f663c35370464328609",
      "parents": [
        "410709facb361c5503c7825f01edd264f4450666"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sat Nov 15 13:07:39 2014 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 17 10:16:34 2014 -0800"
      },
      "message": "Fix reference leaks in ToReflectedMethod and ToReflectedField\n\nUsed ScopedLocalRef to fix, added regression tests.\n\nBug: 18396311\n\n(cherry picked from commit 8c41753e5eda8322b4d992fe88855058f4c0c2e1)\n\nChange-Id: I0ddfc20ac2384c90ff18586242c1f1d9a6d6eb6d\n"
    },
    {
      "commit": "7a7c1db21782fb922d3ffc5c576117812624ea58",
      "tree": "87cd009dff8386d4fd699bf2eb435bd1b38e86b5",
      "parents": [
        "1c18d5d0141ffa76b0838fb99615186dcbefc50e"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Nov 17 15:13:34 2014 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Nov 17 18:05:59 2014 +0000"
      },
      "message": "Fix ordering of fields with the same name.\n\nWhile the Java language doesn\u0027t allow multiple fields with\nthe same name in a single class (excluding fields from super\nclasses), the bytecode specification permits it and tools\nsuch as proguard actually generate them. Define the order of\nthese fields by their dex file index and relax the check of\nfield ordering to permit identical names.\n\nBug: 18211592\nChange-Id: I1dee9b2b669a6ea180a2d3a41030efb2aed53950\n"
    },
    {
      "commit": "410709facb361c5503c7825f01edd264f4450666",
      "tree": "24d96349156c86ab31bbc4c1c5720cf8e6813c44",
      "parents": [
        "6990bdab0322da35bb6f38c79b21c241a4347f89",
        "32b12f8ae491e1acfeaee334e9a30c6c0a232072"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Nov 17 16:25:20 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 17 16:25:20 2014 +0000"
      },
      "message": "Merge \"Fix art_quick_instrumentation_entry stub for x86/x86_64\""
    },
    {
      "commit": "32b12f8ae491e1acfeaee334e9a30c6c0a232072",
      "tree": "62742b8378758ce2087edd750f88397958aa425f",
      "parents": [
        "d45f76e59bf8342491ca02d64721537e06c79f43"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Nov 17 12:46:27 2014 +0100"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Nov 17 17:21:24 2014 +0100"
      },
      "message": "Fix art_quick_instrumentation_entry stub for x86/x86_64\n\nFixes bad stack offset for x86 where we read the return pc from an\nincorrect location.\n\nFixes bad register for x86_64. The return pc is the 4th argument of\nthe called C function. It must be passed in rcx instead of r8 (which\nis used for 5th argument).\n\nBug: 18170596\nChange-Id: Idb521d2f6da415448fa61acf8b7d21076822830f\n"
    },
    {
      "commit": "6990bdab0322da35bb6f38c79b21c241a4347f89",
      "tree": "dc5886085d369f19464f129dc60a256dfdb96a69",
      "parents": [
        "7bfb3f8b1748b5bf7e217a1337176ad488dca66a",
        "8315ee03dbee3c48881191b3aedb108d1b626c0b"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Nov 17 16:08:01 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 17 16:08:02 2014 +0000"
      },
      "message": "Merge \"Fix DCHECK in artInstrumentationMethodEntryFromCode\""
    },
    {
      "commit": "8315ee03dbee3c48881191b3aedb108d1b626c0b",
      "tree": "1eaf9f87f3ada579c10cdd82c7a261592516e0a2",
      "parents": [
        "d45f76e59bf8342491ca02d64721537e06c79f43"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Nov 17 16:10:44 2014 +0100"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Nov 17 16:13:41 2014 +0100"
      },
      "message": "Fix DCHECK in artInstrumentationMethodEntryFromCode\n\nWe do use the quick to interpreter bridge for deoptimized method. So\nmove the DCHECK only in the else case.\n\nBug: 18170596\nChange-Id: Ife83fd71da7490196ada694a4227b43a9ecbf577\n"
    },
    {
      "commit": "8e1f4f8f848f2dbb36265a019310498a61cd674d",
      "tree": "b6b539b3314fc734aab7bd0d9a3972119202829b",
      "parents": [
        "81852bf5a1d4640b7b22b8a0404ce8401a7219c6"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Nov 05 11:07:30 2014 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Nov 14 14:48:54 2014 -0800"
      },
      "message": "Avoid abort in malformed dex code.\n\nDon\u0027t allow a perceived double monitor-enter on a register\nto abort libartd.\nAllow expected verifier errors in the smali tests.\nTidy includes in the method verifier.\nBug: 17978759\n\nChange-Id: Ic44924c788cd2334f91a047fb41b459b89a1843b\n"
    },
    {
      "commit": "81852bf5a1d4640b7b22b8a0404ce8401a7219c6",
      "tree": "04c532caa84ce82031cce307a5d448830b733624",
      "parents": [
        "ff5298ff1640b730ee62c90ca78fc96b7ee82ec4",
        "d577748c041aa6df599218f3cb31697ecf032730"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 14 19:02:32 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 14 19:02:33 2014 +0000"
      },
      "message": "Merge \"Fix LinkFieldsComparator.\""
    },
    {
      "commit": "d577748c041aa6df599218f3cb31697ecf032730",
      "tree": "ffa397300b8ee367cd7153a4482df26db64639e6",
      "parents": [
        "59321e0e10ea09694efecf6154704e2743b9bffd"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Nov 12 17:02:02 2014 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 14 18:09:56 2014 +0000"
      },
      "message": "Fix LinkFieldsComparator.\n\nDefine order for primitive types with the same sizes.\nPreviously, the comparator would consider the fields equal\nso the order would depend on std::sort() implementation.\nChanging the STL implementation could silently change the\nfield offsets. (And, unlike std::stable_sort(), the\nstd::sort() doesn\u0027t even need to be deterministic.)\n\nChange-Id: I91fa562f82447606aced64643bea8c70784766b5\n"
    },
    {
      "commit": "7bacaa878d3070e6ecd762f9fef408828c30dcdb",
      "tree": "c480548c6d5f2d3325bd3a1ea1acccdfa2ab377e",
      "parents": [
        "4594ad627a48e249ee1680e954558dea15f0d133",
        "76649e8d775519fe19f2b14d18ac488c13296054"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 14 14:36:43 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 14 14:36:43 2014 +0000"
      },
      "message": "Merge \"Keep original order of fields in Class.\""
    },
    {
      "commit": "76649e8d775519fe19f2b14d18ac488c13296054",
      "tree": "a899ec37ce51672c9e14d2954b2a7af7397e63da",
      "parents": [
        "d94a0a1d2868baaab49f4d2835bca086d98cf763"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon Nov 10 18:32:59 2014 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri Nov 14 11:33:53 2014 +0000"
      },
      "message": "Keep original order of fields in Class.\n\nThe fields of a class are ordered alphabetically in the dex\nfile. Keep the same order in the field arrays so that we can\ndo binary search lookups by name. Those lookups will be\nimplemented in a subsequent change in libcore/.\n\nBug: 18211592\n\n(cherry picked from commit bfa3ed0ad988e1da13626ddbaf6dcae0c58ea79e)\n\nChange-Id: I8f979de62ffe37d1c7d5c721717d2f3501e7c9e6\n"
    },
    {
      "commit": "72a122c33dadde5661a39aaa0a10bc1dbff16ce6",
      "tree": "1ab83f991429c6737f154ea1f371bb3f06e9f82e",
      "parents": [
        "0e57decfd5e56f12f42c9663f8e6147237b86039"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 13 19:10:33 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 13 19:12:07 2014 -0800"
      },
      "message": "ART: Fix last lpae occurrence, Arm64 generic\n\nFix the last occurrence of an lpae string in the default\ninstruction-set-feature strings (should be removed).\n\nAllow \"generic\" Arm64 variant (same as \"default\").\n\nChange-Id: I8bdd9fc7f596245e6541469664db01b3e781c51c\n"
    },
    {
      "commit": "0e57decfd5e56f12f42c9663f8e6147237b86039",
      "tree": "122892c8f2c1290fe7b771cd9485d59a1c7351fa",
      "parents": [
        "963ab93759c051af21c07669f0d3f345e60b1da8",
        "851df20225593b10e698a760ac3cd5243620700b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 14 00:47:35 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 14 00:47:36 2014 +0000"
      },
      "message": "Merge \"ART: Multiview assembler_test, fix x86-64 assembler\""
    }
  ],
  "next": "851df20225593b10e698a760ac3cd5243620700b"
}
