)]}'
{
  "log": [
    {
      "commit": "61c5ebc6aee2cac1c363de6fbdac25ada1697fdb",
      "tree": "444936c3e3718b692ba7f1981b863190f26b4ed7",
      "parents": [
        "25c4f6a25b3de9b9d7ca5162f1629753a0b7f003"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jun 05 17:42:53 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jun 06 13:12:17 2014 -0700"
      },
      "message": "Change FieldHelper to use a handle.\n\nFixed compaction bugs related to FieldHelper::GetType in:\nartSet32InstanceFromCode\nSetFieldValueImpl\nCheckReceiver\nField_set\ninterpreter::DoFieldPut\nMethodVerifier::VerifyISGet\nMethodVerifier::VerifyISPut\nMethodVerifier::VerifyIGetQuick\n\nBug: 13077697\n\nChange-Id: I7de9ded2893b5568d43e4daa86fd135bf5508b72\n"
    },
    {
      "commit": "04f4d8abe45d6e79eca983e057de76aea24b7df9",
      "tree": "ea037b8bffd0568edbb835fd1ed06740734375f8",
      "parents": [
        "86e48ce0e82c13d8af470e7c2abe1bfb3c1e0136"
      ],
      "author": {
        "name": "Wei Jin",
        "email": "wejin@google.com",
        "time": "Thu May 29 18:04:29 2014 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Thu Jun 05 15:04:51 2014 -0700"
      },
      "message": "Add an optimization for removing redundant suspend tests in ART\n\nThis CL:\n(1) eliminates redundant suspend checks (dominated by another check),\n\n(2) removes the special treatment of the R4 register, which got\nreset on every native call, possibly yielding long execution\nsequences without any suspend checks, and\n\n(3) fixes the absence of suspend checks in leaf methods.\n\n(2) and (3) increase the frequency of suspend checks, which improves\nthe performance of GC and the accuracy of profile data.  To\ncompensate for the increased number of checks, we implemented an\noptimization that leverages dominance information to remove\nredundant suspend checks on back edges.  Based on the results of\nrunning the Caffeine benchmark on Nexus 7, the patch performs\nroughly 30% more useful suspend checks, spreading them much more\nevenly along the execution trace, while incurring less than 1%\noverhead.  For flexibility consideration, this CL defines two flags\nto control the enabling of optimizations.  The original\nimplementation is the default.\n\nChange-Id: I31e81a5b3c53030444dbe0434157274c9ab8640f\nSigned-off-by: Wei Jin \u003cwejin@google.com\u003e\n"
    },
    {
      "commit": "7ce610516242b1ffd47a42bfc31c2d562f443ca6",
      "tree": "500f4d03a882aebbefa33e3b29be0a2b0518ad48",
      "parents": [
        "d5e2b00cbc1e6b6608a5dbcfb05b7c4976614636",
        "3eed93dd5be03e5539827bebf0f414251a12e15e"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Jun 05 18:48:54 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 05 18:48:54 2014 +0000"
      },
      "message": "Merge \"Verify there\u0027s no mem map gap for immune region not to break.\""
    },
    {
      "commit": "8ab62f8cb31eb2d42eb2dd58becea4382719be54",
      "tree": "0aeba0b508d4a195a7a5eb8a6f39ea945abade68",
      "parents": [
        "adab3a28f6586a551634f4ff51ae4212175c45ad",
        "4352b4556c138eb9f583367d678531930b5b8fb0"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 05 07:11:39 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 05 07:11:40 2014 +0000"
      },
      "message": "Merge \"ART: Add a test checking TLS offsets and entrypoints\""
    },
    {
      "commit": "adab3a28f6586a551634f4ff51ae4212175c45ad",
      "tree": "1980be13c9cde9245f03a438da4bea0c74628f0a",
      "parents": [
        "141671dab1b4448e9e0b6dde368b288202192edb",
        "b264937893fd12bce84681a6d9da6de99ebe6aa4"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jun 05 06:23:08 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 05 06:23:08 2014 +0000"
      },
      "message": "Merge \"Fix reflection_test failures.\""
    },
    {
      "commit": "7fb59192f0d773bc0025e5023b32c8f58a25f799",
      "tree": "808eac3a50470226433a66293dc4e18ab892f04a",
      "parents": [
        "d2395646c71d4e781d7362b025d49df482ffec94",
        "cdb3fa5839f206383c7c20a29f5a3e7f5992aa04"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jun 05 03:24:08 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 05 03:24:08 2014 +0000"
      },
      "message": "Merge \"Do not force unwind info to debug_frame.\""
    },
    {
      "commit": "4352b4556c138eb9f583367d678531930b5b8fb0",
      "tree": "92c0d56eb32f0dedfbc8ab8b1615e9afb409916d",
      "parents": [
        "d2395646c71d4e781d7362b025d49df482ffec94"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 04 18:59:01 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 04 19:00:38 2014 -0700"
      },
      "message": "ART: Add a test checking TLS offsets and entrypoints\n\nAdd a test (runtime for now, as compile-time checks seem not\npossible with current infrastructure) that checks the structure\nof the thread tls and entrypoint structs. A failure of the test\nindicates a structural change, which hints at a necessary oat\nversion bump.\n\nChange-Id: I500b5cd940c916ebfc1580e9dd2c287c4d263956\n"
    },
    {
      "commit": "cdb3fa5839f206383c7c20a29f5a3e7f5992aa04",
      "tree": "5946cce31afb42cb42a6e1fd2cbc841201784b06",
      "parents": [
        "903e390ffd46955628d1161ccfa8de9177d42d22"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jun 04 17:21:11 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jun 04 17:21:11 2014 -0700"
      },
      "message": "Do not force unwind info to debug_frame.\n\nThe .cfi_sections directive was forcing unwind information into the\ndebug_frame, which is stripped out. This causes any unwinds done by\nlibunwind/debuggerd through these art functions to terminate prematurely.\n\nBug: 15350524\nChange-Id: Id6abe7c7106132083bc894a77564b652a08566cb\n"
    },
    {
      "commit": "d2395646c71d4e781d7362b025d49df482ffec94",
      "tree": "0f7a260533765f2e257273d2cf512c5fb5efc127",
      "parents": [
        "d37f9b04071310d60d8082da8e2e4e0ad4b22dd0",
        "828186492aac39397ee4c139e54c2767bf3d7b66"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Jun 04 23:02:08 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 04 23:02:09 2014 +0000"
      },
      "message": "Merge \"Fix GetOutVROffset to use correct Method* size.\""
    },
    {
      "commit": "828186492aac39397ee4c139e54c2767bf3d7b66",
      "tree": "73ccb5e4e32f4a697e34f60781aab42450d88bf0",
      "parents": [
        "903e390ffd46955628d1161ccfa8de9177d42d22"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Jun 04 15:35:41 2014 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Wed Jun 04 16:00:40 2014 -0700"
      },
      "message": "Fix GetOutVROffset to use correct Method* size.\n\n[Tip \u0027o the hat to Mark Mendell for noticing this one]\n\nUse StackReference to find Method* size in GetOutVROffset.\n\nChange-Id: Ie1b25eb839c59305cadc5fdc7cbb5f41f1a85686\n"
    },
    {
      "commit": "3eed93dd5be03e5539827bebf0f414251a12e15e",
      "tree": "186fa74420e2595c9b6fba9ea8de94756af9cef5",
      "parents": [
        "bbdc5bc5fd5141711879a6c85d80ac45b7aad5d0"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Jun 04 11:43:59 2014 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Jun 04 15:50:46 2014 -0700"
      },
      "message": "Verify there\u0027s no mem map gap for immune region not to break.\n\nThis adds code that verifies that there\u0027s no memory map gap between\nthe image space and the main space so that the immune region\nfunctionality won\u0027t silently break. For example, if there\u0027s a gap and\na large object is allocated in that gap, the large object is\nincorrectly part of the immune region and the marking breaks.\n\nBug: 14059466\nChange-Id: Ie6ed82988d74b6d0562ebbbaac96ee43c15b14a6\n"
    },
    {
      "commit": "262a0a36ee5f553880365fecf0be1a188526ca69",
      "tree": "3a33a75a5b1bc555707f288778dcb948af0337e2",
      "parents": [
        "903e390ffd46955628d1161ccfa8de9177d42d22"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 04 15:25:28 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 04 15:45:46 2014 -0700"
      },
      "message": "ART: Heap-allocate buffer in space_bitmap when on 64b arch\n\nThe stack frame size will be above our limit if we stack-allocate\na buffer.\n\nBug: 15278350\nChange-Id: Ie1a31370538410d47c177f0a6e51879a1fc0752c\n"
    },
    {
      "commit": "903e390ffd46955628d1161ccfa8de9177d42d22",
      "tree": "d828cc537e0accb55674ebcc3908c5d713bb7271",
      "parents": [
        "955bc573c5611af6a31d9dd7cd93c210a7ad107a",
        "47a4cc7ad629d499b9f4841829d0371728075433"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Jun 04 19:27:12 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 04 19:27:13 2014 +0000"
      },
      "message": "Merge \"art: -Wsystem-header warning\""
    },
    {
      "commit": "9db911eb76976fc1c73c8e563beb3620f1cadf99",
      "tree": "0d9fa7344f7d356fedbbfeeff3cd8eb289e0435f",
      "parents": [
        "4eef72bdf5fd83e7361fb11feaf5a40121ede03f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jun 04 11:23:58 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jun 04 12:03:48 2014 -0700"
      },
      "message": "Print mutexes held in Thread::Dump.\n\nShould help finding and fixing thread suspend timeout issues.\n\nBug: 15328839\nChange-Id: I30a10529cec0716c7571a0318e9f66be54734fd8\n"
    },
    {
      "commit": "4eef72bdf5fd83e7361fb11feaf5a40121ede03f",
      "tree": "fcec68a28c1b5f4c77c01a56f12123dd56096a2b",
      "parents": [
        "3476ed2732d9695e5d005d86e78f5cf53301a772",
        "bc56fc3242ea2fad6630abdee1657f444eee8d30"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jun 04 18:23:35 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 04 18:23:35 2014 +0000"
      },
      "message": "Merge \"Fix compiler warnings.\""
    },
    {
      "commit": "3476ed2732d9695e5d005d86e78f5cf53301a772",
      "tree": "c33ce9b871778335c0409b915a44fccfd5d65911",
      "parents": [
        "eb757eeb244301b8a312cd2b975652341820f42e",
        "2a0d4ec9532a89abe722e5babdfbb846ffaad721"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 04 18:02:34 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 04 18:02:34 2014 +0000"
      },
      "message": "Merge \"ART: Fix forbidden thread state change in interpreter\""
    },
    {
      "commit": "2a0d4ec9532a89abe722e5babdfbb846ffaad721",
      "tree": "1ec8b9aaf86ad227e9f1cbbed52cb3bf86ee0973",
      "parents": [
        "fa5fda3ca52678b6fa739aad46e5c6ea08ae301e"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jun 02 22:05:22 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 04 10:54:12 2014 -0700"
      },
      "message": "ART: Fix forbidden thread state change in interpreter\n\nWhile loading a type for assignability, it might happen that it\u0027s\nnot available yet locally and must be resolved. Formerly, we\ndisallowed a state change to ensure no GC taking place while a new\nshadow frame has not been pushed on the stack yet.\n\nAs a fix, allow a \"shadow frame under construction\" in the thread,\nwhich is visited during GC.\n\nChange-Id: I973487a46b0e9e21fd6d49099d713b58f06d3b45\n"
    },
    {
      "commit": "eb757eeb244301b8a312cd2b975652341820f42e",
      "tree": "c20fc88f4ac2f45e2ea974cc411bf01b9be19528",
      "parents": [
        "32640daf36acda331719766956b25661647e2461",
        "5221410e960d9af0edcba4206cc48ebdfbfe6be0"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Jun 04 17:37:43 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 04 17:37:43 2014 +0000"
      },
      "message": "Merge \"Use sendfile when copying profile file.\""
    },
    {
      "commit": "bc56fc3242ea2fad6630abdee1657f444eee8d30",
      "tree": "9a50948145747c557d1da1e0f25192573d81e0f1",
      "parents": [
        "32640daf36acda331719766956b25661647e2461"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jun 03 15:37:03 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jun 04 09:58:05 2014 -0700"
      },
      "message": "Fix compiler warnings.\n\nAdded GetReference, GetHandle to StackHandleScope to prevent the\ncompiler from optimizing away these loads/stores from inline\nfunctions.\n\nChange-Id: I4db02dd3194665d844292e74e3a7d7c80e730e06\n"
    },
    {
      "commit": "5221410e960d9af0edcba4206cc48ebdfbfe6be0",
      "tree": "4224b3925826c35f0c52fac0867bf7175f1adae4",
      "parents": [
        "177b429a54a57adbe922037b1210e596d8348d2a"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Jun 04 12:01:50 2014 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Jun 04 16:25:28 2014 +0100"
      },
      "message": "Use sendfile when copying profile file.\n\nThis removes the 4k stack allocation and allow to activate\n-Wframe-larger-than\u003d1728 compiler opion.\n\nBug: 15278350\nChange-Id: I389ffe06feb3c1c1bf620e20164cca04a0594788\n"
    },
    {
      "commit": "32640daf36acda331719766956b25661647e2461",
      "tree": "d5d4f997a8d6b17409f9c4bb52f2d2f9a93f2e21",
      "parents": [
        "247051979727c80fa413d115c8771600f1f23d4e",
        "3c5aec1da27d8068e6bb97202d12efad6b4331df"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Jun 04 15:24:52 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 04 15:24:52 2014 +0000"
      },
      "message": "Merge \"Add missing preamble in switch-based interpreter\""
    },
    {
      "commit": "247051979727c80fa413d115c8771600f1f23d4e",
      "tree": "5022c04428fe44ce5bc46c39c0dfc8eae57e0849",
      "parents": [
        "f3639b2653fe4e55ce6f753b991eeb015116541d",
        "511c8a653d5896e81428393a1c3d427da64e36f3"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@android.com",
        "time": "Wed Jun 04 15:18:13 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 04 15:18:13 2014 +0000"
      },
      "message": "Merge \"AArch64: Fix cmp-long and method with long arguments.\""
    },
    {
      "commit": "fd51b9fa42af1f3024d93b53ac589c52c095d7db",
      "tree": "a37e3ddb39641c9480ca18ce490c2085bc576436",
      "parents": [
        "05574e6a3bed2dcc94518cd195ceea886650416a",
        "f39b378ece053772a2c9920d39cf5eb915328d4c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 04 15:10:23 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 04 15:10:23 2014 +0000"
      },
      "message": "Merge \"ART: Fix stub_test inline assembly for ARM64\""
    },
    {
      "commit": "5ca4eaace8ba513f97309bbdc2e156de4b1d648a",
      "tree": "3a392eb39fda9b6f6e46e05e529c85e18296bc49",
      "parents": [
        "fa5fda3ca52678b6fa739aad46e5c6ea08ae301e"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu May 29 02:09:33 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 04 08:00:30 2014 -0700"
      },
      "message": "ART: Make LOCAL_CLANG architecture dependent for the target\n\nBe selective for which target we compile with Clang. Currently we\nonly want to compile with Clang for ARM64, which means we need to\nbe careful about ARM, which is the second architecture for that.\n\nBug: 15014252\n\n(cherry picked from commit 9689e3768621130b2536564f4e00fcb6b3d25df4)\n\nChange-Id: I312e1caea08f2f3a20304b27f979d3c7b72b0a04\n"
    },
    {
      "commit": "86bd038a3242bb645b2625f64941a642d9414b91",
      "tree": "14950c23f707a432e03cc2af39390cdd873cccb6",
      "parents": [
        "57795db7d44bcd6d106481fa192691400b2358c8",
        "177b429a54a57adbe922037b1210e596d8348d2a"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Jun 04 12:27:44 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 04 12:27:44 2014 +0000"
      },
      "message": "Merge \"Fix a possible file descriptor leakage\""
    },
    {
      "commit": "177b429a54a57adbe922037b1210e596d8348d2a",
      "tree": "252bffe6c276fa528b0f66d471d726aa94f3552f",
      "parents": [
        "e4283be97047a26d3476acd3863dcc386498be17"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Jun 03 16:30:39 2014 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Jun 04 11:37:30 2014 +0100"
      },
      "message": "Fix a possible file descriptor leakage\n\nBug: 15279918\nChange-Id: I7909a53f9028d2f445fb97a0a4293f36b3c012dd\n"
    },
    {
      "commit": "511c8a653d5896e81428393a1c3d427da64e36f3",
      "tree": "2d286df3b09a689a313bccd8925eb29fc2d1c4eb",
      "parents": [
        "57795db7d44bcd6d106481fa192691400b2358c8"
      ],
      "author": {
        "name": "Zheng Xu",
        "email": "zheng.xu@arm.com",
        "time": "Tue Jun 03 16:22:23 2014 +0800"
      },
      "committer": {
        "name": "Zheng Xu",
        "email": "zheng.xu@arm.com",
        "time": "Wed Jun 04 16:15:10 2014 +0800"
      },
      "message": "AArch64: Fix cmp-long and method with long arguments.\n\n1. Fix cmp-long.\n2. Use single register to pass long argument.\n3. Flush StackReference\u003cArtMethod\u003e on arm64 the same as in common code.\n3. Fix the mismatch in calculate reg offset.\n\nChange-Id: Ie2723260fb143512e4da6ee88d4f3aded80d3d5e\n"
    },
    {
      "commit": "3c5aec1da27d8068e6bb97202d12efad6b4331df",
      "tree": "d3a0dda8ab64456aabba18143eaf123e34e1d238",
      "parents": [
        "fbc3e0baa16f265a5dbc99a38383b4dbc41b04a8"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Jun 04 09:41:21 2014 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Jun 04 09:41:21 2014 +0200"
      },
      "message": "Add missing preamble in switch-based interpreter\n\nAdds missing preamble for CONST_WIDE_HIGH16 instruction.\n\nChange-Id: I80371d6f5e5d1b60c88837706dc139782776eefa\n"
    },
    {
      "commit": "b264937893fd12bce84681a6d9da6de99ebe6aa4",
      "tree": "cbd0fe142a9a6dbaa59883809cf252261692b614",
      "parents": [
        "dfd301f19800a4f168283cf2d0b15b2c09071955"
      ],
      "author": {
        "name": "Douglas Leung",
        "email": "douglas@mips.com",
        "time": "Mon Jun 02 17:45:54 2014 -0700"
      },
      "committer": {
        "name": "Douglas Leung",
        "email": "douglas@mips.com",
        "time": "Tue Jun 03 17:49:20 2014 -0700"
      },
      "message": "Fix reflection_test failures.\n\nThis change also allows the Mips emulator to boot in interpreter mode.\n\nChange-Id: Id1d5d65df79f65a747d37ddce6dd79906d1f4fcf\nSigned-off-by: Douglas Leung \u003cdouglas@mips.com\u003e\n"
    },
    {
      "commit": "f39b378ece053772a2c9920d39cf5eb915328d4c",
      "tree": "bd281b674473a489dc01277c8f05d7d02709a389",
      "parents": [
        "ca9da5090a946331ca5e72a39c6f70721d3b326c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jun 03 14:38:30 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jun 03 14:39:10 2014 -0700"
      },
      "message": "ART: Fix stub_test inline assembly for ARM64\n\nThe rebased Clang resolves register constraints differently from\nbefore. Change the inline assembly.\n\nBug: 15393246\nChange-Id: Iea2c2693f0a035db541ff91f796ee5f997a2ced7\n"
    },
    {
      "commit": "18e6cf15644a11c1ef5e500667e6e24675d3eecd",
      "tree": "bebcec9d5322e5c5bc0b4bda49627c5c7900d726",
      "parents": [
        "26c2646a85a7929edcc330ace7769a179ec37663",
        "d1e9167713e485d9264e856b68ffb568f22f1dc9"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jun 03 20:50:18 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 03 20:50:22 2014 +0000"
      },
      "message": "Merge \"ART: Fix an error in proxy_invoke stub on ARM64\""
    },
    {
      "commit": "26c2646a85a7929edcc330ace7769a179ec37663",
      "tree": "9b9543124e21bdba4efa4f780333b9269dc04b62",
      "parents": [
        "e997429dec7fd0682abc3c3f9885c64af1be6386",
        "56890e2615ab3dd612f1f81c3cadab6299eceacb"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jun 03 19:18:48 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 03 19:18:49 2014 +0000"
      },
      "message": "Merge \"Modified functions to return pointers where appropriate\""
    },
    {
      "commit": "f208ae986d4b145978ded4c240501609a85997a5",
      "tree": "cb0c7117376c46be82ed609762952a0d5cf07be0",
      "parents": [
        "33e6b0f7c9642585db9f7745a7767b0e042a38d7"
      ],
      "author": {
        "name": "Dmitry Petrochenko",
        "email": "dmitry.petrochenko@intel.com",
        "time": "Fri May 30 02:14:49 2014 +0700"
      },
      "committer": {
        "name": "Dmitry Petrochenko",
        "email": "dmitry.petrochenko@intel.com",
        "time": "Tue Jun 03 17:21:35 2014 +0700"
      },
      "message": "x86_64: Fix art_quick_aput_obj\n\nThe ebx register is not scratch for x86_64 and it leads to\nits corruption (seen on art/test 201). Replacing ebx by ecx.\n\nChange-Id: I7f5eeba47688ada5afba82a9303fa736f823d77e\nSigned-off-by: Dmitry Petrochenko \u003cdmitry.petrochenko@intel.com\u003e\nSigned-off-by: Serguei Katkov \u003cserguei.i.katkov@intel.com\u003e\n"
    },
    {
      "commit": "33e6b0f7c9642585db9f7745a7767b0e042a38d7",
      "tree": "a8691a62c45b413d1ed1f817216247b6cd8e0489",
      "parents": [
        "89ad1cf43415aea6c5165058f43599bd24470496",
        "014d77a2107fec8ba978a7428fd4d04e0bf8e168"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Jun 03 10:14:41 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 03 10:14:41 2014 +0000"
      },
      "message": "Merge \"ART: BitVector not calculating number_of_bits correctly\""
    },
    {
      "commit": "d1e9167713e485d9264e856b68ffb568f22f1dc9",
      "tree": "203eab77712b481405bcc9b5b8cd7abe0f783aae",
      "parents": [
        "89ad1cf43415aea6c5165058f43599bd24470496"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jun 02 22:50:05 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jun 02 22:50:05 2014 -0700"
      },
      "message": "ART: Fix an error in proxy_invoke stub on ARM64\n\nMake sure that d0 is filled with the right value, as the return\nfrom C code is always in x0.\n\nBug: 15386201\nChange-Id: I6c048b3d92272d769f1de3bdc9ce30733b9e1935\n"
    },
    {
      "commit": "56890e2615ab3dd612f1f81c3cadab6299eceacb",
      "tree": "4e164a9f5aa3582d9fc5d9051375ce87d2568cc6",
      "parents": [
        "502a1975e146b288356e49a3af82629637da5ece"
      ],
      "author": {
        "name": "Fred Shih",
        "email": "ffred@google.com",
        "time": "Mon Jun 02 11:11:52 2014 -0700"
      },
      "committer": {
        "name": "Fred Shih",
        "email": "ffred@google.com",
        "time": "Mon Jun 02 19:34:39 2014 -0700"
      },
      "message": "Modified functions to return pointers where appropriate\n\nGetStringChars will return a pointer to the underlying char array iff\nit is not movable. Otherwise, it will return a copy of the char array.\nFor consistency, the null terminating character has been removed as the\nspecification for a jchar strings are not null terminated:\n\nhttp://developer.android.com/training/articles/perf-jni.html\n\nGetStringCritical will now always return a pointer to the char array.\nThe char array is pinned and moving gc is disabled until the pointer is\nreleased.\n\nChange-Id: I19c8cbaecc1f3f723d80acec074fb8c5e2d489c3\n"
    },
    {
      "commit": "0f821c00aeca7b6fca789e5613a91aef786b45af",
      "tree": "6d8690b32e48239a0a11127f8c5b42cf0591a554",
      "parents": [
        "7a33c4b8260e2fafc9ca94e51334d4f18c8e4324",
        "03dbc04d1d5a3bd62801989b16e994a9ed0dafb5"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Jun 03 00:04:17 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 03 00:04:17 2014 +0000"
      },
      "message": "Merge \"Make class status volatile.\""
    },
    {
      "commit": "e1d07816510e0f6c9969cddd7d7b683698f93b26",
      "tree": "b018b654653178a28fb5149b4f09b7f856e4bfdf",
      "parents": [
        "502a1975e146b288356e49a3af82629637da5ece"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed May 21 15:44:09 2014 +0200"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Jun 02 16:54:56 2014 -0700"
      },
      "message": "Fix interpreter entrypoint initialization in the image\n\nSets the interpreter_to_interpreter_bridge entrypoint if the method is not\ncompiled. This avoids the slow path through Quick compiler\u0027s world.i\n\nBumps oat version to force recompilation of image.\n\nBug: 15098601\nChange-Id: I08f7dfce26ecc5ca88bdf21187b2909c0c069596\n"
    },
    {
      "commit": "03dbc04d1d5a3bd62801989b16e994a9ed0dafb5",
      "tree": "be9bffd095457a060dc8a23b9405d725e542cdff",
      "parents": [
        "502a1975e146b288356e49a3af82629637da5ece"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Jun 02 14:24:56 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Jun 02 16:15:27 2014 -0700"
      },
      "message": "Make class status volatile.\n\nDiscourage loads and stores from reordering around the status being updated.\nBug: 15347354\n\nChange-Id: Ice805cb834617747c8209e98a142d3e5c7585719\n"
    },
    {
      "commit": "014d77a2107fec8ba978a7428fd4d04e0bf8e168",
      "tree": "af30717fb54eedf6af9d931cb89656f29f701134",
      "parents": [
        "e4283be97047a26d3476acd3863dcc386498be17"
      ],
      "author": {
        "name": "Jean Christophe Beyler",
        "email": "jean.christophe.beyler@intel.com",
        "time": "Mon Jun 02 11:21:21 2014 -0700"
      },
      "committer": {
        "name": "Jean Christophe Beyler",
        "email": "jean.christophe.beyler@intel.com",
        "time": "Mon Jun 02 15:17:03 2014 -0700"
      },
      "message": "ART: BitVector not calculating number_of_bits correctly\n\nThe number_of_bits_ field has an unclear intent. Instead, using\n  storage_size_ * kWordBits when relevant.\n\nChange-Id: I8c13be0d6643de37813fb154296d451f22c298c8\nSigned-off-by: Jean Christophe Beyler \u003cjean.christophe.beyler@intel.com\u003e\n"
    },
    {
      "commit": "502a1975e146b288356e49a3af82629637da5ece",
      "tree": "4119dcef52d572576d8b978316f3aeca6680ccd0",
      "parents": [
        "a3209fae94bf7db935b235cc97a4852721accd3e",
        "c0cf944b21ff07963660b780fd5d3701cc9215ab"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Mon Jun 02 18:06:48 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 02 18:06:48 2014 +0000"
      },
      "message": "Merge \"Switch on implicit checks and bump oat version to force recompilation\""
    },
    {
      "commit": "f00571c4e1ae202b3b4acb6b47cbe23a65178f7f",
      "tree": "484d129a8265d03eff56c796e92e302e23ad5e16",
      "parents": [
        "f6b5378ba182c5c26c556ae34638afc38adef519"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Thu May 29 17:29:47 2014 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Mon Jun 02 09:59:22 2014 -0700"
      },
      "message": "Added workaround passing empty arg array for proxy invocation.\n\nThis recreates old Dalvik behavior for older target sdk versions,\nbut will still pass null for newer ones.\n\nBug: 13247236\n\n(cherry picked from commit 01d5a146e20660bd06f026c16f19ec080f8fdd7b)\n\nChange-Id: I911889cf559ad8d9f37ea9be3929387c86446851\n"
    },
    {
      "commit": "042cbb60dc25c16806b02d41dfad040861f727ad",
      "tree": "6007719e74a4c6a610c3a22c6a888d78e9ddfe5a",
      "parents": [
        "8928d4779c5cb4844e213cc483777c745d0749be",
        "8792ae10c0c2ed20c743806522eceeaf0e016e19"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Jun 02 16:07:44 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 02 16:07:44 2014 +0000"
      },
      "message": "Merge \"x86: art_quick_instrumentation_entry should not use offset address\""
    },
    {
      "commit": "8792ae10c0c2ed20c743806522eceeaf0e016e19",
      "tree": "9ab57f63a31950caf41f705c570938e6f4ace0ad",
      "parents": [
        "e4283be97047a26d3476acd3863dcc386498be17"
      ],
      "author": {
        "name": "Serguei Katkov",
        "email": "serguei.i.katkov@intel.com",
        "time": "Thu May 22 10:07:44 2014 +0700"
      },
      "committer": {
        "name": "Serguei Katkov",
        "email": "serguei.i.katkov@intel.com",
        "time": "Mon Jun 02 11:45:36 2014 +0700"
      },
      "message": "x86: art_quick_instrumentation_entry should not use offset address\n\nart_quick_instrumentation_entry uses offset of the address\ninstead of full adress but this address is used in ret instruction\nwhich does not expect it.\n\nChange-Id: I9e576037d7adf14a7e9fa8f6d4aba4ee540fcc14\nSigned-off-by: Serguei Katkov \u003cserguei.i.katkov@intel.com\u003e\n"
    },
    {
      "commit": "a309d76d4c9f4e5564b09708004bf4b2e3401bb3",
      "tree": "64390ebfb947779a72bf1c3cb950778d1c90b9bc",
      "parents": [
        "e4283be97047a26d3476acd3863dcc386498be17"
      ],
      "author": {
        "name": "Serguei Katkov",
        "email": "serguei.i.katkov@intel.com",
        "time": "Mon May 26 11:23:39 2014 +0700"
      },
      "committer": {
        "name": "Serguei Katkov",
        "email": "serguei.i.katkov@intel.com",
        "time": "Mon Jun 02 10:41:55 2014 +0700"
      },
      "message": "Fix GC race condition in visit roots\n\nWhile GC visits roots other code can change the set pending exception\ndue to lack of synchronization.\n\nChange-Id: If387944ac933a66fe176df066c3a0ea52131cad4\nSigned-off-by: Serguei Katkov \u003cserguei.i.katkov@intel.com\u003e\n"
    },
    {
      "commit": "b870823dd181571e10ecda58a6b5660e62bb18be",
      "tree": "849e595c9bac584e568676bb80607c7e795ade5a",
      "parents": [
        "b379e8d107b9131d9b6c7b48aea01f9866e4047b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri May 30 14:42:59 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri May 30 15:06:07 2014 -0700"
      },
      "message": "ART: Add thread safety test for LargeObjectSpace\n\nAdd a test that just calls Alloc and Free repeatedly with multiple\nthreads, checking whether things are really race-free.\n\nChange-Id: I39ea9e7449e3354b49c3aa11c27fcfeb07acff9f\n"
    },
    {
      "commit": "b379e8d107b9131d9b6c7b48aea01f9866e4047b",
      "tree": "1eed73cb1dd37de984e8f74b1870e3cf44c24404",
      "parents": [
        "e4e04bbd86d1131b9f380a52a46b1a3b83335d5f",
        "b74cd29802f364b4cec88f4913fa38ade26b8fab"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 30 21:15:32 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 30 21:15:32 2014 +0000"
      },
      "message": "Merge \"Compaction cleanup for FindArrayClass.\""
    },
    {
      "commit": "b74cd29802f364b4cec88f4913fa38ade26b8fab",
      "tree": "73ccdce1c5a6e57d5763cae1f889e53dca2b5e24",
      "parents": [
        "11138c73e0c5f8a90d1eeed3c48a2b63b310671c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 29 14:31:33 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 30 13:58:22 2014 -0700"
      },
      "message": "Compaction cleanup for FindArrayClass.\n\nWe now pass double pointer in to signify that it can cause thread\nsuspension, this double pointer gets wrapped by a handle if don\u0027t\nfind the array class in the cache.\n\nChange-Id: I43436b6c35597c7252b65d1180baddb5ac4caabb\n"
    },
    {
      "commit": "afa8e909b7fbf53cb45573c458c031d3174069c9",
      "tree": "e08823309fe910cbd7b3363e317a65c3a96d69f9",
      "parents": [
        "b413cd79c46b7c48ac763cb8152a55a4ed60fe9f",
        "c355a2a78d6ebdfdb645221275affb9136b4c667"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 30 20:24:53 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 30 20:24:53 2014 +0000"
      },
      "message": "Merge \"Fix race condition in MemMap::MapAnonymous.\""
    },
    {
      "commit": "c355a2a78d6ebdfdb645221275affb9136b4c667",
      "tree": "33e6ceb178ae6d82c630c5b34e216bc468276295",
      "parents": [
        "b7f02280f7f56ae94fe7f01e161be0b725b6e4a9"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 30 13:02:46 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 30 13:19:19 2014 -0700"
      },
      "message": "Fix race condition in MemMap::MapAnonymous.\n\nPreviously we were using MAP_FIXED which introduced a serious race\ncondition if MAP_32BIT was set since it would possibly overwrite\nan existing map at the address which we determined was free with\nmsync. There was a window of time after we had msynced a page where\nanother thread could map something at that page. The new method\navoids using MAP_FIXED and unmaps allocations which succeed but\naren\u0027t in the low 4GB when MAP_32BIT is set.\n\nBug: 15338094\nBug: 14974497\nChange-Id: I57f00baf4143e9fa17fb1d4c2be04b30705a2bfd\n"
    },
    {
      "commit": "b413cd79c46b7c48ac763cb8152a55a4ed60fe9f",
      "tree": "d4f09efe7ba5eb3891d26f3a8b1033b02bb72328",
      "parents": [
        "22460ecbaae7e489a3bc17a2adb2e7e9d0028f9c",
        "5cf98196d488437acd1e989c08a554ef697fded1"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri May 30 19:53:48 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 30 19:53:48 2014 +0000"
      },
      "message": "Merge \"Don\u0027t report down-calls as unhandled exceptions.\""
    },
    {
      "commit": "5cf98196d488437acd1e989c08a554ef697fded1",
      "tree": "dd44bc0120562169b701e80dbec413a179862beb",
      "parents": [
        "b7f02280f7f56ae94fe7f01e161be0b725b6e4a9"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu May 29 21:31:50 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri May 30 12:46:10 2014 -0700"
      },
      "message": "Don\u0027t report down-calls as unhandled exceptions.\n\nBug: 15310540\nAlso, narrow scope of catch/deoptimize stack visitors that are specific to\nquick exception delivery.\n\nChange-Id: Ib13a006ce1347acb93a36b0186550d4c3ec2034b\n"
    },
    {
      "commit": "c0cf944b21ff07963660b780fd5d3701cc9215ab",
      "tree": "59eff6400589de38d430efcc4eb6c565f02f2ade",
      "parents": [
        "6a7f45ee5401d3d0a5af8ce68bc3b22ae6d85555"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Fri May 30 11:25:06 2014 -0700"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Fri May 30 11:25:06 2014 -0700"
      },
      "message": "Switch on implicit checks and bump oat version to force recompilation\n\nThis switches on the compiler\u0027s implicit null pointer and stack\noverflow checks.  These use signals\n\nChange-Id: I7b536784bbca5f07e30379881a1eea6ab4c258ac\n"
    },
    {
      "commit": "c24234e9d6fea3d6d5451aa4fa14ca0c6e63f8bd",
      "tree": "b0db2530b500508dffc51ef209e5e921c6cb1f13",
      "parents": [
        "3326027d2cc52463db3786a860cf238e8feb349e",
        "da843e11bd5f2177a776c37de033228a7ea230af"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri May 30 18:14:35 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 30 18:14:36 2014 +0000"
      },
      "message": "Merge \"Another workaround for stack overflow issue with clang\""
    },
    {
      "commit": "b7f02280f7f56ae94fe7f01e161be0b725b6e4a9",
      "tree": "5fdb2a6e703c57890e9c35e8efd82a60a3156069",
      "parents": [
        "ac70051a6f97025b8a93390b2b5a62e491fc77ca",
        "cf4035a4c41ccfcc3e89a0cee25f5218a11b0705"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri May 30 16:46:04 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 30 16:46:04 2014 +0000"
      },
      "message": "Merge \"ART: Use StackReference in Quick Stack Frame\""
    },
    {
      "commit": "cf4035a4c41ccfcc3e89a0cee25f5218a11b0705",
      "tree": "323d9e98e6129c67e464a3e6857ee02593a2f2c2",
      "parents": [
        "29b53d3d715b1ec19349e8cbf7c5e4ff529bd5fe"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 28 22:43:01 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu May 29 20:50:49 2014 -0700"
      },
      "message": "ART: Use StackReference in Quick Stack Frame\n\nThe method reference at the bottom of a quick frame is a stack\nreference and not a native pointer. This is important for 64b\narchitectures, where the notions do not coincide.\n\nChange key methods to have StackReference\u003cmirror::ArtMethod\u003e*\nparameter instead of mirror::ArtMethod**. Make changes to\ninvoke stubs for 64b archs, change the frame setup for JNI code\n(both generic JNI and compilers), tie up loose ends.\n\nTested on x86 and x86-64 with host tests. On x86-64, tests succeed\nwith jni compiler activated. x86-64 QCG was not tested.\n\nTested on ARM32 with device tests.\n\nFix ARM64 not saving x19 (used for wSUSPEND) on upcalls.\n\nTested on ARM64 in interpreter-only + generic-jni mode.\n\nFix ARM64 JNI Compiler to work with the CL.\n\nTested on ARM64 in interpreter-only + jni compiler.\n\nChange-Id: I77931a0cbadd04d163b3eb8d6f6a6f8740578f13\n"
    },
    {
      "commit": "8e1ebf467a9c8fa504d7a90e03df6053ecdceeb3",
      "tree": "80cb9c2749053d7f8331d4f51602a65f6026f9fc",
      "parents": [
        "e4707ae7985a4f855b97f3b20d99fb55368f44ad"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 29 17:09:51 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 29 17:26:13 2014 -0700"
      },
      "message": "Change GetFreeMemory to use the growth limit.\n\nThis makes more sense since it is what the allocator uses. Also fixed\nsomewhere where we were not properly passing in whether or not it was\na large object allocation.\n\nBug: 15327879\nChange-Id: Ieab7af5427f5cdc2760390186b67e2c96d4bafa7\n"
    },
    {
      "commit": "822266b9dc7d8dc9e084192ae0f4bc95af4e8cf8",
      "tree": "6f9b2470d9f1bfa74bf53da3b3794ec8e6bf8d6f",
      "parents": [
        "31e7fcb904f03a504f082d25814ac4644b5073e4"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu May 29 16:55:06 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu May 29 16:55:06 2014 -0700"
      },
      "message": "Ignore catch blocks whose type can\u0027t be resolved.\n\nReverts change 72b3e430d880ef57eaa6a34a0822165994052202 but keeps unit test and\nmissing delete that would fail assertions on long jump context recycling.\n\nChange-Id: I926755e8b831b208aa7e1ce46421bef3793a1441\n"
    },
    {
      "commit": "b478dab31955402e9f78665f45a3fb24f8f17b77",
      "tree": "144152ea2f26b8426f189bbbfd3f2a31d63efb1c",
      "parents": [
        "8adc1d9d1dd3fabdde6f1ec1b0c735ea8bcbf8e8",
        "196851b634a5bfdd8ab3fb59a320e550b21b0f4d"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu May 29 21:14:56 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 29 21:14:56 2014 +0000"
      },
      "message": "Merge \"Add read barriers for the weak roots in the JNI weak globals.\""
    },
    {
      "commit": "8adc1d9d1dd3fabdde6f1ec1b0c735ea8bcbf8e8",
      "tree": "d08590f81eb25a8a484687ae39fb1d8f86ea74ce",
      "parents": [
        "ea0b6e284cab12eed88eebf6aa19e6292af57389",
        "f4b80bcc7190fe75023b983d56a795b440a0c515"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu May 29 19:51:32 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 29 19:51:32 2014 +0000"
      },
      "message": "Merge \"Make use of sigchainlib for signal chaining for implicit checks\""
    },
    {
      "commit": "196851b634a5bfdd8ab3fb59a320e550b21b0f4d",
      "tree": "f9fca2858b6213163d358c2eb2b2f88aa88a027b",
      "parents": [
        "ea0b6e284cab12eed88eebf6aa19e6292af57389"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu May 29 12:16:04 2014 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu May 29 12:37:49 2014 -0700"
      },
      "message": "Add read barriers for the weak roots in the JNI weak globals.\n\nBug: 12687968\nChange-Id: Ic265a0e162e8cc9edc4ab7fa34f8afd5ce968d08\n"
    },
    {
      "commit": "f4b80bcc7190fe75023b983d56a795b440a0c515",
      "tree": "f2858dab6a756444755b79e36467d6c9e15060f1",
      "parents": [
        "c774bd435e95e537ca578486f687651fabe97008"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Wed May 14 15:41:25 2014 -0700"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu May 29 08:22:38 2014 -0700"
      },
      "message": "Make use of sigchainlib for signal chaining for implicit checks\n\nThis adds a preload library that overrides sigaction and sigprocmask\nto implement signal chaining.  Signal chaining allows us to chain\nany signal so that the ART runtime receives it before any signal\nhandler registered in native code by an application.  If the\nART signal handler doesn\u0027t want it, it will pass it on to the\nuser\u0027s handler.\n\nART uses signals for null pointer checks, stack overflow checks and\nsuspend points.\n\nAlso adds an OAT test to test this in isolation.\n\nChange-Id: I9545f9f7343774c091410eb810504d9855fd399f\n"
    },
    {
      "commit": "2ac01fc279e8397beacf90302b0f215040eb78fa",
      "tree": "7690ca4d38a6ea5f33d9bb501c0d1ecb7186b3c6",
      "parents": [
        "c774bd435e95e537ca578486f687651fabe97008"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu May 22 12:09:08 2014 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu May 29 16:04:38 2014 +0100"
      },
      "message": "Improve tracking of memory locations in LVN.\n\nRewrite the tracking of values stored in memory to allow\nrecognizing the same value after storing it in memory and\nloading it back to vreg. Drop reliance on value name\nordering for memory versioning in preparation for GVN.\n\nAlso fix a few minor issues in LVN.\n\nChange-Id: Ifabe2d47d669d9ec43942cea6fd157e41af77ec8\n"
    },
    {
      "commit": "818cff4a2ba5ca3d9b5613956e56f12d0ff02d22",
      "tree": "6136cdbdf56b66d0c0d75cf1e5de575ee9d8dc57",
      "parents": [
        "e8aff40f8222ea75d2af89773156cb07fb8653c7",
        "cf790bb92d8e0dcc7b38da6873d982b9e9881682"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed May 28 21:52:50 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 28 21:52:51 2014 +0000"
      },
      "message": "Merge \"Fix DexFile.entries to return class names, not class descriptors\""
    },
    {
      "commit": "e8aff40f8222ea75d2af89773156cb07fb8653c7",
      "tree": "ec481d94d809374ee678f42864a07a6f74480c84",
      "parents": [
        "6d25996baef5037d0aa8beb2f517755f2fb7b91f",
        "bbdc5bc5fd5141711879a6c85d80ac45b7aad5d0"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed May 28 21:27:36 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 28 21:27:36 2014 +0000"
      },
      "message": "Merge \"Use a heap allocated free buffer in MarkSweep::SweepArray().\""
    },
    {
      "commit": "bbdc5bc5fd5141711879a6c85d80ac45b7aad5d0",
      "tree": "84c61c2029b9f4e7c4e3aabb880dd626f3f5dfaa",
      "parents": [
        "0130ba045e1397594f2c6a0dd48730349fe3cbed"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed May 28 14:04:59 2014 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed May 28 14:06:10 2014 -0700"
      },
      "message": "Use a heap allocated free buffer in MarkSweep::SweepArray().\n\nThis is for avoiding a large stack frame size.\n\nBug: 15278350\nChange-Id: I63e92c2dd0ad7078fd74ee2392717dc44b431e9a\n"
    },
    {
      "commit": "cf790bb92d8e0dcc7b38da6873d982b9e9881682",
      "tree": "42192286d73aa4ae815279b97977ce63e0ad1485",
      "parents": [
        "6d25996baef5037d0aa8beb2f517755f2fb7b91f"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed May 28 11:09:10 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed May 28 13:05:55 2014 -0700"
      },
      "message": "Fix DexFile.entries to return class names, not class descriptors\n\nBug: 15141726\n\n(cherry picked from commit f2f9daf9ba33b15abddfc8f8d03a708a7908b765)\n\nChange-Id: I28ce8aae1713a9826a3373e1eb60e0edf267f64c\n"
    },
    {
      "commit": "11138c73e0c5f8a90d1eeed3c48a2b63b310671c",
      "tree": "d5b59e83ccd0ef97b0109335eee52d0dae49f9a9",
      "parents": [
        "32f38c0775aba280fe02e8fafe0d35a5debc4eac",
        "4240c5112aedb174a3e1c1f071ea54e82168b130"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed May 28 19:38:53 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 28 19:38:53 2014 +0000"
      },
      "message": "Merge \"Don\u0027t create bump pointer spaces unless necessary.\""
    },
    {
      "commit": "4240c5112aedb174a3e1c1f071ea54e82168b130",
      "tree": "c858f3976cf0628e1cc3e0be1d0f4ad1aa578a2a",
      "parents": [
        "1b1aea22c0cc5567b5967590cb3f949cc45c3a9a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue May 27 10:10:11 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed May 28 12:22:23 2014 -0700"
      },
      "message": "Don\u0027t create bump pointer spaces unless necessary.\n\nWe now only create these spaces if the foreground or background\ncollector is a moving collector.\n\nBug: 13564922\nBug: 14059466\nChange-Id: I9f83c7881bc28423b78d5249c8e8854add91b60c\n"
    },
    {
      "commit": "1bd4872773184fb9f5f152c7bbf9856a8235d2af",
      "tree": "f00044ea6edf93e130dd89a30f88fb6c7c60b0ce",
      "parents": [
        "0130ba045e1397594f2c6a0dd48730349fe3cbed"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri May 23 19:58:15 2014 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed May 28 11:46:57 2014 -0700"
      },
      "message": "Add read barriers to the weak roots in the intern table.\n\nBug: 12687968\nChange-Id: I424f1df76a7e3d7154fb9f3c951c973d19bd640f\n"
    },
    {
      "commit": "0130ba045e1397594f2c6a0dd48730349fe3cbed",
      "tree": "42f1369f92b0be167d61a4d88d71290838bfba81",
      "parents": [
        "c5f94db4fc4841364bef5727a790b16cd14e241d",
        "447a914ab28fe7b295403189d550c2759b2777e4"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed May 28 18:04:31 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 28 18:04:32 2014 +0000"
      },
      "message": "Merge \"Allocate large enough space bitmaps for malloc spaces.\""
    },
    {
      "commit": "c5f94db4fc4841364bef5727a790b16cd14e241d",
      "tree": "35a35ab072557c2d765ae72309e2cf455d006e04",
      "parents": [
        "32c02c15b879174bb8ae13b964ba1f49eb5c6e70",
        "12e6d7446384a7a5fbec25fe116bbb271c62842e"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed May 28 17:34:38 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 28 17:34:38 2014 +0000"
      },
      "message": "Merge \"Add option to specify compiler executable.\""
    },
    {
      "commit": "da843e11bd5f2177a776c37de033228a7ea230af",
      "tree": "1d63ac9fdf4c9574571c8321f113d6beb29e0fe9",
      "parents": [
        "8b5b1e5593ffa77c393e4172b71a3d5a821d2ed8"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed May 28 19:28:31 2014 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed May 28 19:28:53 2014 +0200"
      },
      "message": "Another workaround for stack overflow issue with clang\n\nBug: 14882674\nChange-Id: I465fda533714021b39b847afe89e454758646b47\n"
    },
    {
      "commit": "0354e68a9b5214af0a633e05c48566ebaf5b6833",
      "tree": "bb7b860730ac9ab9d1caea6ebd945d9335bf8e93",
      "parents": [
        "9bec54430e8609765740fdc51d24ed3f3c907919",
        "a15a81b2bd6d08d131e0726ddb622d940ed3c6da"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Wed May 28 15:42:18 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 28 15:42:19 2014 +0000"
      },
      "message": "Merge \"Fix method tracing\u0027s handling of shadow frames on startup.\""
    },
    {
      "commit": "12e6d7446384a7a5fbec25fe116bbb271c62842e",
      "tree": "ced17862a2587c56cb53fe47b303841aac806dc6",
      "parents": [
        "9bec54430e8609765740fdc51d24ed3f3c907919"
      ],
      "author": {
        "name": "Tsu Chiang Chuang",
        "email": "tsu@google.com",
        "time": "Thu May 22 10:22:25 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue May 27 22:55:53 2014 -0700"
      },
      "message": "Add option to specify compiler executable.\n\nChange-Id: I973da5e74be5a62461caacbc708288fb95e1b99b\n"
    },
    {
      "commit": "a15a81b2bd6d08d131e0726ddb622d940ed3c6da",
      "tree": "5cff81681ceae0efa521582498af88bf4c0d74ee",
      "parents": [
        "33a60e47278d09acfa44d92ad85b1902b57a6b5b"
      ],
      "author": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue May 27 18:25:47 2014 -0700"
      },
      "committer": {
        "name": "Jeff Hao",
        "email": "jeffhao@google.com",
        "time": "Tue May 27 18:25:47 2014 -0700"
      },
      "message": "Fix method tracing\u0027s handling of shadow frames on startup.\n\nBug: 15142926\nChange-Id: I7d7896ec3f62f46a43578f536292db6e219d83f0\n"
    },
    {
      "commit": "9bec54430e8609765740fdc51d24ed3f3c907919",
      "tree": "cce41675bc4c8f968a3970cbb0e7965649f2d382",
      "parents": [
        "33a60e47278d09acfa44d92ad85b1902b57a6b5b",
        "6a58691356979164249c63cb3f98f5dbd75cc4bb"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue May 27 23:00:36 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 27 23:00:37 2014 +0000"
      },
      "message": "Merge \"Fix the problem of not shutting down the profiler in ART properly\""
    },
    {
      "commit": "67c482f6737343f3afbf214995d67d98b0b36c91",
      "tree": "7eedaa1f56f023b3fdf7654f9b60470658d729ba",
      "parents": [
        "6c35a6ba61a190cfd3698bba0aa14038a0867cfe",
        "055c29fd0f752328981f1b7ccadb1862eecedd40"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue May 27 21:43:47 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 27 21:43:48 2014 +0000"
      },
      "message": "Merge \"Art compiler: remove unnecessary sqrt call\""
    },
    {
      "commit": "055c29fd0f752328981f1b7ccadb1862eecedd40",
      "tree": "4eda9505576549f94e5810a4a45d8356395cf400",
      "parents": [
        "ab5b370e44629332e73ffd66bfe8b8a924236c5c"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue May 27 13:59:04 2014 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Tue May 27 13:59:04 2014 -0700"
      },
      "message": "Art compiler: remove unnecessary sqrt call\n\nFor reasons lost in the mists of time, the Dalvik JIT tested\nthe results of an inlined sqrt for NaN on Arm targets, and then\ncalled an out-of-line routine to recompute if true.  The Quick\ncompiler inherited this behavior.  It is not necessary, and the CL\npurges it (along with the out-of-line sqrt entrypoint).\n\nChange-Id: I8c8fa6feacf9b7c3b9e190dfc6f728932fd948c6\n"
    },
    {
      "commit": "e3b5cb502371aff7e7b7291facfc27b092e7803e",
      "tree": "2ac9381a9bc03778efd9f7328477900125864aa8",
      "parents": [
        "ab5b370e44629332e73ffd66bfe8b8a924236c5c",
        "c647564845429bd709ed3338c13f15063c2f9fd9"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue May 27 18:39:03 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 27 18:39:03 2014 +0000"
      },
      "message": "Merge \"Workaround apparent clang compilation issue\""
    },
    {
      "commit": "c647564845429bd709ed3338c13f15063c2f9fd9",
      "tree": "e6fdfb8d5d926240b96d7581e3ff2696b65167c8",
      "parents": [
        "1b1aea22c0cc5567b5967590cb3f949cc45c3a9a"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue May 27 11:14:12 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue May 27 11:32:47 2014 -0700"
      },
      "message": "Workaround apparent clang compilation issue\n\nBug: 15014252\n\n(cherry picked from commit ec80e7e1506e7099210399626b46cb8183534e70)\n\nChange-Id: I159d66764749e41d2a97e0912f796085b4fdb6e1\n"
    },
    {
      "commit": "ab5b370e44629332e73ffd66bfe8b8a924236c5c",
      "tree": "18aa702dcb792498003399ecf2257853e42b43a4",
      "parents": [
        "bbc66c5855fa4f36b6f94311607f0119a93d809a",
        "48241e786121e1c4c050d9cfad3d22de270a3e75"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@android.com",
        "time": "Tue May 27 18:08:40 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 27 18:08:40 2014 +0000"
      },
      "message": "Merge \"AArch64: Add suspend check in managed code.\""
    },
    {
      "commit": "6a58691356979164249c63cb3f98f5dbd75cc4bb",
      "tree": "259f792efd88017cf36f69df552ea002ec77a282",
      "parents": [
        "89bfb2be91b1b4db1ef62e82e9b9ae13dc975264"
      ],
      "author": {
        "name": "Wei Jin",
        "email": "wejin@google.com",
        "time": "Wed May 21 16:07:40 2014 -0700"
      },
      "committer": {
        "name": "Wei Jin",
        "email": "wejin@google.com",
        "time": "Tue May 27 09:13:52 2014 -0700"
      },
      "message": "Fix the problem of not shutting down the profiler in ART properly\n\nThis CL fixes the problem of not saving the last batch of profile data to the\nexternal file when the runtime exits before the end of the current iteration of\nprofile sampling. This problem was fixed by shutting down the ART profiler\nwhen the runtime exits and allowing the profiler to write the last batch of\ndata even it was signaled to shut down. This CL increases the precision of\nprofile data and fixes the bug that no data is saved if the duration of profile\nsampling specified by VM arguments (by default 20 seconds) is longer than the\nlength of a single execution because the profiler was never signaled when the\nruntime exits.\n\nChange-Id: I7cc4805b7e2a22a990d04a5b9724ad1d931d7152\nSigned-off-by: Wei Jin \u003cwejin@google.com\u003e\n"
    },
    {
      "commit": "7f0a6d6a699111e254a91c3980eb0522d4f8f0cd",
      "tree": "1cbd1b5c2f4d61b73eeb1a2e780235f6ca70fc68",
      "parents": [
        "ddb1a1604d5070828e857902c8596de27e2fe5f5"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 26 14:01:46 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 26 14:01:46 2014 +0100"
      },
      "message": "Fix x86_64 test failures.\n\nChange-Id: I97b3d1755d2e205ca7423248a2af37f1875d5116\n"
    },
    {
      "commit": "d6cec905b62dff38285b350e67d5e223346e6d66",
      "tree": "96e32830904eae3e64e6ad2798732f7870653180",
      "parents": [
        "30395fc865599619f22df7c99d7553b18304622c"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun May 25 16:08:51 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun May 25 22:25:22 2014 -0700"
      },
      "message": "Make DexFile content read only before running DexFileVerifier\n\n(cherry picked from commit 98725444129efe2b1b51c87740860caadaef2bf7)\n\nChange-Id: I18a932b2f19d44b820232f4d4e9c358df20ab364\n"
    },
    {
      "commit": "48241e786121e1c4c050d9cfad3d22de270a3e75",
      "tree": "593ab95d7c921a3e01222a41c751adf81464da29",
      "parents": [
        "cd9b4e287c20b14655d21e3f349733e80a5aaf23"
      ],
      "author": {
        "name": "Zheng Xu",
        "email": "zheng.xu@arm.com",
        "time": "Fri May 23 11:52:42 2014 +0800"
      },
      "committer": {
        "name": "Zheng Xu",
        "email": "zheng.xu@arm.com",
        "time": "Mon May 26 02:17:12 2014 +0000"
      },
      "message": "AArch64: Add suspend check in managed code.\n\nTODO: Remove x19 in the frame in runtime, generic jni, compiled jni.\n\nChange-Id: Ibdc292c9e7adb3a5d3eff353c22f60ffc101f549"
    },
    {
      "commit": "a79febb863a936810445df45e3e51d0eff4e39f8",
      "tree": "64c1e4f52e9ffc1a61dd9ed766387e872c1e851a",
      "parents": [
        "cd9b4e287c20b14655d21e3f349733e80a5aaf23",
        "0aa504b5bb19f0944d50941b20c8eeaca4165328"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sun May 25 21:14:29 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sun May 25 21:14:30 2014 +0000"
      },
      "message": "Merge \"Fix ExtractToMemMap to show original zip file name in ashmem\""
    },
    {
      "commit": "447a914ab28fe7b295403189d550c2759b2777e4",
      "tree": "66927bc9e25028ff1810a45b1e622ac16891cd7d",
      "parents": [
        "697726d42eaf804a1124c25dec58c2b0013a30e9"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri May 23 21:27:30 2014 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri May 23 21:42:27 2014 -0700"
      },
      "message": "Allocate large enough space bitmaps for malloc spaces.\n\nFix a bug that we don\u0027t allocate space bitmaps for a malloc space that\nare large enough to cover the non-growth-limited capacity.\n\nChange-Id: I2e99a70eb8cddc284dffafa2d2afcc2f0c9074c7\n"
    },
    {
      "commit": "d07a913797531a5cf6b81e623daaea21e8e5bcc3",
      "tree": "ee42dc65d16bf438a21958438d5f8c8e9ec91956",
      "parents": [
        "a911a4d2cac3e885298ac38f8ae6a85c9e9bc9b5"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 23 16:42:20 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 23 17:01:30 2014 -0700"
      },
      "message": "Improve invalid large object free dumping.\n\nBug: 14974497\nChange-Id: I30f99d693151ee5ae1f7b3d420519a0b1b21b2f4\n"
    },
    {
      "commit": "a911a4d2cac3e885298ac38f8ae6a85c9e9bc9b5",
      "tree": "e4225d66e818c06e84fea54ea86e71a54fc0532e",
      "parents": [
        "919ed6b2e2aa58a6153eb1d74edc29edc50d514a",
        "c179016fe188bef09487e777aa0fd861f5cdf067"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 23 23:30:35 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 23 23:30:35 2014 +0000"
      },
      "message": "Merge \"Add reserve area to allocation stacks.\""
    },
    {
      "commit": "a45714f2c55a3ed9b451c0d1e6ef887732899648",
      "tree": "58ebbcb45eca8c1eb6edb9e4dbf98e4d145b760f",
      "parents": [
        "66b68faa42cd36eb368f96c206b29c940ddda129",
        "748dd957eecbce2f379a3182ce95c19be308a54e"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri May 23 21:47:48 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 23 21:47:48 2014 +0000"
      },
      "message": "Merge \"[MIPS] Remove warnings about use of at register\""
    },
    {
      "commit": "66b68faa42cd36eb368f96c206b29c940ddda129",
      "tree": "ec8d7be0ffd659c3369c3a4f45d319b8be3c4892",
      "parents": [
        "52925af1e3136bcf68bc5754fbfa407950235217",
        "0cd81352a7c06e381951cea1b104fd73516f4341"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 23 21:10:42 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 23 21:10:42 2014 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Fix an outstanding compaction bug in interpreter.\"\"\""
    },
    {
      "commit": "0aa504b5bb19f0944d50941b20c8eeaca4165328",
      "tree": "8ec437c95a023c649dc96d9e88e2403d93c77392",
      "parents": [
        "52925af1e3136bcf68bc5754fbfa407950235217"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri May 23 02:47:28 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri May 23 13:52:01 2014 -0700"
      },
      "message": "Fix ExtractToMemMap to show original zip file name in ashmem\n\n(cherry picked from commit 1fca8e91f32dc8b13d3129b7ef4a0194839736e6)\n\nChange-Id: Id7d22600496b090ac32150c8c6424da89964b6be\n"
    },
    {
      "commit": "0cd81352a7c06e381951cea1b104fd73516f4341",
      "tree": "fcc8ff9cdeb608d0913097aa1fb64d1879f11ffa",
      "parents": [
        "dfd301f19800a4f168283cf2d0b15b2c09071955"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 22 16:48:55 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 23 12:55:45 2014 -0700"
      },
      "message": "Revert \"Revert \"Fix an outstanding compaction bug in interpreter.\"\"\n\nFixed the generic trampoline to not use ToJObject when unnecessary.\n\nBug: 15167269\n\nThis reverts commit 3bdb873122964da7937eb070cbcf2ef638a8e459.\n\nChange-Id: I0525d0e0f3afb753c770e1572070a0fa22b02271\n"
    },
    {
      "commit": "748dd957eecbce2f379a3182ce95c19be308a54e",
      "tree": "eeecdd8b25913ccc8b11dac550a8b3c9e57e5dd7",
      "parents": [
        "52925af1e3136bcf68bc5754fbfa407950235217"
      ],
      "author": {
        "name": "Chris Dearman",
        "email": "chris.dearman@imgtec.com",
        "time": "Fri May 23 10:47:01 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri May 23 12:20:09 2014 -0700"
      },
      "message": "[MIPS] Remove warnings about use of at register\n\nAlso, don\u0027t restore k0 and k1 as part of long jump as they are reserved for\nkernel usage.\n\nChange-Id: I4eec9eb5d21de96ca79f2cef9407a0e19c9c2178\n"
    },
    {
      "commit": "52925af1e3136bcf68bc5754fbfa407950235217",
      "tree": "1c479949aee9e14cd0e11772ea4cda11defbb458",
      "parents": [
        "cda4e2e6f4645a499a6b391053fdf4c85a1d3a16",
        "1d4d7bdafd0c3d4df7bf8e907b08db9669db7023"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri May 23 19:06:24 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 23 19:06:24 2014 +0000"
      },
      "message": "Merge \"ART: refactor x86/x86-64 entrypoints\""
    },
    {
      "commit": "06abcdfa518d1fe3cf87416f5bca6af1d0e2d569",
      "tree": "522a967761a9c37cce23a6d0e53eef6f54283f9e",
      "parents": [
        "82f3c1b76a19f196a482cad9d5c1aac769d5a397"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri May 23 11:39:11 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri May 23 11:39:11 2014 -0700"
      },
      "message": "Extra debug output for a failing lock check.\n\nChange-Id: If4abae535a875a06f4fa4203e6aabc1169b1f38e\n"
    },
    {
      "commit": "82f3c1b76a19f196a482cad9d5c1aac769d5a397",
      "tree": "92274ad77abaa3a8e86d28e38a3e68a990c6d365",
      "parents": [
        "ae19a731ccd62117d8b14e478caee5ac1b6251d2",
        "c3db20b7e6f847339d6ecbd89846c173a7ccc967"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri May 23 18:18:07 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 23 18:18:07 2014 +0000"
      },
      "message": "Merge \"ART: API to dex instructions\""
    },
    {
      "commit": "c179016fe188bef09487e777aa0fd861f5cdf067",
      "tree": "f7ab8bae6c7d99738c2a79882c555c7b08320c61",
      "parents": [
        "dfd301f19800a4f168283cf2d0b15b2c09071955"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 23 10:54:50 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 23 11:15:20 2014 -0700"
      },
      "message": "Add reserve area to allocation stacks.\n\nThis fixes an issue with heap verification which was caused when\nthe allocation stack overflowed. This resulted in heap verification\nfailures since we were storing the newly allocated object in a\nhandle scope without having it be live either in the live bitmap\nor allocation stack. We now push the object in the reserve area\nbefore we do a GC due to allocation stack overflow.\n\nChange-Id: I83b42c4b3250d7eaab1b49e53066e21c8656a740\n"
    },
    {
      "commit": "ae19a731ccd62117d8b14e478caee5ac1b6251d2",
      "tree": "51fc2db34a7d834e505db07877ff36732b456e6f",
      "parents": [
        "ec23021ceb9f91a424c524fbfbcc9de6fb21f2b1",
        "46960fe5dcc1be07b39a55114338423a73554449"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri May 23 18:14:40 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 23 18:14:40 2014 +0000"
      },
      "message": "Merge \"Make the specification of when we need precise constants more precise.\""
    }
  ],
  "next": "ec23021ceb9f91a424c524fbfbcc9de6fb21f2b1"
}
