)]}'
{
  "log": [
    {
      "commit": "e2aa56bf7985fe8a4747ae02d804a2587e4e2c5a",
      "tree": "d714a7f9e260ff57a78ae5ad3abd0b5a2a8c8959",
      "parents": [
        "0e472bc0a14ef9c2ea2369a4f4b2c8de66608bb9",
        "1694e021960e955d8e96f3f3b35da4cfe18d6dcf"
      ],
      "author": {
        "name": "Tsu Chiang Chuang",
        "email": "tsu@google.com",
        "time": "Thu May 15 17:08:31 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 15 17:08:32 2014 +0000"
      },
      "message": "Merge \"Declare variable for all art oat tests\""
    },
    {
      "commit": "1694e021960e955d8e96f3f3b35da4cfe18d6dcf",
      "tree": "d714a7f9e260ff57a78ae5ad3abd0b5a2a8c8959",
      "parents": [
        "0e472bc0a14ef9c2ea2369a4f4b2c8de66608bb9"
      ],
      "author": {
        "name": "Tsu Chiang Chuang",
        "email": "tsu@google.com",
        "time": "Thu May 15 09:59:33 2014 -0700"
      },
      "committer": {
        "name": "Tsu Chiang Chuang",
        "email": "tsu@google.com",
        "time": "Thu May 15 09:59:33 2014 -0700"
      },
      "message": "Declare variable for all art oat tests\n\nChange-Id: If0795928ab08bbce80479eec32b987662631b8cf\n"
    },
    {
      "commit": "0e472bc0a14ef9c2ea2369a4f4b2c8de66608bb9",
      "tree": "133a594b141e1957252cc2e70c8d071432ae11fe",
      "parents": [
        "777dda87f14575db960ec4fb5cfd9efb857a6588",
        "2298683aa99a842c45f6b6f0d03755b219b06659"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 15 16:43:53 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 15 16:43:54 2014 +0000"
      },
      "message": "Merge \"Improve large object free CHECK\""
    },
    {
      "commit": "2298683aa99a842c45f6b6f0d03755b219b06659",
      "tree": "133a594b141e1957252cc2e70c8d071432ae11fe",
      "parents": [
        "777dda87f14575db960ec4fb5cfd9efb857a6588"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 15 09:35:48 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 15 09:36:40 2014 -0700"
      },
      "message": "Improve large object free CHECK\n\nThe new CHECK prints the address of the object.\n\nBug: 14974497\n\nChange-Id: I8e9e9f66767a220330cc77ef6549529bb2ac4112\n"
    },
    {
      "commit": "777dda87f14575db960ec4fb5cfd9efb857a6588",
      "tree": "3a1d4da1bf1ec9c4397c52e084d1056939c34034",
      "parents": [
        "30b65201aa9c953433dbde1288e9b1b883042cd1",
        "93dcff30c9bea0d6c7ca3a71a1bf460336c3467d"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu May 15 16:20:42 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 15 16:20:42 2014 +0000"
      },
      "message": "Merge \"Fix CompilationUnit constructor issues.\""
    },
    {
      "commit": "93dcff30c9bea0d6c7ca3a71a1bf460336c3467d",
      "tree": "3a1d4da1bf1ec9c4397c52e084d1056939c34034",
      "parents": [
        "30b65201aa9c953433dbde1288e9b1b883042cd1"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu May 15 09:11:23 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu May 15 09:11:23 2014 -0700"
      },
      "message": "Fix CompilationUnit constructor issues.\n\nEnsure target64 is initialized. Switch from NULL to nullptr as the former gives\ncompilation errors with std::unique_ptr from libc++.\n\nChange-Id: I7153368d9324d10ef257f7c7ce9571a1753e5ba8\n"
    },
    {
      "commit": "30b65201aa9c953433dbde1288e9b1b883042cd1",
      "tree": "4d3cf7e7d88c9bdbdc678486cbb6f71237f0fa9e",
      "parents": [
        "4c6491ff7b37d984622c2380300f2c244b26e7d7",
        "84d49ccd79088eb9a9f423c0a96e3905468cfe7d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu May 15 14:45:44 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 15 14:45:44 2014 +0000"
      },
      "message": "Merge \"ART: Resolve MAP_32BIT limitation in x86_64\""
    },
    {
      "commit": "4c6491ff7b37d984622c2380300f2c244b26e7d7",
      "tree": "dfe7cea3baf8dc650dda8a41ae3f9140e47106d0",
      "parents": [
        "cdf05ab175c64adb49eb97d6dd35e885bbcad072",
        "7d2ae437a87ceb2bdda098ab11f4da588c6a75f5"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu May 15 09:30:08 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 15 09:30:08 2014 +0000"
      },
      "message": "Merge \"Fix build\""
    },
    {
      "commit": "7d2ae437a87ceb2bdda098ab11f4da588c6a75f5",
      "tree": "dfe7cea3baf8dc650dda8a41ae3f9140e47106d0",
      "parents": [
        "cdf05ab175c64adb49eb97d6dd35e885bbcad072"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu May 15 11:26:34 2014 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu May 15 11:26:57 2014 +0200"
      },
      "message": "Fix build\n\nFix format error.\n\nChange-Id: Ic793c52f46d645bf88ea6b28d5b4fa1bdb315a20\n"
    },
    {
      "commit": "cdf05ab175c64adb49eb97d6dd35e885bbcad072",
      "tree": "8ff69a58a36eead9f4b6479c49e5309c0128e518",
      "parents": [
        "3b9097d502fbe47ec897db3ab64f70b5e0d309c9",
        "42cd43fa593e8f0427eb0ec158bef08814a6180b"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu May 15 08:10:45 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 15 08:10:45 2014 +0000"
      },
      "message": "Merge \"Register debugger for interesting instrumentation events only\""
    },
    {
      "commit": "42cd43fa593e8f0427eb0ec158bef08814a6180b",
      "tree": "ad4231ee8a812e7702ddefdf6c9b9061a178d674",
      "parents": [
        "e1910f1d802dff79bba5ef61e1c4fd0b95f6e5b0"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue May 13 14:15:41 2014 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu May 15 09:25:48 2014 +0200"
      },
      "message": "Register debugger for interesting instrumentation events only\n\nThis avoids the overhead of notifying events (like method entry/exit, field\nread/write, ...) from the interpreter when they are not requested on the JDWP\nside. It also avoids burning JDWP ids for objects and classes before we find\nout we do not need to report the event.\n\nWhen we register a JDWP event (like a breakpoint), we add the debugger as\na listener for the corresponding instrumentation event (like kDexPcChanged).\nOn the other hand, when a JDWP event is cleared, we remove the debugger as a\nlistener for the corresponding instrumentation event. To control we add/remove\nthe debugger as listener only once per instrumentation event, we use reference\ncounting.\n\nLike deoptimization, we can update instrumentation listeners only when when all\nmutator threads are suspended. To add or remove the debugger as listener, we\nextend the support of deoptimization requests to a more general support dealing\nwith instrumentation requests.\nWe add kRegisterForEvent and kUnregisterForEvent request kinds, respectively to\nadd or remove the debugger as a listener for a given instrumentation event.\nNote: we will rename the related classes, methods, ... to avoid pollution in\nthe code review.\n\nThis CL also fixes Instrumentation::IsActive to take field read/write events\ninto account.\n\nBug: 14401699\nBug: 14826953\nChange-Id: Ic896469e82a8589de419ebea4b9dc3116925f3ab\n"
    },
    {
      "commit": "3b9097d502fbe47ec897db3ab64f70b5e0d309c9",
      "tree": "11dffdbce19d9afe55dd6a39976253d1750c7f99",
      "parents": [
        "be02a596e16d99d74a5d906f67be923d4df79bee",
        "8379b2256be5d2be4ad083a76e9f8ec403c4d405"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu May 15 06:56:11 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 15 06:56:13 2014 +0000"
      },
      "message": "Merge \"Combine JDWP location events\""
    },
    {
      "commit": "84d49ccd79088eb9a9f423c0a96e3905468cfe7d",
      "tree": "30502e3c3f73000b2e49124cbd2da86d429036d8",
      "parents": [
        "23d2b95b1d1c92898336a4ebf5c0281f79fb7581"
      ],
      "author": {
        "name": "Qiming Shi",
        "email": "qiming.shi@intel.com",
        "time": "Thu Apr 24 15:38:41 2014 +0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 14 19:38:09 2014 -0700"
      },
      "message": "ART: Resolve MAP_32BIT limitation in x86_64\n\nAdd checks that ensure when low4gb is set and an expected pointer\nis given the requested memory fits into 4GB.\n\nOn x86_64, only use MAP_32BIT when there is no expected pointer.\nThis avoids a limitation in mmap (only 2GB visible).\n\nAdd tests to check behavior.\n\nOriginal Author: Qiming Shi \u003cqiming.shi@intel.com\u003e\nChange-Id: Ia2e3e0a46764ef70126b0c264f1fae681622d3cb\n"
    },
    {
      "commit": "be02a596e16d99d74a5d906f67be923d4df79bee",
      "tree": "67e2a2a07513e9b0d1945f9dfd13bdb9398be141",
      "parents": [
        "23d2b95b1d1c92898336a4ebf5c0281f79fb7581",
        "a2eca52f55e545c6f90807ce8bbf778495c4a6f6"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu May 15 01:19:02 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 15 01:19:03 2014 +0000"
      },
      "message": "Merge \"ART: Fix oat_test for 64b\""
    },
    {
      "commit": "a2eca52f55e545c6f90807ce8bbf778495c4a6f6",
      "tree": "67e2a2a07513e9b0d1945f9dfd13bdb9398be141",
      "parents": [
        "23d2b95b1d1c92898336a4ebf5c0281f79fb7581"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 14 17:37:41 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 14 17:43:12 2014 -0700"
      },
      "message": "ART: Fix oat_test for 64b\n\nThe QuickEntryPoints structure has a size dependent on the pointer\nsize.\n\nChange-Id: I369353200430a6ccaccded7589105312fd411b97\n"
    },
    {
      "commit": "23d2b95b1d1c92898336a4ebf5c0281f79fb7581",
      "tree": "f07e46223e01f86316ccb4ee2e0ecb560476ee20",
      "parents": [
        "6d0a70206867933a715b93800fc703f4a044ae3c",
        "72b3e430d880ef57eaa6a34a0822165994052202"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu May 15 00:35:31 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 15 00:35:31 2014 +0000"
      },
      "message": "Merge \"ART: Fix typo in ArtMethod::FindCatchBlock\""
    },
    {
      "commit": "72b3e430d880ef57eaa6a34a0822165994052202",
      "tree": "b102b12d67e6cbc5cf0e6dc4e4ca147325264a43",
      "parents": [
        "d0916f36d27b643bca970f3645c38f44270c74ef"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 13 21:42:05 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 14 17:33:52 2014 -0700"
      },
      "message": "ART: Fix typo in ArtMethod::FindCatchBlock\n\nThe thrown exception is always resolved, as we have an instance of\nit. What is potentially not resolved is the catch handler\u0027s exception\ntype.\n\nThe resolution failure will trigger a NoClassDefFoundError, which\nshould replace the original exception. For this, the API has to be\nchanged a little bit to tell callers that there was this change.\n\nChange-Id: Id51d54a15c732ed175eb617b3b0331b89cbb2051\n"
    },
    {
      "commit": "6d0a70206867933a715b93800fc703f4a044ae3c",
      "tree": "fb275c2e41fb217b234955e92ffa7685617e125b",
      "parents": [
        "9c16a9a9aaa33b5817a35112c29f512c963072ed",
        "a1ee14fc66a3c99bb7d5744ace881ec93c46f59d"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 15 00:32:14 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 15 00:32:14 2014 +0000"
      },
      "message": "Merge \"Fix race in inflating thin locks.\""
    },
    {
      "commit": "a1ee14fc66a3c99bb7d5744ace881ec93c46f59d",
      "tree": "2cd8d531b587125a364a6dc8d90b0d882715d01d",
      "parents": [
        "421c53742610c053543f8c84e04d5e0c5185d68c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed May 14 16:51:03 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed May 14 17:05:03 2014 -0700"
      },
      "message": "Fix race in inflating thin locks.\n\nBefore we were inflating the lock word in the blocked state, this\nmeant that the garbage collector could be running at this point\nresulting in the lock word changing from underneath us.\n\nBug: 14881707\nChange-Id: If8897b2572a1b29a3cf44e5eb2e11c186236f519\n"
    },
    {
      "commit": "9c16a9a9aaa33b5817a35112c29f512c963072ed",
      "tree": "7240b33321fcc411496b860582670dc535696fa9",
      "parents": [
        "8dcecbc7ef9589959c901d7ad137af4414d6a096",
        "d5ca7b3db10875a6441cd55b90fcb72b0e243b9b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 14 23:55:45 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 14 23:55:45 2014 +0000"
      },
      "message": "Merge \"ART: Fix PWD in oat tests\""
    },
    {
      "commit": "8dcecbc7ef9589959c901d7ad137af4414d6a096",
      "tree": "6db4fc46e57165ce52631614208c174ac3256be7",
      "parents": [
        "33f109aff3c85379c7db3b4a2cdb1730d8afe508",
        "430e3771e7aa367d53bb6bcb26016cc74155303a"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed May 14 23:47:34 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 14 23:47:34 2014 +0000"
      },
      "message": "Merge \"Declare variable for all art dex tests.\""
    },
    {
      "commit": "33f109aff3c85379c7db3b4a2cdb1730d8afe508",
      "tree": "f20f53e8e4e54116a235791837a0cf7a1ec00ff7",
      "parents": [
        "a1926cdbd05314accb55cc7d8fcb37fb361bbf8a",
        "675967d981a3d17aaedf4ca6e07cc3a76e066921"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 14 23:36:59 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 14 23:36:59 2014 +0000"
      },
      "message": "Merge \"ART: Fix comments for dmb\""
    },
    {
      "commit": "675967d981a3d17aaedf4ca6e07cc3a76e066921",
      "tree": "b9df06287aa4e68581d726fc51e7d6af76a510df",
      "parents": [
        "d0916f36d27b643bca970f3645c38f44270c74ef"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 14 16:28:34 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 14 16:28:34 2014 -0700"
      },
      "message": "ART: Fix comments for dmb\n\nUpdate the comments to mention correct barrier type.\n\nBug: 14680557\nChange-Id: I26df43078c189cf16cc65e99b851981cbd063017\n"
    },
    {
      "commit": "a1926cdbd05314accb55cc7d8fcb37fb361bbf8a",
      "tree": "0fa125c44bee6c6e7b6d9dccaedb7907a9a123d7",
      "parents": [
        "5200a9bc07e9b27dbe9c95a3043ba8265128b1a3",
        "9b9dec8bbcb812315eb0b68b3465c6c567f09527"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 14 23:18:50 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 14 23:18:52 2014 +0000"
      },
      "message": "Merge \"ART: Fix ARM dmb placement in monitor-exit\""
    },
    {
      "commit": "d5ca7b3db10875a6441cd55b90fcb72b0e243b9b",
      "tree": "e35d323700ba9b2f5f358deed38016e5339877fd",
      "parents": [
        "d0916f36d27b643bca970f3645c38f44270c74ef"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 14 15:33:03 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed May 14 15:33:03 2014 -0700"
      },
      "message": "ART: Fix PWD in oat tests\n\nPWD is not correct when OUT_DIR_COMMON_BASE is set to build into\na different out directory. Replace with $(realpath X).\n\nChange-Id: I050bb859271c21ee1ecabbacd8c40669ae34accb\n"
    },
    {
      "commit": "5200a9bc07e9b27dbe9c95a3043ba8265128b1a3",
      "tree": "ef338fa58b323cd49db6eda4ace4388831d0a2eb",
      "parents": [
        "5493f0b59b31453c725a32da7de3b6b60c3df713",
        "421c53742610c053543f8c84e04d5e0c5185d68c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed May 14 22:28:33 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 14 22:28:33 2014 +0000"
      },
      "message": "Merge \"Address comments from HandleScope change.\""
    },
    {
      "commit": "5493f0b59b31453c725a32da7de3b6b60c3df713",
      "tree": "2819f90cc797e2eb011f62ad0ca0833c9f2a7120",
      "parents": [
        "cbfb8b2f30de46632d3499a838661765451845c5",
        "1ee99352d85a07558688365dba70e9aa8f476c03"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed May 14 21:39:18 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 14 21:39:18 2014 +0000"
      },
      "message": "Merge \"64-bit build fix.\""
    },
    {
      "commit": "1ee99352d85a07558688365dba70e9aa8f476c03",
      "tree": "0a6b4605221824730e6d3c634c135d1f95258298",
      "parents": [
        "2d10b206f9d0b97396b7dadb9a6415cd39efd341"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed May 14 14:38:16 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed May 14 14:38:16 2014 -0700"
      },
      "message": "64-bit build fix.\n\nsizeof vs jlong comparison.\n\nChange-Id: I6d9377e71169911201b2342d914ac014eb9c0b4a\n"
    },
    {
      "commit": "421c53742610c053543f8c84e04d5e0c5185d68c",
      "tree": "8cd10900e452dc77f0637f9ee18f3e4347ea4b9f",
      "parents": [
        "d0916f36d27b643bca970f3645c38f44270c74ef"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed May 14 14:11:40 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed May 14 14:11:40 2014 -0700"
      },
      "message": "Address comments from HandleScope change.\n\nFor:\nhttps://android-review.googlesource.com/#/c/93793\n\nChange-Id: I020d22a1508bf4f1770e6806d70e4fbb9a0fa0ab\n"
    },
    {
      "commit": "cbfb8b2f30de46632d3499a838661765451845c5",
      "tree": "1c1e2bacb0dd16a7bb22cf26cbd7ad84d6a7f370",
      "parents": [
        "6099df8c0695a81a8f25c47ff801998b12d09d1b",
        "2d10b206f9d0b97396b7dadb9a6415cd39efd341"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed May 14 19:09:45 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 14 19:09:45 2014 +0000"
      },
      "message": "Merge \"Ensure JNI primitive array type is appropriate.\""
    },
    {
      "commit": "2d10b206f9d0b97396b7dadb9a6415cd39efd341",
      "tree": "032625cf6175d1749739bca3c9d673b027ba92c1",
      "parents": [
        "6fb66a2bc4e1c0b7931101153e58714991237af7"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon May 12 19:15:18 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed May 14 12:03:16 2014 -0700"
      },
      "message": "Ensure JNI primitive array type is appropriate.\n\nCheck the primitive array type for GetPrimitiveArray, ReleasePrimitiveArray,\nGetPrimitiveArrayRegion and SetPrimitiveArrayRegion matches the given array\ntype. Check the GetPrimitiveArrayCritical and ReleasePrimitiveArrayCritical are\ngiven a primitive array.\nAdd unit tests that null parameters lead to fatal errors, not crashes. Fix\nissues where CheckJNI assumed non-null arguments.\nTidy testing code via the use of nullptr. Add a few extra checks.\nEnsure arrays of void are not able to be created, use RI compatible\nNoClassDefError.\n\nBug: 14817823\n\nChange-Id: I9903bcd800d0da1988ced07f61fb97b783c5deab\n"
    },
    {
      "commit": "430e3771e7aa367d53bb6bcb26016cc74155303a",
      "tree": "315b22103f1d09f1a58fbb6e64069f1679a533db",
      "parents": [
        "c2ffcecb61e474f29f3c6a8721dfd00e0252b1f8"
      ],
      "author": {
        "name": "Tsu Chiang Chuang",
        "email": "tsu@google.com",
        "time": "Tue May 13 15:27:13 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed May 14 10:51:21 2014 -0700"
      },
      "message": "Declare variable for all art dex tests.\n\nChange-Id: Icd073e99ebf6bc8eb2bcc715685b0def9d133b85\n"
    },
    {
      "commit": "6099df8c0695a81a8f25c47ff801998b12d09d1b",
      "tree": "4c801c5dc41290a7e7a1cbc2915a357a416ecd7e",
      "parents": [
        "c2ffcecb61e474f29f3c6a8721dfd00e0252b1f8",
        "3ac05bba3eadccb33d26b41d9797f63e8378125f"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed May 14 16:27:53 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 14 16:27:53 2014 +0000"
      },
      "message": "Merge \"Remove ISA from boot image name.\""
    },
    {
      "commit": "3ac05bba3eadccb33d26b41d9797f63e8378125f",
      "tree": "4c801c5dc41290a7e7a1cbc2915a357a416ecd7e",
      "parents": [
        "c2ffcecb61e474f29f3c6a8721dfd00e0252b1f8"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue May 13 19:31:38 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed May 14 09:25:34 2014 -0700"
      },
      "message": "Remove ISA from boot image name.\n\nPartially reverts b9beb2e2efb6a204a69ca660d478b45f851e8f09\n\nBug: 14882223\n\n(cherry picked from commit 3da44327c8306bb354c0163a7c7779dea6eeb38a)\n\nChange-Id: Idc9266a97d1047434c110ef140e2f2708c4aadef\n"
    },
    {
      "commit": "c2ffcecb61e474f29f3c6a8721dfd00e0252b1f8",
      "tree": "34d20940d660098d0bb813cec0a1dd8aadca3f69",
      "parents": [
        "f54fcba62745f897b9e741594dc5f4b2143601f6",
        "f635e63318447ca04731b265a86a573c9ed1737c"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 14 13:27:44 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 14 13:27:45 2014 +0000"
      },
      "message": "Merge \"Add a compilation tracing mechanism to the new compiler.\""
    },
    {
      "commit": "f635e63318447ca04731b265a86a573c9ed1737c",
      "tree": "47cab84a6ac47d8a4f5f281e3eabdf1780f220d0",
      "parents": [
        "d115735fe5523ff72319f0968f773683323c7f79"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 14 09:43:38 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed May 14 14:26:11 2014 +0100"
      },
      "message": "Add a compilation tracing mechanism to the new compiler.\n\nCode mostly imported from: https://android-review.googlesource.com/#/c/81653/.\n\nChange-Id: I150fe942be0fb270e03fabb19032180f7a065d13\n"
    },
    {
      "commit": "f54fcba62745f897b9e741594dc5f4b2143601f6",
      "tree": "c3e6f99deb651b6cca681395cf5168eb6c67b877",
      "parents": [
        "5c13d43f69a5c893b4ee7abf02772ad526b3d263",
        "26ee07a9dbdff5d7ea61ff412e5fb7f510972aad"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@android.com",
        "time": "Wed May 14 13:24:39 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 14 13:24:39 2014 +0000"
      },
      "message": "Merge \"Support any cpu register sequence in LoadArgRegs\""
    },
    {
      "commit": "5c13d43f69a5c893b4ee7abf02772ad526b3d263",
      "tree": "7a84542f6047724e31a376d4ec2b7b67c98088c5",
      "parents": [
        "d115735fe5523ff72319f0968f773683323c7f79",
        "9bf549d472462e4d1888a97c218a8c26fe3bfefb"
      ],
      "author": {
        "name": "Bill Buzbee",
        "email": "buzbee@android.com",
        "time": "Wed May 14 13:22:45 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 14 13:22:45 2014 +0000"
      },
      "message": "Merge \"x86_64: Handle UnsafeGet/Put equal to x86\""
    },
    {
      "commit": "d115735fe5523ff72319f0968f773683323c7f79",
      "tree": "bbc1edd4e14faf70c048f99d30a144857ee32fc4",
      "parents": [
        "d0916f36d27b643bca970f3645c38f44270c74ef",
        "c93ac8b73b5772e43b6dd1cc9e1deee79ca68849"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed May 14 10:23:03 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 14 10:23:04 2014 +0000"
      },
      "message": "Merge \"Fix special getter/setter to use RegClassForFieldLoadStore().\""
    },
    {
      "commit": "c93ac8b73b5772e43b6dd1cc9e1deee79ca68849",
      "tree": "12167d8a9d26cbbec96737d25b0f9d2466900b2d",
      "parents": [
        "ad930da1d67968600aab8441c24f5c4cc6e001bd"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 13 17:53:49 2014 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed May 14 10:24:49 2014 +0100"
      },
      "message": "Fix special getter/setter to use RegClassForFieldLoadStore().\n\nThis ensures correct register class is used for volatile\nload/store in these getters and setters.\n\nBug: 14112919\nChange-Id: Ib7aa83d441fb007e97f9acc2a778bc20ffed837c\n"
    },
    {
      "commit": "26ee07a9dbdff5d7ea61ff412e5fb7f510972aad",
      "tree": "1dc424e41913cc598411bb24a49ab56b5b043d3c",
      "parents": [
        "d0916f36d27b643bca970f3645c38f44270c74ef"
      ],
      "author": {
        "name": "Dmitry Petrochenko",
        "email": "dmitry.petrochenko@intel.com",
        "time": "Tue May 13 12:58:19 2014 +0700"
      },
      "committer": {
        "name": "Dmitry Petrochenko",
        "email": "dmitry.petrochenko@intel.com",
        "time": "Wed May 14 10:39:58 2014 +0700"
      },
      "message": "Support any cpu register sequence in LoadArgRegs\n\nThe LoadArgRegs was designed only for case when\narg1.reg \u003c arg2.reg \u003c arg3.reg which is not true for x86_64 ABI.\nNow LoadArgRegs supports three args passed by any cpu register.\n\nChange-Id: I62f58c47ec12b8e3f8124724cb3b5371dde8173f\nSigned-off-by: Dmitry Petrochenko \u003cdmitry.petrochenko@intel.com\u003e\n"
    },
    {
      "commit": "9bf549d472462e4d1888a97c218a8c26fe3bfefb",
      "tree": "5d45f342f51a44536f76c1ff9edf4bb33dbafcac",
      "parents": [
        "d0916f36d27b643bca970f3645c38f44270c74ef"
      ],
      "author": {
        "name": "Dmitry Petrochenko",
        "email": "dmitry.petrochenko@intel.com",
        "time": "Mon May 12 11:14:46 2014 +0700"
      },
      "committer": {
        "name": "Dmitry Petrochenko",
        "email": "dmitry.petrochenko@intel.com",
        "time": "Wed May 14 10:36:03 2014 +0700"
      },
      "message": "x86_64: Handle UnsafeGet/Put equal to x86\n\nThis patch extends \"Handle x86_64 architecture equal to x86\"\nand covers UnsafeGet/UnsafePut.\n\nChange-Id: Ib07cfc217c7825cff0b49cfbb9151452d62b1b68\nSigned-off-by: Dmitry Petrochenko \u003cdmitry.petrochenko@intel.com\u003e\n"
    },
    {
      "commit": "9b9dec8bbcb812315eb0b68b3465c6c567f09527",
      "tree": "f932bc2f8e60cf2aceb71c48cbb580460712a2cf",
      "parents": [
        "d0916f36d27b643bca970f3645c38f44270c74ef"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 13 19:01:42 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 13 19:01:42 2014 -0700"
      },
      "message": "ART: Fix ARM dmb placement in monitor-exit\n\nThis moves the dmb in quick-compiled monitor-exit before the str\nperfoming the unlock.\n\nChange-Id: I231f98ff21eb7bac45b4a1b7ff57316deeb858cc\n"
    },
    {
      "commit": "d0916f36d27b643bca970f3645c38f44270c74ef",
      "tree": "ae06103a9e0af30fba75ba626655c5e8c43b3469",
      "parents": [
        "20cdc069f06f34828e51bcf89597bebe5df445d5",
        "5131638f826b74c4e2af62b8ac70eeef1232c99b"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue May 13 22:06:27 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 13 22:06:28 2014 +0000"
      },
      "message": "Merge \"dex2oat: convert NULL to nullptr\""
    },
    {
      "commit": "5131638f826b74c4e2af62b8ac70eeef1232c99b",
      "tree": "ae06103a9e0af30fba75ba626655c5e8c43b3469",
      "parents": [
        "20cdc069f06f34828e51bcf89597bebe5df445d5"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue May 13 14:59:37 2014 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue May 13 15:05:24 2014 -0700"
      },
      "message": "dex2oat: convert NULL to nullptr\n\nChange-Id: I658511212f7ab265de473e198f8fe3625bbc9b46\n"
    },
    {
      "commit": "20cdc069f06f34828e51bcf89597bebe5df445d5",
      "tree": "916f48e3aa5c688fb5b0642f4a6963f595b64a93",
      "parents": [
        "b720c4b7c6e484c9d0740d805c8d7c3dbeb2a545",
        "d5185344e19d9feb7ac268369e0af6a467d1cb48"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue May 13 22:03:04 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 13 22:03:05 2014 +0000"
      },
      "message": "Merge \"Changes for vogar compatibility\""
    },
    {
      "commit": "b720c4b7c6e484c9d0740d805c8d7c3dbeb2a545",
      "tree": "5eb89df06f7baa0606571484ffcf0acf7c6427f2",
      "parents": [
        "2757fa0194d96f18c8a276c76008a3aa0fe1df9f",
        "eb8167a4f4d27fce0530f6724ab8032610cd146b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue May 13 21:51:45 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 13 21:51:47 2014 +0000"
      },
      "message": "Merge \"Add Handle/HandleScope and delete SirtRef.\""
    },
    {
      "commit": "d5185344e19d9feb7ac268369e0af6a467d1cb48",
      "tree": "bf5e7174ff631a86b5776ff6ddfa0dfa9de810fb",
      "parents": [
        "a47dcbf4bc226b5bbf30618fc052e7c79672af7a"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue May 13 14:47:05 2014 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue May 13 14:47:11 2014 -0700"
      },
      "message": "Changes for vogar compatibility\n\nMake sure dex2oat can make an image with an empty list of image_classes.\nAdd in some checks to make sure that no bad arguments sneak into\nCompilerDriver.\n\nIf we\u0027re not on the ART_TARGET, we should check for the \"hostdex\"\nversions of the libraries to substitute in our libart version.\n\nChange-Id: I5e8485c6089d25664492f0217b43ef64ca84c061\n"
    },
    {
      "commit": "eb8167a4f4d27fce0530f6724ab8032610cd146b",
      "tree": "bcfeaf13ad78f2dd68466bbd0e20c71944f7e854",
      "parents": [
        "6fb66a2bc4e1c0b7931101153e58714991237af7"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed May 07 15:43:14 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue May 13 14:45:54 2014 -0700"
      },
      "message": "Add Handle/HandleScope and delete SirtRef.\n\nDelete SirtRef and replaced it with Handle. Handles are value types\nwhich wrap around StackReference*.\n\nRenamed StackIndirectReferenceTable to HandleScope.\n\nAdded a scoped handle wrapper which wraps around an Object** and\nrestores it in its destructor.\n\nRenamed Handle::get -\u003e Get.\n\nBug: 8473721\n\nChange-Id: Idbfebd4f35af629f0f43931b7c5184b334822c7a\n"
    },
    {
      "commit": "2757fa0194d96f18c8a276c76008a3aa0fe1df9f",
      "tree": "ab7e5e25c9e0ff1453ec28be7b37d7ff4965f2fe",
      "parents": [
        "a47dcbf4bc226b5bbf30618fc052e7c79672af7a",
        "3c0335735e9e8963003eeabb984e5208731d972e"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 13 21:05:04 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 13 21:05:04 2014 +0000"
      },
      "message": "Merge \"ART: Run cctest_vixl in test-art-host\""
    },
    {
      "commit": "a47dcbf4bc226b5bbf30618fc052e7c79672af7a",
      "tree": "265ce7e9532843439ae49b652818150536933763",
      "parents": [
        "6fb66a2bc4e1c0b7931101153e58714991237af7",
        "78150c726559f0fe0828bcd4f320ba5c9c3e7cb0"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 13 18:31:32 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 13 18:31:33 2014 +0000"
      },
      "message": "Merge \"x86_64: Fix issues in entrypoints\""
    },
    {
      "commit": "78150c726559f0fe0828bcd4f320ba5c9c3e7cb0",
      "tree": "5064923d9be2e721a2d3a423cf3633a1bf3412d8",
      "parents": [
        "cd6e04f738ee17b3e8ec51c1f14d636fa2a89a55"
      ],
      "author": {
        "name": "Dmitry Petrochenko",
        "email": "dmitry.petrochenko@intel.com",
        "time": "Mon May 05 20:21:51 2014 +0700"
      },
      "committer": {
        "name": "Dmitry Petrochenko",
        "email": "dmitry.petrochenko@intel.com",
        "time": "Wed May 14 01:29:59 2014 +0700"
      },
      "message": "x86_64: Fix issues in entrypoints\n\nMinor fixes, also avoiding duplicate restore\nin art_quick_resolution_trampoline (084-class-init issue)\n\nChange-Id: I9991accb286c3ea231054d5eeb6eefc229df80f6\nSigned-off-by: Dmitry Petrochenko \u003cdmitry.petrochenko@intel.com\u003e\n"
    },
    {
      "commit": "6fb66a2bc4e1c0b7931101153e58714991237af7",
      "tree": "ecfef301ae9ff68f0d6f8ceb94add5ce38691b79",
      "parents": [
        "ad930da1d67968600aab8441c24f5c4cc6e001bd",
        "c0480ef26970892e980241a7248f520d4bb1c4b2"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 13 16:47:50 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 13 16:47:50 2014 +0000"
      },
      "message": "Merge \"Fix includes for arch_test.cc.\""
    },
    {
      "commit": "c0480ef26970892e980241a7248f520d4bb1c4b2",
      "tree": "ecfef301ae9ff68f0d6f8ceb94add5ce38691b79",
      "parents": [
        "ad930da1d67968600aab8441c24f5c4cc6e001bd"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 13 17:45:46 2014 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 13 17:45:46 2014 +0100"
      },
      "message": "Fix includes for arch_test.cc.\n\nChange-Id: I1be8f30c7fb173568afa90764eb5909c3c230c94\n"
    },
    {
      "commit": "ad930da1d67968600aab8441c24f5c4cc6e001bd",
      "tree": "8ce7f544da7b4b0be26d19e85c70e2861b068da1",
      "parents": [
        "6f2b602999a9b5253de98e4c8749f821b0046ac2",
        "7624d25dad2d1ba25969ae704fccf68649103ae5"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 13 15:56:12 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 13 15:56:14 2014 +0000"
      },
      "message": "Merge \"Move quick frame info to OatQuickMethodHeader.\""
    },
    {
      "commit": "3c0335735e9e8963003eeabb984e5208731d972e",
      "tree": "9ccf4b52f2e7524c0096d06244607945a97d007d",
      "parents": [
        "6f2b602999a9b5253de98e4c8749f821b0046ac2"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 13 08:41:48 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 13 08:47:29 2014 -0700"
      },
      "message": "ART: Run cctest_vixl in test-art-host\n\nAdded a make rule \"test-art-host-vixl\" that will run the vixl test\nwhen the host is built in 64b mode.\n\nChange-Id: I896f998432d089e6554d2a9c9aa92cb9f89094ec\n"
    },
    {
      "commit": "7624d25dad2d1ba25969ae704fccf68649103ae5",
      "tree": "de72194b76a4e23e0b15ec4085447ae7e4425815",
      "parents": [
        "e1910f1d802dff79bba5ef61e1c4fd0b95f6e5b0"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Fri May 02 14:40:15 2014 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue May 13 11:43:22 2014 +0100"
      },
      "message": "Move quick frame info to OatQuickMethodHeader.\n\nRename OatMethodHeader to OatQuickMethodHeader, move frame\ninfo from OatMethodOffsets to OatQuickMethodHeader. Retrieve\nthe info from other places for non-quick methods (portable\ncompiled bytecode or jni stub, generic jni, runtime,\nabstract and proxy).\n\nThis change has a libcore/ companion CL\n  \"Remove ArtMethod\u0027s quick fields for frame size and spills.\"\n  https://android-review.googlesource.com/94164\n\nBug: 11767815\nChange-Id: I0e31a7875d76732e1ec479c86b9b5ca01203507f\n"
    },
    {
      "commit": "6f2b602999a9b5253de98e4c8749f821b0046ac2",
      "tree": "8a7f14ce3c6c087955ad5fe91a3ce7d5b5a82461",
      "parents": [
        "98a8a542f95e41c09d214a329a940b270f08f5b3",
        "622d9c31febd950255b36a48b47e1f630197c5fe"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue May 13 08:06:51 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 13 08:06:52 2014 +0000"
      },
      "message": "Merge \"Add loop recognition and CFG simplifications in new compiler.\""
    },
    {
      "commit": "622d9c31febd950255b36a48b47e1f630197c5fe",
      "tree": "8a7f14ce3c6c087955ad5fe91a3ce7d5b5a82461",
      "parents": [
        "98a8a542f95e41c09d214a329a940b270f08f5b3"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon May 12 16:11:02 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue May 13 09:06:14 2014 +0100"
      },
      "message": "Add loop recognition and CFG simplifications in new compiler.\n\nWe do three simplifications:\n- Split critical edges, for code generation from SSA (new).\n- Ensure one back edge per loop, to simplify loop recognition (new).\n- Ensure only one pre header for a loop, to simplify SSA creation (existing).\n\nChange-Id: I9bfccd4b236a00486a261078627b091c8a68be33\n"
    },
    {
      "commit": "98a8a542f95e41c09d214a329a940b270f08f5b3",
      "tree": "2da7b21a4da61a76fb0c2ca7ee020b269dc02745",
      "parents": [
        "b9116360e12538d0f807e110458897e43dd4a846",
        "966ce11364ae08c95ea1ad5b8077c98949917055"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue May 13 04:07:30 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 13 04:07:30 2014 +0000"
      },
      "message": "Merge \"Restore \"Late-enable\" logging\""
    },
    {
      "commit": "b9116360e12538d0f807e110458897e43dd4a846",
      "tree": "db604dfe04a529ef0d17ffad18567a224de30ee1",
      "parents": [
        "0f3295d6ebd507ea0572055a1ce2539d6b1b129b",
        "37eecbde9ab8432c2d047a1524d0ea14f88b94bb"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue May 13 02:30:52 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 13 02:30:52 2014 +0000"
      },
      "message": "Merge \"Dump the native stack of an unattached aborting thread.\""
    },
    {
      "commit": "0f3295d6ebd507ea0572055a1ce2539d6b1b129b",
      "tree": "48c58e120cabb57bc877345d9e818841510e7e65",
      "parents": [
        "cd6e04f738ee17b3e8ec51c1f14d636fa2a89a55",
        "3ec5da20f27da3bb8cea7ae29538c30c4b1549b4"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 13 02:05:42 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 13 02:05:42 2014 +0000"
      },
      "message": "Merge \"ART: Fix typo in ThreadOffset modification\""
    },
    {
      "commit": "3ec5da20f27da3bb8cea7ae29538c30c4b1549b4",
      "tree": "bb36ce97e41a5d1927525f6710bd145ad324751e",
      "parents": [
        "048b5d0fb1643316da5b666dea9e98c954626200"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon May 12 18:43:28 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon May 12 18:43:28 2014 -0700"
      },
      "message": "ART: Fix typo in ThreadOffset modification\n\nChange-Id: Ifc3bd44a2a8442dcc242f4abcb17ae2acbc3b4e7\n"
    },
    {
      "commit": "cd6e04f738ee17b3e8ec51c1f14d636fa2a89a55",
      "tree": "6fe6baa4a969cbd60454e8ee92859c2e0d276523",
      "parents": [
        "048b5d0fb1643316da5b666dea9e98c954626200",
        "4fc046e78efbc98541388cdda986b5d8a2b951ad"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 13 01:25:53 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 13 01:25:53 2014 +0000"
      },
      "message": "Merge \"ART: Add lock and unlock stubs for ARM64, fix for X86-64\""
    },
    {
      "commit": "4fc046e78efbc98541388cdda986b5d8a2b951ad",
      "tree": "6fe6baa4a969cbd60454e8ee92859c2e0d276523",
      "parents": [
        "048b5d0fb1643316da5b666dea9e98c954626200"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 06 16:56:39 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon May 12 18:21:41 2014 -0700"
      },
      "message": "ART: Add lock and unlock stubs for ARM64, fix for X86-64\n\nBasic translation of ARM stubs using dmb memory barrier.\n\nFix placement of dmb in unlock_object of ARM and ARM64.\n\nUpdate lock and unlock tests in stub_test to force fat locks.\n\nFix X86-64 unlock stub.\n\nChange-Id: Ie2e4328d9631e06843115888644e75fde8b319ee\n"
    },
    {
      "commit": "048b5d0fb1643316da5b666dea9e98c954626200",
      "tree": "2a67c935f90e9c7c1cdf55d7d3c22cfbacab2be6",
      "parents": [
        "e920cfd076f8cc806818bc115690c45289ed742c",
        "2f244e9faccfcca68af3c5484c397a01a1c3a342"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 13 00:54:09 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 13 00:54:09 2014 +0000"
      },
      "message": "Merge \"ART: Add more ThreadOffset in Mir2Lir and backends\""
    },
    {
      "commit": "2f244e9faccfcca68af3c5484c397a01a1c3a342",
      "tree": "2a67c935f90e9c7c1cdf55d7d3c22cfbacab2be6",
      "parents": [
        "e920cfd076f8cc806818bc115690c45289ed742c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu May 08 03:35:25 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon May 12 17:34:19 2014 -0700"
      },
      "message": "ART: Add more ThreadOffset in Mir2Lir and backends\n\nThis duplicates all methods with ThreadOffset parameters, so that\nboth ThreadOffset\u003c4\u003e and ThreadOffset\u003c8\u003e can be handled. Dynamic\nchecks against the compilation unit\u0027s instruction set determine\nwhich pointer size to use and therefore which methods to call.\n\nMethods with unsupported pointer sizes should fatally fail, as\nthis indicates an issue during method selection.\n\nChange-Id: Ifdb445b3732d3dc5e6a220db57374a55e91e1bf6\n"
    },
    {
      "commit": "966ce11364ae08c95ea1ad5b8077c98949917055",
      "tree": "6459810777392127a3757136fa76fd36254b2d47",
      "parents": [
        "f92a45609352fb1dc3460a07d83284b353270221"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon May 12 17:30:36 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon May 12 17:30:36 2014 -0700"
      },
      "message": "Restore \"Late-enable\" logging\n\nIt is referenced from \"Debugging Android JNI with CheckJNI\"\n\nChange-Id: I155138df4a894b33f0a1ae03344442a144a5fced\n"
    },
    {
      "commit": "e920cfd076f8cc806818bc115690c45289ed742c",
      "tree": "897cda900ed52a1fd29aa8400068d044bb88efc6",
      "parents": [
        "653bc0eaff1a7f8ca057e03c3379fe22a9b523c2",
        "a6a8d142e60076db1ed6035119856779533bd09e"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue May 13 00:20:43 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 13 00:20:43 2014 +0000"
      },
      "message": "Merge \"Fix a lock level violation with background compaction enabled.\""
    },
    {
      "commit": "a6a8d142e60076db1ed6035119856779533bd09e",
      "tree": "0d3be7b53c71960c22b2d18ad952fd6df5137e09",
      "parents": [
        "3d1e6642d350e23fa85d4cfcb03413a576880396"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon May 12 16:57:33 2014 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon May 12 17:04:27 2014 -0700"
      },
      "message": "Fix a lock level violation with background compaction enabled.\n\nBug: 14840305\nChange-Id: I19f3d26af0c4f9c5a2843e0d95c8c10391cc38b1\n"
    },
    {
      "commit": "653bc0eaff1a7f8ca057e03c3379fe22a9b523c2",
      "tree": "f3dc11fe40f942a2e5777ad1d2bedd8bc2ca5f46",
      "parents": [
        "0c5e8417a1e82f6e31fbfc33be7e64d9073d6ef4",
        "b9beb2e2efb6a204a69ca660d478b45f851e8f09"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon May 12 22:45:40 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 12 22:45:41 2014 +0000"
      },
      "message": "Merge \"Place ISA into boot image name.\""
    },
    {
      "commit": "0c5e8417a1e82f6e31fbfc33be7e64d9073d6ef4",
      "tree": "9ec318c4a117d02a8276d25c0451ed148dbb4767",
      "parents": [
        "9757e3d7488d88a27dc33331d4c7242e6092e739",
        "ba57451494946a128703e1cbd8bf5969ee8dc598"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon May 12 22:23:15 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 12 22:23:15 2014 +0000"
      },
      "message": "Merge \"Quick compiler: fix compile-time perf regression\""
    },
    {
      "commit": "b9beb2e2efb6a204a69ca660d478b45f851e8f09",
      "tree": "168765e73d342712800566b562fb5276f63e49ef",
      "parents": [
        "6393eb7043517c5744935c48e3fd45a482915c2b"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri May 09 16:57:40 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon May 12 15:18:23 2014 -0700"
      },
      "message": "Place ISA into boot image name.\n\nDepends upon:\nhttps://android-review.googlesource.com/94078\n\nChange-Id: I22c18b03b2c0db7a3f792920064e7710363b58b4\n"
    },
    {
      "commit": "ba57451494946a128703e1cbd8bf5969ee8dc598",
      "tree": "b2f4702946b6f5feb7f59bac94debe3508c18149",
      "parents": [
        "e1910f1d802dff79bba5ef61e1c4fd0b95f6e5b0"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon May 12 15:13:16 2014 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon May 12 15:13:16 2014 -0700"
      },
      "message": "Quick compiler: fix compile-time perf regression\n\nThe recent changes to the temp register liveness tracking\nintroduced a measureable compile-time performance regression.\nThis CL cleans it up.\n\nChange-Id: Id698b93e957f0ecab7ddfab94727f85e49cf10cf\n"
    },
    {
      "commit": "9757e3d7488d88a27dc33331d4c7242e6092e739",
      "tree": "e4bac7ca2eb63fd167eb1ce1c44353d42307fbf6",
      "parents": [
        "7e0a8b49ecb4946db455027844f33efbfb2bd1a4",
        "1dda060e0f2c2d00d3b5d064d68f18d85bfa9be8"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon May 12 22:10:39 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 12 22:10:40 2014 +0000"
      },
      "message": "Merge \"Make it easy to change the default GC type.\""
    },
    {
      "commit": "1dda060e0f2c2d00d3b5d064d68f18d85bfa9be8",
      "tree": "049c173b817a9d340ab9e7ef4ef5e90a6c330916",
      "parents": [
        "3d1e6642d350e23fa85d4cfcb03413a576880396"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon May 12 12:32:32 2014 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon May 12 12:32:32 2014 -0700"
      },
      "message": "Make it easy to change the default GC type.\n\nBug: 13641307\nChange-Id: I47a36326be8dbb5fd637b743bbfad1fdde54011d\n"
    },
    {
      "commit": "7e0a8b49ecb4946db455027844f33efbfb2bd1a4",
      "tree": "55e3bdb3dc00954f263d5d7125ccf47cbe55a5b2",
      "parents": [
        "b170b3e89e717c2d84a3ee7987f7460520fb9e17",
        "0f89dac7336251f7921621a926319d461837840f"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon May 12 18:50:14 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 12 18:50:15 2014 +0000"
      },
      "message": "Merge changes Icf9afbab,If2409101\n\n* changes:\n  AArch64: Fix the usage of IP0, IP1 as temporary registers\n  AArch64: Fix the usage of Thread Register for arm64\n"
    },
    {
      "commit": "b170b3e89e717c2d84a3ee7987f7460520fb9e17",
      "tree": "d868cf6b698c729346069e605507b6ba0ff6f48b",
      "parents": [
        "21f08b7ed0834f39737d9299799407133204a4ff",
        "119c6bd97f7ac24b64eaf4e9333abb44acbf780f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon May 12 17:34:44 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 12 17:34:44 2014 +0000"
      },
      "message": "Merge \"Fix stub_test to pass with SS collector.\""
    },
    {
      "commit": "21f08b7ed0834f39737d9299799407133204a4ff",
      "tree": "bf0c994ab3d721b4fd483951eca8646efda938b2",
      "parents": [
        "6393eb7043517c5744935c48e3fd45a482915c2b",
        "dfd891a61a1642b3c0d532e0cec73255cf4b9afb"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon May 12 17:20:09 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 12 17:20:09 2014 +0000"
      },
      "message": "Merge \"AArch64: Fixing and adding arm64 trampolines.\""
    },
    {
      "commit": "6393eb7043517c5744935c48e3fd45a482915c2b",
      "tree": "a3389b2a7642745cd71843e903a77ea4282be284",
      "parents": [
        "6663c90d2f94b0035fabcaee1f26fd840c9f9161",
        "0dc242d6fc1254e6ca1c31e08e612bbf45644b17"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon May 12 16:40:36 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 12 16:40:37 2014 +0000"
      },
      "message": "Merge \"Avoid unnecessary copy/load in EvalLoc() and LoadValue().\""
    },
    {
      "commit": "0dc242d6fc1254e6ca1c31e08e612bbf45644b17",
      "tree": "a3389b2a7642745cd71843e903a77ea4282be284",
      "parents": [
        "6663c90d2f94b0035fabcaee1f26fd840c9f9161"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon May 12 16:22:14 2014 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Mon May 12 16:48:58 2014 +0100"
      },
      "message": "Avoid unnecessary copy/load in EvalLoc() and LoadValue().\n\nEvalLoc()/EvalLocWide() are used to prepare a register where\na value is subsequently stored, so they shouldn\u0027t copy the\nold value to the new register for register class mismatch.\n\nThe only exception where we actually need a copy is\nLoadValue()/LoadValueWide(), so we inline the old code that\nmakes the copy there. We also avoid loading inexpensive\nconstants when the value is already in the register.\n\nChange-Id: I07519e9d4d9b3f7272233d196435f3035e4a3ca9\n"
    },
    {
      "commit": "8379b2256be5d2be4ad083a76e9f8ec403c4d405",
      "tree": "23a6cc143b59feaa2f6876dad1260b7c07e0f40d",
      "parents": [
        "e1910f1d802dff79bba5ef61e1c4fd0b95f6e5b0"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Feb 24 17:38:15 2014 +0100"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon May 12 16:15:48 2014 +0200"
      },
      "message": "Combine JDWP location events\n\nThe runtime now sends location events BREAKPOINT, SINGLE_STEP, METHOD_ENTRY,\nMETHOD_EXIT and METHOD_EXIT_WITH_RETURN_VALUE in the same JDWP event packet\nwhen they relate to the same location.\n\nWe update the Dbg::UpdateDebugger method to take initial event flags and\nreturned value. It allows to call this method from DebugInstrumentationListener\nso we can treat method entry/exit events with breakpoint and single-step.\n\nIn the interpreter, we ensure we do not call Instrumentation::DexPcMovedEvent\nwhen Instrumentation::MethodEnterEvent has just been called or when we\u0027re about\nto call Instrumentation::MethodExitEvent. This prevents from sending duplicated\nevents.\n\nI measured the average performance impact on some benchmarks with a Nexus 4\nwithout a debugger attached:\n* 1%-2% for the computed-goto-based interpreter (default interpreter)\n* 5%-10% for the switch-based interpreter.\nThis is mostly due to the test of the boolean flag for the method entry event.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d68427\nBug: 11874828\nChange-Id: Ic4ff61375ff6b4ed5825adeac09f61f97b4be619\n"
    },
    {
      "commit": "dfd891a61a1642b3c0d532e0cec73255cf4b9afb",
      "tree": "ac430cc3b30f812e5a97ace80abeb8624ce3a9b9",
      "parents": [
        "6663c90d2f94b0035fabcaee1f26fd840c9f9161"
      ],
      "author": {
        "name": "Matteo Franchin",
        "email": "matteo.franchin@arm.com",
        "time": "Wed Apr 30 12:17:17 2014 +0100"
      },
      "committer": {
        "name": "Matteo Franchin",
        "email": "matteo.franchin@arm.com",
        "time": "Mon May 12 13:26:23 2014 +0100"
      },
      "message": "AArch64: Fixing and adding arm64 trampolines.\n\nFixed art_quick_resolution_trampoline for Arm64.\nAlso added art_quick_initialize_static_storage and\nart_quick_resolve_string.\n\nChange-Id: I8a03ed8dd4e23e26e9974209e1da939361125e0c\n"
    },
    {
      "commit": "6663c90d2f94b0035fabcaee1f26fd840c9f9161",
      "tree": "0feb1c424f517a7750375971c3605db16212c110",
      "parents": [
        "e1910f1d802dff79bba5ef61e1c4fd0b95f6e5b0",
        "d111c6eeb01955964d9c7f68126adcb1e1824ab3"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon May 12 12:07:16 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 12 12:07:16 2014 +0000"
      },
      "message": "Merge \"Quick compiler: RegStorage tweak\""
    },
    {
      "commit": "d111c6eeb01955964d9c7f68126adcb1e1824ab3",
      "tree": "0feb1c424f517a7750375971c3605db16212c110",
      "parents": [
        "e1910f1d802dff79bba5ef61e1c4fd0b95f6e5b0"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun May 11 21:09:53 2014 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Mon May 12 05:04:46 2014 -0700"
      },
      "message": "Quick compiler: RegStorage tweak\n\nPreviously, the RegStorage struct allowed for up to 32 physical\nregisters per register class.  Although this is sufficient to\nhandle instruction encodings for all targets, some targets may\nre-use the register number encoding for different physical elements.\n\nFor example, Arm64 uses register encoding 0x1f for both the stack\npointer and the zero register.  This change adds a bit to the low\nregister number, allowing 0..63.  Targets can use this extra\nencoding space to differentiate between multiple uses of the same\nencoding pattern.\n\nChange-Id: I11f2ebbce8865a08627eef5868bb51fae6421c33\n"
    },
    {
      "commit": "e1910f1d802dff79bba5ef61e1c4fd0b95f6e5b0",
      "tree": "e86bcfc81a26b452e105f8431db34a06a22d36aa",
      "parents": [
        "f92a45609352fb1dc3460a07d83284b353270221",
        "30adc7383a74eb3cb6db3bf42cea3a5595055ce1"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sun May 11 15:43:27 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sun May 11 15:43:28 2014 +0000"
      },
      "message": "Merge \"Quick compiler: Fix liveness tracking\""
    },
    {
      "commit": "37eecbde9ab8432c2d047a1524d0ea14f88b94bb",
      "tree": "3fc990643ec78280e6416cffaf1a3ca859facb29",
      "parents": [
        "f92a45609352fb1dc3460a07d83284b353270221"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun May 11 02:08:15 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Sun May 11 02:08:15 2014 -0700"
      },
      "message": "Dump the native stack of an unattached aborting thread.\n\nUseful when diagnosing errors in threads that have yet to become attached.\n\nChange-Id: Id50b96d12f8c2e8a29e0606d15009287a554aa64\n"
    },
    {
      "commit": "30adc7383a74eb3cb6db3bf42cea3a5595055ce1",
      "tree": "923d05c55cd5fd9b441bc7ee6737c0831986546f",
      "parents": [
        "a77530fd7f13971574c458a987d7025a44a3b5b4"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri May 09 15:10:18 2014 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sat May 10 22:04:57 2014 -0700"
      },
      "message": "Quick compiler: Fix liveness tracking\n\nRework temp register liveness tracking to play nicely with aliased\nphysical registers, and re-enable liveness tracking optimization.\n\nAdd a pair of x86 utility routines that act like UpdateLoc(),\nbut only show in-register live temps if they are of the expected\nregister class.\n\nChange-Id: I92779e0da2554689103e7488025be281f1a58989\n"
    },
    {
      "commit": "f92a45609352fb1dc3460a07d83284b353270221",
      "tree": "0f740b02b473726d02fe92813f229ae5d29e5c4a",
      "parents": [
        "ad1a8377a2cf97c9043c6158e4d080105f5e0d61",
        "c56057e40938c587a74984651a510e320a8cb4fd"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 09 23:47:08 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 09 23:47:08 2014 +0000"
      },
      "message": "Merge \"Add lockless SynchronizedGet for indirect reference table.\""
    },
    {
      "commit": "ad1a8377a2cf97c9043c6158e4d080105f5e0d61",
      "tree": "3a60267dbe4d30056dcf6d66aec39b460299f25e",
      "parents": [
        "537aaf122b93cd72e3e886831c686c3b2f83e441",
        "83ae6d2d5ddb1c1a81544ad0343113385aab9072"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri May 09 23:12:37 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 09 23:12:38 2014 +0000"
      },
      "message": "Merge \"More dalvik-cache cleaning fixes.\""
    },
    {
      "commit": "83ae6d2d5ddb1c1a81544ad0343113385aab9072",
      "tree": "3a60267dbe4d30056dcf6d66aec39b460299f25e",
      "parents": [
        "537aaf122b93cd72e3e886831c686c3b2f83e441"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri May 09 16:08:48 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri May 09 16:08:48 2014 -0700"
      },
      "message": "More dalvik-cache cleaning fixes.\n\nChange-Id: If483965949eff9fc910c2c326ffae52759c5e5ac\n"
    },
    {
      "commit": "537aaf122b93cd72e3e886831c686c3b2f83e441",
      "tree": "f9befe6e1af737b97eec9aa334039ef1591be7a2",
      "parents": [
        "9d7546662eb7138a7263f12f70d884554483a5a6",
        "ad9697a91d5acdc772ae6c0461540bfec358a070"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Fri May 09 22:04:58 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 09 22:04:58 2014 +0000"
      },
      "message": "Merge \"Revert \"Switch on implicit null pointer and stack overflow checks.\"\""
    },
    {
      "commit": "9d7546662eb7138a7263f12f70d884554483a5a6",
      "tree": "7be4523227f01ada29f586784b55d706fd691226",
      "parents": [
        "c6b558c93adea53702e682fdb4b6684fef705497",
        "f36d98500ed81d76c6b575185f7fe43c508640cb"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Fri May 09 22:04:49 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 09 22:04:49 2014 +0000"
      },
      "message": "Merge \"Bump oat version to force recompile.\""
    },
    {
      "commit": "f36d98500ed81d76c6b575185f7fe43c508640cb",
      "tree": "7be4523227f01ada29f586784b55d706fd691226",
      "parents": [
        "c6b558c93adea53702e682fdb4b6684fef705497"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Fri May 09 14:45:51 2014 -0700"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Fri May 09 14:47:00 2014 -0700"
      },
      "message": "Bump oat version to force recompile.\n\nBug: 14661374\nChange-Id: I9492419c848a198909e0085358a45d7f4146630d\n"
    },
    {
      "commit": "ad9697a91d5acdc772ae6c0461540bfec358a070",
      "tree": "485c2883d04d23c63f983305cb4bbdbc0e499a85",
      "parents": [
        "052664322767de1799f060c306e729b0e73ce893"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Fri May 09 21:42:36 2014 +0000"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Fri May 09 21:42:36 2014 +0000"
      },
      "message": "Revert \"Switch on implicit null pointer and stack overflow checks.\"\n\nThis seems to break facebook\n\nThis reverts commit 052664322767de1799f060c306e729b0e73ce893.\n\nChange-Id: I6c8dabdc2519c0925ffde41975878f821e3933de\n"
    },
    {
      "commit": "c6b558c93adea53702e682fdb4b6684fef705497",
      "tree": "81edf5564f0ec92a7ee6cd7b73a98de7b862e3a0",
      "parents": [
        "a52c5a695029501c2612f331684c45cf2ba8bcc9",
        "4d466a8e4587422c989705dce3b2a19e7f0137f5"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri May 09 21:39:00 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 09 21:39:03 2014 +0000"
      },
      "message": "Merge \"Remove all LOG(DEBUG) which is not intended to be checked in\""
    },
    {
      "commit": "119c6bd97f7ac24b64eaf4e9333abb44acbf780f",
      "tree": "d22dfb17249fa0dc5f1e506ca9eb88d9b9b6fa9f",
      "parents": [
        "b60508391b7f7343d39e39f98e7f254917cab91c"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 09 14:11:47 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 09 14:20:54 2014 -0700"
      },
      "message": "Fix stub_test to pass with SS collector.\n\nChanged the test to access the allocation entrypoints from the thread.\n\nChange the order roots are visited to prevent a rare error where the\njava lang reflect art method would move before it was checked in\nSanityCheckFrame.\n\nChange-Id: Ifb96220f3fbb74ea5d720777f130450f04c0e044\n"
    },
    {
      "commit": "a52c5a695029501c2612f331684c45cf2ba8bcc9",
      "tree": "ae664f7aafc8a193e4e2e7a48e1bbb21b6f089cc",
      "parents": [
        "1eda9c1d570f273c1d9f24438c35c8e25c990261",
        "bfff21aaa05d4fce39481cf7899f7639eb7fd66d"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri May 09 19:47:41 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 09 19:47:41 2014 +0000"
      },
      "message": "Merge \"Reference::GetReferent() calls by GC should not trigger read barriers.\""
    },
    {
      "commit": "4d466a8e4587422c989705dce3b2a19e7f0137f5",
      "tree": "bd8f0f45db9a7d5888b14a070690f59fb599bd68",
      "parents": [
        "f1c036fc8fa97617cc42bda44a0adbc7b856d6cd"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu May 08 19:05:29 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri May 09 12:23:00 2014 -0700"
      },
      "message": "Remove all LOG(DEBUG) which is not intended to be checked in\n\nBug: 14632493\nChange-Id: Id9da8b87798af0a1b2bd2c178133e5f1ba47d43d\n"
    },
    {
      "commit": "bfff21aaa05d4fce39481cf7899f7639eb7fd66d",
      "tree": "489efb8743f63ccb1e45197f4ae4c6e67cb9c1c4",
      "parents": [
        "25023c744c4388a6459b21cc3babf8c602b024a2"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri May 09 12:21:15 2014 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri May 09 12:21:15 2014 -0700"
      },
      "message": "Reference::GetReferent() calls by GC should not trigger read barriers.\n\nOtherwise, GC\u0027s reference processing would turn all referents alive\nvia read barriers, which is incorrect.\n\nBug: 12687968\nChange-Id: I1463365981d55fa74a7bb207dd4a16aeec007f8b\n"
    }
  ],
  "next": "1eda9c1d570f273c1d9f24438c35c8e25c990261"
}
