)]}'
{
  "log": [
    {
      "commit": "635561b86ac03f5562bdb779baa6db12f31b3cae",
      "tree": "0aef90dc24bd47e12b233fcb1100ac5077114494",
      "parents": [
        "37994a793beec7ec2d03e9a08f30f6f7389cfe49",
        "ab088118d33caafb00815ab72ac0fd7374169f64"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Jul 14 21:29:23 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 14 17:01:21 2014 +0000"
      },
      "message": "Merge \"Add read barriers for the roots in Runtime.\""
    },
    {
      "commit": "ab088118d33caafb00815ab72ac0fd7374169f64",
      "tree": "9ca1473bb6d4e896f8b8d5c19341dcba1ad37cd5",
      "parents": [
        "e8b8086388159be5fecb23ae6185e70f3dfb5da6"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Jul 14 13:00:14 2014 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Jul 14 13:00:14 2014 -0700"
      },
      "message": "Add read barriers for the roots in Runtime.\n\nBug: 12687968\nChange-Id: If26518a8251702cfe4d5cd7d1f50e80e342704cf\n"
    },
    {
      "commit": "fd22d5bada15d95b5ea8ab5a4dda39077e1a54ee",
      "tree": "3dc5aaa74f1272c357d339c3c61d7e1ed0aececf",
      "parents": [
        "e8b8086388159be5fecb23ae6185e70f3dfb5da6"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jul 14 10:16:05 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Jul 14 10:58:09 2014 -0700"
      },
      "message": "Fix infinite loop when calling SetStatus after OOM.\n\nThere was a problem where we would call SetStatus when we had an OOM\nerror. This results in attempting to find the ExceptionInInitializer\nclass which if not loaded does more allocations resulting in an\ninfinite loop.\n\nAlso some cleanup addressing other comments.\n\nBug: 16082350\nChange-Id: I5c1e638a03ddf700ab4e9cad9a3077d2b1b26c43\n"
    },
    {
      "commit": "86c1b70f08751369f77ac145430767ff26a355be",
      "tree": "cf06eb4d996b6e7c26f6ee3e4a34bc1806a2cd77",
      "parents": [
        "cf90ba7ebe00346651f3b7ce1e5b1f785f7caabd"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 14 16:39:07 2014 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 14 17:04:46 2014 +0100"
      },
      "message": "x86 needs a bit more stack to handle stack overflows.\n\nWith the interpreter, 018-stack-overflow fails when being run\ncommand line. Through make, we\u0027re not seeing any failure because\nmake gives a 2GB stack space. However, running run-test in the\nshell, the stack space is 8MB, and the reserved space is not enough.\n\nChange-Id: I0da12402cdfe5ad090f34c16aa6cb8d5fbc7a3ea\n"
    },
    {
      "commit": "0ee33c32388f49853b7f7003047047d7f9e9cb75",
      "tree": "8113de95a8ccdbc6fb854edd0cadef8f852c7dee",
      "parents": [
        "8c4728186f038e2ae09e74cbdcef5e5ca598ba64",
        "22f8e5c82d12951be38cd893426e13bee33fd69d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat Jul 12 03:08:24 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 11 21:38:38 2014 +0000"
      },
      "message": "Merge \"Revert \"Revert \"ART: Key-Value Store in Oat header\"\"\""
    },
    {
      "commit": "22f8e5c82d12951be38cd893426e13bee33fd69d",
      "tree": "f575655ba55315205b7a73f1e02773497913b157",
      "parents": [
        "946a55fa7aec5058d357b601ac3554e242cd1afa"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 09 11:38:21 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jul 11 15:53:27 2014 -0700"
      },
      "message": "Revert \"Revert \"ART: Key-Value Store in Oat header\"\"\n\nThis reverts commit 452bee5da9811f62123978e142bd67b385e9ff82.\n\nHeap-allocate a couple of objects in dex2oat to avoid large frame\nsize.\n\nIncludes fixes originally in 100596 and 100605.\n\nChange-Id: Id51a44198c973c91f0a3f87b9d992a5dc110c6f8\n"
    },
    {
      "commit": "f37a88b8e6db6c587fa449a12e40cb46be1689fc",
      "tree": "2e1d8b20e87796e1ad5d682dcce2a52a37f20123",
      "parents": [
        "9531f62ef260cbd0d0512e4c96f5d5dd2f4fdbb2"
      ],
      "author": {
        "name": "Zuo Wang",
        "email": "zuo.wang@intel.com",
        "time": "Thu Jul 10 04:26:41 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jul 11 18:32:07 2014 -0700"
      },
      "message": "ART: Compacting ROS/DlMalloc spaces with semispace copy GC\n\nCurrent semispace copy GC is mainly associated with bump pointer\nspaces. Though it squeezes fragmentation most aggressively, an extra\ncopy is required to re-establish the data in the ROS/DlMalloc space to allow\nCMS GCs to happen afterwards. As semispace copy GC is still stop-the-world,\nthis not only introduces unnecessary overheads but also longer response time.\nResponse time indicates the time duration between the start of transition\nrequest and the start of transition animation, which may impact the user\nexperience.\n\nUsing semispace copy GC to compact the data in a ROS space to another ROS(or\nDlMalloc space to another DlMalloc) space solves this problem. Although it\nsqueezes less fragmentation, CMS GCs can run immediately after the compaction.\n\nWe apply this algorithm in two cases:\n1) Right before throwing an OOM if -XX:EnableHSpaceCompactForOOM is passed in\nas true.\n2) When app is switched to background if the -XX:BackgroundGC option has value\nHSpaceCompact.\n\nFor case 1), OOMs are significantly delayed in the harmony GC stress test,\nwith compaction ratio up to 0.87. For case 2), compaction ratio around 0.5 is\nobserved in both built-in SMS and browser. Similar results have been obtained\non other apps as well.\n\nChange-Id: Iad9eabc6d046659fda3535ae20f21bc31f89ded3\nSigned-off-by: Wang, Zuo \u003czuo.wang@intel.com\u003e\nSigned-off-by: Chang, Yang \u003cyang.chang@intel.com\u003e\nSigned-off-by: Lei Li \u003clei.l.li@intel.com\u003e\nSigned-off-by: Lin Zang \u003clin.zang@intel.com\u003e\n"
    },
    {
      "commit": "9531f62ef260cbd0d0512e4c96f5d5dd2f4fdbb2",
      "tree": "709512d91bb357131ec9d0881826b7b43d08e95e",
      "parents": [
        "f08f0ca4b9538bff516f354532ced57cf077da66",
        "d8434439dc64add41cdfa69ddf96b960af9050de"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Sat Jul 12 01:07:25 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 11 23:26:34 2014 +0000"
      },
      "message": "Merge \"Call strong CAS from unsafe. Add more CAS versions.\""
    },
    {
      "commit": "d8434439dc64add41cdfa69ddf96b960af9050de",
      "tree": "f1d90394dc3b11fd80397ff702413c8710cf1a65",
      "parents": [
        "3d71f321f4b87ba13113dc0457fd9c3470a2b380"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Jul 11 09:56:07 2014 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Jul 11 16:50:37 2014 -0700"
      },
      "message": "Call strong CAS from unsafe. Add more CAS versions.\n\nAdds a number of additional CAS versions.  Calls the correct\none from sun.misc.unsafe, fixing a recently introduced bug.\nAvoid unnecessary ordering constraint when installing hash code.\n\nChange-Id: I7c09d0c95ceb2a549ec28ee34084198ab3107946\n"
    },
    {
      "commit": "98d1cc8033251c93786e2fa8c59a2e555a9493be",
      "tree": "f0a76b8fff060ee484af09028da65a8339d57057",
      "parents": [
        "aebf3cda094f34cf846d19a7724bdc8005267c95"
      ],
      "author": {
        "name": "Mingyao Yang",
        "email": "mingyao@google.com",
        "time": "Thu May 15 17:02:16 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Jul 11 17:17:10 2014 -0700"
      },
      "message": "Improve performance of invokevirtual/invokeinterface with embedded imt/vtable\n\nAdd an embedded version of imt/vtable into class object. Both tables start at\nfixed offset within class object so method/entry point can be loaded directly\nfrom class object for invokeinterface/invokevirtual.\n\nBug: 8142917\nChange-Id: I4240d58cfbe9250107c95c0708c036854c455968\n"
    },
    {
      "commit": "2751ffbe4e3192395e7402f93b597a397f01f889",
      "tree": "17b6c95992fe52e2d66b60e7063ca0fee03964f2",
      "parents": [
        "bfe9d08e93f6b866e7ecc63f32083e3fc868e606",
        "14cc9be4adc652071979395d337d1380763844fa"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jul 11 22:31:50 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 11 17:04:33 2014 +0000"
      },
      "message": "Merge \"Faster TLAB allocator.\""
    },
    {
      "commit": "14cc9be4adc652071979395d337d1380763844fa",
      "tree": "b099b16ba09da3264f6c10d7dda56808466352f2",
      "parents": [
        "3641ac7de8b51c0853eaaa2ba3a3ab7e65a837c5"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jul 11 10:26:37 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jul 11 14:18:46 2014 -0700"
      },
      "message": "Faster TLAB allocator.\n\nNew TLAB allocator doesn\u0027t increment bytes allocated until we allocate\na new TLAB. This increases allocation performance by avoiding a CAS.\n\nMemAllocTest:\nBefore GSS TLAB: 3400ms.\nAfter GSS TLAB: 2750ms.\n\nBug: 9986565\n\nChange-Id: I1673c27555330ee90d353b98498fa0e67bd57fad\n"
    },
    {
      "commit": "bfe9d08e93f6b866e7ecc63f32083e3fc868e606",
      "tree": "8e148cb56b1d31bd7285bd4641a6c751095980b0",
      "parents": [
        "438b9039c77b2c9556f362e8cbbefcf21c55b527",
        "ae91207f068d3fac6c5a116bc9117f1f83201c6a"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jul 11 21:26:01 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 11 16:35:27 2014 +0000"
      },
      "message": "Merge \"Fix mac build.\""
    },
    {
      "commit": "ae91207f068d3fac6c5a116bc9117f1f83201c6a",
      "tree": "b9d38748d0206d66304132146cbd277d0e6d2628",
      "parents": [
        "946a55fa7aec5058d357b601ac3554e242cd1afa"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jul 11 13:08:40 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jul 11 13:08:40 2014 -0700"
      },
      "message": "Fix mac build.\n\nChange-Id: I34a330ee038c7216eb3c4bcecbff2eb0cfa08589\n"
    },
    {
      "commit": "fc35de0a04eccc4134ea14e1fbe1c9efad79bcc0",
      "tree": "c2c701585e278ec13c73d7f75436c01fb7948fa1",
      "parents": [
        "3641ac7de8b51c0853eaaa2ba3a3ab7e65a837c5"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jul 10 18:53:22 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jul 11 11:00:43 2014 -0700"
      },
      "message": "Make jemalloc the default choice.\n\nChange-Id: Iadf29d28758bc17904098b4eeb9bc14a0a51299e\n"
    },
    {
      "commit": "3641ac7de8b51c0853eaaa2ba3a3ab7e65a837c5",
      "tree": "425daeee0978d1a551ede86422643da09fbe1f43",
      "parents": [
        "eab674a87b32794ae2c5e7d238292e56804de09d",
        "4e99b3d8955131f3fc71aa113f0fa71f0092cb6f"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Jul 11 14:52:06 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 10 20:09:49 2014 +0000"
      },
      "message": "Merge \"Add missing class initialization during compilation and tests\""
    },
    {
      "commit": "eab674a87b32794ae2c5e7d238292e56804de09d",
      "tree": "642a8d49d4a57954115355aa9884044047471faf",
      "parents": [
        "49ab79da140b9ae79f9efca70c42eeaa84e361ff",
        "320deb2ebe5cce96ca2779875c82853182326685"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Jul 11 13:36:05 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 10 20:14:56 2014 +0000"
      },
      "message": "Merge \"Fix missing single-step event\""
    },
    {
      "commit": "49ab79da140b9ae79f9efca70c42eeaa84e361ff",
      "tree": "910077c381a0f1efde70990319d44725b911ab29",
      "parents": [
        "6a1f4ad192e596b6bf43b39c26846300f401a692",
        "9e82bd3f0ce9e5f5777bea2f752ff3e251d32f9f"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Jul 11 10:11:12 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 10 20:18:52 2014 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Revert \"Add intrinsic for Reference.get()\"\"\"\""
    },
    {
      "commit": "9e82bd3f0ce9e5f5777bea2f752ff3e251d32f9f",
      "tree": "b2d65f4668793fab5652dfe41dcf13c913fee3a8",
      "parents": [
        "d4415e8bd04c4a9367744ff0149597b4f37a0e0a"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Jul 11 10:09:13 2014 +0000"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Jul 11 10:09:13 2014 +0000"
      },
      "message": "Revert \"Revert \"Revert \"Add intrinsic for Reference.get()\"\"\"\n\nThis reverts commit d4415e8bd04c4a9367744ff0149597b4f37a0e0a.\n\nChange-Id: I34553ccbdcfea35c7742d21be2a74dc7085ab2a0\n"
    },
    {
      "commit": "d4415e8bd04c4a9367744ff0149597b4f37a0e0a",
      "tree": "97c42c08fd04034cf6cecadb39644bf9531be0f1",
      "parents": [
        "a9b870b73a155ce70c867d5b3f9758fab0b45f07"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jul 11 06:44:39 2014 +0000"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jul 11 06:44:39 2014 +0000"
      },
      "message": "Revert \"Revert \"Add intrinsic for Reference.get()\"\"\n\nThis reverts commit a9b870b73a155ce70c867d5b3f9758fab0b45f07.\n\nChange-Id: Ic2a9b47f2b911bef4b764d10bc33cf000e4b4211\n"
    },
    {
      "commit": "a9b870b73a155ce70c867d5b3f9758fab0b45f07",
      "tree": "b2d65f4668793fab5652dfe41dcf13c913fee3a8",
      "parents": [
        "460503b13bc894828a2d2d47d09e5534b3e91aa1"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jul 11 04:18:58 2014 +0000"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jul 11 04:18:58 2014 +0000"
      },
      "message": "Revert \"Add intrinsic for Reference.get()\"\n\nThis reverts commit 460503b13bc894828a2d2d47d09e5534b3e91aa1.\n\nChange-Id: Ie63f43049307e02e3b90f4e034abc9ea54ca4e24\n"
    },
    {
      "commit": "6a1f4ad192e596b6bf43b39c26846300f401a692",
      "tree": "55c09df7af6f2e8848a7462cb55f3e0bd452fe2c",
      "parents": [
        "bd6b5dd3ce0f4d5454334d4848a97b00120b235e",
        "0025a86411145eb7cd4971f9234fc21c7b4aced1"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 11 08:27:55 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 10 20:18:52 2014 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Revert \"Add implicit null and stack checks for x86\"\"\"\""
    },
    {
      "commit": "0025a86411145eb7cd4971f9234fc21c7b4aced1",
      "tree": "933b8b96ea970c23a7b3ce313c7c6d46f807dadd",
      "parents": [
        "7fb36ded9cd5b1d254b63b3091f35c1e6471b90e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 11 08:26:40 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 11 08:26:40 2014 +0000"
      },
      "message": "Revert \"Revert \"Revert \"Add implicit null and stack checks for x86\"\"\"\n\nBroke the build.\n\nThis reverts commit 7fb36ded9cd5b1d254b63b3091f35c1e6471b90e.\n\nChange-Id: I9df0e7446ff0913a0e1276a558b2ccf6c8f4c949\n"
    },
    {
      "commit": "7fb36ded9cd5b1d254b63b3091f35c1e6471b90e",
      "tree": "eb1e3b96efd67cc6b84a6f7e35522f33973ca8db",
      "parents": [
        "93279da4a8475d187a0a2e75d50c88def5b4b8a5"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Jul 10 02:05:10 2014 +0000"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Jul 10 21:24:47 2014 +0000"
      },
      "message": "Revert \"Revert \"Add implicit null and stack checks for x86\"\"\n\nFixes x86_64 cross compile issue.  Removes command line options\nand property to set implicit checks - this is hard coded now.\n\nThis reverts commit 3d14eb620716e92c21c4d2c2d11a95be53319791.\n\nChange-Id: I5404473b5aaf1a9c68b7181f5952cb174d93a90d\n"
    },
    {
      "commit": "5a8ecafb7fa63cf3ebb448bb1c904858e9c29717",
      "tree": "11a2f9fe2c0b393a70b508e1b3b249567f54dd2d",
      "parents": [
        "0d2d031c61e305b95b1fe3a8c70fd6aa5306a4c5",
        "c380191f3048db2a3796d65db8e5d5a5e7b08c65"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jul 10 21:12:02 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 10 20:55:07 2014 +0000"
      },
      "message": "Merge \"x86_64: Enable fp-reg promotion\""
    },
    {
      "commit": "c380191f3048db2a3796d65db8e5d5a5e7b08c65",
      "tree": "56f7f5fc60f8445ead63cd43faf06b9e1dfda6b2",
      "parents": [
        "cba6b1fc88fd54c35211fd49a7a7501cfcdaa170"
      ],
      "author": {
        "name": "Serguei Katkov",
        "email": "serguei.i.katkov@intel.com",
        "time": "Tue Jul 08 17:21:53 2014 +0700"
      },
      "committer": {
        "name": "Chao-ying Fu",
        "email": "chao-ying.fu@intel.com",
        "time": "Thu Jul 10 13:31:47 2014 -0700"
      },
      "message": "x86_64: Enable fp-reg promotion\n\nPatch introduces 4 register XMM12-15 available for promotion of\nfp virtual registers.\n\nChange-Id: I3f89ad07fc8ae98b70f550eada09be7b693ffb67\nSigned-off-by: Serguei Katkov \u003cserguei.i.katkov@intel.com\u003e\nSigned-off-by: Chao-ying Fu \u003cchao-ying.fu@intel.com\u003e\n"
    },
    {
      "commit": "bd6b5dd3ce0f4d5454334d4848a97b00120b235e",
      "tree": "ac2892c108fcf7603b69c550283b2d3c67b45e36",
      "parents": [
        "03c672f1a8e6cc5bef0348f1d321afb9b26ed53a",
        "bc8a28896af5b99f0a42028f98bf0c74eb8047c9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jul 11 08:26:20 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 10 20:14:56 2014 +0000"
      },
      "message": "Merge \"Revert \"Fix mac build\"\""
    },
    {
      "commit": "bc8a28896af5b99f0a42028f98bf0c74eb8047c9",
      "tree": "3f73a362e1cbeec7f4f6aa7224dc0bd8de1942c5",
      "parents": [
        "e9343344d9bd268a05d1eae1ce80a3278ec19c89"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jul 11 05:43:02 2014 +0000"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jul 11 05:43:02 2014 +0000"
      },
      "message": "Revert \"Fix mac build\"\n\nThis reverts commit e9343344d9bd268a05d1eae1ce80a3278ec19c89.\n\nChange-Id: I43d1717af9c3b1237dcacec66f55a4e4b8e1f0fe\n"
    },
    {
      "commit": "e9343344d9bd268a05d1eae1ce80a3278ec19c89",
      "tree": "a39402b5c9e50158ea58bd5d6de1b610a874e1d0",
      "parents": [
        "183636622546ce73c8b67e586e0bc0799fe9c905"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Jul 10 15:29:28 2014 -0700"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Jul 10 18:27:41 2014 -0700"
      },
      "message": "Fix mac build\n\nFixes x86 fault handler, sigchain and quick_entrypoints for x86_64.\n\nBug: 16215218\nChange-Id: I5e58660ea815042968444e6352c57a5f53314cfd\n"
    },
    {
      "commit": "03c672f1a8e6cc5bef0348f1d321afb9b26ed53a",
      "tree": "ed310537290cba51a66708c64270d9179f15e7e0",
      "parents": [
        "75cb5a2468dfa79600cec8668fc2e85bbc7334a7",
        "d4415e8bd04c4a9367744ff0149597b4f37a0e0a"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jul 11 07:09:25 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 10 20:43:44 2014 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Add intrinsic for Reference.get()\"\"\""
    },
    {
      "commit": "7ee5cd1789b098c72010cd26a873f1cd2513e1b1",
      "tree": "c4ccffa6e17c0969c69adc4e5847ca4172997db8",
      "parents": [
        "1190e0e48ae9f60383c02e1c30f3b9a7b01d5de4",
        "a9b870b73a155ce70c867d5b3f9758fab0b45f07"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jul 11 04:45:03 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 10 20:55:07 2014 +0000"
      },
      "message": "Merge \"Revert \"Add intrinsic for Reference.get()\"\""
    },
    {
      "commit": "1190e0e48ae9f60383c02e1c30f3b9a7b01d5de4",
      "tree": "56d6ddc4ed1c48093a0834003a638e9c9e52f282",
      "parents": [
        "e2ebfb4c7c90863c8dae72723030bf1e2e0e4589",
        "e9343344d9bd268a05d1eae1ce80a3278ec19c89"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Fri Jul 11 03:42:17 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 10 20:43:44 2014 +0000"
      },
      "message": "Merge \"Fix mac build\""
    },
    {
      "commit": "e2ebfb4c7c90863c8dae72723030bf1e2e0e4589",
      "tree": "8d283d4b2e2fc7b44ba592696f1ffbe1e9003bc0",
      "parents": [
        "9e5f302becd4fddb8e5a785e6522cb8602469730",
        "460503b13bc894828a2d2d47d09e5534b3e91aa1"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jul 11 01:54:07 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 10 20:49:23 2014 +0000"
      },
      "message": "Merge \"Add intrinsic for Reference.get()\""
    },
    {
      "commit": "2f4f0a3d049a39687418087fc0165f7a21654b45",
      "tree": "dfa16ef78c177850318eb1e7b880727959e9146a",
      "parents": [
        "9245c39291a4618f04687bdb970def80ae7061bd"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 10 17:50:34 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 10 18:27:28 2014 -0700"
      },
      "message": "Change default heap maximum size to be 256m.\n\nUseful for command line benchmarks.\n\nChange-Id: Ie525863cd8eff93c64ce76639b1108fbdad91633\n"
    },
    {
      "commit": "e28ed99750554e0314b893dd2aa88ff9c3ca4500",
      "tree": "777e6e559425a1754136d03eaa3b8196ced86b08",
      "parents": [
        "183636622546ce73c8b67e586e0bc0799fe9c905"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 10 10:16:44 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jul 10 17:15:24 2014 -0700"
      },
      "message": "Fix race condition in release pages.\n\nThere was a race condition where another thread could coalesce the\nfree page run before we acquired the lock. In that case\nfree_page_runs_.find will not find a run starting at fpr. Added a\ncondition to handle this case. Also added handling for free page\nruns with begin with released pages but end with empty pages.\n\nBug: 16191993\nChange-Id: Ib12fdac8c246eae29c36f6a6728eb11d85553bbb\n"
    },
    {
      "commit": "460503b13bc894828a2d2d47d09e5534b3e91aa1",
      "tree": "97c42c08fd04034cf6cecadb39644bf9531be0f1",
      "parents": [
        "adce33da293b0eeaaf52673338770f22be71ca5d"
      ],
      "author": {
        "name": "Fred Shih",
        "email": "ffred@google.com",
        "time": "Wed Jun 18 11:26:11 2014 -0700"
      },
      "committer": {
        "name": "Fred Shih",
        "email": "ffred@google.com",
        "time": "Thu Jul 10 10:41:34 2014 -0700"
      },
      "message": "Add intrinsic for Reference.get()\n\nAdded an intrinsic function for Reference.get(). Return immediately\nwithout going through JNI if the slow path is not currently in use.\nOtherwise, branch off to the the existing JNI function.\n\nApproximately 47x speedup for cases where slow path is not enabled.\n\nChange-Id: I13ad65a356fe4e104d8d83980694dc2740d7d039\n"
    },
    {
      "commit": "adce33da293b0eeaaf52673338770f22be71ca5d",
      "tree": "b2d65f4668793fab5652dfe41dcf13c913fee3a8",
      "parents": [
        "cba6b1fc88fd54c35211fd49a7a7501cfcdaa170",
        "228602f562f1d130d06e60a98752d99c2d467d6a"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jul 10 17:35:57 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 10 16:05:36 2014 +0000"
      },
      "message": "Merge \"Make CAS operations in Object use art::Atomic.\""
    },
    {
      "commit": "4e99b3d8955131f3fc71aa113f0fa71f0092cb6f",
      "tree": "bcaf4e5119a74c836d8598e064a20cdead757efb",
      "parents": [
        "5fa647d5f663033e4ed3d398aece1f8211d7f460"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Jun 24 14:35:40 2014 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Jul 10 17:03:15 2014 +0200"
      },
      "message": "Add missing class initialization during compilation and tests\n\nAdds missing class initialization during compilation and tests, especially\njava.lang.Class. Otherwise, we\u0027d be able to execute code while the referring\nclass is not initialized or initializing.\n\nAlso adds mirror::Class::AssertInitializedOrInitializingInThread method to\ncheck class initialization when entering the interpreter: the called method\u0027s\ndeclaring class must either be initialized or be initializing by the current\nthread (other threads must be waiting for the class initialization to complete\nholding its lock). Note we only do this check in debug build.\n\nBump oat version to force compilation.\n\nBug: 15899971\nChange-Id: I9a4edd3739a3ca4cf1c4929dcbb44cdf7a1ca1fe\n"
    },
    {
      "commit": "320deb2ebe5cce96ca2779875c82853182326685",
      "tree": "53d3e1eae997e09d38e864cf55c6bd4e030a5094",
      "parents": [
        "5fa647d5f663033e4ed3d398aece1f8211d7f460"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Jun 11 19:45:05 2014 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Jul 10 16:14:16 2014 +0200"
      },
      "message": "Fix missing single-step event\n\nDuring debugging, we used to suspend too lately after a step. It occurred when\nwe were stepping out of an interpreted method into a compiled \"caller\" method.\nThe issue is we did not deoptimize when returning from the interpreted method\nbut only did it when returning from the compiled method. Therefore we were not\nexecuting the rest of the compiled method\u0027s code with interpreter which\nprevents from debugging it.\n\nThis CL fixes this issue by using instrumentation entry/exit stubs when calling\ninterpreted method from compiled code. Therefore, we execute instrumentation\nexit stub when returning from interpreter and are able to deoptimize from this\npoint. This allows to execute compiled method\u0027s code with interpreter and to\ndebug it.\n\nWe now also prevent from reporting method entry/exit twice while instrumenting\ninterpreted methods. We report method entry/exit events only from interpreter.\n\nBug: 14422182\nBug: 11705760\nChange-Id: Ia1175d36202239273083c4e9733c7e9290244090\n"
    },
    {
      "commit": "228602f562f1d130d06e60a98752d99c2d467d6a",
      "tree": "ee5b543695843ce48ebec4ffc88514ff679f4e93",
      "parents": [
        "be2a1df15a31a5223ee9af3015a00c31d2ad2e10"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jul 10 02:07:54 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jul 10 02:07:54 2014 -0700"
      },
      "message": "Make CAS operations in Object use art::Atomic.\n\nMake naming consistent with art::Atomic.\n\nChange-Id: If3abdb019ef8b53bd809e3fef3fd5248aeb27e9a\n"
    },
    {
      "commit": "be2a1df15a31a5223ee9af3015a00c31d2ad2e10",
      "tree": "87e214c9e2b2049af4cf1b89698cd00f8148d022",
      "parents": [
        "c4f72ec44660f804b595bfaf2b959f46fd2ff00d"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jul 10 00:56:36 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jul 10 01:02:58 2014 -0700"
      },
      "message": "Fix GC to use art::Atomic rather than compiler intrinsics.\n\nChanges to SpaceBitmap::AtomicTestAndSet and Space::end_. Space::end_ is made\natomic rather than volatile to fully capture all its uses multi-threaded or not\nuses.\n\nChange-Id: I3058964b8ad90a8c253b3d7f75585f63ca2fb5e3\n"
    },
    {
      "commit": "654dd48e2230e16bfaa225decce72b52642e2f78",
      "tree": "af06c5db6159159ffd701c0bbd43440e86ddf1fb",
      "parents": [
        "adce33da293b0eeaaf52673338770f22be71ca5d"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Jul 09 12:54:32 2014 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu Jul 10 10:50:04 2014 -0700"
      },
      "message": "Improve the OOME fragmentation message.\n\nChange-Id: I390d3622f8d572ec7e34ea6dff9e1e0936e81ac1\n"
    },
    {
      "commit": "c4f72ec44660f804b595bfaf2b959f46fd2ff00d",
      "tree": "df8764e4ec382b4e4810b8d0309823a40ef47d5c",
      "parents": [
        "af4cf5d72a2bf77f0e442bedb208f9227f262c89",
        "74240819ae09e29b2753ef38f4eb4be1c2762e2e"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jul 10 07:54:06 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 09 14:45:53 2014 +0000"
      },
      "message": "Merge \"Use memory chunks for monitors on LP64\""
    },
    {
      "commit": "74240819ae09e29b2753ef38f4eb4be1c2762e2e",
      "tree": "61e2d3aa7268ce49fe77715593896f59feb92fe6",
      "parents": [
        "32710dd4a0232149002a5ae7bde1c640cdffd564"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Apr 17 10:35:09 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jul 10 00:51:04 2014 -0700"
      },
      "message": "Use memory chunks for monitors on LP64\n\nMonitor IDs in lock words are only 30b. On a 32b system that works\nfine, as memory is usually aligned enough that shifting works out.\nOn 64b systems, the virtual memory space is too large for that.\nThis adds memory chunks into which we allocate the monitors so that\nwe have base_addr + offset and can use the offset as the monitor ID.\nTo allow for relatively compact but growable storage, we use a list\nof chunks.\n\nAdded a global lock for the monitor pool.\n\nChange-Id: I0e290c4914a2556e0b2eef9902422d7c4dcf536d\n"
    },
    {
      "commit": "8c1b5f71a8005743756206120624121d7678381f",
      "tree": "8cc8f170ac94ca2018d2e6e3e24eeeb3ee7f97f3",
      "parents": [
        "070dfc4cebb9772a646382be9751d8f4c6b7d69a"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jul 09 22:02:36 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jul 09 23:46:42 2014 -0700"
      },
      "message": "Missed use of android_atomic and thread state_.\n\nMove to using art::Atomic, add necessary FetchAnd... operations to art::Atomic.\n\nChange-Id: I32f1cdc4e0a2037b73f459bf4bb4d544f357f41b\n"
    },
    {
      "commit": "54fb8fd8f3b1552c3ec0b694070646675efa348e",
      "tree": "d18ac3ed061a660e1b366599253490113e4ff85d",
      "parents": [
        "62526c377fe5242a723f154a373eccf5b9db416d"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jul 09 23:16:06 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jul 09 23:16:06 2014 -0700"
      },
      "message": "Fix tracing.\n\nChange-Id: If6837270baec694c00cc1884bae0f1842d49da75\n"
    },
    {
      "commit": "b8e087e0dfd619df90cbb56534478a60bc859ebf",
      "tree": "f6f4e896935b02c68a40ae1410edb08f7296cad9",
      "parents": [
        "43b6fe0270477cd47f8dd8b064d006961a44be54"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jul 09 21:12:06 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jul 09 21:24:04 2014 -0700"
      },
      "message": "Move thread state to art::Atomic.\n\nLeaves the CAS operations as relaxed although art::Atomic treats relaxed CAS\nas a strong CAS when not compiling with clang.\n\nChange-Id: I6d37c22173540d166b624385e52e4ad05e592adc\n"
    },
    {
      "commit": "43b6fe0270477cd47f8dd8b064d006961a44be54",
      "tree": "4bec94cb593ea13cec019d180188c9afceb2d80b",
      "parents": [
        "672f8367f74e5db7d26714cd6fa1a13fa2a6c59f",
        "8ab25ef11aed383bf7d3aa96e95f777972d1b58f"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jul 10 03:36:51 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 09 14:45:53 2014 +0000"
      },
      "message": "Merge \"Move another field away from android_atomic_cas.\""
    },
    {
      "commit": "8ab25ef11aed383bf7d3aa96e95f777972d1b58f",
      "tree": "905b37556c225ab44e94f39292bbc558d7506376",
      "parents": [
        "bcb3b29095817ce8987d8310d4db87271f5114ad"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jul 09 18:00:50 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jul 09 18:00:50 2014 -0700"
      },
      "message": "Move another field away from android_atomic_cas.\n\nChange-Id: If63aa2811e06ec401a601286a3bacb62a0da96ad\n"
    },
    {
      "commit": "723b2fc3848bce9f26c54c7080099eba2fdb06ea",
      "tree": "71db626754515dfb92619425921fbd17446436a8",
      "parents": [
        "b2bc3c9791e093330be98bc6ca8fb92c41757cb1",
        "bd72fc137a51257f61038ba21c15cf5f1abcdbef"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Jul 10 08:21:49 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 09 19:42:15 2014 +0000"
      },
      "message": "Merge \"Faster deduplication in OatWriter.\""
    },
    {
      "commit": "bd72fc137a51257f61038ba21c15cf5f1abcdbef",
      "tree": "c0683a8a6b6f06fcab7bbc10739dbed514aa5a38",
      "parents": [
        "62f28f943e2da2873c7a09096c292f01a21c6478"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 09 16:06:40 2014 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Jul 09 19:18:28 2014 +0100"
      },
      "message": "Faster deduplication in OatWriter.\n\nUse lower_bound() to look for duplicates and use it as\na hint for insertion of new entries. Add a few useful\nfunctions to SafeMap\u003c\u003e.\n\nChange-Id: If7eab3f5d153be6e0d7ae040929849f1a636ee29\n"
    },
    {
      "commit": "672f8367f74e5db7d26714cd6fa1a13fa2a6c59f",
      "tree": "4becd76b50de9b80dd1fb411a1891bacbe4c77c3",
      "parents": [
        "4770a2e6d56398a6b4398fcce14fea43394e0d1b",
        "3d14eb620716e92c21c4d2c2d11a95be53319791"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Jul 10 01:55:25 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 09 14:42:04 2014 +0000"
      },
      "message": "Merge \"Revert \"Add implicit null and stack checks for x86\"\""
    },
    {
      "commit": "3d14eb620716e92c21c4d2c2d11a95be53319791",
      "tree": "aadce4d6bb70e549b74b537c6f75617cf533576a",
      "parents": [
        "34e826ccc80dc1cf7c4c045de6b7f8360d504ccf"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Jul 10 01:54:57 2014 +0000"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Jul 10 01:54:57 2014 +0000"
      },
      "message": "Revert \"Add implicit null and stack checks for x86\"\n\nIt breaks cross compilation with x86_64.\n\nThis reverts commit 34e826ccc80dc1cf7c4c045de6b7f8360d504ccf.\n\nChange-Id: I34ba07821fc0a022fda33a7ae21850957bbec5e7\n"
    },
    {
      "commit": "34e826ccc80dc1cf7c4c045de6b7f8360d504ccf",
      "tree": "76901cff2cddd6d30cb7a4e83ad4e0c9bb673fe1",
      "parents": [
        "c21dc06adc8c8447561208a3fb72ccf6d0443613"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu May 29 08:20:04 2014 -0700"
      },
      "committer": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Wed Jul 09 16:19:59 2014 -0700"
      },
      "message": "Add implicit null and stack checks for x86\n\nThis adds compiler and runtime changes for x86\nimplicit checks.  32 bit only.\n\nBoth host and target are supported.\nBy default, on the host, the implicit checks are null pointer and\nstack overflow.  Suspend is implemented but not switched on.\n\nChange-Id: I88a609e98d6bf32f283eaa4e6ec8bbf8dc1df78a\n"
    },
    {
      "commit": "c7190697f8665e706f6ebb4ae36fa63c46a32cd5",
      "tree": "f9281913f17e953143acd6c1a0f34dd3074bad56",
      "parents": [
        "bcb3b29095817ce8987d8310d4db87271f5114ad"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Jul 08 23:50:26 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jul 10 01:37:08 2014 +0000"
      },
      "message": "Remove legacy CAS implementations from mutex.\n\nRemoves the use of __sync_bool_compare_and_swap and android_atomic_cas and uses\nintention revealing atomic operations from art::Atomic (which will eventually\ngive way to std::atomic).\n\nChange-Id: Iea44e1923f6706ec04b5459fe25427282c189a7e\n"
    },
    {
      "commit": "a5b5c55c8585b7ce915f0c7e1f66d121a7f7a078",
      "tree": "be7436ff11debe0ca7ef63503436127f4fdc4a5b",
      "parents": [
        "5de52242f3934f1604083d7215cdde1d0cc8ba7a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jun 24 14:48:59 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jul 09 17:29:18 2014 -0700"
      },
      "message": "Add notion of released vs empty pages to ROSAlloc.\n\nA notion of released vs empty pages helps get a more accurate view of\nhow much memory was released during heap trimming. Otherwise we get\nthat the same pages possibly get madvised multiple times without\ngetting dirtied.\n\nAlso enabled heap trimming of rosalloc spaces even when we care about\njank. This is safe to do since the trimming process only acquires\nlocks for short periods of time.\n\nDalvik PSS reduces from ~52M to ~50M after boot on N4.\n\nBug: 9969166\n\nChange-Id: I4012e0a2554f413d18efe1a0371fe18d1edabaa9\n"
    },
    {
      "commit": "5de52242f3934f1604083d7215cdde1d0cc8ba7a",
      "tree": "41082d76a9de3bf58a642ce9ae49603fe50849c4",
      "parents": [
        "2929490de9374c2a052cff4cf6957852ebf06d98",
        "34e826ccc80dc1cf7c4c045de6b7f8360d504ccf"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Thu Jul 10 00:16:22 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 09 22:27:32 2014 +0000"
      },
      "message": "Merge \"Add implicit null and stack checks for x86\""
    },
    {
      "commit": "1461144e95f7798c33cfbada49b288f0cdf28157",
      "tree": "17411eea761ffc594cfc5660592bd79de30dbed1",
      "parents": [
        "5472edce3697721099ead9e16427e0e7ace90754"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Jul 08 22:55:18 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu Jul 10 00:09:07 2014 +0000"
      },
      "message": "Move card table away from android_atomic_cas.\n\nFor x86 use byte CAS operations for byte CAS.\nFix bug in ModifyCardsAtomic where CAS was 32-bit instead of 64-bit.\n\nChange-Id: Ieb3fe695b4699750abf04642b0abe94103976817\n"
    },
    {
      "commit": "0f635b103c1fff6439d47bdae363afeffe7327fd",
      "tree": "afa160b8c3b850e5189a1bfa06065faee54eccaf",
      "parents": [
        "32710dd4a0232149002a5ae7bde1c640cdffd564",
        "bae182cbc6adc8796154162a87fc54ae804e0469"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jul 09 18:52:43 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 09 14:50:30 2014 +0000"
      },
      "message": "Merge \"Fix method tracing from command-line\""
    },
    {
      "commit": "bae182cbc6adc8796154162a87fc54ae804e0469",
      "tree": "d5c1fdb048edab194e948e4e90bff66703c5f55e",
      "parents": [
        "0c1734665c38b3116e38a90ad06c3f152d9316c5"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Dec 17 10:42:03 2013 +0100"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Wed Jul 09 16:10:45 2014 +0200"
      },
      "message": "Fix method tracing from command-line\n\nTransitions current thread to the new kWaitingForMethodTracingStart thread\nstate when starting method tracing.\n\nEnsures there is a current thread when method tracing is stopped due to runtime\nshutdown. If the current thread has been detached, we now re-attach it.\nNote: we only do this if method tracing has been activated from command-line.\n\nFixes instrumentation when forcing interpreter mode (-Xint) with method tracing\nenabled.\n\nRemoves unused parameter from UnsafeLogFatalForThreadSuspendAllTimeout.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d72094\nBug: 11683397\nChange-Id: I70f000fb46ddd95d6ad51ea0a8eee77697a045e9\n"
    },
    {
      "commit": "5472edce3697721099ead9e16427e0e7ace90754",
      "tree": "6cb158f8b881b0c88cadfb5096ef089ffc028860",
      "parents": [
        "b288a5ad024f99d593aef55e352b46c1a2868af7",
        "7b1cabf3d910f199d77e47f458680f700a31f7e8"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 09 23:50:28 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 09 00:27:59 2014 +0000"
      },
      "message": "Merge \"CW on Master: Propagate or throw exception when no class found happens in interpreter.\""
    },
    {
      "commit": "7b1cabf3d910f199d77e47f458680f700a31f7e8",
      "tree": "6ce5704191aada30ac2920431c8667593ff1cad9",
      "parents": [
        "62f28f943e2da2873c7a09096c292f01a21c6478"
      ],
      "author": {
        "name": "Sean Wan",
        "email": "swan@google.com",
        "time": "Wed Jul 09 12:08:29 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 09 16:37:14 2014 -0700"
      },
      "message": "CW on Master: Propagate or throw exception when no class found happens in interpreter.\n\nThe old behavior is a check fail which causes zygote process crash.\n\nThis is particular a problem for CW in which webview is not used, and\nthis stops CW system start.\n\n(cherry picked from commit 41a71f3db62e5bccb162a2b18ed3801e00ff6f87)\n\nChange-Id: Iabe091ebe4bbdd86d931ac6c06abd089f1338d59\n"
    },
    {
      "commit": "b288a5ad024f99d593aef55e352b46c1a2868af7",
      "tree": "254b45180d9154d22e6360fdcd47ee3fe6fd6358",
      "parents": [
        "91db19b5f14e32878e0a70fa8d43f3412586b821",
        "5ced67270d178df0ddd78abe2af2235de905d6f0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 09 22:54:14 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 09 14:42:04 2014 +0000"
      },
      "message": "Merge \"Use the icu4c headers from the new location.\""
    },
    {
      "commit": "5ced67270d178df0ddd78abe2af2235de905d6f0",
      "tree": "84512647efdacfb5e61eb8d3e5dad795f83a14f2",
      "parents": [
        "cecec712e1e05aab1fe3469077016320b7bf9583"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 09 15:31:20 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 09 15:31:20 2014 -0700"
      },
      "message": "Use the icu4c headers from the new location.\n\nChange-Id: I6ca56e8f9909bf3644a5f79f2d705547ddba6d03\n"
    },
    {
      "commit": "7c88c6054dfc01f2ac36b19842d467626459fc45",
      "tree": "76b0ed6b40c1cadbb732ea863fd46279f952445a",
      "parents": [
        "b796d1bfac8cfaf4dc98f411ae6157f964d4a325"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jul 08 17:46:19 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Jul 09 15:03:54 2014 -0700"
      },
      "message": "Add easy way to ensure the next allocation does GC.\n\nAdded a class called ScopedHeapFill which changes the bytes allocated\ncounter to be equal to the growth limit. This causes the next\nallocation to do a GC and possibly generate an OOM error. This is\nuseful for tests which need GC to happen at specific point.\n\nChange-Id: Ibd8f3d5928b58534c5165ba7c296980002aa2c28\n"
    },
    {
      "commit": "53cb16b98acf3cf6f3a1e2204ad4958ecf1b5a3c",
      "tree": "c0129ef3de7148dc6a114449b4f751a560283eb0",
      "parents": [
        "ae2efea4582df773f80be274bdc754f732b07df3"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jun 12 11:26:29 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon Jul 07 15:19:58 2014 -0700"
      },
      "message": "Add patchoat tool to Art.\n\nAdd a new executable called patchoat to art. This tool takes already\ncompiled images and oat files and changes their base address, acting as\na cheap form of relocation.\n\nAdd a --include-patch-information flag to dex2oat and code to add\nrequired patch information to oat files created with the quick compiler.\n\nBug: 15358152\n\nChange-Id: Ie0c580db45bb14ec180deb84930def6c3628d97d\n"
    },
    {
      "commit": "8078b294e8001abff5a6c8637e844b55a65fff4b",
      "tree": "d23d8693bdc9d7bf155582850461c8c086c5bbcb",
      "parents": [
        "608520c8ba1adc7d8d0623b021b7ea509b00751c",
        "452bee5da9811f62123978e142bd67b385e9ff82"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 09 07:58:38 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 02 20:49:53 2014 +0000"
      },
      "message": "Merge \"Revert \"ART: Key-Value Store in Oat header\"\""
    },
    {
      "commit": "452bee5da9811f62123978e142bd67b385e9ff82",
      "tree": "3da88d3fb1bd2a03897aaac8bb015c12796d2cdf",
      "parents": [
        "c87d27b25994da8670d82a8f7bad6327b693bfff"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 09 07:58:10 2014 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Jul 09 07:58:10 2014 +0000"
      },
      "message": "Revert \"ART: Key-Value Store in Oat header\"\n\nBroke arm64 build.\n\nThis reverts commit c87d27b25994da8670d82a8f7bad6327b693bfff.\n\nChange-Id: I4c2ade295d2b5aa77fc3ad810e0e859629a5bf09\n"
    },
    {
      "commit": "c87d27b25994da8670d82a8f7bad6327b693bfff",
      "tree": "e8ad0fa224f050c5c3e3e30ccdc0912f28650f42",
      "parents": [
        "e8a30f37bf1530a80a7df17692dbe7a68764ac30"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 26 16:11:07 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 08 12:14:38 2014 -0700"
      },
      "message": "ART: Key-Value Store in Oat header\n\nAllows the storage of string-string pairs in the oat header. The\nfirst significant use of this is storing the implicit-check flags,\nso that an oat file can be rejected if it doesn\u0027t agree with the\ncurrent runtime.\n\nBump the oat version as the header structure changes.\n\nChange-Id: I15a1c16886e6b8fa7b881c918c19c1efa5c7c00f\n"
    },
    {
      "commit": "6e524ddc060f10a493dc63fa5b6dde0deef22219",
      "tree": "8e23be4f3732ea585f369dfcd989d0d0d9a57b76",
      "parents": [
        "3d30b073541f19470e8b5dddef9377411fa587c3",
        "670134e8555d40fc880271b1ab97483094b4b816"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 09 04:07:52 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 08 21:53:44 2014 +0000"
      },
      "message": "Merge \"Make dex2oat heap size product configurable [art]\""
    },
    {
      "commit": "670134e8555d40fc880271b1ab97483094b4b816",
      "tree": "bc9cac50dbcfe518d1f54005bb3b4d035637578c",
      "parents": [
        "e8a30f37bf1530a80a7df17692dbe7a68764ac30"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jul 08 10:34:02 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jul 08 11:33:38 2014 -0700"
      },
      "message": "Make dex2oat heap size product configurable [art]\n\nBug: 15919420\nChange-Id: I1b4f3256f6352b2d3e268991406def9e8efab945\n"
    },
    {
      "commit": "8746860d056e64dcc832264e74bda9d511e86e2d",
      "tree": "435a1a0265766f3449203d8f49e368bfc2888b17",
      "parents": [
        "09341a57b143daffade4e04623b2daea7235b73e",
        "ebbdd87cbb57e45da341fbf7325406e982810c10"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed Jul 09 00:37:32 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 08 21:53:44 2014 +0000"
      },
      "message": "Merge \"Only allow instance-of to improve knowledge of a type for downcasts.\""
    },
    {
      "commit": "ebbdd87cbb57e45da341fbf7325406e982810c10",
      "tree": "fc8c236a7fd44ad040e013c549822868a777b747",
      "parents": [
        "751dee376dcd972af996106a4c32ab4964c1f867"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Jul 07 23:53:08 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Jul 08 17:30:29 2014 -0700"
      },
      "message": "Only allow instance-of to improve knowledge of a type for downcasts.\n\nPrevious \"not upcast\" test could improve a type to an impossible type that\nfollowing a merge back with the original register would lead to conflict\n(and subsequent verifier errors).\nModify UpdateRegisters so that the work line will be updated if merging\ncauses changes in the fall-through case.\n\nBug: 15808277\nIssue: https://code.google.com/p/android/issues/detail?id\u003d72093\nChange-Id: Ib16cae8506246177e902825af036d5a397ad0dac\n"
    },
    {
      "commit": "09341a57b143daffade4e04623b2daea7235b73e",
      "tree": "89b560f8101266c1f5cb4b940d59cf82b80f16f8",
      "parents": [
        "b63727cded6674db4768d49ef2a0833f773c8e5a",
        "c87d27b25994da8670d82a8f7bad6327b693bfff"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 08 19:16:24 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 08 19:21:49 2014 +0000"
      },
      "message": "Merge \"ART: Key-Value Store in Oat header\""
    },
    {
      "commit": "751dee376dcd972af996106a4c32ab4964c1f867",
      "tree": "3bc68b414e4fafbdb13cbc8c216dd2824b5d828e",
      "parents": [
        "a3ed7f874710bddd51487b331e7f288806c36307",
        "a9d8c4ce62fff49580fa70d3fcb3aee45344d8ca"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Jul 08 06:04:43 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sun Jul 06 03:24:06 2014 +0000"
      },
      "message": "Merge \"BaseMutex::IsExclusiveHeld should only be called on self.\""
    },
    {
      "commit": "a9d8c4ce62fff49580fa70d3fcb3aee45344d8ca",
      "tree": "763c504dcac3f1b68ed5b8a148643fb3030bfaef",
      "parents": [
        "0da09a026fb6c612e659dc782312987b4515f472"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Jul 07 21:38:36 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Jul 07 21:51:56 2014 -0700"
      },
      "message": "BaseMutex::IsExclusiveHeld should only be called on self.\n\nFix issue in Thread::DumpState of lock dumping calling IsExclusiveHeld on a\nthread that isn\u0027t self causing intermittent crashes of ThreadStress oat test.\n\nBug: 15446488\nChange-Id: I86924397a4e21ce10a95ea2a737d7bfbcb8ffe28\n"
    },
    {
      "commit": "a3ed7f874710bddd51487b331e7f288806c36307",
      "tree": "be259012ca3123935c1bd926eeaccec20bc75314",
      "parents": [
        "e60658e8d191c6c7558079b2bd7eed4c6c53e9d9",
        "04c31d2c984d382b4186974fa0a416aecbed2625"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Jul 08 06:04:28 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 07 18:07:41 2014 +0000"
      },
      "message": "Merge \"JNI dlsym lookup fixes.\""
    },
    {
      "commit": "04c31d2c984d382b4186974fa0a416aecbed2625",
      "tree": "7790a9443b7e5639f2674104514d2e690f6d812f",
      "parents": [
        "0da09a026fb6c612e659dc782312987b4515f472"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Jul 07 21:44:06 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Jul 07 21:44:06 2014 -0700"
      },
      "message": "JNI dlsym lookup fixes.\n\nThread* self is passed on all architectures apart from ARM and ARM64.\nOn x86 restore ebx correctly. Pass self in correct register on x86-64.\nEnsure methods are compiled in jni_compiler_test even if the generic JNI\ntrampoline is present.\n\nChange-Id: If5fdb1de97b78ac5a5cf8d0915c5b82311f23eb9\n"
    },
    {
      "commit": "70c4f06f9965cdb9319a2c85f65acda20086d765",
      "tree": "8e6ecc6ab21d76deaa35b5929f664bbf90f3d6cd",
      "parents": [
        "cecec712e1e05aab1fe3469077016320b7bf9583"
      ],
      "author": {
        "name": "DaniilSokolov",
        "email": "daniil.y.sokolov@intel.com",
        "time": "Tue Jun 24 17:34:00 2014 -0700"
      },
      "committer": {
        "name": "Dmitry Petrochenko",
        "email": "dmitry.petrochenko@intel.com",
        "time": "Tue Jul 08 09:30:17 2014 +0700"
      },
      "message": "ART: Intrinsic implementation for java.lang.System.arraycopy.\n\nImplements intrinsic for  java.lang.System.arraycopy(char[], int, char[], int, int) -\nthis method is internal to android class libraries and used in such classes as StringBuffer and\nStringBuilder. It is not possible to call it from application code. The intrinsic for\nthis method is implemented as inline method (assembly code is generated manually).\n\nThe intrinsic is x86 32 bit only.\n\nChange-Id: Id1b1e0a20d5f6d5f5ebfe1fdc2447b6d8a515432\nSigned-off-by: Daniil Sokolov \u003cdaniil.y.sokolov@intel.com\u003e\n"
    },
    {
      "commit": "b63727cded6674db4768d49ef2a0833f773c8e5a",
      "tree": "2311a05540b31112b0edc1cef4dce77267eb00a3",
      "parents": [
        "1f3a9465aa91163e9f34404bda05c0c067f91267",
        "1af6a1fa35ff7dc0a5c653f19dbc8a91c914aa42"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 08 19:18:27 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 02 20:52:16 2014 +0000"
      },
      "message": "Merge \"ART: Update Monitor::Wait so it releases monitor_lock_ before throwing an exception\""
    },
    {
      "commit": "1af6a1fa35ff7dc0a5c653f19dbc8a91c914aa42",
      "tree": "07807547760383cfe9310c70ea00eace03b2740b",
      "parents": [
        "13f89cb9930ea799c21559020da43c3845536da5"
      ],
      "author": {
        "name": "Elena Sayapina",
        "email": "elena.v.sayapina@intel.com",
        "time": "Fri Jun 20 16:58:37 2014 +0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 07 18:39:55 2014 -0700"
      },
      "message": "ART: Update Monitor::Wait so it releases monitor_lock_ before throwing an exception\n\nThread should release monitor_lock_ Mutex (which guards shared structures behind Java monitor)\nin Monitor::Wait before throwing any exception. Otherwise the thread may be suspended by GC\nduring that time still holding the lock. This may cause deadlock during GC in case\nsome other thread needs to acquire the monitor_lock_. The other thread can\u0027t be suspended\nby GC then waiting for exclusive lock and \"thread suspend timeout\" occurs.\n\nChange-Id: Id02f45052e1cfc01e676a43434125817564d7874\nSigned-off-by: Elena Sayapina \u003celena.v.sayapina@intel.com\u003e\n"
    },
    {
      "commit": "0ec17d2ddb69d3f5c46ccad62e82c0ffd6219428",
      "tree": "a90ae1adaf549f474cc9d269f6ef5fe0062128d6",
      "parents": [
        "e8a30f37bf1530a80a7df17692dbe7a68764ac30"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon Jul 07 13:07:08 2014 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Tue Jul 08 11:23:34 2014 -0700"
      },
      "message": "Remove Dbg::VisitRoots().\n\nWe replace the GC strong roots with JNI.\n\njdwp_test passes.\n\nBug: 12687968\nChange-Id: I841f1aaa5dffa784ca25953a251600f70df273b2\n"
    },
    {
      "commit": "4345c46b8a927cf13d9bbe38f8cf0593f5de181b",
      "tree": "f89b8edfa245d16c6ceffa512233140f53cfd0c2",
      "parents": [
        "f55159c145e8b07be1dcafc949afda7e6a2f41c5"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Jun 27 10:20:14 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Jul 08 09:42:03 2014 -0700"
      },
      "message": "Fix local reference leaks in debugger and use a cache.\n\nChanged alloc record stack trace element to use jmethodID instead of\nJNI weak global references. Added code to delete the local ref\ncreated in AllocRecord::SetType.\n\nBug: 15886342\nExternal bug: https://code.google.com/p/android/issues/detail?id\u003d72330\n\nChange-Id: Id18e765820baad02246768dc9d633aada60f4fed\n"
    },
    {
      "commit": "d83ee1e26f68409f904c3cf0d582c18738e1f39b",
      "tree": "f682c90290d8c17b9abf311f8fc0469be14a9d24",
      "parents": [
        "ef505256e530951033a705e84a0682e7adcedf30",
        "fa65e846362829d6e444bd88b12fe2496b3d5647"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri Jul 04 08:11:20 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 02 20:49:53 2014 +0000"
      },
      "message": "Merge \"More checks in JNI RegisterNatives\""
    },
    {
      "commit": "fa65e846362829d6e444bd88b12fe2496b3d5647",
      "tree": "d17bdf533529d158278e2fbe64214ea71aa7e228",
      "parents": [
        "555377d55c37db860583e0655f63a1dacb589921"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Jul 03 09:39:53 2014 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu Jul 03 11:18:06 2014 +0200"
      },
      "message": "More checks in JNI RegisterNatives\n\nThrows NoSuchMethodError (and returns JNI_ERR) when given method name, method\nsignature or native function is null.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d72293\nBug: 15886341\nChange-Id: I1c0582d54031eaa58a6025a2417d65090a2a622a\n"
    },
    {
      "commit": "23abec955e2e733999a1e2c30e4e384e46e5dde4",
      "tree": "c0a11826d94243cdbeda83a86e7a420c997b477b",
      "parents": [
        "c72966a25c205a3914164f586e44e586e5715468"
      ],
      "author": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Wed Jul 02 16:13:38 2014 +0100"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jul 03 17:39:00 2014 -0700"
      },
      "message": "AArch64: Add few more inline functions\n\nThis patch adds inlining support for the following functions:\n* Math.max/min(long, long)\n* Math.max/min(float, float)\n* Math.max/min(double, double)\n* Integer.reverse(int)\n* Long.reverse(long)\n\nChange-Id: Ia2b1619fd052358b3a0d23e5fcbfdb823d2029b9\nSigned-off-by: Serban Constantinescu \u003cserban.constantinescu@arm.com\u003e\n"
    },
    {
      "commit": "b5860fb459f1ed71f39d8a87b45bee6727d79fe8",
      "tree": "3ac54afcb83678d3edfef855f62b79de8b3fff85",
      "parents": [
        "555377d55c37db860583e0655f63a1dacb589921"
      ],
      "author": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Sat Jun 21 15:31:01 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jul 03 00:12:07 2014 -0700"
      },
      "message": "Register promotion support for 64-bit targets\n\nNot sufficiently tested for 64-bit targets, but should be\nfairly close.\n\nA significant amount of refactoring could stil be done, (in\nlater CLs).\n\nWith this change we are not making any changes to the vmap\nscheme.  As a result, it is a requirement that if a vreg\nis promoted to both a 32-bit view and the low half of a\n64-bit view it must share the same physical register.  We\nmay change this restriction later on to allow for more flexibility\nfor 32-bit Arm.\n\nFor example, if v4, v5, v4/v5 and v5/v6 are all hot enough to\npromote, we\u0027d end up with something like:\n\nv4 (as an int)    -\u003e r10\nv4/v5 (as a long) -\u003e r10\nv5 (as an int)    -\u003e r11\nv5/v6 (as a long) -\u003e r11\n\nFix a couple of ARM64 bugs on the way...\n\nChange-Id: I6a152b9c164d9f1a053622266e165428045362f3\n"
    },
    {
      "commit": "e130ee6fe902315062ce17f8ce115b1dc506576d",
      "tree": "a9f17a1eed139e9c4de01c3b0e4166bf2e4aae4e",
      "parents": [
        "ffcdd9f13daba70a64bb85688726ae23aa7a6eda"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Jul 01 23:54:20 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jul 02 10:30:08 2014 -0700"
      },
      "message": "Add a local elf.h\n\nChange-Id: Ic2d449bfdd3c95e393c083c9e1022adc4e9c06b8\n"
    },
    {
      "commit": "bcf40221d747c05be7cb78d92a20caff240291d5",
      "tree": "72d23fbab3a794f8655579b0329c20dccbbecd66",
      "parents": [
        "395fa7286ca2c6cd3dd55c0eab5b0f69dc063fb8",
        "3a1444ccb92fb1b11d4943c3baa1f0a3abed4f10"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jul 02 15:27:18 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 01 19:26:36 2014 +0000"
      },
      "message": "Merge \"ART: JNI ExceptionDescribe crashes if no exception occurred\""
    },
    {
      "commit": "3a1444ccb92fb1b11d4943c3baa1f0a3abed4f10",
      "tree": "0eba34d67a39959197877d5ce8924f935a1daaed",
      "parents": [
        "29978887552542e3b7e7792070dad06392377648"
      ],
      "author": {
        "name": "Alexei Zavjalov",
        "email": "alexei.zavjalov@intel.com",
        "time": "Wed Jun 25 16:04:55 2014 +0700"
      },
      "committer": {
        "name": "Alexei Zavjalov",
        "email": "alexei.zavjalov@intel.com",
        "time": "Wed Jul 02 13:16:59 2014 +0700"
      },
      "message": "ART: JNI ExceptionDescribe crashes if no exception occurred\n\nSome tests are calling ExceptionDescribe without checking if\nwe have an exception occurred. The most JVM\u0027s like Dalvik can\nhandle this in a good way, but art crashes with JNI error.\n\nThis adds a check in art::ExceptionDescribe for a case when it\ncalled without exception.\n\nChange-Id: Id9eddcc73e78b1197109be5a6340f9ff60940c74\nSigned-off-by: Alexei Zavjalov \u003calexei.zavjalov@intel.com\u003e\n"
    },
    {
      "commit": "c200a4abeca91e19969f5b35543f17f812ba32b9",
      "tree": "5912a08310e7ddb4b3907c0dc687006669c0cedd",
      "parents": [
        "73904fed884bf216b51acdc64402c427cc34725b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jun 16 18:39:09 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jul 01 11:06:24 2014 -0700"
      },
      "message": "ART: Rework Generic JNI, add ARM version\n\nRefactors and optimizes Generic JNI. This version uses TwoWordReturn\nto avoid writing to / loading from the bottom of the alloca.\n\nChange-Id: I3287007c976f79c9fd32d3b3a43f2d1371bf4cd3\n"
    },
    {
      "commit": "29978887552542e3b7e7792070dad06392377648",
      "tree": "cf79534f84ab385cd218a83b9361760045580190",
      "parents": [
        "595248a0d9b96a4b442bb0cd3fecd55ae630b03f",
        "7ac7e32fb84b6a933181d31694d8a2d81ddca6d6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 30 18:04:16 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 30 14:46:08 2014 +0000"
      },
      "message": "Merge \"Fix the x86 textrel and remove -Wl,--no-fatal-warnings.\""
    },
    {
      "commit": "7ac7e32fb84b6a933181d31694d8a2d81ddca6d6",
      "tree": "722445c5c19114365e7b0e8b8a652e21fdca3db0",
      "parents": [
        "5703029de6c56c6f85b3ecbd4e2eee80e025772d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 27 17:20:59 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Jun 28 10:09:21 2014 -0700"
      },
      "message": "Fix the x86 textrel and remove -Wl,--no-fatal-warnings.\n\nBug: 11358761\nChange-Id: I825cecce121a9011f74c5fdf77d1fbecd30adbc7\n"
    },
    {
      "commit": "86797a791d692f81def5c1b5f0918992c49ed122",
      "tree": "09cb46c5aa56e39a6399e3f3620dc2047948b872",
      "parents": [
        "29978887552542e3b7e7792070dad06392377648"
      ],
      "author": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Thu Jun 19 16:17:56 2014 +0100"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jun 30 14:00:23 2014 -0700"
      },
      "message": "AArch64: Add memcmp16() for Arm64; ensure xSELF not clobbered\n\nThis patch modifies memcmp() to memcmp16(). Please note that this\nimplementation of memcmp16() is based on the bionic\u0027s memcmp().\n\nHowever, to reflect a recent specification change, the file has been\nmodified to respect the new String.compareTo() behavior.\n\nA test for memcmp16() has been added. The string_compareto test in\nstub_test has been changed to invoke __memcmp16 in assembly stubs.\n\nAdd artIsAssignableFromCode to the list of native downcalls to\nstore and reload x18. Remove CheckSuspendFromCode, as it is unused.\n\nSigned-off-by: Serban Constantinescu \u003cserban.constantinescu@arm.com\u003e\nChange-Id: Ie0b5425ecfb62906d29a5d02e84c7e07ffb34a11\n"
    },
    {
      "commit": "f21f0a9abda9e7879a394ef823beb070df1a825f",
      "tree": "edd001d667a2b26bc9898943c669958683cde908",
      "parents": [
        "9295d7da1410f4c38c609d4a52f4f5ed923cff27"
      ],
      "author": {
        "name": "Wei Jin",
        "email": "wejin@google.com",
        "time": "Fri Jun 27 17:44:18 2014 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Jun 30 12:24:47 2014 +0100"
      },
      "message": "Fix a string uint conversion bug in profiler\n\nThis CL fixes a potential string to uint32_t conversion bug caused by\nusing atoi. The bug can be trigger when the dex_pc or count pass\n2^31 - 1. The CL replaces all string uint32_t conversions in profiler to\nstroul.\n\nChange-Id: I54f1aea9c5f5053d79813ea83050ace3749691d6\n"
    },
    {
      "commit": "642fa1e747b7a97b62267cf04959eb0e7543de3f",
      "tree": "b85e7eb4627acb26923de1774dabf6b9aa5bff8b",
      "parents": [
        "7325d4734e3f5936ea7eef1d2a89cfa0622cbd9e",
        "3470ab4011b5e18d590d5375e2f13a1e3bd69222"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Sat Jun 28 20:27:03 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 27 16:00:43 2014 +0000"
      },
      "message": "Merge \"Fixed gdb support and added some ElfFile functions\""
    },
    {
      "commit": "3470ab4011b5e18d590d5375e2f13a1e3bd69222",
      "tree": "79efa1be55a16a43447f7373f0aa8722828204d5",
      "parents": [
        "baa1323d66a05fd2d7b9c6c131b232945b0a4ebb"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jun 18 10:35:45 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Jun 27 16:46:29 2014 -0700"
      },
      "message": "Fixed gdb support and added some ElfFile functions\n\nFixed gdb support so that it would continue working even when debug\nsymbols or other sections are included in the elf file. Also made it\nactually read parts of the DWARF information so it should work even if\nthere are minor changes to how and where DWARF information is written\nout.\n\nAdded a dwarf.h file with the dwarf constants.\n\nAdded a FindSectionByName function, a FindDynamicSymbol function, and\nthe ability to specify the mmap protection and flags directly if we are\nmapping in the whole file.\n\nModified elf_writer_quick.cc to use the dwarf constants from dwarf.h.\n\nChange-Id: I09e15c425fab252b331a2e4719863552e8b6b137\n"
    },
    {
      "commit": "4f1ebc2b86c8467d1ecb3ec655316e6d7ee8b8b5",
      "tree": "59a2e44c7dbe82811f56657c43d99f1111c75f26",
      "parents": [
        "5703029de6c56c6f85b3ecbd4e2eee80e025772d"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Wed Jun 25 14:30:41 2014 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri Jun 27 15:09:19 2014 -0700"
      },
      "message": "Add read barriers to the constant roots.\n\nThis change makes it possible to concurrently scan the constant roots\n(the roots visited by Runtime::VisitConstantRoots()) such as the class\nof java.lang.Class by adding read barriers.\n\nBug: 12687968\nChange-Id: If1afea471c4e1093688d2db37b7f1fc2742edeef\n"
    },
    {
      "commit": "2153f93df36b59a61fed15bef8e7304010be04b5",
      "tree": "523a38779eebc7414f5c27210e565a280f5364f8",
      "parents": [
        "6bec6cb70460251c5230e23ec0393241e791d497"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 26 08:09:17 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jun 27 11:46:35 2014 -0700"
      },
      "message": "ART: Bump runtime version to 2.1.0\n\nBump the version of ART to 2.1.0 to reflect recent changes like\nnative MultiDex support.\n\nChange-Id: Idcff71faac932c2b30359fbe13a975fb818ecb0e\n"
    },
    {
      "commit": "2db3e269e3051dacb3c8a4af8f03fdad9b0fd740",
      "tree": "9653675093f7c7af9f56ce133acb1476ddf42a5d",
      "parents": [
        "a64d728836712e9295ada7de44d8cc3165d595a8"
      ],
      "author": {
        "name": "Douglas Leung",
        "email": "douglas@mips.com",
        "time": "Wed Jun 25 16:02:55 2014 -0700"
      },
      "committer": {
        "name": "buzbee",
        "email": "buzbee@google.com",
        "time": "Fri Jun 27 10:44:27 2014 -0700"
      },
      "message": "Fix quick mode bugs for Mips.\n\nThis patch enable quick mode for Mips and allows the emulator to boot.\nHowever the emulator is still not 100% functional. It still have problems\nlaunching some apps.\n\nChange-Id: Id46a39a649a2fd431a9f13b06ecf34cbd1d20930\nSigned-off-by: Douglas Leung \u003cdouglas@mips.com\u003e\n"
    }
  ],
  "next": "4e14e721055eeeb42b06ad231bce930f3e1c1728"
}
