)]}'
{
  "log": [
    {
      "commit": "280286ac8a0e3a30c68be511c8b7a0a4d62936d7",
      "tree": "3a7832ca536700a238b79cf5e1a8bb2ebced9277",
      "parents": [
        "d55e9b1a9f45c19cd7b376a8839ce37f86c66a64"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Apr 28 09:26:50 2014 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Apr 29 09:41:52 2014 +0200"
      },
      "message": "Fix DDM recent allocations\n\nA class may not have source file in which case ClassHelper::GetSourceFile\nreturns NULL. Adding the GetMethodSourceFile function helps us preventing\nfrom dealing with null strings.\n\nBug: 14300208\nChange-Id: I28707f883bacec4ee367ff703328d0f0240855f9\n"
    },
    {
      "commit": "d55e9b1a9f45c19cd7b376a8839ce37f86c66a64",
      "tree": "2b1fd06a6152cd561355d7049ca39aee6a8777f0",
      "parents": [
        "da6e4feb6a02fed7f307e1ef3b90e716a99ba24c",
        "fd3077e4b9ebadd281777310d26e64443858f653"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Apr 25 09:23:16 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 25 09:23:17 2014 +0000"
      },
      "message": "Merge \"Refactor exception handling for deoptimization\""
    },
    {
      "commit": "fd3077e4b9ebadd281777310d26e64443858f653",
      "tree": "c63911af29580ab8c0fc8dd29171e626871449aa",
      "parents": [
        "a08ec9b372d4f5e918b3d68499fbd1731180cd98"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Apr 23 10:32:43 2014 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Apr 25 10:36:05 2014 +0200"
      },
      "message": "Refactor exception handling for deoptimization\n\nThis CL refactors the exception handling (on the quick side) by isolating the\nsearch of catch handler and the preparation of deoptimization.\n\nWe rename the CatchFinder class to QuickExceptionHandler so it\u0027s less specific\nto catch handler search.\n\nFinding catch handler happens in QuickExceptionHandler::FindCatch. Since the\nCatchBlockStackVisitor resolves exception types, it may cause thread suspension\nand breaks the assertion current thread can\u0027t be suspended. Therefore, we place\nthe exception in a SirtRef (while it is detached from the current thread) and\nremove the thread suspension assertion.\n\nDeoptimization now happens in QuickExceptionHandler::DeoptimizeStack. It uses\nthe new DeoptimizeStackVisitor class to create shadow frames.\n\nWe also add the Thread::GetDeoptimizationException method to get the definition\nof the fake exception in only one place.\n\nChange-Id: I01b19fa72af64329b5c3b6c7f0c3339d2d724978\n"
    },
    {
      "commit": "da6e4feb6a02fed7f307e1ef3b90e716a99ba24c",
      "tree": "3afc391bfd5d6ef2a0f512382805d7f85403194a",
      "parents": [
        "942c8e3723ad1e12039deef5754440dd8e1c546d",
        "2ed76f95dd5a7edada82407a1853be803c9853a9"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Apr 25 08:14:11 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 25 08:14:11 2014 +0000"
      },
      "message": "Merge \"Resolve method\u0027s argument reference types\""
    },
    {
      "commit": "2ed76f95dd5a7edada82407a1853be803c9853a9",
      "tree": "1ff07ef9ef905e943480a808e69fd61a7645e667",
      "parents": [
        "ec83aacf669165eeeb1c30aee402001394982fd3"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Apr 22 17:11:08 2014 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Apr 25 10:10:07 2014 +0200"
      },
      "message": "Resolve method\u0027s argument reference types\n\nUsing ResolveClassAndCheckAccess allows to resolve reference types and check\nwe have access to these types too. This also prevents from getting unresolved\nreference types, which has been observed during deoptimization.\n\nBug: 13464407\nChange-Id: I4c02fdff191c195f34502a4d4a20357419982eb1\n"
    },
    {
      "commit": "942c8e3723ad1e12039deef5754440dd8e1c546d",
      "tree": "e05d0f71932320f1f8f4f9987a88065c22739663",
      "parents": [
        "011005100214eb40c2aaad3f8fe9c3dc9465bcec",
        "479fc1ecc12fa6560ca90d841c4d5174fb346618"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Apr 25 07:37:49 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 25 07:37:49 2014 +0000"
      },
      "message": "Merge \"Support field watchpoint in interpreter\""
    },
    {
      "commit": "479fc1ecc12fa6560ca90d841c4d5174fb346618",
      "tree": "9c89abea89494c90934b260f42f81e8ca83c3611",
      "parents": [
        "96a4f29350bf279d48bff70e21e3264cce216683"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Apr 04 17:51:34 2014 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Apr 25 09:35:54 2014 +0200"
      },
      "message": "Support field watchpoint in interpreter\n\nWe report field read/write events to instrumentation from the interpreter. This\nallows it to send JDWP field access and field modification events to debugger.\nThis completes CL https://android-review.googlesource.com/90390.\n\nWe also fix the JDWP FieldOnly modifier by introducing ModBasket.fieldTypeID.\nWe incorrectly used ModBasket.classId which is actually dedicated to ClassOnly\nmodifier based on thread\u0027s location\u0027s class id.\n\nFinally, we now enable canWatchFieldModification and canWatchFieldAccess JDWP\ncapabilities so a debugger can request these events to be reported.\n\nBug: 8267708\nChange-Id: I987852ad47abb27b2f7e78544a8189c7a4e2f462\n"
    },
    {
      "commit": "011005100214eb40c2aaad3f8fe9c3dc9465bcec",
      "tree": "8f08fe83b1a2ee414b4d01611729e7ef4b1fb200",
      "parents": [
        "81d79dc3e2a5e92c65bad955f2bea7ee161f66aa",
        "3b60fea8458f0bf65ef4530e1c4ee6fdd4b199e9"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 25 00:33:57 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 25 00:33:57 2014 +0000"
      },
      "message": "Merge \"Use __FUNCTION__ in CHECK_NON_NULL_*ARGUMENT.\""
    },
    {
      "commit": "3b60fea8458f0bf65ef4530e1c4ee6fdd4b199e9",
      "tree": "8f08fe83b1a2ee414b4d01611729e7ef4b1fb200",
      "parents": [
        "81d79dc3e2a5e92c65bad955f2bea7ee161f66aa"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 24 17:17:21 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 24 17:30:00 2014 -0700"
      },
      "message": "Use __FUNCTION__ in CHECK_NON_NULL_*ARGUMENT.\n\nPrevents naming errors and reduces code maintenance requirements.\n\nChange-Id: I14aba05f0d5dab8009f472b3af0b698551ac2a7e\n"
    },
    {
      "commit": "81d79dc3e2a5e92c65bad955f2bea7ee161f66aa",
      "tree": "cb83846e767923cb6a4b78839e724845c95bfd4f",
      "parents": [
        "aa5d55fb3259525d8d2e930f4ec7cb193646fb57",
        "b878f2133a04593643228eb1d47993092528b963"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Apr 24 23:55:44 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 24 23:55:44 2014 +0000"
      },
      "message": "Merge \"Make unresolved exception types cause soft verification errors.\""
    },
    {
      "commit": "b878f2133a04593643228eb1d47993092528b963",
      "tree": "0288b9d0eca5e73af456d9dba45d33f0f4c75730",
      "parents": [
        "17c50db442d2791d9c4d7d1e98060556c323ce9b"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Apr 24 16:25:36 2014 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Apr 24 16:54:45 2014 -0700"
      },
      "message": "Make unresolved exception types cause soft verification errors.\n\nBefore, the verifier would allow the first exception it finds\nfor a catch block to be unresolved, but this causes problems if\nit merges other exceptions later. The verifier should soft fail\nfor any unresolved exception type it finds.\n\nBug: 14256107\nChange-Id: I22563ebfe8c9680cc676b73516d5b48bc9c4ecf3\n"
    },
    {
      "commit": "aa5d55fb3259525d8d2e930f4ec7cb193646fb57",
      "tree": "c95e28ad4b90d731fcffe159bf9f46d35772b7ad",
      "parents": [
        "17c50db442d2791d9c4d7d1e98060556c323ce9b",
        "92b7889dfbfb44e875ba46c4e9ec3235c37b7709"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 24 23:51:49 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 24 23:51:49 2014 +0000"
      },
      "message": "Merge \"Clean up ScopedThreadStateChange + Get/SetPrimtiveArrayRegion\""
    },
    {
      "commit": "92b7889dfbfb44e875ba46c4e9ec3235c37b7709",
      "tree": "c95e28ad4b90d731fcffe159bf9f46d35772b7ad",
      "parents": [
        "17c50db442d2791d9c4d7d1e98060556c323ce9b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 24 16:14:43 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 24 16:16:23 2014 -0700"
      },
      "message": "Clean up ScopedThreadStateChange + Get/SetPrimtiveArrayRegion\n\nSimplified code in ScopedThreadStateChange and fixed an incorrect\nname in Get/SetPrimitiveArrayRegion.\n\nChange-Id: Id71affec1d64911449d792911cd52104dd179840\n"
    },
    {
      "commit": "17c50db442d2791d9c4d7d1e98060556c323ce9b",
      "tree": "d430ae6fb13e4044de6fe6857fd3dc0e79764f4d",
      "parents": [
        "1b4e3d5bc1e2d604adeda4ebbd137f20ee041138",
        "9103c86a98524e9ddfd14f8cee56e919f68eee9b"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Apr 24 18:12:25 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 24 18:12:25 2014 +0000"
      },
      "message": "Merge \"More code for the read barrier support.\""
    },
    {
      "commit": "1b4e3d5bc1e2d604adeda4ebbd137f20ee041138",
      "tree": "ee50170508af6ad0a97e54bf7508ef40de686a66",
      "parents": [
        "a062d8d0791967e8c4018be5aeb501b9e7a3460c",
        "b5a14d2a6c18c1ea3c019c53b10af2e8f5dea234"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 24 17:30:53 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 24 17:30:53 2014 +0000"
      },
      "message": "Merge \"Revert \"ART: Extracts an utility function of the duplicated code\"\""
    },
    {
      "commit": "b5a14d2a6c18c1ea3c019c53b10af2e8f5dea234",
      "tree": "185fd3643ae9503c2506c24b26c9869dd34fbbf3",
      "parents": [
        "973cc95da6fb617bab133bd7a693c1cb7eafd393"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 24 17:30:35 2014 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 24 17:30:35 2014 +0000"
      },
      "message": "Revert \"ART: Extracts an utility function of the duplicated code\"\n\nThis reverts commit 973cc95da6fb617bab133bd7a693c1cb7eafd393.\n\nChange-Id: I3883c74ba06116e89d89d9cf085f20cff5d15f77\n"
    },
    {
      "commit": "a062d8d0791967e8c4018be5aeb501b9e7a3460c",
      "tree": "38ee752cfcd1a52d37998329fd735d738af8bbe4",
      "parents": [
        "1768775ec15443a8ff326e63c0b3f8deb17699e6",
        "63f5b9e8f660ae761901072821ece30d87891644"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu Apr 24 16:06:14 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 24 16:06:15 2014 +0000"
      },
      "message": "Merge \"Add test that Class.newInstance does not wrap its exceptions.\""
    },
    {
      "commit": "1768775ec15443a8ff326e63c0b3f8deb17699e6",
      "tree": "34b08f276979f3474b0a53769b2d100866647e91",
      "parents": [
        "96a4f29350bf279d48bff70e21e3264cce216683",
        "973cc95da6fb617bab133bd7a693c1cb7eafd393"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 24 15:46:02 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 24 15:46:02 2014 +0000"
      },
      "message": "Merge \"ART: Extracts an utility function of the duplicated code\""
    },
    {
      "commit": "973cc95da6fb617bab133bd7a693c1cb7eafd393",
      "tree": "34b08f276979f3474b0a53769b2d100866647e91",
      "parents": [
        "96a4f29350bf279d48bff70e21e3264cce216683"
      ],
      "author": {
        "name": "Dmitry Petrochenko",
        "email": "dmitry.petrochenko@intel.com",
        "time": "Fri Apr 18 14:53:09 2014 +0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 24 08:35:30 2014 -0700"
      },
      "message": "ART: Extracts an utility function of the duplicated code\n\nThis patch introduces an utility function \u0027DataOffsetOfType\u0027 in\n\u0027mirror::Array\u0027 class that calculates the data offset at given index\nin an array of given type.\n\nChange-Id: Idb19558653c70a129245f220f0fbb553f898865b\nSigned-off-by: Dmitry Petrochenko \u003cdmitry.petrochenko@intel.com\u003e\n"
    },
    {
      "commit": "96a4f29350bf279d48bff70e21e3264cce216683",
      "tree": "185fd3643ae9503c2506c24b26c9869dd34fbbf3",
      "parents": [
        "ae55e6c0c6a6fa393742a00ac5b7748f9ce45344",
        "fba52f1b4bf753790c1d98265c4b0fabb54c7536"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Apr 24 06:20:29 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 24 06:20:29 2014 +0000"
      },
      "message": "Merge \"ART: Fixes an issue with REX prefix for instructions with no ModRM byte\""
    },
    {
      "commit": "63f5b9e8f660ae761901072821ece30d87891644",
      "tree": "2d540baeff8f1ef0ece53efc15b27105d7e4b568",
      "parents": [
        "de981b0c9124f0b1f29e18ea6b8cb8328f561aab"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Apr 23 14:51:46 2014 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Apr 23 17:53:07 2014 -0700"
      },
      "message": "Add test that Class.newInstance does not wrap its exceptions.\n\nUnlike Constructor.newInstance, Class.newInstance should not wrap\nexceptions it throws.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d68620\n\nChange-Id: I47d78904e72f299284d1382bc715ab120d3b1a7f\n"
    },
    {
      "commit": "ae55e6c0c6a6fa393742a00ac5b7748f9ce45344",
      "tree": "bc1d340f75287038efb05cffa076d5478d8c469f",
      "parents": [
        "1c17753ca9cf125ffd1fa47f34650fb6f4005409",
        "3c4a43469046934e76082a4cf1aca14429cd9735"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 24 00:17:52 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 24 00:17:52 2014 +0000"
      },
      "message": "Merge \"Don\u0027t allow heap transitions if the runtime is shutting down.\""
    },
    {
      "commit": "1c17753ca9cf125ffd1fa47f34650fb6f4005409",
      "tree": "9b52bbf9851c3e2f3a2b73b50b7bdedb238ba435",
      "parents": [
        "125011d70aa84b3fd9052f1c90101401b0851928",
        "35d5c3baf701ca3d1e2d5b0b3653a5ca16f21f7e"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Apr 23 22:42:51 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 23 22:42:52 2014 +0000"
      },
      "message": "Merge \"art: fix dlopen error message\""
    },
    {
      "commit": "35d5c3baf701ca3d1e2d5b0b3653a5ca16f21f7e",
      "tree": "9b52bbf9851c3e2f3a2b73b50b7bdedb238ba435",
      "parents": [
        "125011d70aa84b3fd9052f1c90101401b0851928"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Apr 23 14:56:31 2014 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Apr 23 15:03:24 2014 -0700"
      },
      "message": "art: fix dlopen error message\n\ndetail is a std::string *, dereference it when logging the error\nmessage.\n\nChange-Id: If73a5806445df17d91ff1a7f4f3a6d31f0e9f54e\n"
    },
    {
      "commit": "125011d70aa84b3fd9052f1c90101401b0851928",
      "tree": "df2ed3d17bcda9444ea611db740374ca1fb17d94",
      "parents": [
        "de981b0c9124f0b1f29e18ea6b8cb8328f561aab",
        "3a74d15ccc9a902874473ac9632e568b19b91b1c"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Wed Apr 23 22:02:33 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 23 22:02:33 2014 +0000"
      },
      "message": "Merge \"Delete throw launchpads.\""
    },
    {
      "commit": "3c4a43469046934e76082a4cf1aca14429cd9735",
      "tree": "f19f9daface730f297b8f592f601688271fb3e78",
      "parents": [
        "de981b0c9124f0b1f29e18ea6b8cb8328f561aab"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 23 14:41:11 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 23 14:42:30 2014 -0700"
      },
      "message": "Don\u0027t allow heap transitions if the runtime is shutting down.\n\nBug: 14254222\nChange-Id: I97ac988a96b56a8dc1eec018bf3ef7a691f04745\n"
    },
    {
      "commit": "de981b0c9124f0b1f29e18ea6b8cb8328f561aab",
      "tree": "899cb8ec473d3a6436ac7cc9445f93c123a7f884",
      "parents": [
        "a08ec9b372d4f5e918b3d68499fbd1731180cd98",
        "96c6ab93336b972a38bd2448bcccf19188b8389b"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Apr 23 08:50:20 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 23 08:50:22 2014 +0000"
      },
      "message": "Merge \"Separate maps from code in oat file.\""
    },
    {
      "commit": "a08ec9b372d4f5e918b3d68499fbd1731180cd98",
      "tree": "4c21e507ec2b2ca36011313d9a40d151e23f6193",
      "parents": [
        "4af159bfcc66c6e90a2aee4a2035a996a399e7ed",
        "aa961918da5142220029da2809287e0dd537a5d7"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed Apr 23 00:16:15 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 23 00:16:15 2014 +0000"
      },
      "message": "Merge \"Fix FindCatchBlock to work in -Xverify:none mode.\""
    },
    {
      "commit": "aa961918da5142220029da2809287e0dd537a5d7",
      "tree": "93cdad41650f353e1c7d82aaa8894037b12bb2a0",
      "parents": [
        "82b1a81890970a8b07f9132aeae537a6c43df6b0"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Apr 22 13:54:32 2014 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue Apr 22 17:03:21 2014 -0700"
      },
      "message": "Fix FindCatchBlock to work in -Xverify:none mode.\n\nFindCatchBlock now uses ResolveType to get the exception type,\nsince it might not be able to find it in the dex cache.\n\nBug: 13948502\nChange-Id: Ia6f1c7dc743206ae1c8551bf6239f48ee4d3a784\n"
    },
    {
      "commit": "4af159bfcc66c6e90a2aee4a2035a996a399e7ed",
      "tree": "9bc7f4ac4f6ce93be0e9f2bc8db6ccdb9d972c36",
      "parents": [
        "d299898a55f41ccf78b865e153ae91321229353b",
        "987560fee798e48fb725c44b796d8ca7a5872ad6"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Apr 22 23:03:01 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 22 23:03:01 2014 +0000"
      },
      "message": "Merge \"Remove support for app JNI workarounds.\""
    },
    {
      "commit": "d299898a55f41ccf78b865e153ae91321229353b",
      "tree": "093ca3720d94990225ae925bed09fe107edc8556",
      "parents": [
        "0ea4bf7edb20be30f63566bce2d9db23f0b1c87f",
        "0ec77d6df72ad9c352e23d8a2257530328f64a4b"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Apr 22 22:16:48 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 22 22:16:48 2014 +0000"
      },
      "message": "Merge \"Warn when thread state lookup fails.\""
    },
    {
      "commit": "987560fee798e48fb725c44b796d8ca7a5872ad6",
      "tree": "d61f35a129847f3f5fbed1436649e75acd940b3f",
      "parents": [
        "44b0053fdb7ad8a30138d29f714172a7dc69efb8"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Apr 22 11:42:59 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Apr 22 14:52:19 2014 -0700"
      },
      "message": "Remove support for app JNI workarounds.\n\nChange-Id: I4396df7e93fcace4b5b19c2c387e5c30089182a6\n"
    },
    {
      "commit": "9103c86a98524e9ddfd14f8cee56e919f68eee9b",
      "tree": "69e64a2f618e10bb8f060cf7fb70c8e94dc43b50",
      "parents": [
        "f7933e7f295bfe61cb0baf89469581c563032e96"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Apr 22 13:51:07 2014 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Apr 22 14:26:21 2014 -0700"
      },
      "message": "More code for the read barrier support.\n\nMake it possible to disable the RB in Object::SizeOf() (and the\nfunctions it calls transitively) which the collector will need to call\nto get the size of an object when copying.\n\nAdd Object::AtomicSetReadBarrierPointer() for atomic write of a RB\npointer.\n\nBug: 12687968\nChange-Id: Ibedd252860ac7ccd17e4e7d71b377a8892b48ff0\n"
    },
    {
      "commit": "0ea4bf7edb20be30f63566bce2d9db23f0b1c87f",
      "tree": "b4eca700d26d558c3472f3b0f4222b203b6b5402",
      "parents": [
        "39595830dbfefa47bbde20490b4dda3385de33a4",
        "695d13a82d6dd801aaa57a22a9d4b3f6db0d0fdb"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Apr 22 19:51:16 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 22 19:51:17 2014 +0000"
      },
      "message": "Merge \"Update load/store utilities for 64-bit backends\""
    },
    {
      "commit": "695d13a82d6dd801aaa57a22a9d4b3f6db0d0fdb",
      "tree": "0dbee030a8c43ccc23d9efc0c80efa2d941d1ff6",
      "parents": [
        "86e1b5e7e2bca99dd2092eab8ced977d97830873"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sat Apr 19 13:32:20 2014 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue Apr 22 11:46:10 2014 -0700"
      },
      "message": "Update load/store utilities for 64-bit backends\n\nThis CL replaces the typical use of LoadWord/StoreWord\nutilities (which, in practice, were 32-bit load/store) in\nfavor of a new set that make the size explicit.  We now have:\n\n   LoadWordDisp/StoreWordDisp:\n    32 or 64 depending on target.  Load or store the natural\n    word size.  Expect this to be used infrequently - generally\n    when we know we\u0027re dealing with a native pointer or flushed\n    register not holding a Dalvik value (Dalvik values will flush\n    to home location sizes based on Dalvik, rather than the target).\n\n   Load32Disp/Store32Disp:\n     Load or store 32 bits, regardless of target.\n\n   Load64Disp/Store64Disp:\n     Load or store 64 bits, regardless of target.\n\n   LoadRefDisp:\n     Load a 32-bit compressed reference, and expand it to the\n     natural word size in the target register.\n\n   StoreRefDisp:\n     Compress a reference held in a register of the natural word\n     size and store it as a 32-bit compressed reference.\n\nChange-Id: I50fcbc8684476abd9527777ee7c152c61ba41c6f\n"
    },
    {
      "commit": "39595830dbfefa47bbde20490b4dda3385de33a4",
      "tree": "be30d58fc4fd71a4fcbdffa0d19a4bf9aaaa4c50",
      "parents": [
        "82b1a81890970a8b07f9132aeae537a6c43df6b0",
        "8585bad7be19ee4901333f7d02d1d4d3f04877d4"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 22 18:12:32 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 22 18:12:33 2014 +0000"
      },
      "message": "Merge \"Return bytes freed from RosAlloc.\""
    },
    {
      "commit": "8585bad7be19ee4901333f7d02d1d4d3f04877d4",
      "tree": "be30d58fc4fd71a4fcbdffa0d19a4bf9aaaa4c50",
      "parents": [
        "82b1a81890970a8b07f9132aeae537a6c43df6b0"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 11 17:53:48 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 22 10:57:22 2014 -0700"
      },
      "message": "Return bytes freed from RosAlloc.\n\nThere was a problem with how RosAlloc space sweeping worked caused by\nusing the object size in the FreeList call, this won\u0027t work well with\nclass unloading since the object\u0027s class may be freed before the\nobject.\n\nBug: 13989231\nChange-Id: I3df439c312310720fd34249334dec85030166fe9\n"
    },
    {
      "commit": "0ec77d6df72ad9c352e23d8a2257530328f64a4b",
      "tree": "f0bdb4900548189c09f3e1010198eb327a648f44",
      "parents": [
        "82b1a81890970a8b07f9132aeae537a6c43df6b0"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Apr 22 10:51:17 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Apr 22 10:51:17 2014 -0700"
      },
      "message": "Warn when thread state lookup fails.\n\nChange-Id: I06781caddcade26148921bc225f28db8b3a63a35\n"
    },
    {
      "commit": "96c6ab93336b972a38bd2448bcccf19188b8389b",
      "tree": "87c4904182d6b087e59a7c18d4a6b5b42275ef45",
      "parents": [
        "82b1a81890970a8b07f9132aeae537a6c43df6b0"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Apr 08 14:00:50 2014 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Apr 22 17:50:49 2014 +0100"
      },
      "message": "Separate maps from code in oat file.\n\nWrite all GC maps first, then all mapping tables and then\nall vmap tables and only then align the offset to page size\nand write all method code chunks with headers.\n\nBug: 11767815\nChange-Id: Ic83555c8303c5be119afc43e95e58c0a32ff2a4f\n"
    },
    {
      "commit": "82b1a81890970a8b07f9132aeae537a6c43df6b0",
      "tree": "43ac558ccae56799d093e58c128af83511889f5f",
      "parents": [
        "618a87009202dc959c935ed8f237ae32bdec57d0",
        "d3c5bebcb52a67cb06e7ab303eaf45f230c08b60"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Apr 22 13:25:20 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 22 13:25:20 2014 +0000"
      },
      "message": "Merge \"Avoid allocating OatFile::OatClass on the heap.\""
    },
    {
      "commit": "618a87009202dc959c935ed8f237ae32bdec57d0",
      "tree": "905c57ff2edb26e58f81b03e753378880dd20a7a",
      "parents": [
        "00256f3e03adaf11b8fbb8bb8b7a11a9c316127d",
        "bf079fe015e3b2d966e111efc61728b6e6892ec3"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Apr 22 09:23:39 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 22 09:23:40 2014 +0000"
      },
      "message": "Merge \"Fix crash when debugging exception\""
    },
    {
      "commit": "00256f3e03adaf11b8fbb8bb8b7a11a9c316127d",
      "tree": "db61c57b6c15aa8927758025b7ebd4ce278f8ace",
      "parents": [
        "e08920e3b15d463cd70c51276677291d1af7bce8",
        "8d5ead52a92675c258113d3dfa71bf8fceba5d9f"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Apr 22 08:30:46 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 22 08:30:47 2014 +0000"
      },
      "message": "Merge \"Revert \"64bit changes to the stack walker for the Quick ABI.\"\""
    },
    {
      "commit": "8d5ead52a92675c258113d3dfa71bf8fceba5d9f",
      "tree": "43f4c2518035b346d7b7ecd46c4b79d1ef45d882",
      "parents": [
        "5cb328362a633302ca0fcdbaa0da7d94069df051"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Apr 22 08:30:19 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Apr 22 08:30:19 2014 +0000"
      },
      "message": "Revert \"64bit changes to the stack walker for the Quick ABI.\"\n\nThis reverts commit 5cb328362a633302ca0fcdbaa0da7d94069df051.\n\nChange-Id: Icc0ec1a9f15c2e4e9103e732d7ba75a4feb853b1\n"
    },
    {
      "commit": "e08920e3b15d463cd70c51276677291d1af7bce8",
      "tree": "92281d0cf2fbe5b693dc6d3f515c0947544a127f",
      "parents": [
        "ea8106321c7c05f8b135d7b4cdb34f5d1e6ed0e3",
        "5cb328362a633302ca0fcdbaa0da7d94069df051"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Apr 22 07:48:56 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 22 07:48:56 2014 +0000"
      },
      "message": "Merge \"64bit changes to the stack walker for the Quick ABI.\""
    },
    {
      "commit": "ea8106321c7c05f8b135d7b4cdb34f5d1e6ed0e3",
      "tree": "db61c57b6c15aa8927758025b7ebd4ce278f8ace",
      "parents": [
        "6123d94cddf34f3fdb8ece55476e414e34662394",
        "7ec2f1ca3cbd021848da75d5566f7239ce29676f"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Apr 22 07:05:52 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 22 07:05:54 2014 +0000"
      },
      "message": "Merge \"Speed up single-stepping\""
    },
    {
      "commit": "6123d94cddf34f3fdb8ece55476e414e34662394",
      "tree": "5c9f831a79fceaf616c0c0006678dfdec5672f97",
      "parents": [
        "4e0d5ee57ab5f76a761cf0d7ebb50b782e3eacdc",
        "366f8ae038c4f6a3852deed1cff322ba54689808"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@android.com",
        "time": "Tue Apr 22 04:37:42 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 22 04:37:42 2014 +0000"
      },
      "message": "Merge \"GenArithOpInt should ensure that reg is in core\""
    },
    {
      "commit": "3a74d15ccc9a902874473ac9632e568b19b91b1c",
      "tree": "3024a2f6ec8ab6a2b403a889e4c58cee8e43ae27",
      "parents": [
        "4e0d5ee57ab5f76a761cf0d7ebb50b782e3eacdc"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Mon Apr 21 15:39:44 2014 -0700"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Mon Apr 21 15:58:26 2014 -0700"
      },
      "message": "Delete throw launchpads.\n\nBug: 13170824\n\nChange-Id: I9d5834f5a66f5eb00f2ac80774e8c27dea99949e\n"
    },
    {
      "commit": "4e0d5ee57ab5f76a761cf0d7ebb50b782e3eacdc",
      "tree": "68267279e01bc9b92642d3c757a9a7d16f66d7d7",
      "parents": [
        "63da330fa097aedc97e40ded054106a7168ea116",
        "80365d9bb947edef0eae0bfe62b9f7a239416e6b"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Mon Apr 21 22:30:12 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 21 22:30:12 2014 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Use LIRSlowPath for throwing ArrayOutOfBoundsException.\"\"\""
    },
    {
      "commit": "63da330fa097aedc97e40ded054106a7168ea116",
      "tree": "b400542ce3b92a255320219225fcfe108528162f",
      "parents": [
        "b0618ae005f2ae5bbdd5bcf4279ede2deb6d62ef",
        "42d65c52bbf4a354605389a759190e793787f692"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Mon Apr 21 21:50:49 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 21 21:50:51 2014 +0000"
      },
      "message": "Merge \"Add an option to specify a list of methods for LIR dumping.\""
    },
    {
      "commit": "b0618ae005f2ae5bbdd5bcf4279ede2deb6d62ef",
      "tree": "67ac651ad769b44585b0004338582065110f5d4b",
      "parents": [
        "72f184d0751dcd6f4d03451b047943ca1da47339",
        "a63229ca67388b322951c422b31340cdc946134f"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 21 17:45:40 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 21 17:45:40 2014 +0000"
      },
      "message": "Merge \"ART: GTest target tests missing \"PASSED\"\""
    },
    {
      "commit": "a63229ca67388b322951c422b31340cdc946134f",
      "tree": "67ac651ad769b44585b0004338582065110f5d4b",
      "parents": [
        "72f184d0751dcd6f4d03451b047943ca1da47339"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 21 09:51:07 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 21 09:51:07 2014 -0700"
      },
      "message": "ART: GTest target tests missing \"PASSED\"\n\nThis seems to have gotten lost a while ago.\n\nChange-Id: Ia0114d4fc0dfcf6e53339307cd556e168312fc53\n"
    },
    {
      "commit": "72f184d0751dcd6f4d03451b047943ca1da47339",
      "tree": "2f6b3a844ab35d33b805e413e9fb9db494f82e62",
      "parents": [
        "86e1b5e7e2bca99dd2092eab8ced977d97830873",
        "2fe07927610177e9b83809e5bdb6d2b3d835a076"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 21 16:33:28 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 21 16:33:28 2014 +0000"
      },
      "message": "Merge \"Fix dependencies in the test suite for multi-target tests\""
    },
    {
      "commit": "2fe07927610177e9b83809e5bdb6d2b3d835a076",
      "tree": "f873d2314a800c4bb5400f17701058fbd2c259b4",
      "parents": [
        "9b3335e3503724dbcb492e159789adf98ae3958b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 21 07:50:39 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 21 09:29:39 2014 -0700"
      },
      "message": "Fix dependencies in the test suite for multi-target tests\n\nChange-Id: I94dd767490a7cd8cceddc158d90f56f5bd3fef26\n"
    },
    {
      "commit": "42d65c52bbf4a354605389a759190e793787f692",
      "tree": "98dd633038cbc1ae0ccdda3de1f73e79a9ab4049",
      "parents": [
        "fa25af3e3410537e86b485682d519dafbad01753"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Fri Apr 18 16:49:39 2014 -0700"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Fri Apr 18 16:51:15 2014 -0700"
      },
      "message": "Add an option to specify a list of methods for LIR dumping.\n\nAn example would be:\n--runtime-arg -verbose-methods:Array.checkRange32,Array.checkRange64\nor\n\"-verbose-methods:void Array.checkRange32,void Array.checkRange64\"\n\nChange-Id: I61c1eb3b2eb4b24126a9264261c27889d53cc6bd\n"
    },
    {
      "commit": "86e1b5e7e2bca99dd2092eab8ced977d97830873",
      "tree": "7bca2db120557d030356af47b5c5007379dcbe05",
      "parents": [
        "9b3335e3503724dbcb492e159789adf98ae3958b",
        "9b79776f14108ea559e5e08f94a5188468fda1e9"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Apr 18 23:23:04 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 18 23:23:04 2014 +0000"
      },
      "message": "Merge \"Get instruction-set/features from build/core/config.mk\""
    },
    {
      "commit": "9b79776f14108ea559e5e08f94a5188468fda1e9",
      "tree": "828b5570a66ec394b076d1493570d67e91b55105",
      "parents": [
        "44b0053fdb7ad8a30138d29f714172a7dc69efb8"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Apr 18 15:40:37 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Apr 18 15:53:49 2014 -0700"
      },
      "message": "Get instruction-set/features from build/core/config.mk\n\nDepends upon https://android-review.googlesource.com/#/c/91524\n\nChange-Id: Iad1a1b0499aac7acf7c4e42b62bb3fe4474e2f47\n"
    },
    {
      "commit": "9b3335e3503724dbcb492e159789adf98ae3958b",
      "tree": "214a6d6d4682196aa0e2ebcb5a0cc7bcf3eec2d3",
      "parents": [
        "ed0bc0bbf26f6751f31213d24ccdac49766e93ff",
        "a2cee18799d7e61adb037a4219adb23fef7d022b"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Apr 18 22:44:14 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 18 22:44:14 2014 +0000"
      },
      "message": "Merge \"Modify unwind to comply with stack parser tools.\""
    },
    {
      "commit": "a2cee18799d7e61adb037a4219adb23fef7d022b",
      "tree": "214a6d6d4682196aa0e2ebcb5a0cc7bcf3eec2d3",
      "parents": [
        "ed0bc0bbf26f6751f31213d24ccdac49766e93ff"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Apr 16 19:13:59 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Apr 18 15:32:15 2014 -0700"
      },
      "message": "Modify unwind to comply with stack parser tools.\n\nBug: 14081592\n\nChange-Id: I6906b2575c74d64f1c3ba7602779b3a789de1c69\n"
    },
    {
      "commit": "ed0bc0bbf26f6751f31213d24ccdac49766e93ff",
      "tree": "5387d10d28bc8ee228e5bb12666eac4a70a5a859",
      "parents": [
        "b21f7c9f9729be60438c6c3778662d81a8c2f2d6",
        "4ad33b37ba4864a28d229330c2c4592f8fe30ca3"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Apr 18 22:05:59 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 18 22:05:59 2014 +0000"
      },
      "message": "Merge \"Fixing missing newlines in Usage calls\""
    },
    {
      "commit": "80365d9bb947edef0eae0bfe62b9f7a239416e6b",
      "tree": "97a25de360ab1622e8f7a44614ec9b0aa7b27090",
      "parents": [
        "fa25af3e3410537e86b485682d519dafbad01753"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Fri Apr 18 12:10:58 2014 -0700"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Fri Apr 18 14:50:14 2014 -0700"
      },
      "message": "Revert \"Revert \"Use LIRSlowPath for throwing ArrayOutOfBoundsException.\"\"\n\nThis adds back using LIRSlowPath for ArrayIndexOutOfBoundsException.\nAnd fix the host test crash.\n\nChange-Id: Idbb602f4bb2c5ce59233feb480a0ff1b216e4887\n"
    },
    {
      "commit": "4ad33b37ba4864a28d229330c2c4592f8fe30ca3",
      "tree": "5387d10d28bc8ee228e5bb12666eac4a70a5a859",
      "parents": [
        "b21f7c9f9729be60438c6c3778662d81a8c2f2d6"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Apr 18 14:18:41 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Apr 18 14:19:45 2014 -0700"
      },
      "message": "Fixing missing newlines in Usage calls\n\nChange-Id: Ie5f1098dc7b3c485732bff929d36dbcc4b69511f\n"
    },
    {
      "commit": "b21f7c9f9729be60438c6c3778662d81a8c2f2d6",
      "tree": "2db5e134c8856a375bb8dfbb45d4659fbf158a73",
      "parents": [
        "fa25af3e3410537e86b485682d519dafbad01753",
        "455820e1fd233a65a10675d380fe6620b5ec2730"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 18 21:07:44 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 18 21:07:44 2014 +0000"
      },
      "message": "Merge \"Fix ForegroundHeapGrowthMultiplier and ParseDouble.\""
    },
    {
      "commit": "455820e1fd233a65a10675d380fe6620b5ec2730",
      "tree": "2db5e134c8856a375bb8dfbb45d4659fbf158a73",
      "parents": [
        "fa25af3e3410537e86b485682d519dafbad01753"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 18 12:02:39 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 18 13:35:22 2014 -0700"
      },
      "message": "Fix ForegroundHeapGrowthMultiplier and ParseDouble.\n\nForegroundHeapGrowthMultiplier had a bad range of allowed values.\nThe new range is 0.1 - 10.0 instead of 0.1 to 0.9. ParseDouble usage\nhad incorrect printing var args and caused segfaults.\n\nChange-Id: I4573005ee9f888cc8140200543176d6a2e17fccc\n"
    },
    {
      "commit": "fa25af3e3410537e86b485682d519dafbad01753",
      "tree": "9d9bcb784017bd7e0ff77e4bde4211ab180b714e",
      "parents": [
        "44b0053fdb7ad8a30138d29f714172a7dc69efb8",
        "bbd695c71e0bf518f582e84524e1cdeb3de3896c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 18 18:27:49 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 18 18:27:49 2014 +0000"
      },
      "message": "Merge \"Replace ObjectSet with LargeObjectBitmap.\""
    },
    {
      "commit": "44b0053fdb7ad8a30138d29f714172a7dc69efb8",
      "tree": "26391df43c388c602fd341d25be33b5ebf82425a",
      "parents": [
        "ec83aacf669165eeeb1c30aee402001394982fd3",
        "e400aa24efc40d1f2616586b9514f58a83a7f332"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 18 17:11:36 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 18 17:11:36 2014 +0000"
      },
      "message": "Merge \"Fix elf_writer_test for 64b target\""
    },
    {
      "commit": "e400aa24efc40d1f2616586b9514f58a83a7f332",
      "tree": "26391df43c388c602fd341d25be33b5ebf82425a",
      "parents": [
        "ec83aacf669165eeeb1c30aee402001394982fd3"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 18 10:00:40 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 18 10:00:40 2014 -0700"
      },
      "message": "Fix elf_writer_test for 64b target\n\nThe path to the core oat file is dependent on the bit-ness.\n\nChange-Id: I725b9b0f760ae14d0c38d747ad31821da7445dec\n"
    },
    {
      "commit": "5cb328362a633302ca0fcdbaa0da7d94069df051",
      "tree": "bf31cf8e9aaab4e7d326cef1d2b8936bca658473",
      "parents": [
        "957e2a2bb9ca9a59b4fb41170b1b1a53e99bed67"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Apr 17 14:05:19 2014 +0100"
      },
      "committer": {
        "name": "Dmitry Petrochenko",
        "email": "dmitry.petrochenko@intel.com",
        "time": "Fri Apr 18 15:23:34 2014 +0700"
      },
      "message": "64bit changes to the stack walker for the Quick ABI.\n\n- Spill registers have different sizes.\n- The ArtMethod at the bottom of the stack is always of kWordSize.\n\nChange-Id: I92f67ff928477970c393c7146980255d08e8e6af\n"
    },
    {
      "commit": "ec83aacf669165eeeb1c30aee402001394982fd3",
      "tree": "ac125fbdbf6f863562f6bb543a70ecab610e96e1",
      "parents": [
        "6b8a2674119a9251de4d713cd2d1ff10ae21a66c",
        "7fff544c38f0dec3a213236bb785c3ca13d21a0f"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Apr 18 06:45:02 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 18 06:45:03 2014 +0000"
      },
      "message": "Merge \"Revert \"Use LIRSlowPath for throwing ArrayOutOfBoundsException.\"\""
    },
    {
      "commit": "7fff544c38f0dec3a213236bb785c3ca13d21a0f",
      "tree": "ac125fbdbf6f863562f6bb543a70ecab610e96e1",
      "parents": [
        "6b8a2674119a9251de4d713cd2d1ff10ae21a66c"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Apr 17 23:11:17 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Apr 17 23:11:17 2014 -0700"
      },
      "message": "Revert \"Use LIRSlowPath for throwing ArrayOutOfBoundsException.\"\n\nThis reverts commit 9d46314a309aff327f9913789b5f61200c162609.\n"
    },
    {
      "commit": "6b8a2674119a9251de4d713cd2d1ff10ae21a66c",
      "tree": "6cb9211c687123a15e18941876d5ab8359f40a88",
      "parents": [
        "957e2a2bb9ca9a59b4fb41170b1b1a53e99bed67",
        "d15f4e2ef3b1b4c01a490a00b0f6dc744741ce01"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Apr 18 05:50:59 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 18 05:50:59 2014 +0000"
      },
      "message": "Merge \"Fix a use of OpCondBranch that breaks the MIPS build.\""
    },
    {
      "commit": "366f8ae038c4f6a3852deed1cff322ba54689808",
      "tree": "702f58af8c16a7945d26c8ae80932db69d67754a",
      "parents": [
        "957e2a2bb9ca9a59b4fb41170b1b1a53e99bed67"
      ],
      "author": {
        "name": "Serguei Katkov",
        "email": "serguei.i.katkov@intel.com",
        "time": "Tue Apr 15 16:55:26 2014 +0700"
      },
      "committer": {
        "name": "Serguei Katkov",
        "email": "serguei.i.katkov@intel.com",
        "time": "Fri Apr 18 09:17:13 2014 +0700"
      },
      "message": "GenArithOpInt should ensure that reg is in core\n\nGenArithOpInt in two-addr case of add-int where destination is in\nregister should ensure that it is a core reg.\n\nChange-Id: I5b5ca126773a2bb45f9b23ad892102b034d694b4\nSigned-off-by: Serguei Katkov \u003cserguei.i.katkov@intel.com\u003e\n"
    },
    {
      "commit": "bbd695c71e0bf518f582e84524e1cdeb3de3896c",
      "tree": "6fe6a128b629abc6a396a192b2e8da1180afeded",
      "parents": [
        "a092ee404ababbf8fc945111dc4a571284c9f02f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Apr 16 09:48:48 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 17 19:01:34 2014 -0700"
      },
      "message": "Replace ObjectSet with LargeObjectBitmap.\n\nSpeeds up large object marking since large objects no longer required\na lock. Changed the GCs to use the heap bitmap for marking objects\nwhich aren\u0027t in the fast path. This eliminates the need for a\nMarkLargeObject function.\n\nMaps before (10 GC iterations):\nMean partial time: 180ms\nMean sticky time: 151ms\n\nMaps after:\nMean partial time: 161ms\nMean sticky time: 101ms\n\nNote: the GC durations are long due to recent ergonomic changes and\nbecause the fast bulk free hasn\u0027t yet been enabled. Over 50% of the\nGC time is spent in RosAllocSpace::FreeList.\n\nBug: 13571028\n\nChange-Id: Id8f94718aeaa13052672ccbae1e8edf77d653f62\n"
    },
    {
      "commit": "d15f4e2ef3b1b4c01a490a00b0f6dc744741ce01",
      "tree": "d175bb7b1027107c9abfb48f7f4f0a8c0c4e47a4",
      "parents": [
        "9d46314a309aff327f9913789b5f61200c162609"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Thu Apr 17 18:46:24 2014 -0700"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Thu Apr 17 18:49:43 2014 -0700"
      },
      "message": "Fix a use of OpCondBranch that breaks the MIPS build.\n\nChange-Id: I09e19cb00c1e3f4bc0b0293f58674c9160094f7f\n"
    },
    {
      "commit": "957e2a2bb9ca9a59b4fb41170b1b1a53e99bed67",
      "tree": "43f4c2518035b346d7b7ecd46c4b79d1ef45d882",
      "parents": [
        "48a35cbc17fdf91869a7aabee3dd6290b0d045cb",
        "9d46314a309aff327f9913789b5f61200c162609"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Fri Apr 18 00:18:27 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 18 00:18:27 2014 +0000"
      },
      "message": "Merge \"Use LIRSlowPath for throwing ArrayOutOfBoundsException.\""
    },
    {
      "commit": "48a35cbc17fdf91869a7aabee3dd6290b0d045cb",
      "tree": "d0c5bf32216ae3d1ae9c8dc0b9e4f4b06298458d",
      "parents": [
        "daa7a64e64e21eb34a02525cfda03a7d3faee913",
        "9bc54406ba3377980cfce44901dc2be246178ba9"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Apr 18 00:18:10 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 18 00:18:11 2014 +0000"
      },
      "message": "Merge \"Interpreter-only mode should cause dex-to-dex compilation.\""
    },
    {
      "commit": "9bc54406ba3377980cfce44901dc2be246178ba9",
      "tree": "12b9a514ef37c5cd01a99f3c6ffa83e3b03be7c0",
      "parents": [
        "94e8a97310af35cb0bae309e796b554cdb586ca5"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Apr 17 16:40:01 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Apr 17 16:45:06 2014 -0700"
      },
      "message": "Interpreter-only mode should cause dex-to-dex compilation.\n\nAlso, fix quick iget/iput that had similar issues to:\nhttps://android-review.googlesource.com/91423\nAlso, remove fall-back resolution code from quick invokes/igets/iputs as we\nallow class loading for the exception throw and regular verification already\nallows class loading.\nBug: 14133618\n\nChange-Id: I51199e6e2392da0354f64b157e79af494c183778\n"
    },
    {
      "commit": "daa7a64e64e21eb34a02525cfda03a7d3faee913",
      "tree": "89f1ae694be3db0063fe06d6967b4ff9a6e08bd4",
      "parents": [
        "a092ee404ababbf8fc945111dc4a571284c9f02f",
        "5c597c6d3d6cfe0f9a89d35339c310d5a3395105"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Apr 17 23:38:39 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 17 23:38:39 2014 +0000"
      },
      "message": "Merge \"Comment disallow new monitors.\""
    },
    {
      "commit": "5c597c6d3d6cfe0f9a89d35339c310d5a3395105",
      "tree": "8fbbc961d64b8d01253a86251e712c76dcab5f3e",
      "parents": [
        "94e8a97310af35cb0bae309e796b554cdb586ca5"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Apr 17 16:08:07 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Apr 17 16:08:07 2014 -0700"
      },
      "message": "Comment disallow new monitors.\n\nChange-Id: Ie50424c73be051f9856ef9e86bdbf83fa76bbc48\n"
    },
    {
      "commit": "a092ee404ababbf8fc945111dc4a571284c9f02f",
      "tree": "b275ab9eedb86dcba9b62ed3be2c123f9322cf29",
      "parents": [
        "94e8a97310af35cb0bae309e796b554cdb586ca5",
        "4d7f61d44a732cfbc8573e5d93364983fd746888"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 17 23:06:26 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 17 23:06:27 2014 +0000"
      },
      "message": "Merge \"Use non volatile lock words in semispace collector.\""
    },
    {
      "commit": "4d7f61d44a732cfbc8573e5d93364983fd746888",
      "tree": "0ad34f9316227531696c01ba9b25a2175a5c5f65",
      "parents": [
        "425640d6fac3432a44e236a002e8401a7cd59c5c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 17 14:43:39 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Apr 17 15:56:47 2014 -0700"
      },
      "message": "Use non volatile lock words in semispace collector.\n\nGSS FormulaEvaluationActions.EvaluateAndApplyChanges:\nBefore GC time: 9.1s\nAfter GC time: 7.98s\n\nFixed timing logger errors.\n\nChange-Id: I4193c6ccbbbe7a7220dfaabbf3472a5dcebae616\n"
    },
    {
      "commit": "9d46314a309aff327f9913789b5f61200c162609",
      "tree": "915629a726948bcc44413fdc1dedd4fb778dee4f",
      "parents": [
        "425640d6fac3432a44e236a002e8401a7cd59c5c"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Thu Apr 17 15:22:09 2014 -0700"
      },
      "committer": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Thu Apr 17 15:47:22 2014 -0700"
      },
      "message": "Use LIRSlowPath for throwing ArrayOutOfBoundsException.\n\nGet rid of launchpads for throwing ArrayOutOfBoundsException\nand use LIRSlowPath instead.\n\nBug: 13170824\nChange-Id: I0e27f7a261a6a7fb5c0645e6113a957e098f699e\n"
    },
    {
      "commit": "94e8a97310af35cb0bae309e796b554cdb586ca5",
      "tree": "4cec18ed03c33f4624d362c69b6c9fac7425f8e4",
      "parents": [
        "b99985a089e23929c920201c14875b51c5b6217e",
        "47d00c0a893b13b69e4bac1836e10cc3e1812d41"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Apr 17 21:57:26 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 17 21:57:26 2014 +0000"
      },
      "message": "Merge \"Add untested x86-64 downcall and exception assembly.\""
    },
    {
      "commit": "b99985a089e23929c920201c14875b51c5b6217e",
      "tree": "7ce86f1f277834802cfea486e5aa592e6cc1cd04",
      "parents": [
        "425640d6fac3432a44e236a002e8401a7cd59c5c",
        "639815628cf52a4a944a4322cb09da37cded2de9"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 17 21:10:52 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 17 21:10:53 2014 +0000"
      },
      "message": "Merge \"Fix a class-loading bug in the verifier when throwing NPE\""
    },
    {
      "commit": "639815628cf52a4a944a4322cb09da37cded2de9",
      "tree": "7ce86f1f277834802cfea486e5aa592e6cc1cd04",
      "parents": [
        "425640d6fac3432a44e236a002e8401a7cd59c5c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 17 12:28:43 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 17 21:10:24 2014 +0000"
      },
      "message": "Fix a class-loading bug in the verifier when throwing NPE\n\nWhen throwing an NPE for invocation, we try to resolve the class of\nthe method being called. When in the interpreter and having quickened\ncode, that failed.\n\nBug: 14133618\nChange-Id: I4964b908bb26a82a12263fb86f5dc39c9042479b"
    },
    {
      "commit": "425640d6fac3432a44e236a002e8401a7cd59c5c",
      "tree": "0d5e53555369cb0be7239dc8b9f1f779a5ecb97d",
      "parents": [
        "79f2c53f3cb8649c19aeded82f7b8dcc96015808",
        "e643a179cf5585ba6bafdd4fa51730d9f50c06f6"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Thu Apr 17 17:31:48 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 17 17:31:48 2014 +0000"
      },
      "message": "Merge \"Use LIRSlowPath for throwing NPE.\""
    },
    {
      "commit": "47d00c0a893b13b69e4bac1836e10cc3e1812d41",
      "tree": "ab710ae26fb5afc5d4b1db052173e47f0208ef54",
      "parents": [
        "79f2c53f3cb8649c19aeded82f7b8dcc96015808"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Apr 16 17:33:27 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Apr 17 10:16:28 2014 -0700"
      },
      "message": "Add untested x86-64 downcall and exception assembly.\n\nChange-Id: Ic555f9f5af8c3a2110a92e55772ff6c0128e5c19\n"
    },
    {
      "commit": "79f2c53f3cb8649c19aeded82f7b8dcc96015808",
      "tree": "bf829cf6914f4a5c231f220571316f03ae0fb2fa",
      "parents": [
        "984cd08f363153aabfa436b61277c30ad6fa4e7d",
        "a1758d83e298c9ee31848bcae07c2a35f6efd618"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@android.com",
        "time": "Thu Apr 17 17:10:45 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 17 17:10:45 2014 +0000"
      },
      "message": "Merge \"String.IndexOf method handles negative start index value in incorrect way\""
    },
    {
      "commit": "984cd08f363153aabfa436b61277c30ad6fa4e7d",
      "tree": "fc5f08b127f3cf6bfb933504070109d46a455bb9",
      "parents": [
        "c2b2bbf1bbdf6273298b79d6006611593ed9f3a0",
        "a747a392fb5f88d2ecc4c6021edf9f1f6615ba16"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Apr 17 14:17:09 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 17 14:17:10 2014 +0000"
      },
      "message": "Merge \"Code cleanup in preparation for x64 backend.\""
    },
    {
      "commit": "a747a392fb5f88d2ecc4c6021edf9f1f6615ba16",
      "tree": "fc5f08b127f3cf6bfb933504070109d46a455bb9",
      "parents": [
        "c2b2bbf1bbdf6273298b79d6006611593ed9f3a0"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Apr 17 14:56:23 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Apr 17 15:16:00 2014 +0100"
      },
      "message": "Code cleanup in preparation for x64 backend.\n\n- Use InvokeDexCallingConventionVisitor for setting\n  up HParameterValues\n- Use kVregSize instead of kX86WordSize when dealing with\n  virtual registers.\n\nChange-Id: Ia520223010194c70a3ff0ed659077f55cec4e7d8\n"
    },
    {
      "commit": "c2b2bbf1bbdf6273298b79d6006611593ed9f3a0",
      "tree": "24092c6da3cd3651fc0eaee89d0093ac05afeaed",
      "parents": [
        "e8b2e6e70decca7ce324350c9c03c9a432ed64d6",
        "db928fcc975b431d8a78700c11bd7da21090384a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Apr 17 13:23:49 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 17 13:23:50 2014 +0000"
      },
      "message": "Merge \"Simplify HInvokeStatic code generation.\""
    },
    {
      "commit": "db928fcc975b431d8a78700c11bd7da21090384a",
      "tree": "24092c6da3cd3651fc0eaee89d0093ac05afeaed",
      "parents": [
        "e8b2e6e70decca7ce324350c9c03c9a432ed64d6"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Apr 16 17:38:32 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Apr 17 13:23:24 2014 +0000"
      },
      "message": "Simplify HInvokeStatic code generation.\n\nHPushArgument is not needed for now (but might be when we start\noptimizing). Also, calling convention for 64bits backend will\nrequire to know more about the argument than the argument\u0027s\nindex. Therefore currently let HInvokeStatic setup the arguments,\nwhich is possible because arguments of a calls are virtual registers\nand not instructions.\n\nChange-Id: I8753ed6083aa083c5180ab53b436dc8de4f1fe31\n"
    },
    {
      "commit": "a1758d83e298c9ee31848bcae07c2a35f6efd618",
      "tree": "a8444d43cbc686240e700daf594527a28bf63797",
      "parents": [
        "b94fae66dac14be955c68028447cdad84ee22bf9"
      ],
      "author": {
        "name": "Alexei Zavjalov",
        "email": "alexei.zavjalov@intel.com",
        "time": "Thu Apr 17 01:55:43 2014 +0700"
      },
      "committer": {
        "name": "Alexei Zavjalov",
        "email": "alexei.zavjalov@intel.com",
        "time": "Thu Apr 17 17:06:39 2014 +0700"
      },
      "message": "String.IndexOf method handles negative start index value in incorrect way\n\nThe standard implementation of String.IndexOf converts the negative value of\nthe start index to 0 and searching will start from the beginning of the string.\nBut current implementation may start searching from the incorrect memory\noffset, that can lead to sigsegv or return incorrect result.\nThis patch adds the handler for cases when fromIndex is negative.\n\nChange-Id: I3ac86290712789559eaf5e46bef0006872395bfa\nSigned-off-by: Alexei Zavjalov \u003calexei.zavjalov@intel.com\u003e\n"
    },
    {
      "commit": "fba52f1b4bf753790c1d98265c4b0fabb54c7536",
      "tree": "a9feb49c87ae2ec5cde2dd45913840e1f9977ade",
      "parents": [
        "9623c6668962559e818d1e7f05a58dcb96c71fa9"
      ],
      "author": {
        "name": "Vladimir Kostyukov",
        "email": "vladimir.kostyukov@intel.com",
        "time": "Tue Apr 15 15:41:47 2014 +0700"
      },
      "committer": {
        "name": "Vladimir Kostyukov",
        "email": "vladimir.kostyukov@intel.com",
        "time": "Thu Apr 17 13:17:30 2014 +0700"
      },
      "message": "ART: Fixes an issue with REX prefix for instructions with no ModRM byte\n\nThere are instructions (such as push, pop, mov) in the x86 ISA\nthat encode first operands in their opcodes (opcode + reg).\nIn order to enable an extended 64bit registers (R9-R15) a special\nprefix REX.B should be emitted before such instructions.\n\nThis patch fixes the issue when REX.R prefix was emitted before\ninstructions with no MorRM byte. So, the REX-prefix was simply\nignored by CPU for those instructions whose operands are encoded\nin their opcodes.\n\nThis patch makes the jni_compiler_test passed with JNI compiler\nenabled for x86_64 target.\n\nChange-Id: Ib84da1cf9f8ff96bd7afd4e0fc53078f3231f8ec\nSigned-off-by: Vladimir Kostyukov \u003cvladimir.kostyukov@intel.com\u003e\n"
    },
    {
      "commit": "e8b2e6e70decca7ce324350c9c03c9a432ed64d6",
      "tree": "2342a93cadffa9db41f38bec26d1926c60c3e11c",
      "parents": [
        "f7933e7f295bfe61cb0baf89469581c563032e96",
        "bd5ea6a2f7c61c4cd7b66fead1bedd96e938369d"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Apr 17 00:13:27 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 17 00:13:27 2014 +0000"
      },
      "message": "Merge \"Preparation for transition to libc++.\""
    },
    {
      "commit": "bd5ea6a2f7c61c4cd7b66fead1bedd96e938369d",
      "tree": "1c1dde0d817303e669c413a919c192e2f3463bb0",
      "parents": [
        "5e17616b7386159cef8f2fb6ffe3cbc4fb1373e4"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Apr 16 16:34:44 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Apr 16 16:35:44 2014 -0700"
      },
      "message": "Preparation for transition to libc++.\n\nMove the dependency on libc++ to its own makefile so that we can switch in a\nsingle place between libc++ and stlport.\n\nChange-Id: Ie61e7d054dcd049e36d5e7298c27d8a4abe6edf7\n"
    },
    {
      "commit": "f7933e7f295bfe61cb0baf89469581c563032e96",
      "tree": "e83b41b4bf1271705fbc18514d8c1e6d196f39fd",
      "parents": [
        "520ab8768791cf4d51a543023960991c30a75e69",
        "6b5123f6fb6332a9b2132d25fddede61c7f12aee"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Apr 16 22:19:47 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 16 22:19:47 2014 +0000"
      },
      "message": "Merge \"Disable another timing sensitive test on dist builds\""
    },
    {
      "commit": "520ab8768791cf4d51a543023960991c30a75e69",
      "tree": "88f73905cfe3c0ab262499da418e19f6c917a322",
      "parents": [
        "5e17616b7386159cef8f2fb6ffe3cbc4fb1373e4",
        "5a9cef81718465118662b22cfa616457cf91b27a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Apr 16 22:17:24 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 16 22:17:24 2014 +0000"
      },
      "message": "Merge \"Build dex2oat as 64b for the target when using zygote64\""
    },
    {
      "commit": "6b5123f6fb6332a9b2132d25fddede61c7f12aee",
      "tree": "dae202091f6ed1c5e05c0f13a2af98343d6a9cf3",
      "parents": [
        "df4f96abfea464b834da858d839efc98cc032728"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Apr 16 15:12:45 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Apr 16 15:12:45 2014 -0700"
      },
      "message": "Disable another timing sensitive test on dist builds\n\nChange-Id: I1c0dc16ff22b23dbd238cbeba3f4c078c3ffeaed\n"
    },
    {
      "commit": "5e17616b7386159cef8f2fb6ffe3cbc4fb1373e4",
      "tree": "f7f6313128974643d429161906e85a3713ec997e",
      "parents": [
        "a214996df216757456b548eb9484fe04f8f9b08b",
        "b4b06678125131367999135e634055509b77b9e8"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Apr 16 22:08:29 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 16 22:08:29 2014 +0000"
      },
      "message": "Merge \"Fix volatile wide put/get to be atomic on x86 arch\""
    },
    {
      "commit": "b4b06678125131367999135e634055509b77b9e8",
      "tree": "ffb92e8b7681518908fcd32fcd00e35742ab2fa8",
      "parents": [
        "df4f96abfea464b834da858d839efc98cc032728"
      ],
      "author": {
        "name": "Yevgeny Rouban",
        "email": "yevgeny.y.rouban@intel.com",
        "time": "Wed Apr 16 18:13:10 2014 +0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Apr 16 15:05:30 2014 -0700"
      },
      "message": "Fix volatile wide put/get to be atomic on x86 arch\n\nCurrent implementation puts memory barriers for volatile fields.\nVolatile semantics needs atomicity, which are not guaranteed by memory barriers.\n\nThe patch forces all wide volatile fields to be loaded/stored using\nxmm registers.\n\nChange-Id: Ie78e186d13ffa237e6e93747b71d26651fa02866\nSigned-off-by: Yevgeny Rouban \u003cyevgeny.y.rouban@intel.com\u003e\n"
    }
  ],
  "next": "5a9cef81718465118662b22cfa616457cf91b27a"
}
