)]}'
{
  "log": [
    {
      "commit": "607fa7b07233a7233ebe21bba8f3e7c1925ae0f2",
      "tree": "a04f1074331ac82ad077044e3f373312f61e5901",
      "parents": [
        "1dc387152a84193937bd1f88e9e10fff6449d695",
        "700a402244a1a423da4f3ba8032459f4b65fa18f"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue May 20 05:29:04 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 20 05:29:04 2014 +0000"
      },
      "message": "Merge \"Now we have a proper C++ library, use std::unique_ptr.\""
    },
    {
      "commit": "700a402244a1a423da4f3ba8032459f4b65fa18f",
      "tree": "4c22fcda04d271bd55a37aff30650214af17a90c",
      "parents": [
        "047c11adcbcbc0bcf210defdfcbada763961ffee"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon May 19 16:49:03 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon May 19 22:27:39 2014 -0700"
      },
      "message": "Now we have a proper C++ library, use std::unique_ptr.\n\nAlso remove the Android.libcxx.mk and other bits of stlport compatibility\nmechanics.\n\nChange-Id: Icdf7188ba3c79cdf5617672c1cfd0a68ae596a61\n"
    },
    {
      "commit": "6b522855f913617e00c1783264436145d00cc533",
      "tree": "d88af5bbbef5ea42b90eb4bbc5a07f209bdbe115",
      "parents": [
        "041cff3a7485acebe9b6dc8298e7589319def6dc",
        "2b7c4d196c8abe32f4ca633534917da9de53c359"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon May 19 23:48:46 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 19 23:48:46 2014 +0000"
      },
      "message": "Merge \"Don\u0027t get and restore thread state for ScopedFastNativeObjectAccess.\""
    },
    {
      "commit": "041cff3a7485acebe9b6dc8298e7589319def6dc",
      "tree": "9d1ce0dc7c55d5823a2bfb17f55b1820d7a4a5c9",
      "parents": [
        "047c11adcbcbc0bcf210defdfcbada763961ffee",
        "6cf80102b5f308f2a5326869343ea0d19109a7fb"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon May 19 23:20:26 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 19 23:20:27 2014 +0000"
      },
      "message": "Merge \"ART: Fix ARM64 long-jump context caller-save smashes\""
    },
    {
      "commit": "6cf80102b5f308f2a5326869343ea0d19109a7fb",
      "tree": "f27e2242f4c4902514ab67ca67e4e71bfcbef472",
      "parents": [
        "99103fae2b4b3f6b1f2b2bb6542a023886cc3cb0"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon May 19 11:32:41 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon May 19 23:20:04 2014 +0000"
      },
      "message": "ART: Fix ARM64 long-jump context caller-save smashes\n\nIn aarch64, d8-d15 are callee-saved. We smashed exactly the wrong\nregisters.\n\nAdd code to stub_test that checks whether the callee-saved fp\nregisters are preserved on ARM64. There are no callee-saved registers\nfor x86, so the invoke methods are not extended for those architectures.\n\nFix a minor type in callee-save frame setup for ARM64.\n\nBug: 14160872\nChange-Id: I080fce6eda7d560b4efb610f0e9454f3471fa4f9"
    },
    {
      "commit": "2b7c4d196c8abe32f4ca633534917da9de53c359",
      "tree": "f14dc45f53d5681a5c0e57b8a8cc6b35eee6e896",
      "parents": [
        "84e524207b23d58a1b1e5f4443000ccac97c4184"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon May 19 10:52:16 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon May 19 15:19:28 2014 -0700"
      },
      "message": "Don\u0027t get and restore thread state for ScopedFastNativeObjectAccess.\n\nBefore we would ensure that we were runnable for fast native object\naccess. However, these are done when you are already runnable.\n\nChange-Id: Ia4c6e4c83d146fe2a988b37b3133ca46b0f0fa42\n"
    },
    {
      "commit": "047c11adcbcbc0bcf210defdfcbada763961ffee",
      "tree": "bd7cc7f7744c49047b47815494ad337135ff7968",
      "parents": [
        "47687a4643b2d8f950a280a5e1298c277da127aa",
        "13bf2e6a6c14bccf5377998b7568100ffd417f8e"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon May 19 21:19:54 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 19 21:19:55 2014 +0000"
      },
      "message": "Merge \"Check and log a to-space overflow explicitly.\""
    },
    {
      "commit": "13bf2e6a6c14bccf5377998b7568100ffd417f8e",
      "tree": "edf65cb261ddc5a7d3707ce33c60bad650dce683",
      "parents": [
        "666f4b95d075e9c412f9333c3167b2d68b3cc933"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon May 19 12:49:45 2014 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Mon May 19 14:15:59 2014 -0700"
      },
      "message": "Check and log a to-space overflow explicitly.\n\nMeasured no noticeable performance regression with Ritzperf\nEvaluateAndApplyChanges and -Xgc:SS on Mako.\n\nChange-Id: Ib5ab934b867f91789a82ae771b45c95e9d01390c\n"
    },
    {
      "commit": "5a9ba014516fcdeab617d1c006fdf2936865f178",
      "tree": "602819f9d2f0fcd9876054f8601355362665f23a",
      "parents": [
        "394584556dac07794a092cf0098089ebdb5b81d0"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon May 19 13:28:52 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon May 19 13:28:52 2014 -0700"
      },
      "message": "Build fix.\n\nChange-Id: Ie5a3abb9a729a4a724e247b127c200a7be4d900d\n"
    },
    {
      "commit": "666f4b95d075e9c412f9333c3167b2d68b3cc933",
      "tree": "30463a5ec6ccdbb3810cfc361f73a7fc211dfa7f",
      "parents": [
        "99103fae2b4b3f6b1f2b2bb6542a023886cc3cb0",
        "ba0c51fd282c4f47b95230c5444e76f342900cfa"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon May 19 18:47:59 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 19 18:48:00 2014 +0000"
      },
      "message": "Merge \"Switch ART to libc++.\""
    },
    {
      "commit": "ba0c51fd282c4f47b95230c5444e76f342900cfa",
      "tree": "19fc240937854b35e4dd93cb1e6d4c7a2168e87c",
      "parents": [
        "84e524207b23d58a1b1e5f4443000ccac97c4184"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri May 16 12:26:00 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Mon May 19 11:26:10 2014 -0700"
      },
      "message": "Switch ART to libc++.\n\nTODO: remove all vestiges of stlport.\n\nChange-Id: I95a3cb0b53d0898f0a5d388b606e79522f4d85e0\n"
    },
    {
      "commit": "2afe49450f2e018f18b5de45428b9174bfd6f196",
      "tree": "2d6f96d2dfc4c8baaef172259a824708e510225e",
      "parents": [
        "84e524207b23d58a1b1e5f4443000ccac97c4184"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon May 19 10:25:33 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon May 19 10:26:17 2014 -0700"
      },
      "message": "Follow up to \"Add ISA directory to image and odex pathnames.\"\n\nChange-Id: I7f08cc3052fbed93a56ccf1ab7675ae8bc129da9\n"
    },
    {
      "commit": "84e524207b23d58a1b1e5f4443000ccac97c4184",
      "tree": "6eb6204994d342a653fba4eea275a536a720b036",
      "parents": [
        "f04544ffdb801946d087ae1322c890e34e185156",
        "0e12bdc49744eb6d5c29b9611a8dbe10bac4cd53"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Mon May 19 16:50:20 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 19 16:50:21 2014 +0000"
      },
      "message": "Merge \"Add ISA directory to image and odex pathnames.\""
    },
    {
      "commit": "d508006074c54a75a44520d3015b2504854c0026",
      "tree": "cf0bcbc14ea1f72777972033d9c687d023686d02",
      "parents": [
        "bf17a08fb48fa296acb09904d4c10ba42f63f55d"
      ],
      "author": {
        "name": "Serguei Katkov",
        "email": "serguei.i.katkov@intel.com",
        "time": "Wed May 14 17:00:05 2014 +0700"
      },
      "committer": {
        "name": "Serguei Katkov",
        "email": "serguei.i.katkov@intel.com",
        "time": "Mon May 19 12:38:25 2014 +0700"
      },
      "message": "Increase the size of guard for Stack Overflow (x86_64)\n\n24K stack overflow guard is not enough for 64-bit working in\nInterpreter mode. ART unit test 107-int-math2 crashes with it.\n\nPatch increases the size to 32KB.\n\nChange-Id: I8935c0f50f87c5ae0784dbae8be9db57ce2aebb3\nSigned-off-by: Serguei Katkov \u003cserguei.i.katkov@intel.com\u003e\n"
    },
    {
      "commit": "f832284dd847ff077577bb5712225430bbbb3b67",
      "tree": "44f6b91098639c6ebc438b4ec998d0dc128cef9a",
      "parents": [
        "8f0776768712b2021aa8fb649b51017b9f0fc7a9"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 16 10:59:25 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sun May 18 12:50:33 2014 -0700"
      },
      "message": "Delete ClassHelper and fix compaction bug in GetDirectInterface\n\nCleanup helps to prevent compaction bugs. Fixed a fairly serious\ncompaction error caused by calling ClassHelper::GetDirectInterface\nwithout handling the case where it causes thread suspension due to\nResolveType.\n\nBug: 8981901\n\nChange-Id: I82b3bb6dd48d21eb6ece7aae0733c4a23c2bc408\n"
    },
    {
      "commit": "8f0776768712b2021aa8fb649b51017b9f0fc7a9",
      "tree": "e61a3d4f84bcc311f3a6e7892fe07dc53935f0d1",
      "parents": [
        "8969a34a46e8b97476c7cd58a3ab28be18d3f7eb",
        "6bd621aa31aa94ed42a2a35256d219630bf0b687"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat May 17 01:45:05 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat May 17 01:45:05 2014 +0000"
      },
      "message": "Merge \"ART: Move start of linear mmap_scan out of reserved space\""
    },
    {
      "commit": "6bd621aa31aa94ed42a2a35256d219630bf0b687",
      "tree": "1c0991988a0891817c60969ec197bf55fa75ce83",
      "parents": [
        "de1129a26e0474ea8bb9112938ebb867163969fd"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri May 16 17:28:58 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri May 16 17:43:23 2014 -0700"
      },
      "message": "ART: Move start of linear mmap_scan out of reserved space\n\nThe first 64KB are protected by SELinux, and we will never be\nable to acquire them.\n\nBug: 15024270\nChange-Id: I186a0d5262d396a089d4028a8527a9c56f96dc49\n"
    },
    {
      "commit": "8969a34a46e8b97476c7cd58a3ab28be18d3f7eb",
      "tree": "f1688adff9a7c79872d32cbd913bbdc5f27cfe28",
      "parents": [
        "229dd50d041917970045595e022ed98862b7d464",
        "f0972a410a0665dbe32bd96df09a572d69f9f3a3"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Sat May 17 00:24:16 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat May 17 00:24:16 2014 +0000"
      },
      "message": "Merge \"Fix generic jni issue in ArtMethod::GetQuickFrameInfo\""
    },
    {
      "commit": "f0972a410a0665dbe32bd96df09a572d69f9f3a3",
      "tree": "7e68b84a8395c72bdacb293c9e42cb3817f14668",
      "parents": [
        "de1129a26e0474ea8bb9112938ebb867163969fd"
      ],
      "author": {
        "name": "Dmitry Petrochenko",
        "email": "dmitry.petrochenko@intel.com",
        "time": "Fri May 16 17:43:39 2014 +0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri May 16 17:10:20 2014 -0700"
      },
      "message": "Fix generic jni issue in ArtMethod::GetQuickFrameInfo\n\nThe 64-bit host mode fails to start due to incorrect\ndetection of GetQuickGenericJniTrampoline.\nThe quick_code is 32-bit and taken from oat file, but\nGetQuickGenericJniTrampoline returnf 0x7fffxx (64-bit)\naddress of trampoline and execution went to incorrect way.\n\nSome clean-up.\n\nOriginal Author: Dmitry Petrochenko \u003cdmitry.petrochenko@intel.com\u003e\nSigned-off-by: Dmitry Petrochenko \u003cdmitry.petrochenko@intel.com\u003e\nSigned-off-by: Serguei Katkov \u003cserguei.i.katkov@intel.com\u003e\nChange-Id: I0952443b2a9f6833ad37ec373837ae208681fad7\n"
    },
    {
      "commit": "229dd50d041917970045595e022ed98862b7d464",
      "tree": "4c6d0b2dc5f6dea79a0f3e3789df30c00b1e13c5",
      "parents": [
        "de1129a26e0474ea8bb9112938ebb867163969fd",
        "92d1a666534aa98b173bb33dc5dba86b2d48aedb"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Sat May 17 00:08:37 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat May 17 00:08:37 2014 +0000"
      },
      "message": "Merge \"Visit methods in stack frames during root visits.\""
    },
    {
      "commit": "0e12bdc49744eb6d5c29b9611a8dbe10bac4cd53",
      "tree": "aba31f1d671b4816fb63fca00b985ab0d2b6a12b",
      "parents": [
        "de1129a26e0474ea8bb9112938ebb867163969fd"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed May 14 17:44:28 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri May 16 16:14:50 2014 -0700"
      },
      "message": "Add ISA directory to image and odex pathnames.\n\nBug: 14882223\nBug: 14694978\nChange-Id: Ic1b5ae836b8e91ea461dcd4f3da8e38dc3bec00f\n"
    },
    {
      "commit": "92d1a666534aa98b173bb33dc5dba86b2d48aedb",
      "tree": "864887bc5e1220152998874d3be861b31a49b0fa",
      "parents": [
        "3b2bcbf9daf39f4cece7fde1186f3fa494000ed9"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Thu May 15 21:43:59 2014 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri May 16 13:37:45 2014 -0700"
      },
      "message": "Visit methods in stack frames during root visits.\n\nThis is necessary for a Baker-style read barrier to-space invariant to\nhold. That is, an object either needs to be marked/forwarded as root\nor it must be accessed only through a read barrier by mutators. Since\nstack frames have direct pointers to methods that a mutator can access\nwithout a read barrier, stack frame methods have to be visited as\nroot, which makes sense as stack frames are thread roots. This is the\ncase even if methods do not move as they have to be marked \u0027gray\u0027 for\nthe objects pointed to by them, which can move, to be recursively\nmarked/forwarded.\n\nThis also puts us in the right direction toward moving methods (and\nfields) in the future.\n\nBug: 12687968\nChange-Id: Id32b913c021a140073deea9149a8782e8f308303\n"
    },
    {
      "commit": "3232297f97836c90d42809cddb44dda0099963fb",
      "tree": "7765b287622b8b776bffcef342b06513a17aef5e",
      "parents": [
        "ed4b6267dde3bc93fae9ce7000880ca017e04114",
        "c6585b7db95771782b2b0144efb8a18fa0f6906f"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Fri May 16 18:28:52 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 16 18:28:52 2014 +0000"
      },
      "message": "Merge \"64-bit host multilib build.\""
    },
    {
      "commit": "c6585b7db95771782b2b0144efb8a18fa0f6906f",
      "tree": "7a919248c1e793bd733195e086686c637b249c67",
      "parents": [
        "245e536fbe303a114cf3f2535122fcb327a243b7"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Wed Apr 23 18:19:44 2014 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Fri May 16 11:01:24 2014 -0700"
      },
      "message": "64-bit host multilib build.\n\nBug: 13751317\nChange-Id: I98c0d593e441add79d51ec1b690c4abd3489a8cf\n"
    },
    {
      "commit": "db2633ce0358c704f97130a94b582602cb01d14a",
      "tree": "ab941b728fe4343eb9872abc85755640bf059800",
      "parents": [
        "f59c6dda4928cfb05d32a56fd161e3f86a9ca560"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 16 09:59:29 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 16 10:36:37 2014 -0700"
      },
      "message": "Change ObjectLock to take Handle instead of Handle pointer.\n\nChange-Id: I9abdcdc5c9c9174634336b9250ab24c6aee434ec\n"
    },
    {
      "commit": "f59c6dda4928cfb05d32a56fd161e3f86a9ca560",
      "tree": "1ccfdefd83fa1c2b43128b79c61f9a0dc0281c42",
      "parents": [
        "245e536fbe303a114cf3f2535122fcb327a243b7",
        "86ab7912423f63541073af5c487b509e9b2b5420"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 16 16:37:42 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 16 16:37:43 2014 +0000"
      },
      "message": "Merge \"ART: Fix Segment Fault with null owner while monitor logging is enabled\""
    },
    {
      "commit": "86ab7912423f63541073af5c487b509e9b2b5420",
      "tree": "bdf2cda5bd949a5577fe9a64c708731378c8ba6c",
      "parents": [
        "e1a71b2a6e899645b006c29ba37695f521545a5b"
      ],
      "author": {
        "name": "Haifeng Li",
        "email": "omycle@gmail.com",
        "time": "Fri May 16 10:47:59 2014 +0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 16 09:36:58 2014 -0700"
      },
      "message": "ART: Fix Segment Fault with null owner while monitor logging is enabled\n\nWhen the monitor inflates from thin to fat with the existing hashcode，\nthe owner is nullptr, which will cause segment fault with\nowner-\u003eGetThreadId().\n\nChange-Id: I90081d581a0ffd3d38763cc175fd2d7f66076747\n"
    },
    {
      "commit": "b374fdba01c1c8fd59c1d0f0887451acdf24e90f",
      "tree": "499472110b65f954791d0860acddf1c8bd0fa85a",
      "parents": [
        "380d24d9af676d047148083774fa634b77a00634",
        "e713d9338ad122d6b8c7997387d0c9fc464eea3e"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Fri May 16 06:14:47 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 16 06:14:48 2014 +0000"
      },
      "message": "Merge \"Fix JDWP location event report on return instructions\""
    },
    {
      "commit": "507dfdd147c97bfbadebfd63584d094b6a4e7b47",
      "tree": "cce43931b6dcd088cb2932c2491f86116353a27f",
      "parents": [
        "922ddb30982d2597eab634d8b8598bec0eb7d3b7"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu May 15 16:42:40 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu May 15 16:50:51 2014 -0700"
      },
      "message": "Compatibility layer to transition from UniquePtr to std::unique_ptr.\n\nUse ART_WITH_STLPORT (enabled for the target) to cause the use of UniquePtr,\nfor the host switch to std::unique_ptr. For now the type remains called\nUniquePtr.\nMake dalvik compile with clang on the host, move its build to C++11.\n\nChange-Id: I5ba8d2757904bc089ed62047ea03de3c0853fb12\n"
    },
    {
      "commit": "dd157d732b557a854b3689faf8a24170fb47c270",
      "tree": "09b1761180ce511273b6bd5782baadaabf43526d",
      "parents": [
        "3b2bcbf9daf39f4cece7fde1186f3fa494000ed9"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu May 15 14:47:50 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu May 15 14:47:50 2014 -0700"
      },
      "message": "Avoid some unnecessary use of stl types.\n\nMay be a minor performance win but really done for libc++ as this removes a\ndependency on a library function whose prototype includes a std::string.\n\nChange-Id: Ifc07a9caef1206caf2a69a6e1b0bfc0ba56c8c62\n"
    },
    {
      "commit": "3b2bcbf9daf39f4cece7fde1186f3fa494000ed9",
      "tree": "d162f6dc331c9c4c5d2e0222624eac98b02039b1",
      "parents": [
        "0e78ff7ee6b4dadb9c10b4b1ba2860ccbcaf22bd",
        "5fcfa7d9d97246f7eb48a74356cb00ec2cbc0181"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu May 15 21:33:42 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 15 21:33:42 2014 +0000"
      },
      "message": "Merge \"Move RoS allocator to use unordered_set.\""
    },
    {
      "commit": "0e78ff7ee6b4dadb9c10b4b1ba2860ccbcaf22bd",
      "tree": "e7296af15710891ee5d63567b53fecb33d9ba466",
      "parents": [
        "13ff8cd5d29c66de49506b0d7dddf8e0a959e104",
        "2aef07c154c0a8adbf016ac98b4695e44d5fe90f"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu May 15 20:09:03 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 15 20:09:03 2014 +0000"
      },
      "message": "Merge \"Workaround x86 interpretter stack overflow\""
    },
    {
      "commit": "b2c3e10deb6a2f069748c7a48e778a5da66900fd",
      "tree": "e169cabde7c6b44c346273ed49d5a5bf6d1c1c1e",
      "parents": [
        "3ba5511665ffd31cc766fe7774a94eb18696a845",
        "b14329f90f725af0f67c45dfcb94933a426d63ce"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu May 15 19:34:40 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 15 19:34:41 2014 +0000"
      },
      "message": "Merge \"ART: Fix MonitorExit code on ARM\""
    },
    {
      "commit": "b14329f90f725af0f67c45dfcb94933a426d63ce",
      "tree": "eca2720bdc759d2e4b5058bc022f595303ebb971",
      "parents": [
        "30b65201aa9c953433dbde1288e9b1b883042cd1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu May 15 11:16:06 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu May 15 12:32:44 2014 -0700"
      },
      "message": "ART: Fix MonitorExit code on ARM\n\nWe do not emit barriers on non-SMP systems. But on ARM, we have\nplaces that need to conditionally execute, which is done through\nan IT instruction. The guide of said instruction thus changes\nbetween SMP and non-SMP systems.\n\nTo cleanly approach this, change the API so that GenMemBarrier\nreturns whether it generated an instruction. ARM will have to\nquery the result and update any dependent IT.\n\nThrow a build system error if TARGET_CPU_SMP is not set.\n\nFix runtime/Android.mk to work with new multilib host.\n\nBug: 14989275\nChange-Id: I9e611b770e8a1cd4ca19367d7dae0573ec08dc61\n"
    },
    {
      "commit": "5fcfa7d9d97246f7eb48a74356cb00ec2cbc0181",
      "tree": "6518529391c29cd21d38befd5dcc12922f194ede",
      "parents": [
        "30b65201aa9c953433dbde1288e9b1b883042cd1"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu May 15 11:43:06 2014 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Thu May 15 11:43:06 2014 -0700"
      },
      "message": "Move RoS allocator to use unordered_set.\n\nWork-around existing stlport issues for the target. This will go away when the\ntarget is using libc++.\n\nChange-Id: I8f213ecd9dc7d93d17f4a0d7e84182c12af6ca1b\n"
    },
    {
      "commit": "2aef07c154c0a8adbf016ac98b4695e44d5fe90f",
      "tree": "ea74b52f21bb54f22957505a0dc09c2629eba535",
      "parents": [
        "777dda87f14575db960ec4fb5cfd9efb857a6588"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu May 15 11:18:29 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu May 15 11:18:29 2014 -0700"
      },
      "message": "Workaround x86 interpretter stack overflow\n\nBug: 14982147\nChange-Id: I5fa5c30dbac7e50dd6dd7c8d12bbc769c0dfc150\n"
    },
    {
      "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": "e713d9338ad122d6b8c7997387d0c9fc464eea3e",
      "tree": "17b3ef199c2cf4b23bb5df4084e95594cac94dab",
      "parents": [
        "4c6491ff7b37d984622c2380300f2c244b26e7d7"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu May 15 10:48:53 2014 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Thu May 15 17:20:06 2014 +0200"
      },
      "message": "Fix JDWP location event report on return instructions\n\nAfter change https://android-review.googlesource.com/94334, the debugger may\nlisten to kDexPcChange event without listening for kMethodExit event. In this\ncase, we need to report kDexPcChange event on RETURN instructions.\n\nBug: 11874828\nChange-Id: Ic61f4eec71e7ece494bee628d7f3358a616d31d3\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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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"
    },
    {
      "commit": "1eda9c1d570f273c1d9f24438c35c8e25c990261",
      "tree": "b88d883bfeea738ab205244bf70156a6334f6b77",
      "parents": [
        "b60508391b7f7343d39e39f98e7f254917cab91c",
        "25023c744c4388a6459b21cc3babf8c602b024a2"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri May 09 19:05:26 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 09 19:05:26 2014 +0000"
      },
      "message": "Merge \"Make it possible to disable read barriers in Class::GetObjectSize()\""
    },
    {
      "commit": "25023c744c4388a6459b21cc3babf8c602b024a2",
      "tree": "6d266d8eb8ed442e1dfeb5102ed9ed38a5ee83d9",
      "parents": [
        "3d1e6642d350e23fa85d4cfcb03413a576880396"
      ],
      "author": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri May 09 11:45:53 2014 -0700"
      },
      "committer": {
        "name": "Hiroshi Yamauchi",
        "email": "yamauchi@google.com",
        "time": "Fri May 09 11:50:32 2014 -0700"
      },
      "message": "Make it possible to disable read barriers in Class::GetObjectSize()\n\nThis is a leftover from cl/91831 (commit\n9103c86a98524e9ddfd14f8cee56e919f68eee9b) that attempted to make it\npossible to disable read barriers in Object::SizeOf().\n\nBug: 12687968\nChange-Id: I2b05076832936881ec61bc21b6eb6b7c04e0a1f0\n"
    },
    {
      "commit": "b60508391b7f7343d39e39f98e7f254917cab91c",
      "tree": "06e3ebb155f1b65ecf42de8d7ad54c28decc1abd",
      "parents": [
        "56942f9b6440c756dd2f743cb0b240e4f031b338",
        "2175f52b393c27d3df060acb737762b5a588cb7f"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 09 18:45:04 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 09 18:45:04 2014 +0000"
      },
      "message": "Merge \"Fix race condition in ProcessReferences.\""
    },
    {
      "commit": "56942f9b6440c756dd2f743cb0b240e4f031b338",
      "tree": "5e9978cc8c7c2e5b5817cc8715485a882c1d6964",
      "parents": [
        "3d1e6642d350e23fa85d4cfcb03413a576880396",
        "09bc9d27485bf78536590ce4e32ac06f6d7c535b"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri May 09 18:41:50 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 09 18:41:51 2014 +0000"
      },
      "message": "Merge \"Bump oat version again to force recompile\""
    },
    {
      "commit": "09bc9d27485bf78536590ce4e32ac06f6d7c535b",
      "tree": "08be464cc89696cceedc76666026421e476ff7e2",
      "parents": [
        "5bd9f09a3645f6f82d31af70d04638a6256de4b7"
      ],
      "author": {
        "name": "Dave Allison",
        "email": "dallison@google.com",
        "time": "Fri May 09 11:32:43 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri May 09 11:39:20 2014 -0700"
      },
      "message": "Bump oat version again to force recompile\n\nBug: 4674743\n\n(cherry picked from commit 36a69e7d133d4d056e00962f275ee5b4959f9e93)\n\nChange-Id: I65f30a86abeca58bed74f4bd0f6e1e32c6f3dec8\n"
    },
    {
      "commit": "2175f52b393c27d3df060acb737762b5a588cb7f",
      "tree": "685f69d686691a8404cd3bda41f4ec57b58b592e",
      "parents": [
        "a17288e3b9dd6751005fed3386251d2d0949be74"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 09 11:01:06 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 09 11:19:09 2014 -0700"
      },
      "message": "Fix race condition in ProcessReferences.\n\nThere was a race caused by not setting the is_marked_callback_ to\nnull after doing a non concurrent ProcessReferences which caused a\nsmall window of time during the next concurrent GC where the\nmutator could attempt to use a stale is marked callback.\n\nChange-Id: Ia56e463f4b30623911e041687960388973e5304f\n"
    },
    {
      "commit": "e8879d67d9e1734afc438d22fa7995312d15da96",
      "tree": "59f7e83e8477801a2bbe85877411adb88cfa35a2",
      "parents": [
        "90cf3eefb4cd4dbd7ccd514738055b4d193981fe",
        "a17288e3b9dd6751005fed3386251d2d0949be74"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 09 16:44:32 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 09 16:44:32 2014 +0000"
      },
      "message": "Merge \"Add null check in MarkSweepMarkObjectSlowPath.\""
    },
    {
      "commit": "a17288e3b9dd6751005fed3386251d2d0949be74",
      "tree": "a044c6bae662c0a9e47da0dc6588c56cdd50125d",
      "parents": [
        "f1c036fc8fa97617cc42bda44a0adbc7b856d6cd"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu May 08 17:53:19 2014 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 09 09:37:55 2014 -0700"
      },
      "message": "Add null check in MarkSweepMarkObjectSlowPath.\n\nBug: 14626564\nChange-Id: Ief387e96b813440a35a7c480897576d1543891f6\n"
    },
    {
      "commit": "63206f3038d3d6e1cb24166726613808a4b0ad8c",
      "tree": "08058c7cf718eac9c87e32436f87cbde04ab7ff0",
      "parents": [
        "5bd9f09a3645f6f82d31af70d04638a6256de4b7"
      ],
      "author": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Wed May 07 18:40:49 2014 +0100"
      },
      "committer": {
        "name": "Serban Constantinescu",
        "email": "serban.constantinescu@arm.com",
        "time": "Fri May 09 14:01:28 2014 +0100"
      },
      "message": "AArch64: Fix the usage of Thread Register for arm64\n\nThis patch cleans-up the usage of x18 as TR for Arm64. As described in\nthe Arm64 Procedure Call Standard, the recommended usage for x18 is to\ncarry inter-procedural state (i.e. ART thread information).\n\nHowever, since x18 is a temporary register there is no guarantee that on\ncalls to external functions x18 is preserved. Thus on JNI calls we need\nto save and restore x18 before coming back to managed runtime. For the\nJNI compiler trampoline we move x18 (temporary register - caller saved)\nto x19 (ETR, callee saved) before calling into native code, and\nrestore it on the way back.\n\nChange-Id: If24091018d640027a497517a9238bf4a80d013aa\nSigned-off-by: Serban Constantinescu \u003cserban.constantinescu@arm.com\u003e\n"
    }
  ],
  "next": "5bd9f09a3645f6f82d31af70d04638a6256de4b7"
}
